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

a thermal image, risograph-printed on the ball

Installation

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

Usage

import { Orb33 } from "@/components/orbs/orb-33";
<Orb33 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
speedDrift0.015100.050.5
spinRoll050.030.05
radiusRadius0.1530.0150.9
scaleZoom0.380.053
freqPool scale0.260.051.4
warpWarp030.020.6
loCold threshold010.0050.42
hiHot threshold010.0050.74
gainHeat gain0.160.021
jitterHeat jitter00.50.0050.015
bandsContour bands22417
bandingContour strength010.010.85
contrastContrast0.330.021
ditherDither00.60.0050.05
dotsScreen pitch4120146
dotGainDot gain0.220.011
dotSoftDot softness0.010.30.0050.12
misregisterMisregistration030.020.5
inkInk density010.010.92
printMixPrint mix010.010.28
grainPaper grain020.010.35
grainSizeGrain size1812
lightKey light010.010.25
rimRim light030.0150.25

Colours are passed through colors as hex strings.

ColourLabelDefault
coldCold#0b0a1e
coolCool#3b2a9a
warmWarm#f05a28
hotHot#f6b53a
coreCore#fff1e6
paperPaper#f4ecdf

Credits

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