Skip to content
DocsChartsCase strip dumbbellLast updated Nov 2, 2026

Case strip dumbbell

Where the new version fixed or broke cases. Sample data: eight areas, v13 production against v14 candidate, tool choice +12.5 pt, tone −8.3 pt.

Eval score per suite, v13 to v14Eval score of 8 suites in v13 production and the v14 candidate against a 98% target: 5 cases fixed, 2 regressed and 2 still failing; Tone drops from 100% to 91.7%.TOOL CHOICEESCALATIONAMOUNT MATHPOLICYIDENTITYLANGUAGESUMMARIESTONE85%90%95%100%+12.5 pt+5.6 pt+4.5 ptno changeno changeno changeno change−8.3 ptV13 PRODUCTIONV14 CANDIDATEFIXEDREGRESSEDSTILL FAILING
Eval score per suite, v13 to v14
Suitev13v14FixedRegressedStill failing
TOOL CHOICE87.5%100%300
ESCALATION94.4%100%100
AMOUNT MATH95.5%100%100
POLICY96.2%96.2%001
IDENTITY100%100%000
LANGUAGE100%100%000
SUMMARIES94.4%94.4%001
TONE100%91.7%020
Eval score per suite, v13 to v14Eval score of 8 suites in v13 production and the v14 candidate against a 98% target: 5 cases fixed, 2 regressed and 2 still failing; Tone drops from 100% to 91.7%.TOOL CHOICEESCALATIONAMOUNT MATHPOLICYIDENTITYLANGUAGESUMMARIESTONE85%100%+12.5 pt+5.6 pt+4.5 ptno changeno changeno changeno change−8.3 ptV13 PRODUCTIONV14 CANDIDATEFIXEDREGRESSEDSTILL FAILING
Eval score per suite, v13 to v14
Suitev13v14FixedRegressedStill failing
TOOL CHOICE87.5%100%300
ESCALATION94.4%100%100
AMOUNT MATH95.5%100%100
POLICY96.2%96.2%001
IDENTITY100%100%000
LANGUAGE100%100%000
SUMMARIES94.4%94.4%001
TONE100%91.7%020

Installation

  1. 1

    Set up the registry once

    Your token in .env and @chartory in components.json. Skip this when another chart is already installed.

    Installation guide
  2. 2

    Add the chart

    One command adds the Case strip dumbbell component to your project.

    npx shadcn add @chartory/case-strip-dumbbell
  3. 3

    Use it

    Pass your rows. The props are the Figma properties.

    usage.tsx
    import { CaseStripDumbbell }  from "@/components/chartory/case-strip-dumbbell"<CaseStripDumbbell  data={versionCases}  size="m"  legend/>

Props

<CaseStripDumbbell>

Every prop but data is a Figma property with the same name and values.

PropTypeDefault
data: The chart's data. The tables below list every field.CaseStripDumbbellDataRequired
size: The size class. Each one is laid out again from the data."xs" | "s" | "m" | "l""m"
legend: Shows the legend row under the plot.booleantrue
color: The data colour of the primary marks (data/primary)."cat-1" | "cat-2" | "cat-3" | "cat-4""cat-1"

CaseStripDumbbellData

The data prop: one object for the whole chart.

PropTypeDefault
min: The bottom of the value scale.numberRequired
max: The top of the value scale.numberRequired
target: The target value.numberRequired
ticks: The axis ticks: [value, label] pairs.[number, string][]Required
rows: One entry per row.CaseStripDumbbellRow[]Required

CaseStripDumbbellRow

One object per entry in rows.

PropTypeDefault
label: The name shown on the chart.stringRequired
a: The value before.numberRequired
b: The value after.numberRequired
fixed: The fixed count.numberRequired
regressed: The regressed count.numberRequired
still: The count still failing.numberRequired
sel?: Marks the row as selected.booleanfalse

The data as a JSON Schema: schemas/case-strip-dumbbell.json

Case strip dumbbell: a React and Figma chart in four sizes

What does a case strip dumbbell show?

A case strip dumbbell compares production and a candidate area by area, with the change written next to each. Fixed, regressed and still-failing cases take their own colours. Use it to review a prompt or model change before release.

Chartory ships it as a Figma component and a React component with the same name. The code installs from the shadcn registry with one command and lands in your project as a file you own.

What is the Case strip dumbbell component?

It is one <CaseStripDumbbell> component. Its props are the Figma properties with the same names and values, and the props table above lists them. The data is two scores per area, case outcomes.

Sizes XS, S, M and L re-lay the chart out from the data instead of scaling it, so labels stay readable at every size.

When should I use it?

  • Are two versions compared? Yes means the case strip dumbbell fits.
  • Is it per area? Yes means the case strip dumbbell fits.
  • Do individual cases matter? Yes means the case strip dumbbell fits.

When does another type fit better?

  • Many versions in order. Use Version ribbon instead.
  • One pass rate per suite. Use Eval suite bars instead.
  • Just two values per item. Use Dumbbell instead.

Case strip dumbbell questions

Installing, data, Figma and plans.

  • Yes. It installs through the shadcn registry with the shadcn CLI, and the file lands in your project.

Stay in the loop

New charts, by email.

Get an email when new chart types and releases ship.

Unsubscribe any time.