For the complete documentation index, see llms.txt. Markdown variants are available by appending .md to any URL or sending an Accept: text/markdown header. An agent skill is available at /.well-known/agent-skills/site-skill.md.
/
163
Sponsor

ORB-28

Nested binary grids shuttering on a tumbling bit-sphere

Installation

$ pnpm dlx shadcn@latest add @shadercn/orb-28

Usage

import { Orb28 } from "@/components/orbs/orb-28";
<Orb28 size={280} state="idle" />

Props

Component Props

PropTypeDefaultDescription
state"idle" | "thinking" | "speaking""idle"Drive preset the orb eases toward
sizenumber280Rendered size in CSS pixels
paramsPartial<Record<string, number>>-Shader param overrides, see Shader Props
colorsPartial<Record<string, string>>-Shader colour overrides as hex strings
statePresetsPartial<Record<OrbState, Record<string, number>>>-Replace the built-in per-state param presets
stateColorsPartial<Record<OrbState, Record<string, string>>>-Replace the built-in per-state colours
stateVolumesPartial<Record<OrbState, { input?: number; output?: number }>>-Pin the drive volumes a state settles on
volumes{ input?: number; output?: number }-Drive the orb directly, bypassing synthesis
pausedbooleanfalseFreeze the frame loop
pauseOffscreenbooleantrueStop rendering while scrolled out of view
maxDprnumber2Upper bound on the device pixel ratio
classNamestring-Class on the wrapper element
styleCSSProperties-Inline style on the wrapper element
ariaLabelstring-Accessible name for the canvas

Shader Props

Pass any of these through params; each is a single f32 uniform read by the shader.

ParamLabelRangeStepDefault
speedShutter drift0.015 – 100.050.5
spinTumble rate0 – 50.030.15
tiltTumble tilt0 – 40.020.5
radiusRadius0.1 – 30.0150.9
gridScaleGrid scale0.5 – 200.12
levelsBit depth4 – 20112
lineWLine width0.5 – 150.12
shutterShutter0 – 40.021
gainLine gain0.05 – 100.051
bodyBody glow0 – 50.031
rimRim light0 – 50.030.6
rimPowRim tightness0.3 – 200.13
contrastContrast0.15 – 100.051
edgeEdge sharpness0 – 10.011
edgeFadeHalo falloff0.1 – 30.0150.98

Colours are passed through colors as hex strings.

ColourLabelDefault
lineAX lines#ff5a4d
lineBY lines#59d8ff
baseBody#101528
rimRim#bcd8ff

Credits

Based on original work by XorDev.