crucıble

Cascade

Digital code rain: monospace glyph columns fall with bright white-hot heads and exponentially-fading cyan-steel trails, glyphs scrambling as the light passes, layered by depth. Pale-phosphor default (classic green is a preset). Canvas 2D, seeded, offscreen-paused, reduced-motion-safe.

canvasfree

Installation

CLI

npx shadcn@latest add @crucible/cascade

Props

PropTypeDefaultDescription
colors[string, string]["#eafffb", "#38c7d6"]Two tones [head, trail]. head is the bright leading glyph, trail is the color the exponential tail fades toward. Defaults to pale phosphor: near-white heads melting into a cool cyan-steel trail. For the classic green rain pass ["#d6ffe0", "#22c55e"].
speednumber1Fall-speed multiplier. 1 = default, 2 = twice as fast.
intensitynumber1Overall glyph brightness / bloom, 0–2.
fontSizenumber16Glyph size in CSS px — also the column width. Clamped 8–48.
dprnumber2devicePixelRatio ceiling (text-heavy, so kept modest). Clamped 1–2.
pausedbooleanfalseFreeze the rain at a static, legible frame.
Also accepts all props of React.ComponentPropsWithoutRef<"div">they pass through to the underlying element.

Honors prefers-reduced-motion with a designed static fallback, pauses offscreen and on hidden tabs, and passes className through.