Web-first scrollytelling

Pattern matching, told with a mascot

Learn how the engine turns authored content into scroll scenes, interaction islands, mascot transitions, and a deterministic recording plan.

ai fox 6 min read

A story starts as content

Authoring layer

The author writes scenes, not animation scripts.

This page is written in MDX, but the motion system is derived from scene metadata and runtime helpers.

Each scene declares layout, transition preset, pinning, mascot state, and optional media hooks.

That keeps the writing model friendly to humans and LLMs, while the runtime stays responsible for animation details.

Scenes become runtime data

When the page hydrates, the runtime reads each scene from the DOM and builds a registry.

That registry feeds a GSAP timeline factory, mascot state updates, audio cue mapping, and the recording plan.

Registry flow

01

Parse data attributes from every scene section.

02

Normalize layout and transition names.

03

Create timeline plans and audio cues.

04

Expose a deterministic scroll plan for recording mode.

Math stays first-class

A confidence score

Structured explainers often need equations, so the MVP includes KaTeX rendering instead of hand-drawn screenshots.

score=matched patternstotal patternsscore = \frac{matched\ patterns}{total\ patterns}

Interactive islands stay isolated

Phase 3

Hydrate only what needs local state.

The surrounding page is static. The slider and dial below are interactive islands that only manage their own scene-level state.

65%
35°