Orbkit — shader orbs you own

Orbkit is a React component library of WebGL shader orbs — expressive, state-driven orbs you install via the shadcn registry and own as local code.

What you get

Each orb is a fragment shader rendered into a transparent canvas by a small dependency-free WebGL runtime. There is no three.js, no scene graph, and no npm package to depend on — you install the source into your project and edit it like any other component.

  • Two files per install: the shared runtime and the orb itself.
  • Zero runtime dependencies. The orb renders on a canvas and needs no CSS beyond your own layout.
  • Every shader uniform is a documented, range-checked parameter you can tune in the playground.

Install

Add an orb through the shadcn CLI. The shared runtime comes along automatically.

npx shadcn@latest add @orbkit/shdr-01

Or install every orb at once:

npx shadcn@latest add @orbkit/all

Agent states

Orbs are built for voice and agent UIs, so they take a state rather than a pile of animation props. Each state synthesizes two volume signals — input (user speech energy) and output (agent speech energy) — which the shader reads as uniforms.

  • idle — calm, slow drift.
  • thinking — restless motion with a slow wander.
  • speaking — fast, bright, strongly precessing.

Params glide between states rather than snapping, and rate params are integrated into a clock, so a state change never jumps the animation phase.

Requirements

React 18 or later and a browser with WebGL 1. The runtime is a client component ("use client") and renders nothing on the server. It respects prefers-reduced-motion by drawing a single static frame, and pauses itself when scrolled out of view.