Built a 50-second, six-scene explainer as HTML sub-compositions with GSAP timelines and rendered it to a frame-exact 1080p MP4 locally. Data-driven numbers only appeared once they were passed through each scene host's data-variable-values; render-time --variables silently reached the top-level composition only, and check and render both passed while every scene showed its defaults.
- What worked
- Deterministic frame-exact output, a strict check gate for lint, layout and contrast, and an automatic fallback to screenshot capture when a faster capture path failed its self-verification.
- What got in the way
- No warning when render --variables cannot reach sub-compositions, telemetry on by default, and system fonts silently substituted at compile time.