--- name: case-study description: Turn any web project (WebGL, three.js, React Three Fiber, Theatre.js, GSAP or Lenis scroll sites, and plain DOM sites) into case-study material for the studio website. Produces frame-perfect 16:9 clips of every chapter and transition, layer-by-layer decompositions of every scene, Blender turntables and clay/wire/bake renders, every sound exported separately with mixes rebuilt from the animation data, every image asset (glyphs, logos, frames, textures) exported separately, and a shareable exploration board. Triggers "case study", "showcase", "portfolio piece", "making-of", "breakdown", "how it's made", "decompose the scene", "take apart the landscape", "record the site", "capture footage", "turntable", "export the sounds", "extract the icons/assets". Use when a finished project needs to be shown, even if nobody says "case study". requires: - command: ffmpeg install: "brew install ffmpeg (encoding, contact sheets, sound export)" - command: node install: "Node 18+ (puppeteer-core capture rig; run bun add --cwd scripts/browser puppeteer-core once)" --- # Case study from a project The goal is raw material a designer can build a case study from: many separate, clean, 16:9 videos and images that show **how the work is made**, not one showreel. Everything comes from the project itself: the live site rendered by its own code, its own GLB models and bakes, its own stems and SVGs. Nothing is invented, and each item says how it was made. ## Fit the pipeline to the project Every project is different; run the phases that apply and say which you skipped and why. | Project | Works as is | Adapt | |---|---|---| | three.js based (vanilla, React Three Fiber, Threlte, TresJS) | everything | nothing | | Other WebGL engines (Babylon, PixiJS, OGL, Spline, Unity WebGL) | film, clips, holds, clicks, DOM-mode layers, sound, image assets, board | no scene hooks: reach the engine's own globals in `page.evaluate` for 3D layers; Blender only if model files exist | | DOM / GSAP / Lottie / video sites | film (the clock also steps CSS animations and video), DOM-mode layers via `css()`, clicks, sound, assets, board | skip Blender, solo and instances | | Multi-page sites | everything, per page | `boot.js` each URL; "chapters" become pages or sections | | No sound / no Theatre keyframes | — | skip phase 6, or place stems by section from the code's triggers | ## What the user expects (learned the hard way) - **16:9, 1920×1080 masters for everything**, including stills, grids and Blender renders. Re-render instead of cropping. - **A list of separate videos and images, never just one film.** Cut long captures into per-chapter and per-transition clips, plus stills. - **Every chapter gets the same depth.** Each one is decomposed layer by layer and gets a 3D turntable. Don't stop at the most obvious scene. - **Every sound and every image asset as its own file**, including small UI glyphs such as a navigation rail's icons. - **The repo stays clean.** No commits. Revert lockfile or config churn caused by installs and dev servers. - Show progress with contact sheets, and look at every capture (Read the image) before using it. ## Output layout Masters go next to the project: `/-case-study-assets/`. Working files go in the session scratchpad (``). ``` 01_film/ video/: 00_full_scroll.mp4 + one clip per chapter & transition stills/: ~24 frames 02_ch1_/ stills/layer_NN_