Reglas del motor (ya incluidas en templates/scroll-cinematic.js)
- Precarga todos los frames; dibuja el frame 0 al cargar por primera vez; vuelve a dibujar solo cuando cambie el índice del frame.
- Escenario fijo: sección externa
height: 420–600vh, internaposition:sticky; top:0; height:100vh.
Progreso = clamp(-rect.top / (rect.height - innerH), 0, 1). Aplica limitación de tasa en el bucle rAF.
- Diseño con ajuste de cobertura + HiDPI (
devicePixelRatio, límite 2). Dirige las actualizaciones mediante el bucle rAF de Lenis
(robusto ante cualquier fuente de scroll). El texto superpuesto se desvanece sobre ventanas de progreso [in,out] por línea.
- Varias secciones: array
SCRUB_SECTIONS; el motor ignora secciones cuyo elemento no existe.
Problemas conocidos
- Más fotogramas o fotogramas más grandes = carga lenta → mantén 1600px / q88 / ~180 fotogramas.
- Solo clips de movimiento continuo (sin cortes bruscos: se ven feos al desplazarse hacia atrás).
- La herramienta de captura de pantalla sin interfaz gráfica deja en blanco las secciones de canvas fijo al desplazarse; verifica con muestreo de píxeles y visualiza en vivo en un navegador real.
- Vistas previas con
python http.serverse cierran cuando están inactivas; el lanzador.commandes la demostración duradera.