HextorUI
lib

Skill Radar sample data

Opt-in fixtures for previewing and testing the radar — one fully-scored set, one with a withheld axis.

npx shadcn@latest add @hextor/skill-fixtures

Source

import type { AxisScore } from "@/registry/hextor/lib/axes";

/**
 * Sample data for docs previews and tests only — never a `registryDependency`
 * of `skill-radar`. A real consumer's scores come from their own submission
 * pipeline; shipping this into every install would be dead weight they never
 * asked for, so it stays opt-in.
 */

/** All five axes scored — the polygon renders in full, no dashed spokes. */
export const fullyScored: AxisScore[] = [
  { axis: "correctness", points: 36, max: 40 },
  { axis: "test_quality", points: 19, max: 25 },
  { axis: "complexity", points: 12, max: 15 },
  { axis: "performance", points: 11, max: 15 },
  { axis: "code_quality", points: 4, max: 5 },
];

/**
 * Performance withheld — e.g. the submission ran on a dev-grade node, so a
 * timing comparison against the reference hardware would be dishonest.
 * Demonstrates the dashed-spoke / em-dash path: this axis is excluded from
 * the polygon, not plotted at zero.
 */
export const withWithheldAxis: AxisScore[] = [
  { axis: "correctness", points: 32, max: 40 },
  { axis: "test_quality", points: 15, max: 25 },
  { axis: "complexity", points: 9, max: 15 },
  {
    axis: "performance",
    points: 0,
    max: 15,
    withheld: true,
    withheldReason: "รันบนเครื่อง dev-grade เทียบกับสเปคอ้างอิงไม่ได้",
  },
  { axis: "code_quality", points: 3, max: 5 },
];

Docs

Deliberately a separate item, and deliberately never a registryDependency of any block: sample data should arrive because you asked for it, not because you installed a chart.

Dependencies

@hextor/axes