diff --git a/BACKLOG.md b/BACKLOG.md index 40836b9..9d44cf6 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -68,7 +68,7 @@ If any seat would be confused, the component fails. ### Spec detail (`/problems/:roundId/:specId`) - Spec header + plain-English summary — ● ● ● — sentence above diagram ties material+load+arm+MPa together; chips on H1 row carry tooltips. (step 344, `735dbec`) -- Spec spec-card (material / load / wall / overhang / score) — ◐ ◐ ○ — units (N vs kg) repeated; "SF 1.5×" cryptic. +- Spec spec-card (material / load / wall / overhang / score) — ● ● ● — Load chip now reads `15 kg (149 N) load` with cross-unit inline (was `15 kg load`); chip tooltip explains "149 N is the force the FEA solver applies; 15 kg is the everyday equivalent" so a first-timer reading the chip AND the SpecDiagram's `↓ 149N` label sees the units agree instead of wondering "wait, is it 15 or 149?". `SF 1.5×` → `Safety factor 1.5×` per step 280 spell-out pattern (no abbreviations on first-contact UI); tooltip now resolves the multiplier to the concrete `27 MPa` allowable for this material. Plain-English paragraph also gains `(149 N)` after `15 kg` so the cross-unit reads identically in prose. (`HeroStats.tsx` L168-182, L203-209, step 381) - `SpecDiagram` (front view + side view miniature) — ○ ○ ○ — too small; load arrow direction not labeled. - 4 KPI tiles (best mass / vs reference / stress margin / passing entries) — ● ● ● — clean. - "Maintainer reference still leads" banner — ● ● ● — banner now front-loads the category direction sentence ("Lower mass wins this category" / "Higher stiffness wins this category" / "Lower deflection wins this category") before the gap %, and uses metric-specific gap verbs ("is 5.2% heavier than the reference at 263.20 g" / "still falls X% short of the reference at Y N/(mm·g)" / "deflects X% more than the reference at Y mm"). Bar-to-beat is inline with the percentage so a first-timer reads direction → gap → concrete target in one pass. (`HeroStats.tsx` L281–319, step 352) diff --git a/src/components/HeroStats.tsx b/src/components/HeroStats.tsx index caa8c23..53f9863 100644 --- a/src/components/HeroStats.tsx +++ b/src/components/HeroStats.tsx @@ -166,14 +166,14 @@ export function HeroStats({ spec, sota, submissionCount, round }: Props) { {MATERIAL_META[spec.material]?.label ?? spec.material.toUpperCase().replace(/_/g, " ")} - {loadKg} kg load + {loadKg} kg ({spec.constraints.load_newtons.toFixed(0)} N) load - SF {spec.constraints.safety_factor}× + Safety factor {spec.constraints.safety_factor}× In plain English:{" "} a {materialLabel} bracket bolted to a wall must hold{" "} - {loadKg} kg pulling{" "} + {loadKg} kg{" "} + ({spec.constraints.load_newtons.toFixed(0)} N) pulling{" "} straight down at the tip of a{" "} {armMm} mm cantilever arm, without exceeding{" "} {allowable.toFixed(0)} MPa peak stress (safety factor{" "}