rspace-online/modules/rchoices
Jeff Emmett c8e4aede02 feat(canvas): module-aware canvas architecture — shapes, tools, and toolbar gated by module
Modules now declare their canvas shapes and AI tools (canvasShapes/canvasToolIds
on RSpaceModule), creating a single source of truth that the canvas enforces:

- Phase 1: Extended RSpaceModule + ModuleInfo, added moduleId to CanvasToolDefinition
  with getToolsForModules() filter, added moduleOf() to ShapeRegistry, populated
  declarations in 9 modules, fixed 8 ungated toolbar buttons (rchoices, rwallet, rsocials)
- Phase 2: AI prompt sends enabledModules, server filters Gemini tool declarations
- Phase 3: folk-commitment-pool and folk-task-request show lock overlay when rtime disabled
- Phase 4: Extracted MODULE_META into shared lib/module-display.ts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 15:19:12 -07:00
..
components fix(layout): viewport-filling rApp layout — eliminate body scroll 2026-03-31 10:57:09 -07:00
landing.ts feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
local-first-client.ts feat(rchoices): add multiplayer voting sessions via Automerge CRDT 2026-03-15 17:28:42 -07:00
mod.ts feat(canvas): module-aware canvas architecture — shapes, tools, and toolbar gated by module 2026-04-01 15:19:12 -07:00
schemas.ts feat(rchoices): add multiplayer voting sessions via Automerge CRDT 2026-03-15 17:28:42 -07:00