Build the Review Queue chart's actual trace from per-second samples, not lap averages

A lap can span many minutes, so plotting one flat value per lap hid real
within-lap variation -- a single-lap hill repeat rendered as a dead-flat
line despite the pace/HR swinging throughout it. The actual pace/HR trace
now comes from activity_samples (per-second telemetry) when available,
looking up each sample's enclosing lap only for the target band/phase
color. Falls back to the previous lap-stepped rendering when an activity
has no samples.
This commit is contained in:
2026-07-19 15:25:48 +02:00
parent 647757dcab
commit 7f0373f2f3
5 changed files with 117 additions and 36 deletions

View File

@@ -132,7 +132,7 @@ export function ReviewQueue() {
</p>
)}
<ExpectedVsActualChart laps={item.laps} />
<ExpectedVsActualChart laps={item.laps} samples={item.samples} />
<div className="review-item-actions">
{manuallyAssignableKinds.map((k) => (