01 · Límites del código
Responsabilidades propias para dominio, GPU e interfaz
El monorepo del Frontend separa tres paquetes: core, renderer y web. Core calcula muestreo, direcciones, layout, presupuestos y metadata sin React, Three.js, DOM ni red. Renderer posee los loaders, la evaluación de poses, la cámara y los recursos WebGL2. La aplicación organiza interacción, selecciones y jobs.
Las dependencias siguen web → renderer → core, con acceso directo de web a core. Los puntos de entrada públicos evitan depender de los archivos internos de otro paquete. Composición e interfaces pequeñas sostienen Strategy para estilos, Factory para loaders y una fachada de captura, sin una clase central responsable de toda la escena.
| Capa | Responsabilidad | Decisión |
|---|---|---|
| core · TypeScript | Frames, ángulos, CapturePlan, hojas y JSON | Reglas de dominio independientes de la GPU |
| renderer · Three.js / WebGL2 | Importación, pose, materiales y píxeles | Ciclo de vida explícito de recursos |
| web · React | Workspaces, estado y orquestación | Escena/GPU fuera del render de React |
| Desktop · C# / WPF | WebView2, archivos y optimización | Puerto DesktopHost y mensajes versionados |
| API · ASP.NET Core | Base de servicios y health checks | Independiente del editor y del bake |