1---2name: mengto-gsap-scrolltrigger-storytelling3description: Use when building cinematic sticky product storytelling with GSAP ScrollTrigger, progressive UI reveals, scroll-synced animation, and immersive section transitions. Prefer this over mengto-cinematic-scroll-storytelling when GSAP ScrollTrigger sticky chapters are the implementation path; prefer over mengto-gsap when the job is scroll-story product narrative, not general GSAP usage.4---56# GSAP ScrollTrigger Storytelling Skill78## Use When9- Build cinematic sticky product storytelling with GSAP ScrollTrigger, progressive UI reveals, scroll-synced animation, smooth interpolation, and immersive section transitions.1011## Workflow1213## Scope14- Apply this when the page should feel like a scroll-driven product story rather than a static marketing layout.15- Use GSAP ScrollTrigger as the main choreography layer for sticky sections, progressive interface reveals, pinned scenes, scrubbed timelines, and immersive transitions between sections.16- Preserve the actual product narrative and interface clarity. The motion should amplify comprehension, not hide basic content behind theatrical effects.1718## Experience target19- Create sticky product storytelling where each scroll segment reveals a new product state, feature layer, data view, device frame, or workflow step.20- Use scroll-synced animation so copy, UI panels, screenshots, overlays, and background atmosphere move together as one authored sequence.21- 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.22- Keep the overall mood cinematic, premium, and immersive with controlled pacing, clean staging, depth, and transitions that feel intentional.2324## Implementation guidance25- Use GSAP timelines with ScrollTrigger `scrub` for the main scroll narrative and regular tweens only for supporting entrance or hover motion.26- Pin long-form story sections with `pin: true` and map each scene to explicit timeline labels so the sequence is easy to tune.27- Prefer transform and opacity animation over layout-affecting properties. Use `will-change` sparingly on animated elements that actually need it.28- Use `gsap.context()` in React components and clean it up on unmount so ScrollTriggers are killed correctly.29- Refresh ScrollTrigger after images, fonts, or async content load if those assets affect section height or pinned offsets.30- Use `matchMedia()` or equivalent breakpoints so desktop sticky choreography can simplify gracefully on smaller screens.3132## Motion patterns33- Sticky product frame: keep the main artifact pinned while the surrounding narrative updates in measured steps.34- Layer reveal: bring labels, overlays, panels, and product states in one at a time with short offsets and a shared easing language.35- Section handoff: let the current scene scale, mask, blur, or translate into the next section instead of ending abruptly.36- Smooth interpolation: use scrub smoothing, quickSetter/quickTo, or lerped values for pointer-following and scroll-reactive details.37- Cinematic depth: use foreground/background parallax, subtle camera moves, dimming layers, masks, and focus shifts without overwhelming readability.3839## Tuning knobs40- Pin duration: extend for dense product stories, shorten when the scene has only one or two state changes.41- Scrub feel: use direct scrub for precise technical walkthroughs and eased scrub for a more cinematic product film feel.42- Reveal density: add more micro-reveals for complex UI, reduce them for narrative sections where copy needs to carry the moment.43- Transition intensity: keep high-impact transitions reserved for section handoffs, not every small content change.4445## Avoid46- Triggering unrelated animations on every scroll tick without a clear story beat.47- Using sticky/pinned sections that trap the reader for too long or make the page feel broken.48- Animating width, height, top, left, or layout-heavy properties during scrubbed scenes when transforms can do the job.49- Letting cinematic effects reduce text contrast, cover CTAs, or obscure the product UI the section is meant to explain.50- Leaving ScrollTriggers alive after component unmounts or route changes.