Diagramas
Estos diagramas representan las llamadas y almacenamiento de la base auditada; no agregan servicios de la migración Functions pendiente.
Componentes
flowchart TD Inicio[main.tsx y applicationRoute] --> Editor[EditorRoot: AuthProvider y StoreProvider] Inicio --> Publico[PublicSiteRoute] Inicio --> Consentimiento[McpConsentRoute] Editor --> App[App y hooks del editor] App --> Canvas[CanvasViewport / CanvasSection / CanvasElement] App --> Sesion[useProjectSession y saveCoordinator] Sesion --> Local[localRepository / localStorage] Sesion --> Repo[firestoreRepository] Repo --> Firestore[(Firestore)] Editor --> Auth[Firebase Auth] Sesion --> Publicar[api/publish] Publico --> Lectura[api/publication] Publicar --> Servicios[server/admin y Firebase Admin] Lectura --> Servicios Servicios --> Firestore MCP[api/mcp / api/oauth / api/connections] --> Runtime[server/mcp/runtime] Runtime --> Firestore
Fuentes: entrada, composición, sesión, repositorio, publicación, lector, runtime MCP.
Persistencia y publicación
sequenceDiagram participant U as Editor participant L as Copia local participant F as Firestore participant P as api/publish participant V as Visitante participant R as api/publication U->>L: Guardar snapshot y copia anterior U->>F: Transacción con revisión remota esperada F-->>U: Nueva revisión o conflicto U->>P: ID token, projectId y revisiones esperadas P->>P: Autenticar y validar permisos P->>F: Leer borrador, control y publicación en transacción F-->>P: Estado guardado P->>P: Validar derecho, estructura, slug y revisiones P->>F: Escribir published_sites y estado de publicación P-->>U: Slug y revisión publicada, o error V->>R: Consultar sitio por slug R->>F: Leer publicación y control administrativo R-->>V: Contenido permitido o error
Fuentes: localRepository, saveCoordinator, serverPublisher, publishSavedSite, publication. El lector consulta el estado administrativo; el contenido público no es el borrador vivo.
Agregado editable
flowchart LR Snapshot[ProjectSnapshot v2] --> Revisiones[localRevision / remoteRevision / publishedRevision] Snapshot --> Documento[ProjectDocument] Documento --> Paginas[pages] Documento --> Cabecera[headerSections] Documento --> Config[theme / metadata / editorSettings] Documento --> Opcionales[store y funnels opcionales] Paginas --> Secciones[Secciones] Secciones --> Elementos[Elementos del lienzo] Elementos --> Layout[Geometría desktop y variantes mobile/tablet]
Fuentes: project.ts, builder.ts. Es una vista de composición del documento, no un esquema relacional ni una colección Firestore por cada caja.
