← ClaudeAtlas

scroll-cinemalisted

Build scroll-driven "scroll-cinema" websites where scrolling scrubs a camera path instead of translating a document — pinned full-viewport stages, aperture/iris opens, continuous dolly moves, 3D card entries, stacked panels that dim as the next slides over, parallax copy, and masked staggered text reveals. Pure vanilla JS + CSS custom properties, no GSAP/ScrollTrigger/Lenis/Locomotive/Framer. Use this whenever someone wants a "premium agency site", a cinematic or immersive landing page, a scroll-triggered or scroll-scrubbed animation, a pinned/sticky section that animates as you scroll, a hero that transforms on scroll, an Awwwards-style or "expensive-looking" site, a scrollytelling piece, or references a site/reel whose scrolling animation they want reproduced. Also use it when someone asks whether a particular scroll animation is buildable, or wants an existing scroll effect debugged (janky scrubbing, sticky not sticking, animation stuck at its start state).
Dhyey2907/claude-skill-scroll-cinema · ★ 1 · Web & Frontend · score 72
Install: claude install-skill Dhyey2907/claude-skill-scroll-cinema
# Scroll-cinema Sites where the wheel drives a camera rather than the document. The whole genre reduces to one primitive — **map scroll position to a number between 0 and 1, publish it as a CSS custom property, and let CSS do the rest** — plus a catalogue of moves built on top of it. Everything here is vanilla. Libraries are not needed for this and they cost you 40–100 KB plus a scroll-hijacking layer that fights the browser. ## Start here 1. **Read `references/mechanics.md`** for the move catalogue with working code — aperture, dolly, parallax, 3D card entry, stacked panels, masked reveals, cycling readouts, progress rails. 2. **Read `references/pitfalls.md` before you debug anything.** It is a list of failures that look like logic bugs but are CSS-semantics or browser-lifecycle traps. Several cost real time to rediscover. 3. **`assets/template.html`** is a complete working page using every mechanic — single file, no dependencies, dark/light themed, with a toggleable overlay that labels each move as it fires. Copy it and replace the content, or lift individual mechanics out of it. ## The engine Every stage is a tall section with a sticky child. The section's height is the scroll budget; the sticky child is what you actually see. ```html <section class="stage" id="s-hero" style="height:460vh"> <div class="pin"><!-- one viewport of content --></div> </section> ``` ```css .stage{position:relative} .pin{position:sticky;top:0;height:100svh;overflow: