35 lines
924 B
Markdown
35 lines
924 B
Markdown
---
|
|
id: task-7
|
|
title: Real-time presence cursors
|
|
status: To Do
|
|
assignee: []
|
|
created_date: '2026-01-02 16:08'
|
|
labels:
|
|
- feature
|
|
- collaboration
|
|
- sync
|
|
dependencies: []
|
|
priority: medium
|
|
---
|
|
|
|
## Description
|
|
|
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
|
Show other users cursors and selections in real-time:
|
|
- Broadcast cursor position via WebSocket presence messages
|
|
- Display colored cursor with username label
|
|
- Show selection highlight when user has shape selected
|
|
- Fade out cursors after inactivity
|
|
- Different cursor colors per user
|
|
|
|
WebSocket already handles presence messages (see server/index.ts line 221-235), needs client-side rendering.
|
|
<!-- SECTION:DESCRIPTION:END -->
|
|
|
|
## Acceptance Criteria
|
|
<!-- AC:BEGIN -->
|
|
- [ ] #1 Cursor position broadcasts on mousemove
|
|
- [ ] #2 Other users cursors visible with name labels
|
|
- [ ] #3 Selection state shared between users
|
|
- [ ] #4 Cursors fade after 5s inactivity
|
|
<!-- AC:END -->
|