oxyn

Dot Globe: every dot-sphere state in one loader

Ten dot-sphere animations in one React component. Switch the animation prop as your AI agent moves between reading, searching and more.

Installation

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

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

Usage

Updates live with the parameters you set.

import { DotGlobe } from "@/components/dot-globe";

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

Props

For the selected animation. Switch it to see the props each one takes.

PropTypeDefaultDescription
animation"spin"|"cascade"|"lift"|"tide"|"twist"|"scan"|"rise"|"sweep"|"compact"|"swarm""spin"Which animation runs. Changing it blends from the old animation to the new one; every other prop keeps its value.
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.
durationnumber1Seconds for one full 360° turn.
gapnumber0.4Seconds to rest between turns. 0 spins continuously; above 0 each turn eases in and out.
direction"left"|"right""left"Spin direction around the vertical axis.
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.

Single loaders

Each animation also ships on its own, for a spot that only ever shows one state.