plugins 0002: kicad_tools --ipc356 + --fab-components fab exporters

Two generic (manufacturer-agnostic) pcbnew-side subcommands for platform
manufacturing plugins: --ipc356 (IPC-D-356 netlist via IPC356D_WRITER) and
--fab-components (board metrics + per-footprint placement/BOM JSON —
absolute board coords, consumers apply their own conventions). Bumps the
kicad submodule for the diet keep-back of export_d356.cpp.

Also closes a CI cache gap: wasm-cache-hash never hashed wasm/**, so a
pure wasm/cli change would cache-hit stale output — { dir: "wasm" } is
now an input (busts the cache once on landing).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mr8PQ34yCfvEtEcwSUvLAV
This commit is contained in:
Gergő Törcsvári 2026-07-24 14:30:08 +02:00
commit f1ea6b3965
No known key found for this signature in database
GPG key ID: 8E75F2CDE64E5322
4 changed files with 229 additions and 3 deletions

View file

@ -59,6 +59,13 @@ const INPUTS = [
// Per-tool compile recipes (compile flags / emcc link options).
{ dir: "scripts/kicad", match: /^build-.*\.sh$/ },
// The pcbjam-repo C++/CMake/shim sources compiled INTO the tools (bindings,
// cli mains, kiplatform, gl1, stubs, editor glue). These live outside the
// kicad/wx submodules, so without this entry a pure wasm/** edit (e.g. a
// new kicad_tools subcommand) would cache-hit stale output — plugins 0002
// shipped exactly that way before this entry existed.
{ dir: "wasm" },
// Dependency builds (boost/cairo/occ/... — the sysroot the wasm links against).
{ dir: "scripts/deps" },