An infinite carousel of images staggered along a spiraling tube that scrolls indefinitely.
Unlock component
One license unlocks every pro feature for life, including the ones we haven't built yet.
Already have an account? Sign in
| Name | Type | Default | Description |
|---|---|---|---|
items | SpiralGalleryItem[] | - | The images to show, each one as { src, alt }. |
radius | number | 4.5 | Radius of the tube the images travel around, in world units. |
tileHeight | number | 2.2 | Height of each image, in world units. |
tileAspect | number | 1.5 | Width-to-height ratio of each image. Images are cropped to fit. |
count | number | 20 | Number of images on screen at once. Items repeat if there are fewer. |
verticalSpacing | number | 0.55 | Vertical distance between one image and the next. |
turnAngle | number | 46 | Angle between one image and the next around the tube, in degrees. |
tileRotation | number | 1 | How much each image rotates on its own vertical axis as it orbits. 1 keeps images flat against the tube, 0 faces them all the same way. |
cornerRadius | number | 0.05 | Corner rounding of each image, in world units. |
curve | number | 0.1 | How much each image bends inward across its width. |
autoScroll | number | 0.1 | Speed the carousel scrolls on its own, with no input. |
easing | number | 0.1 | How long the scroll takes to settle, in seconds. Higher is slower. |
scrollSpread | number | 0.3 | Extra angle added between images while scrolling. 0 keeps the spacing fixed. |
scrollGrowth | number | 0.45 | How much the radius and vertical spacing grow while scrolling. |
dispersion | number | 1 | Amount of RGB color split applied to images while scrolling. |