pcbjam/tests/kicad
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Gergő Törcsvári 3a06a267b0
feat: v2 per-item s-expr collab bridge in all three tools (ysync 0008 Stage C)
Add kicadCollabSnapshotItems / kicadCollabApplyItems / window.kicadCollab.onItems
to pl_editor, eeschema, pcbnew — per-item native-blob payloads
({added/changed:[{sexpr,parent}], removed:[uuid]}) alongside the untouched scalar
wire (legacy collab specs stay green).

- pl_editor: itemBlob per item; apply = SetPageLayout(append) + replace-by-uuid
  (pointer-snapshot safe); bare payloads get the kicad_wks envelope. Snapshot +
  apply + emit verified headless.
- eeschema: clipboard Format per item (symbols carry their lib_symbols); apply
  mirrors the native paste — LoadContent into a throwaway sheet → detach →
  replace-by-uuid → symbol lib relink (blob's lib_symbols first, live screen's
  second) → SCH_COMMIT, in the CallAfter+COROUTINE context. Snapshot + apply
  verified headless (a "lost" lone junction turned out to be correct connection
  cleanup — test uses text).
- pcbnew: blobForItem per ROOT item with child→footprint lifting in flushDiff;
  apply = makeFromBlob + commit replace-by-uuid on the fiber; bare non-footprint
  payloads get wrapInBoardEnvelope (live board layer table). Snapshot + footprint
  replace/add WITH children (the 0004 containment gap, closed) + removal verified
  headless. Track/via/zone/text blob-apply hits the documented asyncify-fragile
  envelope parse (reconfirmed empirically — a verbatim SaveSelection segment
  envelope dies silently in the commit) and stays on the legacy scalar apply;
  tracked in ysync 0008 status.
- eeschema/pcbnew scheduleFlush now runs flushDiff inside a COROUTINE: the
  per-item Format in the v2 emit needs the fiber stack (0007 lesson). Their emit
  remains unverifiable headless (both legacy two-tab tests are test.skip:
  "open=false → SCH_COMMIT no-ops" / "harness can't PAINT") — verify in the real
  app at Stage D; pl_editor's emit IS verified.
- tests/kicad/items-bridge.spec.ts: per-tool suite (snapshot uuids → local-edit
  emit (where drivable) → apply changed/added/removed via save-readback → no
  apply echo). 3/3 pass; roundtrip + collab suites unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 14:05:40 +02:00
..
utils fix: 🐛 dark color theme 2026-06-12 12:54:26 +02:00
calculator.spec.ts add calculator build 2026-05-28 17:28:17 +02:00
dark-mode.spec.ts fix: 🐛 dark color theme 2026-06-12 12:54:26 +02:00
eeschema-collab.spec.ts feat: adopt shared wasm wire schemas; resurrect collab e2e bundle (ysync 0008 A) 2026-06-12 14:05:40 +02:00
eeschema-load.spec.ts fix(wasm): self-heal fiber trampoline so schematic load doesn't hang 2026-06-02 20:32:25 +02:00
eeschema-ui.spec.ts fix(eeschema-wasm): quasi-modal dialogs no longer freeze; Backspace deletes selection 2026-06-05 13:56:42 +02:00
eeschema-url-regex.spec.ts test(eeschema): guard URL-detection wxRegEx UTF-8 fix + bump wxwidgets 2026-06-02 20:32:25 +02:00
eeschema.spec.ts fix(e2e): make the firefox kicad suite pass on GPU-less CI runners 2026-06-11 13:25:02 +02:00
fixtures.ts Organize test logs into separate directories by test suite and file 2025-12-27 16:35:40 +01:00
gerbview.spec.ts feat: gerbview WASM port 2026-06-03 14:23:57 +02:00
items-bridge.spec.ts feat: v2 per-item s-expr collab bridge in all three tools (ysync 0008 Stage C) 2026-06-12 14:05:40 +02:00
load-pcb-probe.spec.ts fix(e2e): make the firefox kicad suite pass on GPU-less CI runners 2026-06-11 13:25:02 +02:00
load-pcb.spec.ts fix(e2e): make the firefox kicad suite pass on GPU-less CI runners 2026-06-11 13:25:02 +02:00
pcbnew-collab.spec.ts feat: adopt shared wasm wire schemas; resurrect collab e2e bundle (ysync 0008 A) 2026-06-12 14:05:40 +02:00
pcbnew.spec.ts fix: 🐛 dark color theme 2026-06-12 12:54:26 +02:00
pl_editor-collab.spec.ts feat: adopt shared wasm wire schemas; resurrect collab e2e bundle (ysync 0008 A) 2026-06-12 14:05:40 +02:00
pl_editor-load.spec.ts test(e2e): web-app tool open-path suite + pl_editor open/wizard-skip 2026-06-03 08:52:34 +02:00
pl_editor-uuid.spec.ts feat(pl_editor): add KIID m_Uuid + (uuid) to .kicad_wks format (yjs-bridge commit 1) 2026-06-05 13:56:38 +02:00
pl_editor.spec.ts test(e2e): web-app tool open-path suite + pl_editor open/wizard-skip 2026-06-03 08:52:34 +02:00
roundtrip.spec.ts feat: per-tool save exports + file⇄yjs round-trip tests (0004 §A, phases 2–4) 2026-06-12 14:05:39 +02:00
symbol_editor.spec.ts feat: symbol_editor WASM port 2026-06-02 13:37:26 +02:00
zoom-cursor.spec.ts fix(e2e): make the firefox kicad suite pass on GPU-less CI runners 2026-06-11 13:25:02 +02:00