Skip to main content

Roadmap

The plan is phased so each stage ships value on its own, and the expensive work (real 3D) rides on foundations laid earlier. We're doing the three focus areas one at a time.

Motion roadmap — four phases Phase 0 Foundation, very high impact. Phase 1 Motion timeline, high impact. Phase 2 Real 3D scenes, very high impact. Phase 3 Flourishes, medium to high impact. 0 Phase 0 — Foundation Site-wide smooth scroll + one scroll engine IMPACT 1 Phase 1 — Motion timeline Beat keyframes across a pinned section IMPACT 2 Phase 2 — Real 3D scenes A scroll-driven camera through real depth IMPACT 3 Phase 3 — Flourishes Rive, WebGL image transitions, particles IMPACT
The plan, in four phases — each ships value on its own; later phases build on earlier foundations.

Phase 0 — Foundation

The highest return for the least effort — and the base everything else builds on.

  • Site-wide smooth scroll — a Theme Settings toggle (plus a smoothing/strength control), with the scroll engine routed through it.
  • One scroll engine — progressively bring the scroll-based sections onto a single scroll system so they all scrub against the same clock.
  • Shared guardrails — a common reduced-motion + mobile-throttle + off-screen-pause helper every effect uses, so quality and accessibility are uniform.

Outcome: the whole engine feels like one polished system, and future scroll features get cheaper.

Phase 1 — Motion timeline (the pragmatic 80%)

  • Beat keyframes — per-element 2–3 keyframed states across a pinned Section's beats, each with an easing pick, built on the existing Scroll Story plumbing.
  • (Optional) a bounded "Motion Timeline" element for advanced users, only if there's demand.

Phase 2 — Real 3D scenes

  • A parametric "3D Scene" element — a few pre-built, scroll-scrubbed camera scenes (gallery dolly, product orbit, image tunnel). You supply the media and tune a few knobs; the scene and its camera choreography are built in.
  • Stretch: a real-WebGL variant of the 3D Gallery for true depth, lighting and reflection.

Phase 3 — Flourishes

  • Rive elements (interactive vector motion), curated WebGL image transitions (ripple / liquid / displace presets), and richer particle presets in WebGL Object.

At a glance

PhaseDeliverableImpact
0Site-wide smooth scroll + one scroll engine + shared guardrailsVery high
1Beat keyframes (the timeline "80%")High
2Parametric scroll-camera 3D scene elementVery high
3Rive + WebGL image transitions + particle presetsMedium–High

What we build vs. what stays curated

The guiding principle: be the "GSAP-quality scroll + smooth-scroll + text-reveal + light-3D" builder that delivers the vast majority of premium motion through presets — plus a small, performance-budgeted set of WebGL/Rive flourishes. Fully bespoke studio scenes stay a hand-built concern; trying to genericize them is where builders drown.

Build as presetsUse internally / curatedNot planned
Site-wide smooth scrollTheatre.js to author 3D camera scenesA general visual timeline editor
One unified scroll engineThree.js for a few parametric scenesA user-facing shader editor
Beat keyframes on pinned sectionsSpline for an optional no-code hero objectOpen 3D scene composition from scratch
Rive / model-viewer / image-transition presetsCurtains.js/OGL for the shader preset setArbitrary per-project camera fly-throughs
Text reveals everywhereWhole-page WebGL as the only content layer

Performance & accessibility rules

Every motion feature ships with these — they're part of the design, not an afterthought:

  • Respects reduced motion. When a visitor has "reduce motion" set, heavy effects swap for instant or minimal states. This is mandatory.
  • Throttled on mobile. Mobile GPUs thermally throttle; effects cap their work, cap resolution, and pause when off-screen or when the tab is hidden.
  • Progressive enhancement. WebGL is detected and falls back to a static image or video. Real content always lives in the HTML (for SEO and screen readers) — 3D is an enhancement layer over the page, never the only source of content.
  • Web Vitals first. On content and conversion pages, the light path ships by default; spectacle is reserved for pages where it adds meaning.
Where this connects

The engine is already built this way — see Performance for how a page loads only the effects it actually uses. The roadmap keeps that discipline as it grows.