back to the lab
A study in scroll and motion

Scroll-scrub: scroll becomes the video's timeline

GSAPScrollTriggerLenis

2026

Scroll-scrub

A video fills the whole screen and stays pinned while a tall section is scrolled through. Scroll position becomes the clip's timeline: scrolling down advances the frames, scrolling up rewinds. No player and no controls — the video's time is the page's position. The clip is abstract, generated in the study's palette (charcoal → amber → cream).

What it explores

  • Scroll drives `video.currentTime` directly, with the section pinned full-screen (ScrollTrigger pin + scrub).
  • Smoothed seek — scroll sets a target time and the loop eases currentTime toward it each frame (lerp), because seeking straight to every frame stutters.
  • Muted video with `playsinline` so currentTime can be set without a user gesture; Lenis keeps the scrubbing buttery.
  • Clip encoded with dense keyframes, since seeking is smoother the more keyframes a video has — swapping the source is just pointing at another file.

States

Pin the video locks full-screen while the tall section is scrolled through
Scrub scroll position becomes currentTime, frame by frame
Rewind scrolling up moves back in time — nothing is linear
open experiment