README
Documentation for Sessions
Session 20: Unified Universe Builder
Date: December 30, 2025 Platform: Claude Code (Opus 4.5) Status: In Progress
Overview
Session 20 focuses on creating a unified universe creation/editing experience by introducing:
- Universe Hub - Landing page for existing universes with overview and quick actions
- Unified Builder - Split-view combining AI generation (left) with Canvas preview (right)
Problem Statement
Currently, clicking an existing universe from the dashboard navigates directly to Vibe (AI generator) instead of showing the universe content. The three tools (Vibe Generator, Canvas Builder, AI Panel) are disconnected, creating a fragmented user experience.
Solution
User Flow After Implementation
New Universe
Dashboard → "Create Universe" → Unified Builder (AI panel open, empty canvas)
→ User describes in AI → Modules appear on canvas → Save → Universe Hub
Existing Universe
Dashboard → Click universe card → Universe Hub (overview + quick actions)
→ "Open Builder" → Unified Builder (with existing modules)
→ OR "AI Enhance" → Unified Builder (AI panel focused)
Sub-Sessions
20.1 - Unified Universe Builder Implementation
Status: In Progress Focus: Core implementation of Universe Hub and Unified Builder components
Tasks:
- Create UnifiedBuilderStateService
- Create UniverseHubComponent
- Create UnifiedBuilderComponent
- Update route configuration
- Add navigation methods
- Update dashboard navigation
- Update exports
Technical Decisions
| Decision | Choice | Reasoning |
|---|---|---|
| Component Location | libs/libs-space/universe-canvas/ |
Alongside canvas-builder, follows existing patterns |
| Mini Preview | Full RuntimePreviewComponent | Full functionality for better UX |
| Embedded Mode | Add embedded input |
Hide redundant toolbars in split view |
Key Files Created
| File | Description |
|---|---|
universe-hub.component.ts |
Hub landing page component |
unified-builder.component.ts |
Split-view builder component |
unified-builder-state.service.ts |
State management service |
Key Files Modified
| File | Change |
|---|---|
app.routes.ts |
Added new routes for hub and builder |
space-navigation.service.ts |
Added navigation methods |
g-space-dashboard.component.ts |
Updated navigateToUniverse() |
Architecture
UniverseHubComponent
├── SpaceService (universe data)
├── UniverseManagerService (get by slug)
├── UniverseModuleService (load modules)
├── SpaceNavigationService (navigation)
└── ToolOrchestrationService (tool activation)
UnifiedBuilderComponent
├── UnifiedBuilderStateService (split-view state)
├── UniverseContextService (set context)
├── ToolOrchestrationService (module handoff)
├── Embedded: VibeUniverseGeneratorComponent
└── Embedded: UniverseCanvasBuilderComponent
Success Criteria
- Clicking existing universe from dashboard shows Universe Hub (not Vibe)
- Universe Hub displays accurate stats and quick actions
- Unified Builder loads with split view (AI left, Canvas right)
- AI-generated modules drop seamlessly onto canvas
- State persists between sessions
- Existing vibe/canvas routes still work