Gergő Törcsvári
8ad1cc673a
feat(collab): presence P2 — pcbnew selection/cursor emit + remote VIEW_OVERLAY render (collab-presence 0002)
...
Zero kicad-fork changes — all in the embind layer:
- pcbnew_embind.cpp: presence section — canvas wx Bind() triggers (motion/
leave/up/key/wheel) + COLLAB_LISTENER piggyback → post-settle selection
check (dedupe) → onSelection; throttled cursor emit via VIEW::ToWorld;
viewport push/pull (px-per-IU via the GAL matrix — GetScale() is the zoom
and sized the first cut's overlay nm-small); kicadCollabSetRemote renders
peers' cursors (cross + name) and selection bbox outlines into one
per-user-colored VIEW_OVERLAY (CallAfter+COROUTINE), never touching local
selection; PresenceStart/GetSelection/TestSelectFirst/TestClearSelection.
- kicad_editor_embind.cpp: merged-image dispatch (pcb-only until 0003).
- presence-kicad.ts: bindKicadPresence — routes emits into awareness (0001)
and pushes trailing-throttled peer snapshots into the wasm; wired from
WasmTool.startPresence (pcbnew-gated). +5 unit tests.
- tests/kicad/presence-pcbnew.spec.ts: 5 e2e — programmatic + real box-select
emit, throttled cursor, remote render with no-leak + pixel restore,
viewport unit band. Existing pcbnew-collab/items-bridge suites stay green.
Verified live: two tabs over partykit — peer cursor cross + label + selection
outline visible on the other tab's canvas.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CvqUd4QsJSGHN28aunJRTq
2026-07-07 21:09:22 +02:00
..
utils
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
3d-viewer-deadlock.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
3d-viewer-models.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
3d-viewer.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
appearance.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
calculator.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
contextmenu-scrollbar-pcbnew.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
contextmenu-scrollbar.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
dark-mode.spec.ts
test(screenshots): restore screenshot-neutrality after the determinism refactor
2026-07-07 11:35:39 +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-crosshair.spec.ts
test(screenshots): restore screenshot-neutrality after the determinism refactor
2026-07-07 11:35:39 +02:00
eeschema-load.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
eeschema-perf.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
eeschema-subschema.spec.ts
feat(eeschema): hierarchical subschema collaboration — per-sheet rooms, lazy seed, save flow, embind + e2e
2026-06-17 17:55:30 +02:00
eeschema-ui.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
eeschema-url-regex.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
eeschema.spec.ts
test(screenshots): restore screenshot-neutrality after the determinism refactor
2026-07-07 11:35:39 +02:00
fixtures.ts
feat(wasm): occ-split — lazy occ_service worker; kicad_editor drops OCC (−31%)
2026-07-03 12:39:58 +02:00
frame-runtime.spec.ts
feat(wasm): kicad_editor — merge the pcbnew+eeschema kifaces into ONE bundle (Part 2)
2026-07-02 17:56:02 +02:00
gerbview-print.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
gerbview.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +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
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
load-pcb.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
occ-export.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
occ-probe.spec.ts
feat(wasm): occ-split — lazy occ_service worker; kicad_editor drops OCC (−31%)
2026-07-03 12:39:58 +02:00
pcbnew-collab.spec.ts
feat(wasm-eh): migrate the WASM build to native wasm exceptions (+ 3D viewer default-on)
2026-06-30 09:40:26 +02:00
pcbnew-move.spec.ts
test(screenshots): restore screenshot-neutrality after the determinism refactor
2026-07-07 11:35:39 +02:00
pcbnew-perf.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
pcbnew.spec.ts
test(screenshots): restore screenshot-neutrality after the determinism refactor
2026-07-07 11:35:39 +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(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +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(screenshots): restore screenshot-neutrality after the determinism refactor
2026-07-07 11:35:39 +02:00
presence-pcbnew.spec.ts
feat(collab): presence P2 — pcbnew selection/cursor emit + remote VIEW_OVERLAY render (collab-presence 0002)
2026-07-07 21:09:22 +02:00
roundtrip.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
save-hook.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
symbol_editor.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
xface-probe.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00
ysync-libsymbols.spec.ts
feat(ysync): lib_symbols travel + layout save-sync (miss 08), TS hot-path opts (12), diff-on-rebind adopt (13) — doc 18
2026-07-06 08:57:58 +02:00
ysync-repros-eeschema.spec.ts
fix(ysync): review bugs 01–07 — listener registration, pad nets, child removals, dirty-set emit, targeted rebaseline, seed arbitration, stale hook (doc 17)
2026-07-06 08:57:57 +02:00
ysync-repros-pcbnew.spec.ts
fix(ysync): review bugs 01–07 — listener registration, pad nets, child removals, dirty-set emit, targeted rebaseline, seed arbitration, stale hook (doc 17)
2026-07-06 08:57:57 +02:00
ysync-two-tab.spec.ts
fix(ysync): review bugs 01–07 — listener registration, pad nets, child removals, dirty-set emit, targeted rebaseline, seed arbitration, stale hook (doc 17)
2026-07-06 08:57:57 +02:00
zoom-cursor.spec.ts
test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries
2026-07-07 10:50:24 +02:00