gsap-scrolltrigger-storytelling
Back to list

MengTo/gsap-scrolltrigger-storytelling

GSAP Scrolltrigger Storytelling

GitHub

Use when building scroll-based storytelling sections with GSAP ScrollTrigger.

89 installsMotionInteractionFrontend4 demos

Real-world examples

Live HTML demos for this skill — rendered directly in the page. 4 examples.

  1. 01

    Sticky product frame

    Pinned device artifact with scrubbed timeline labels — copy and UI states advance in measured beats while the product stays locked in place.

  2. 02

    Progressive layer reveal

    Scrubbed panel choreography: frame draws in, controls fade, side panels slide, metrics count up — each layer offset on a shared easing language.

  3. 03

    Cinematic section handoff

    Pinned scene scales, masks, and dims into the next chapter — high-impact transition reserved for the handoff, not every micro-change.

  4. 04

    Cinematic depth & parallax

    Foreground/background parallax, focus dimming, and scrub:1 smoothing — scroll-reactive atmosphere that keeps product copy readable.

Skill markdown
# GSAP ScrollTrigger Storytelling Skill

## Use When
- Build cinematic sticky product storytelling with GSAP ScrollTrigger, progressive UI reveals, scroll-synced animation, smooth interpolation, and immersive section transitions.

## Workflow

## Scope
- Apply this when the page should feel like a scroll-driven product story rather than a static marketing layout.
- Use GSAP ScrollTrigger as the main choreography layer for sticky sections, progressive interface reveals, pinned scenes, scrubbed timelines, and immersive transitions between sections.
- Preserve the actual product narrative and interface clarity. The motion should amplify comprehension, not hide basic content behind theatrical effects.

## Experience target
- Create sticky product storytelling where each scroll segment reveals a new product state, feature layer, data view, device frame, or workflow step.
- Use scroll-synced animation so copy, UI panels, screenshots, overlays, and background atmosphere move together as one authored sequence.
- Build progressive UI reveals: draw in frames, fade in controls, slide panels into place, count values up, highlight regions, and swap states as the user advances.
- Keep the overall mood cinematic, premium, and immersive with controlled pacing, clean staging, depth, and transitions that feel intentional.

## Implementation guidance
- Use GSAP timelines with ScrollTrigger `scrub` for the main scroll narrative and regular tweens only for supporting entrance or hover motion.
- Pin long-form story sections with `pin: true` and map each scene to explicit timeline labels so the sequence is easy to tune.
- Prefer transform and opacity animation over layout-affecting properties. Use `will-change` sparingly on animated elements that actually need it.
- Use `gsap.context()` in React components and clean it up on unmount so ScrollTriggers are killed correctly.
- Refresh ScrollTrigger after images, fonts, or async content load if those assets affect section height or pinned offsets.
- Use `matchMedia()` or equivalent breakpoints so desktop sticky choreography can simplify gracefully on smaller screens.

## Motion patterns
- Sticky product frame: keep the main artifact pinned while the surrounding narrative updates in measured steps.
- Layer reveal: bring labels, overlays, panels, and product states in one at a time with short offsets and a shared easing language.
- Section handoff: let the current scene scale, mask, blur, or translate into the next section instead of ending abruptly.
- Smooth interpolation: use scrub smoothing, quickSetter/quickTo, or lerped values for pointer-following and scroll-reactive details.
- Cinematic depth: use foreground/background parallax, subtle camera moves, dimming layers, masks, and focus shifts without overwhelming readability.

## Tuning knobs
- Pin duration: extend for dense product stories, shorten when the scene has only one or two state changes.
- Scrub feel: use direct scrub for precise technical walkthroughs and eased scrub for a more cinematic product film feel.
- Reveal density: add more micro-reveals for complex UI, reduce them for narrative sections where copy needs to carry the moment.
- Transition intensity: keep high-impact transitions reserved for section handoffs, not every small content change.

## Avoid
- Triggering unrelated animations on every scroll tick without a clear story beat.
- Using sticky/pinned sections that trap the reader for too long or make the page feel broken.
- Animating width, height, top, left, or layout-heavy properties during scrubbed scenes when transforms can do the job.
- Letting cinematic effects reduce text contrast, cover CTAs, or obscure the product UI the section is meant to explain.
- Leaving ScrollTriggers alive after component unmounts or route changes.

More from MengTo