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

A thermal image, risograph-printed on the ball

Installation

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

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.015 – 100.050.5
spinRoll0 – 50.030.05
radiusRadius0.15 – 30.0150.9
scaleZoom0.3 – 80.053
freqPool scale0.2 – 60.051.4
warpWarp0 – 30.020.6
loCold threshold0 – 10.0050.42
hiHot threshold0 – 10.0050.74
gainHeat gain0.1 – 60.021
jitterHeat jitter0 – 0.50.0050.015
bandsContour bands2 – 2417
bandingContour strength0 – 10.010.85
contrastContrast0.3 – 30.021
ditherDither0 – 0.60.0050.05
dotsScreen pitch4 – 120146
dotGainDot gain0.2 – 20.011
dotSoftDot softness0.01 – 0.30.0050.12
misregisterMisregistration0 – 30.020.5
inkInk density0 – 10.010.92
printMixPrint mix0 – 10.010.28
grainPaper grain0 – 20.010.35
grainSizeGrain size1 – 812
lightKey light0 – 10.010.25
rimRim light0 – 30.0150.25

Colours are passed through colors as hex strings.

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

Credits

Based on original work by XorDev.