KQ-031 · ZOETROPE

Zoetrope

Spin the drum; every frame finds its detent — panels ride the inside of a cylinder with drag inertia, wheel steps, and angular-distance dimming.

KQ-031 · ZOETROPE
KQ-031
ZoetropeSTEP 45° · R 222
Zoetrope

Drag · scroll · arrow keys

FRONT · KQ-031

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/zoetrope

Props

PropTypeDefaultDescription
childrenReactNodeEach direct child becomes a drum face (capped at twelve).
index / defaultIndex / onIndexChangenumber / number / (index) => voidControlled or uncontrolled front panel; fires on every settled detent.
itemWidth / itemHeight / perspectivenumber160 / 200 / 1000Panel geometry; the ring radius derives from width and count.
sensitivitynumber0.35Drag ratio in degrees per pixel.
getLabel(index) => stringNames panels for the live announcer.