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-32

a galaxy marched as gas and dust inside the ball

Installation

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

Usage

import { Orb32 } from "@/components/orbs/orb-32";
<Orb32 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
spinDisc turn030.010.06
churnGas churn050.020.25
beatCore beat0120.050.8
twinkleTwinkle rate0120.051.2
camDistCamera distance1500.37
focalLens0.15150.052.25
envRadiusEnvelope radius0.15150.12.6
tiltTilt (0 edge-on)01.50.010.85
armsArm count1612
windArm winding080.053.4
raggedArm fray0120.053
armSharpArm sharpness0.380.052.2
falloffDisc falloff0.3120.051.7
thickDisc thickness0.0110.0050.035
bulgeCore tightness2200140
coreCore density0200.15
turbScaleTurbulence scale0.5300.19
thresholdClumping010.010.35
densityGas density0.1400.114
absorbDust absorption0200.13.5
starsStars0100.051.2
starDensityStar density010.010.5
starScaleStar scale5200148
hueReachHue reach0.151.50.010.6
pulseBeat depth030.010.2
breatheDisc breathing020.010
exposureExposure0.05500.051.1
contrastContrast0.1560.051.15
saturationSaturation040.021.35
alphaGainAlpha gain0.05150.12
fillNight fill010.010.85
rimRim light030.0150.35
edgeEdge sharpness010.011
edgeFadeHalo falloff0.130.0150.98

Colours are passed through colors as hex strings.

ColourLabelDefault
tintTint#ffffff
coreCore#fff3d6
innerInner arms#7fb4ff
outerOuter arms#c46bff
deepNight#04050f
rimRim#8fb0ff

Credits

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