Real-time Collaboration
Collaborators share cursors, edits, and project events. Each project uses a coordinator socket hub for participant state and live updates.
Flow 1
Notes
ProjectCoordinator is keyed by project:<id> and uses WebSocket hibernation. collab-join returns collab-state with the caller id, color, and current participants.