docs(mcp): add 10-agent research on scene-save workflow
10 parallel research agents (R1-R10) investigated whether MCP can save scenes as saveable entities that the user later opens in the editor — rather than injecting via a dev-only window.__pascalScene hook. Key findings: - Editor is already backend-agnostic via onLoad/onSave callbacks (R2,R7) - Current persistence is localStorage-only, single key (R1) - Zero dynamic routes and no backend code yet — env declared (R4,R5) - File import exists as "Load Build" but lacks Zod validation (R6) - MCP-written scenes load cleanly into the editor today (R6, Casa del Sol test already proved this) - Best path: filesystem-handoff this week, Supabase in weeks 2-4, Supabase Realtime for live mode in Q2. Skip Yjs for now. (R8) - 4-5 weeks to private beta, 10-14 to GA (R9) - 10 high-value ideas ranked; "photo -> scene" is the unblocker (R10) SYNTHESIS.md pulls all 10 reports together with the recommended implementation plan. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
bdb47a6e5d
commit
42bd05db9c
@@ -0,0 +1,38 @@
|
||||
# R4 — Routing & URLs
|
||||
|
||||
## TL;DR
|
||||
**Zero dynamic routes today.** Every user lands on `/` which hardcodes `projectId="local-editor"`.
|
||||
|
||||
## Route tree
|
||||
```
|
||||
apps/editor/app/
|
||||
├── page.tsx (Home: <Editor projectId="local-editor">)
|
||||
├── layout.tsx
|
||||
├── privacy/page.tsx
|
||||
├── terms/page.tsx
|
||||
├── api/health/route.ts
|
||||
└── fonts/
|
||||
```
|
||||
|
||||
- No `[id]`, `[projectId]`, `[sceneId]`, or `[[...slug]]` segments.
|
||||
- No middleware.
|
||||
- No `rewrites()` / `redirects()` in `next.config.ts`.
|
||||
- No query-param driven state.
|
||||
- No hash routing.
|
||||
|
||||
## Latent expectation (dead code)
|
||||
`packages/editor/src/components/ui/action-menu/view-toggles.tsx:79`:
|
||||
```ts
|
||||
const projectId = window.location.pathname.split('/editor/')[1]?.split('/')[0]
|
||||
```
|
||||
Code expects URLs of shape `/editor/<projectId>/…`. No such routes exist. Falls through to `undefined` gracefully today but signals a planned structure.
|
||||
|
||||
## Options to add
|
||||
| Option | Route | Effort |
|
||||
|---|---|---|
|
||||
| A | `/?sceneId=<id>` — reuse `/` + `useSearchParams` | XS |
|
||||
| B | `/editor/[projectId]` | S |
|
||||
| C | `/editor/[projectId]/[sceneId]` | M |
|
||||
| D | `/scene/[id]` — flat, project-agnostic | S |
|
||||
|
||||
Recommended: **B for projects, `/scene/[id]` short-link for sharing**. Matches the latent expectation in view-toggles.tsx.
|
||||
Reference in New Issue
Block a user