Routing Scorecard
ComponentsDiagramsRouting Scorecard
DiagramsNew

Routing Scorecard

An animated request diagram with evaluation scores and an adjustable quality threshold.

USE IT FORAI routing product pagesEvaluation pipelinesDecision and scoring diagrams
React + CSS
Explore the full-width experienceOpen preview
Evaluation routing Sample data
Incoming requests1 input 6 candidates

Route by measured fit

Supplied evaluation scores
  • Atlas0.96, passes the quality threshold, routed to Support triage
  • Cedar0.78, below the quality threshold
  • Prism0.92, passes the quality threshold, routed to Extraction
  • Cinder0.89, passes the quality threshold, routed to Code review
  • Mosaic0.82, below the quality threshold
  • Vector0.91, passes the quality threshold, routed to Agent tasks
0.001.00

4 of 6 routes active

Support triageAtlas
ExtractionPrism
Code reviewCinder
Agent tasksVector
Live component. Go ahead, interact.
01

Installation

Run this in your shadcn-configured React project. The component and stylesheet are added together.

TERMINAL
npx shadcn@latest add http://localhost:5173/r/routing-scorecard.json

This command uses the current site address. For localhost, keep this preview running on the same computer. Files follow your configured components alias.

02

Usage

Import the component and make the details your own.

TypeScript
import { RoutingScorecard } from '@/components/anticraft/RoutingScorecard';

export function Example() {
  return <RoutingScorecard
    inputLabel="Incoming requests"
    defaultThreshold={0.85}
    models={[
      { id: 'atlas', name: 'Atlas', score: 0.96, task: 'Support triage', symbol: '◇', color: '#c4d5ff' },
      { id: 'cedar', name: 'Cedar', score: 0.78, task: 'Classification', symbol: '⌁', color: '#d6d1bf' },
      { id: 'prism', name: 'Prism', score: 0.92, task: 'Extraction', symbol: '✳', color: '#cabaff' },
      { id: 'cinder', name: 'Cinder', score: 0.89, task: 'Code review', symbol: '⌘', color: '#f1d88f' },
    ]}
  />;
}
03

Props

PropTypeDefaultDescription
modelsRoutingScorecardModel[]Six fictional example modelsUnique id, name, score (0–1), task, optional CSS color and short decorative symbol. Scores are supplied data, never fetched or presented as real benchmarks. Nonfinite scores and blank/repeated ids are ignored; finite scores are clamped to 0–1. Empty data shows an empty state.
defaultThresholdnumber0.85Initial minimum score, clamped to 0–1. A native range input adjusts it in 0.01 steps. Models meeting or exceeding the threshold remain active; output labels and stream connections use the same condition.
inputLabelstring'Incoming requests'Label over the incoming ASCII request field.
titlestring'Route by measured fit'Visible scorecard heading and accessible section name.
pausedbooleanfalseExternally stops animation and disables the built-in motion button. Local pause state is preserved when external pause is removed. The quality threshold stays usable.
classNamestring''Additional classes. Customize --ac-routing-background, --ac-routing-foreground and --ac-routing-accent. Below 800px component width, input, scorecard and output labels stack.
04

Motion & accessibility

Considered by default.

Canvas characters flow into the scorecard and along curves toward passing routes. A Pause control freezes the field; reduced motion draws a static frame and removes score entrance animation. Rendering stops while offscreen or in a hidden tab. The native quality slider stays usable in every motion mode, and a live status reports the active route count. All frames, observers and listeners are cleaned up on unmount.

Use semantic content and meaningful labels in your composition. Check contrast and keyboard behavior with your own styles and content.

05

Inspiration

The live evaluation diagram inspired the incoming ASCII plume, scorecard and branching output streams. Anticraft uses original marks, fictional data and an independent canvas implementation, with a working threshold control.

Visit RouterPlus

The linked site is the design or content reference. See the repository for demo artwork credits.