Architecture: How should Vitto Studio render AI-generated Angular platform...
Documentation for Sessions
🏗️ Architecture: How should Vitto Studio render AI-generated Angular platform...
Date: 2026-03-15
Time: 00:26:07 UTC
Session: gspace1-224.3
Agent: angular
Confidence: 90%
Status: ✅ Documented
📋 Decision Context
Question:
How should Vitto Studio render AI-generated Angular platforms in the Live Preview?
Task: Fix vitto-studio platform rendering and initialization
🎯 Decision Made
Chosen:
ESM SDK + rspack WASM + browser import maps. Pre-build 39 shared NX libraries to ESM bundles using esbuild (0.7s build), resolve via browser-native import maps in preview iframe. rspack compiles ONLY module code in-browser. Synthesized app shell wraps modules.
Options Considered:
- WebContainers (StackBlitz)
- Cloud MicroVMs (Lovable-style)
- Module Federation (webpack)
- ESM SDK + import maps (selected)
- Source compilation in rspack (all libs in memfs)
💭 Reasoning
WebContainers eliminated (memory ceiling for 238+ lib monorepo, commercial license). Cloud MicroVMs rejected as primary (network latency per change). Module Federation rejected (webpack dependency, overkill). ESM + import maps is browser-native, zero per-session cost, CDN-cacheable, and faster than Lovable (no VM boot). The key insight: generated platforms are for deployment, preview is synthesized.
📁 Files Involved
tools/scripts/build/build-platform-sdk.tstools/scripts/build/sdk-config.tslibs/libs-structural/platform-preview/src/lib/config/esm-cdn-map.tslibs/libs-structural/platform-preview/src/lib/services/bundler-filesystem.service.tslibs/libs-structural/vitto-studio/src/lib/services/preview.service.ts
🔗 Related
- Decision ID:
dev_1773534367508_vxurovp - Session: 224
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation