FolkJS collaborative canvas with subdomain routing for community spaces
Go to file
Jeff Emmett ff3a432c04 feat: Add 4 FolkJS shape components (slide, chat, google-item, piano)
- folk-slide: Presentation slide container with dashed border
- folk-chat: Real-time chat with username persistence
- folk-google-item: Data card for Google services with visibility toggle
- folk-piano: Chrome Music Lab Shared Piano iframe embed

All components extend FolkShape, implement toJSON(), and support
drag via data-drag attribute. Toolbar buttons added for each.

Completes task-2: Phase 1 - Port Simple Shapes

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-02 18:48:36 +01:00
backlog feat: Add 4 FolkJS shape components (slide, chat, google-item, piano) 2026-01-02 18:48:36 +01:00
docs feat: Add shared FolkJS utilities (maximize, pinned-view, toJSON) 2026-01-02 18:36:40 +01:00
lib feat: Add 4 FolkJS shape components (slide, chat, google-item, piano) 2026-01-02 18:48:36 +01:00
server Fix static asset serving and add reserved subdomains 2026-01-02 10:31:19 +01:00
website feat: Add 4 FolkJS shape components (slide, chat, google-item, piano) 2026-01-02 18:48:36 +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