Adds an end-to-end test that drives File→Open in pcbnew, injects the .kicad_pcb and .kicad_pro files into MEMFS at the dialog's default starting directory, drives the menu + filename text input + Enter accept path, and screenshots the loaded board. Parametrized for both kicad/demos/microwave (RF polygon footprints) and kicad/demos/pic_programmer (full multi-IC layout). Without the rtree fix bumped in via the kicad submodule, the load would abort on every PCB at rtree.h:1771 Classify; the test asserts no [RTREE-DIAG] line and no Aborted(. The post-load clipboard RuntimeError in __asyncjs__js_clipboardHasText is a separate, pre-existing wasm-port limitation that we explicitly do not regress on here. - tests/kicad/load-pcb.spec.ts: serial-mode parametrized spec - tests/kicad/load-pcb-probe.spec.ts: one-shot diagnostic probe for inspecting wxFileDialog state on the canvas - tests/kicad/utils/fs-inject.ts: FS.writeFile bridge from Node fs - tests/kicad/utils/board-ready.ts: poll-for-no-dialogs readiness - tests/baseline-screenshots/load-pcb-*.png: 6 baselines covering both demos at pcbnew-ready / dialog-open / loaded states - features/.../rtree-debug-findings.md: full diagnosis trail with an upstream-reportable summary the maintainer can lift verbatim - kicad submodule bumped to 07d8130d44 (shape_poly_set rtree fix) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
136 KiB
1280x720px
136 KiB
1280x720px