rspace-online/backlog/tasks/task-118.3 - Add-multiplaye...

1.3 KiB

id title status assignee created_date labels milestone dependencies parent_task_id priority
TASK-118.3 Add multiplayer sync to rswag (collaborative swag design) To Do
2026-03-16 00:05
multiplayer
tier-2
Multiplayer Everything
TASK-118 low

Description

rswag is a client-side design canvas. Add Automerge sync so multiple space members can collaborate on swag designs.

New files:

  • modules/rswag/schemas.ts — SwagDoc with designs, assets, selectedTemplate
  • modules/rswag/local-first-client.ts — CRUD: saveDesign, updateCanvas, addAsset

Schema design:

SwagDoc {
  meta: { module: 'swag', collection: 'designs', version: 1 }
  designs: Record<string, { id, name, templateId, canvasState: string, createdBy, updatedAt }>
  activeDesignId: string
}

Component updates:

  • Init local-first client on connectedCallback
  • Debounced save of canvas state changes
  • Live cursor/selection indicators for collaborators (stretch)

Acceptance Criteria

  • #1 Design state syncs between participants in real-time
  • #2 Canvas changes debounced and saved via Automerge
  • #3 Design list shared across space members
  • #4 Demo mode works locally