PRO

Carousel Disc Scroll

A hundred and fifty thumbnails arranged around a single disc tilted fifty five degrees away from you and turned a full revolution as you scroll. Every tile is rotated about a transform origin four hundred pixels below itself, so one CSS property places it on the circle without any trigonometry: the ring is the origin offset, not computed coordinates. Pointer position tilts the whole disc a couple of degrees on both axes, and hovering a tile lifts it ten pixels out of the plane and pushes its image into the fixed preview frame at the centre. GSAP ScrollTrigger with a scrub of two.

Component

Interface studies

aryank.space

Install
npx shadcn@latest add https://ui.aryank.space/r/carousel-disc-scroll.json

Installs from ui.aryank.space. To add it by hand, copy the files in Usage below, or register the @compronents namespace via the docs.

Files

API
PropTypeDefaultDescription
images / itemCountstring[] / number15 BLANK images / 150Images are cycled to fill itemCount tiles, so the two are independent.
embeddedbooleantrueOwn the scroll container. Set false to drive it from the window scroll.
Customize
itemCounttext

Tiles placed around the disc.

navLefttext

Top left label.

Dependencies
gsap