System design
How the architecture holds its boundary
A production system is defined by what it refuses as much as what it accepts. Compose a scene as named objects and revisions rather than receiving one opaque mesh, then keep directing it in the browser.
Control planes
AI Director
The Director converts intent into bounded, structured scene-tool calls and streams progress over a strict SSE decoder.
Revisioned scene graph
A revisioned scene graph stores objects, transforms, materials, groups, lights, cameras, and provenance.
Three.js viewport
Three.js renders and edits the durable graph while virtualized lists and recovery boundaries contain large-scene failure.
Request lifecycle
natural-language direction
→ structured Director tool plan
→ validated scene mutation
→ revisioned owner-scoped persistence
→ Three.js render and edit
→ GLB, PNG, USDZ, or OpenUSD-aware continuationFailure model
Malformed streamed tool calls, stale revisions, cross-owner writes, invalid scene nodes, and failed saves are rejected or isolated without discarding the last durable scene.
Verification checklist
- Revision safety: Every save advances a revision; stale writes cannot silently replace newer scene state.
- Owner isolation: Projects, offline queues, assets, and revisions are isolated by owner.
- Strict streaming: The SSE decoder accepts only complete, typed events and rejects malformed tool payloads.
- State-preserving recovery: A panel or route failure is isolated without discarding the last durable scene revision.