);
}
export interface EfficiencySectionProps {
models: ModelRow[];
/** Name of the dataset the comparison is scoped to (e.g. "ViMedCSS"). */
datasetName?: string;
}
export default function EfficiencySection({
models,
datasetName = "ViMedCSS",
}: EfficiencySectionProps) {
const data: EffDatum[] = models.flatMap((m) => {
const s = m.metrics?.test;
if (typeof s?.rtfx !== "number" || typeof s?.wer !== "number") return [];
return [{ rtfx: s.rtfx, wer: s.wer, paramsB: m.paramsB ?? 0.1, model: m }];
});
const running = models.filter((m) => m.provenance === "running");
/* a sparse plot reads as broken unless the gap is named: when most
systems are unmeasured, say so inside the plot itself */
const unmeasured = models.length - data.length;
const sparse = data.length > 0 && unmeasured > models.length / 2;
return (
{data.length > 0 ? (
{sparse && (
{data.length} of {models.length} systems measured — RTFx only
ships with platform-verified runs; the rest of this plane is
the evidence gap, not the field.
)}
RTFx = audio seconds ÷ wall seconds, measured on platform
hardware. Bubble area scales with parameter count. {datasetName}{" "}
test split · normalizer v0.1.
) : (
/* slim status banner — the tall canvas is reserved for real data */
AWAITING PILOT DATA — RTFX REQUIRES A PLATFORM-VERIFIED RUN