Commit Graph

2 Commits

Author SHA1 Message Date
Jeff Emmett fee72573ba feat: system clock heartbeat + ephemeral clock delivery (TASK-47)
Server-side SystemClock broadcasts tick/5min/hourly/daily events via
WebSocket to all connected clients. Events are ephemeral (not persisted
in CRDT). Client-side fallback clock activates when server connection
is lost.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 16:20:04 -07:00
Jeff Emmett efb5810b31 feat: canvas event broadcasting pub/sub system (TASK-43)
Add CanvasEventBus with emit/subscribe/unsubscribe for cross-shape
communication. Events persisted in Automerge CRDT eventLog (ring buffer
100 entries), synced via WebSocket, with re-entrancy guard at depth 10.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 16:14:30 -07:00