Phase Roadmap
All 16 phases are approved. Phases 1-11 are deployed and live. Phases 12-16 are planned — their earlier prototype scaffolding (vertical stores, service stubs, panel UIs, Cloud Function stubs) was removed in the 2026-07 cleanup. The ROS 2 / robotics and industrial-catalog integrations that overlap them remain as real, in-progress code.
Phase Status
| Phase | Feature | Status | Key Files |
|---|---|---|---|
| 1 | Auth (Google OAuth only) | Live | AuthPage, useAuthStore, auth.ts |
| 2 | Landing page with WebGL hero | Live | yugma-landing/ |
| 3 | Scene templates + loader | Live | sceneTemplates.ts, ProjectInfoPanel |
| 4 | Share links (URL-encoded) | Live | shareLinkService, urlEncoder |
| 5 | Library panel (primitives + GLTF + first-party libraries) | Live | LibraryPanel/ |
| 6 | Real-time collaboration (room codes, cursors) | Live | collabService, CollabOverlay |
| 7 | AI Scene Composer | Live | AIPanel, aiCompose, aiSerializer |
| 8 | Real-model asset libraries (v1 catalog + v2 world library, side by side) | Live | CatalogSection, LibraryV2Section, OmniverseUsdSection |
| 9 | Advanced collab (comments, feed) | Live | CommentPin, ChangeFeed |
| 10 | Export (GLB, screenshot, embed) | Live | exportUtils, EmbedPage |
| 11 | AI Materials (30 presets, AI gen) | Live | materialPresets, AITextureSection |
| 12 | Video-to-3D reconstruction | Planned | prototype removed 2026-07 |
| 13 | Industrial digital twins | Planned | overlaps the live ROS 2 stack (ros/, robotics/) |
| 14 | Product vibe-coder | Planned | prototype removed 2026-07 |
| 15 | Factory simulation (physics) | Partial | Rapier physics live for catalog models (physicsWorld.ts, useYgmPhysicsStore) |
| 16 | AI cinematic director | Planned | prototype removed 2026-07 |
AI Enhancements (Cross-Phase)
These enhancements improve the AI layer across all phases:
| Enhancement | Status | Files |
|---|---|---|
| Spatial preprocessor (circle/grid/stack/spiral/line/scatter) | Complete | spatialPreprocessor.ts |
| Cross-session memory (Firestore) | Complete | aiService.ts (loadLastSession/saveAISession) |
| Style fingerprint + memory | Complete | styleFingerprint.ts |
| Agentic tool-use loop (replaced the two-pass planner) | Complete | composeCore.ts (loop, default 3 / max 5 iterations) |
| Real focus_camera (smooth tween) | Complete | CameraController.tsx, useSceneStore |
| YSL v1.5 schema (userData, semanticRole, relationships) | Complete | scene.types.ts, aiSerializer.ts |
What Each Planned Phase Needs to Go Live
Phase 12 — Video-to-3D
Build a Cloud Run orchestrator that chains: SAM2 segmentation → monocular depth estimation → object classification → auto-rigging → scene composition. A startVideoReconstruction Cloud Function would create the job doc; the orchestrator processes it and writes back resultGlbUrl. (The earlier stub was removed 2026-07.)
Phase 13 — Digital Twins
- Add RTDB rules for
/sensors/*back todatabase.rules.json(they were removed in the 2026-07 cleanup) and deploy (firebase deploy --only database) - Build an MQTT→RTDB bridge (Cloud Run or Cloud Function) that receives sensor readings and writes to
sensors/{id}/latest - Rebuild the twin store + sensor-subscription →
updateObjectpipeline (the prototype was removed 2026-07); the live ROS 2 stack inros/androbotics/already streams telemetry into the scene and is the natural foundation
Phase 14 — Product Vibe-Coder
- Set
NEXAR_API_KEYsecret for the Octopart/Nexar GraphQL API - Build an
octopartProxyCloud Function that queries the real API (the mock-data prototype was removed 2026-07) - Wire enclosure geometry into SceneRenderer (convert
Enclosure→ box with mounting hole subtractions)
Phase 15 — Factory Simulation
Rapier physics is already live for imported catalog / YGM models (utils/physicsWorld.ts + urdfToPhysics.ts, driven by useYgmPhysicsStore). To extend it to a general factory-simulation vertical for arbitrary primitives, wrap the scene in <Physics> and add RigidBody bodies per SceneObject. (The old generic PhysicsWorld / usePhysicsStore stub was removed 2026-07.)
Phase 16 — AI Cinematic Director
- Build a
renderStoryboardCloud Function: headless R3F render → ffmpeg → video upload - Add a cinematic-director prompt + Cloud Function that takes a scene + brief and returns a
StoryboardJSON - Build a shot-timeline player in a CinematicPanel that drives
setCameraTargetper shot
(The Phase 16 prototype — store, panel, and stub function — was removed 2026-07.)