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.
/
0
Sponsor

ORB-28

nested binary grids shuttering on a tumbling bit-sphere

Installation

$ pnpm dlx shadcn@latest add https://shadercn.vercel.app/r/orb-28.json

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.015100.050.5
spinTumble rate050.030.15
tiltTumble tilt040.020.5
radiusRadius0.130.0150.9
gridScaleGrid scale0.5200.12
levelsBit depth420112
lineWLine width0.5150.12
shutterShutter040.021
gainLine gain0.05100.051
bodyBody glow050.031
rimRim light050.030.6
rimPowRim tightness0.3200.13
contrastContrast0.15100.051
edgeEdge sharpness010.011
edgeFadeHalo falloff0.130.0150.98

Colours are passed through colors as hex strings.

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

Credits

Shader by XorDev, ported from orbkit (WebGL/GLSL) to WebGPU/WGSL.