crucıble

Slipstream

A spring-smoothed cursor follower: a soft bead of light that stretches into a teardrop at speed, brightening to white in motion and settling neutral at rest. Scoped to its container by default, opt into page-wide with `global`, auto-disabled on coarse pointers, and scales up over [data-cursor-target] elements.

motionfree

Installation

CLI

npx shadcn@latest add @crucible/slipstream

Manual — install dependencies, then copy the source

npm install motion

Props

PropTypeDefaultDescription
classNamestring
sizenumber26Resting diameter of the follower bead in px.
targetScalenumber2.2Scale multiplier while hovering an element carrying data-cursor-target.
colors[string, string][rest, peak] colors — the bead settles to rest and brightens toward peak with speed.
spring{ stiffness?: number; damping?: number; mass?: number }Spring physics for the chase motion.
globalbooleanAttach to the whole viewport instead of the nearest containing element. Off by default — Slipstream is scoped to its parent (place it inside a relative container, like Crucible's backgrounds) so it never hijacks the cursor page-wide unless you explicitly opt in.
hideNativeCursorbooleantrue ("replace" vs. "augment")Hide the native system cursor while active.

Honors prefers-reduced-motion with a designed static fallback, and passes className through.