oxyn

Dot Swarm: a loader for parallel tool calls

Several waves travel down a dot sphere at once. A React loader for parallel tool calls and subagents running together. Install with shadcn.

Installation

Install with the shadcn CLI, or copy the component file. It only needs React.

npx shadcn@latest add https://oxyn.space/r/dot-swarm.json

Usage

Updates live with the parameters you set.

import { DotSwarm } from "@/components/dot-swarm";

export function Thinking() {
  return (
    <DotSwarm />
  );
}

Props

PropTypeDefaultDescription
pattern"rings"|"fibonacci"|"grid""rings"How the dots are laid out on the sphere.
dotSizenumber3Diameter of the front dots in px. Back dots scale down automatically.
densitynumber12Rows of dots. Higher means more dots.
sizenumber160Width and height of the orb in px.
wavesnumber2Waves travelling down the orb at once: one per call running in parallel.
liftnumber0.16How far every other wave pushes the dots outward, as a fraction of the orb's radius.
depthnumber0.2How far the remaining waves pull the dots in toward the vertical axis, as a fraction of the orb's radius.
durationnumber2Seconds for each wave to travel from the top pole to the bottom one.
tiltnumber18Lean toward the viewer in degrees, so the top shows.
backOpacitynumber0.2Opacity of the furthest dots. Front dots are always fully opaque.
colorstring"#e4e4e7"Dot color.
pausedbooleanfalseCoast to a stop on the current frame without unmounting. Turning it off eases back up to speed.
labelstring"Thinking"Accessible name; the wrapper is role="status".
className / style——Spread onto the wrapper div, along with any other div props.

Switch states

Dot Swarm is one of the animations in Dot Globe. Use the group when the agent's state changes, and it morphs between them.

More states

Also for this state