Six images, one object, one story. Scroll and the cube turns - each face arrives exactly when its text does. The faces are real planes in CSS 3D space, so corners meet, edges catch the light, and the volume reads as a volume. Hidden faces are re-dressed while out of sight, so a gallery of twenty images turns inside six faces with no visible seam. Every scene carries its own tag, headline, paragraph and optional figures, entering in a staggered cascade - rule, tag, title, body - alternating left and right so the eye keeps moving. A HUD tracks where you are: percentage, progress bar, one dot per scene. The motion is frame-rate independent exponential smoothing, with optional wheel inertia that gives the scroll real weight. Palette, typography, cube size, perspective, scroll distance per face and every HUD element are exposed. Ships with a six-scene demo story so it looks finished the moment you drop it in. Pure CSS 3D - no library, no external request, respects prefers-reduced-motion, and renders a still frame inside the Framer editor so your canvas stays fast.
Six images, one object, one story. Scroll and the cube turns - each face arrives exactly when its text does. The faces are real planes in CSS 3D space, so corners meet, edges catch the light, and the volume reads as a volume. Hidden faces are re-dressed while out of sight, so a gallery of twenty images turns inside six faces with no visible seam. Every scene carries its own tag, headline, paragraph and optional figures, entering in a staggered cascade - rule, tag, title, body - alternating left and right so the eye keeps moving. A HUD tracks where you are: percentage, progress bar, one dot per scene. The motion is frame-rate independent exponential smoothing, with optional wheel inertia that gives the scroll real weight. Palette, typography, cube size, perspective, scroll distance per face and every HUD element are exposed. Ships with a six-scene demo story so it looks finished the moment you drop it in. Pure CSS 3D - no library, no external request, respects prefers-reduced-motion, and renders a still frame inside the Framer editor so your canvas stays fast.