Commit graph pcbjam/tests/kicad/drift-trio.spec.ts
Author SHA1 Message Date
Gergő Törcsvári
71a575d2d8
feat(drift-trio): phase B — action-catalog hooks + duplicate/lock wire fixes
17 kicadCollabTest* action primitives (eeschema: wire/junction/no-connect/
label/symbol/move/mirror/duplicate; pcbnew: track/via/text/zone/flip/
footprint-field/lock/move/duplicate), each a real SCH_/BOARD_COMMIT on the
fiber so the listener → flushDiff emit runs as for UI edits; tool-unique
names, merged-image safe. Fixes surfaced by the catalogs (0008 §10 #4–#8):
eeschema adds SetParent before staging (Push silently skips listener
notifications for unparented items), and pcbnew blobForItem now Formats
non-footprints with the FILE writer + wrapInBoardEnvelope — SaveSelection's
transfer copy cleared the locked flag, so (locked yes) never reached the doc.
drift-trio.spec.ts gains full A/B-alternating catalogs with per-step landed
gate + oracle sweep. Bumps kicad for the Duplicate child-uuid re-roll.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G5cAM9M6q34n5X4dbrfVvi
2026-07-21 10:37:37 +02:00
Gergő Törcsvári
84cf459e16
feat(drift-trio): 3-client drift harness phase A + child-wire root-lift fix
Trio harness (standalone-hardening 0008 phase A): tests/kicad/utils/trio.ts
(A=seeder/B=editor/C=observer, explicit-uuid fixtures, settleConverged +
oracleSweep) + drift-trio.spec.ts — pl_editor plumbing baseline, eeschema and
pcbnew S1, segment change-path regression (4/4 Chromium; firefox skipped by
wasm budget). browser-entry-v2 driftReport upgraded to the production
comparator (driftDocDelta + compareSlots, reordered/layoutReordered).
Bumps web/pcbjam-shared for the deltaToItemsWire root-lift fix the harness
surfaced (doc §10 ledger).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G5cAM9M6q34n5X4dbrfVvi
2026-07-21 09:16:38 +02:00