Desktop optimized

Please maximize your browser window or use a larger screen to explore the component library.

Go to home

Dimensional Deck

A high-performance WebGL scroll component. Creates an immersive, 3D stacked deck of images that respond fluidly to vertical scroll momentum, utilizing custom GLSL shaders for kinetic RGB splitting and aerodynamic bending.

Last Modified:Aug 17, 2026

Install

CLI

dimensional-deck
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/dimensional-deck.json

Or install a specific demo variant:

dimensional-deck-demo
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/dimensional-deck-demo.json

Manual

1. Install Dependencies

Dependencies
$pnpm add three @react-three/fiber @react-three/drei gsap @gsap/react clsx tailwind-merge

2. Add Source Code

Props

PropTypeDefaultDescription
imagesstring[]RequiredArray of image URLs to load into the deck.
cardWidthRationumber0.35Percentage of screen width the card occupies on desktop.
cardAspectRationumber1.4Width-to-height ratio of the cards.
gapMultipliernumber1.2Vertical spacing distance between active cards.
stackGapMultipliernumber0.1How tightly the cards stack on top of each other at the friction point.
depthMultipliernumber0.8How deeply the cards push into the background Z-axis.
flexMultipliernumber0.15Aerodynamic paper bend physics when scrolling fast.
rotationMultipliernumber0.08The tilt angle when resting in the stack.
scrollSensitivitynumber0.04How heavily the scroll wheel affects movement.
lerpFactornumber0.08How buttery smooth the momentum is (0.01 to 1).
parallaxIntensitynumber0.1Intensity of the internal texture slide.
chromaticAberrationIntensitynumber0.005Intensity of the kinetic color split on scroll.
dimmingMultipliernumber0.6How much the cards darken as they move to the back.
cornerRadiusnumber0.04SDF corner radius (0.0 to 0.5).