Cursors v2 โ€” Design Doc

MCreated by Maren Solberg

Realtime cursors v2 adds presence trails and per-user colours to the canvas. This doc is the single source of truth for the design phase.

Problem

Today cursors teleport between WebSocket frames. On busy canvases the result reads as lag, even when latency is fine.

Proposal

  1. 1.Interpolate positions client-side with a 120 ms buffer.
  2. 2.Fade a motion trail over 400 ms โ€” presence without noise.
  3. 3.Throttle outgoing positions to 30 Hz, batch with canvas ops.
๐ŸŽฏ

Success metric: cursor jitter complaints in the beta channel drop to zero over one release cycle.

๐ŸงชPrototype Notes