oxyn

Square Plan: a loader for working a plan

A dot grid ticks forward, pauses, and steps on or back. A React loader for an AI agent working through and revising a plan.

Installation

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

npx shadcn@latest add https://oxyn.space/r/square-plan.json

Usage

Updates live with the parameters you set.

import { SquarePlan } from "@/components/square-plan";

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

Props

PropTypeDefaultDescription
dotShape"round"|"square""round"Shape of each dot.
dotSizenumber2.5Resting dot size in px.
scalenumber1.5How many times larger a dot grows at the peak of the animation.
densitynumber11Dots across the width of the sheet.
sizenumber160Width and height of the orb in px.
durationnumber4Seconds the plan would take to tick the whole sheet; each move takes its share of that.
gapnumber0.6Seconds the full sheet holds before it clears.
progressnumber0.6How much of the plan is done, shown as that share of rows ticked. Leave the prop out in code to tick and clear on a loop.
minOpacitynumber0.25Opacity of resting dots. Ticked 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

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

More states

Also for this state