FolkJS collaborative canvas with subdomain routing for community spaces
Go to file
Jeff Emmett 5115d03082 feat: Add real-time presence cursors for collaboration
- PresenceManager class tracks remote users' cursors and selections
- SVG cursor with username label and auto-assigned colors
- CommunitySync.sendPresence() broadcasts cursor/selection updates
- Throttled to 50ms to prevent flooding
- Auto-fade after 5s inactivity, auto-remove after 15s
- Selection highlight shows which shape each user has selected

Completes task-7: Real-time presence cursors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 19:13:51 +01:00
backlog feat: Add real-time presence cursors for collaboration 2026-01-02 19:13:51 +01:00
docs feat: Add shared FolkJS utilities (maximize, pinned-view, toJSON) 2026-01-02 18:36:40 +01:00
lib feat: Add real-time presence cursors for collaboration 2026-01-02 19:13:51 +01:00
server Fix static asset serving and add reserved subdomains 2026-01-02 10:31:19 +01:00
website feat: Add real-time presence cursors for collaboration 2026-01-02 19:13:51 +01:00
.gitignore Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
Dockerfile Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
bun.lock feat: Add Automerge CRDT sync for real-time collaboration 2026-01-01 22:59:32 +01:00
docker-compose.yml Fix Traefik routing: only handle subdomains 2026-01-02 08:24:01 +01:00
package.json feat: Add Automerge CRDT sync for real-time collaboration 2026-01-01 22:59:32 +01:00
tsconfig.json Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
vite.config.ts feat: Add Automerge CRDT sync for real-time collaboration 2026-01-01 22:59:32 +01:00