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

A galaxy marched as gas and dust inside the ball

Installation

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

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 turn0 – 30.010.06
churnGas churn0 – 50.020.25
beatCore beat0 – 120.050.8
twinkleTwinkle rate0 – 120.051.2
camDistCamera distance1 – 500.37
focalLens0.15 – 150.052.25
envRadiusEnvelope radius0.15 – 150.12.6
tiltTilt (0 edge-on)0 – 1.50.010.85
armsArm count1 – 612
windArm winding0 – 80.053.4
raggedArm fray0 – 120.053
armSharpArm sharpness0.3 – 80.052.2
falloffDisc falloff0.3 – 120.051.7
thickDisc thickness0.01 – 10.0050.035
bulgeCore tightness2 – 200140
coreCore density0 – 200.15
turbScaleTurbulence scale0.5 – 300.19
thresholdClumping0 – 10.010.35
densityGas density0.1 – 400.114
absorbDust absorption0 – 200.13.5
starsStars0 – 100.051.2
starDensityStar density0 – 10.010.5
starScaleStar scale5 – 200148
hueReachHue reach0.15 – 1.50.010.6
pulseBeat depth0 – 30.010.2
breatheDisc breathing0 – 20.010
exposureExposure0.05 – 500.051.1
contrastContrast0.15 – 60.051.15
saturationSaturation0 – 40.021.35
alphaGainAlpha gain0.05 – 150.12
fillNight fill0 – 10.010.85
rimRim light0 – 30.0150.35
edgeEdge sharpness0 – 10.011
edgeFadeHalo falloff0.1 – 30.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

Based on original work by XorDev.