Un propietario por lifetime montado
Un MountScope controla su rango DOM exacto, descendientes reactivos, listeners, handles de observers, generaciones de adapters, señales de cancelación y callbacks de cleanup. Los scopes anidados forman un árbol explícito; disponer un parent retira el subárbol controlado completo.
- mount
- Reclama nodos de autoría detached e instala recursos controlados
- update
- Cambia únicamente recursos aún controlados por la generación viva
- dispose
- Aborta trabajo, ejecuta cleanup LIFO y luego elimina nodos controlados exactos
Retén identidad keyed
La reconciliación keyed preserva identidad existente de nodos y listeners, crea builders sólo para keys nuevas y minimiza movimientos del navegador. Keys duplicadas, topología hostil, updates sobredimensionados, gaps externos, parents no soportados o descendientes movidos fallan sin reclamar DOM externo.
Adopta salida SSR exacta
El render adoptable emite un seed versionado pliego:ssr:v1. El preflight del navegador valida estructura completa, texto, namespaces, atributos, primeras lecturas dinámicas e identidades keyed antes de instalar listeners o efectos. Un mismatch es diagnóstico y no muta el documento.
El cleanup no puede posponerse
Disponer el scope emite pliego:scope-dispose, aborta trabajo provisional de plugins, drena recursos registrados en orden LIFO y elimina el DOM al final. Una promesa de plugin que nunca termina no puede mantener vivo el cleanup registrado; un resultado tardío se retira sin montar la generación obsoleta.