rspace-online/lib
Jeff Emmett 20c26cd3d7 feat: scope system, cross-space navigation, and spaces-as-layers
Phase 1 — Fix scope system: new scope-resolver.ts resolves global vs
space-scoped docId prefixes. Server middleware sets effectiveSpace on
Hono context. All 18 modules updated to use dataSpace for Automerge
doc access while keeping space for display. Client runtime gets
setModuleScopes() and resolveDocSpace() for local-first scope
resolution.

Phase 2 — Seamless cross-space navigation: TabCache now tracks panes
per space:module key. OfflineRuntime maintains lazy WebSocket
connections per space. Space-switcher dispatches space-switch event
handled client-side with history.pushState instead of full reload.

Phase 3 — Spaces as layers: Layer type extended with spaceSlug and
spaceRole. Tab bar gains "Add Space Layer" picker. Canvas renders
cross-space shapes with visual indicators. Space layers persisted as
SpaceRefs via nesting API. Runtime provides getAllActiveSpaces() and
subscribeModuleAcrossSpaces() for module-level data aggregation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 06:33:32 +00:00
..
DOMRectTransform.ts Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
Matrix.ts Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
TransformEvent.ts fix: shape resize sync and transform event name alignment 2026-03-01 11:11:02 -08:00
Vector.ts Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
community-sync.ts feat: add unified notification system with real-time WS delivery 2026-03-03 18:59:09 -08:00
connection-types.ts feat: add SpaceConnection primitive + default visibility to private 2026-03-03 15:05:23 -08:00
cursors.ts Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
demo-sync-vanilla.ts refactor: rename module directories to match r-prefixed module IDs 2026-02-28 19:49:26 -08:00
folk-arrow.ts Add FolkArrow component for shape connections 2026-01-01 23:13:25 +01:00
folk-blender.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-booking.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-budget.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-calendar.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-canvas.ts fix: pass auth token in WebSocket connections for private spaces 2026-02-28 22:08:07 -08:00
folk-chat.ts feat: add voice dictation to MI bar, markdown, chat & prompt inputs 2026-03-03 17:10:52 -08:00
folk-choice-conviction.ts feat: add settings menus to all 4 decide/choice canvas elements 2026-03-03 15:47:26 -08:00
folk-choice-rank.ts feat: add settings menus to all 4 decide/choice canvas elements 2026-03-03 15:47:26 -08:00
folk-choice-spider.ts feat: add settings menus to all 4 decide/choice canvas elements 2026-03-03 15:47:26 -08:00
folk-choice-vote.ts feat: add settings menus to all 4 decide/choice canvas elements 2026-03-03 15:47:26 -08:00
folk-destination.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-drawfast.ts fix: make shape content interactive + render emojis properly 2026-02-27 14:15:31 -08:00
folk-element.ts Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
folk-embed.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-feed.ts feat: layered tab system with inter-layer flows and bidirectional feeds 2026-02-25 15:29:03 -08:00
folk-freecad.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-google-item.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-image-gen.ts feat: Gemini AI integration + zine generator + fix Ollama network 2026-03-02 21:27:11 -08:00
folk-image-studio.ts feat: add Image Studio for brand-consistent img2img generation 2026-03-06 18:31:27 -08:00
folk-itinerary.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-kicad.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-map.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-markdown.ts feat: add voice dictation to MI bar, markdown, chat & prompt inputs 2026-03-03 17:10:52 -08:00
folk-obs-note.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-packing-list.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-piano.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-prompt.ts feat: add Image Studio for brand-consistent img2img generation 2026-03-06 18:31:27 -08:00
folk-rapp.ts refactor: complete rfunds → rflows rename across configs and references 2026-03-03 19:13:14 -08:00
folk-shape.ts feat: single-click text inputs to edit, drag/resize on shape body 2026-03-03 12:03:33 -08:00
folk-slide.ts fix: Use slot.parentElement instead of :scope selector for ShadowRoot 2026-01-03 16:09:48 +01:00
folk-social-post.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-spider-3d.ts feat: add 3D stacked spider plot visualization component 2026-03-03 16:05:46 -08:00
folk-splat.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-token-ledger.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-token-mint.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-transcription.ts feat: add voice dictation to MI bar, markdown, chat & prompt inputs 2026-03-03 17:10:52 -08:00
folk-video-chat.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-video-gen.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-workflow-block.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
folk-wrapper.ts fix: folk-wrapper crash, service worker API exclusion, fal.ai endpoint 2026-03-02 23:36:15 -08:00
folk-zine-gen.ts feat: Gemini AI integration + zine generator + fix Ollama network 2026-03-02 21:27:11 -08:00
index.ts feat: add Image Studio for brand-consistent img2img generation 2026-03-06 18:31:27 -08:00
layer-types.ts feat: scope system, cross-space navigation, and spaces-as-layers 2026-03-09 06:33:32 +00:00
maximize.ts feat: Add shared FolkJS utilities (maximize, pinned-view, toJSON) 2026-01-02 18:36:40 +01:00
mi-action-executor.ts feat: MI canvas bridge, action executor, and enhanced context 2026-02-27 16:08:20 -08:00
mi-actions.ts feat: MI canvas bridge, action executor, and enhanced context 2026-02-27 16:08:20 -08:00
mi-canvas-bridge.ts feat: MI canvas bridge, action executor, and enhanced context 2026-02-27 16:08:20 -08:00
mi-content-triage.ts feat: add MI Content Triage — paste/drop content for AI-powered shape layout 2026-03-05 11:50:44 -08:00
mi-selection-transforms.ts feat: MI canvas bridge, action executor, and enhanced context 2026-02-27 16:08:20 -08:00
mi-tool-schema.ts feat: add Image Studio for brand-consistent img2img generation 2026-03-06 18:31:27 -08:00
mi-triage-panel.ts feat: add MI Content Triage — paste/drop content for AI-powered shape layout 2026-03-05 11:50:44 -08:00
offline-store.ts feat: persistent tab bar, offline save improvements, and shape validation 2026-03-01 11:11:14 -08:00
pinned-view.ts feat: Add shared FolkJS utilities (maximize, pinned-view, toJSON) 2026-01-02 18:36:40 +01:00
presence.ts fix: cursor world-coords, loading skeleton, WebSocket readyState guard 2026-03-03 10:40:13 -08:00
resize-manager.ts Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
rspace-header.ts feat: persistent sessions with 30-day JWT and auto-refresh on page load 2026-02-28 22:33:31 -08:00
speech-dictation.ts feat: add voice dictation to MI bar, markdown, chat & prompt inputs 2026-03-03 17:10:52 -08:00
spider-3d.ts feat: add 3D stacked spider plot visualization component 2026-03-03 16:05:46 -08:00
tags.ts Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
types.ts Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00
utils.ts Initial rspace-online: FolkJS collaborative canvas with subdomain routing 2026-01-01 16:27:07 +01:00