Add route heat colouring and detailed running analytics

This commit is contained in:
Peter Stockings
2026-10-01 18:43:33 +10:00
parent e37569ad09
commit 24c7fc2c6a
11 changed files with 526 additions and 31 deletions
+21
View File
@@ -39,3 +39,24 @@ Updated: 2026-10-01
5. Deletion/export controls, pagination at larger activity counts and moderation.
Current local development choices are not a claim of production readiness.
## Rich activity analysis — 1 October 2026
Activity pages now include speed/heart-rate/gradient route colouring with a relative
10th–90th percentile legend, travel arrows, start/finish markers, and chart-hover
route location. Six charts cover pace/GAP, HR, elevation/grade, cadence/step length,
power, and vertical oscillation/ground contact. Recorded energy, aerobic training
effect and ascent/descent accompany terrain summaries and lap GAP.
GAP uses the Minetti (2002) running energy-cost polynomial
(https://doi.org/10.1152/japplphysiol.01177.2001), five-sample median elevation,
and approximately 60 m grade windows. It integrates time over equivalent flat
distance; missing data, gaps over 10 seconds and slopes outside ±30% are excluded.
It is explicitly a model estimate, not Garmin/Strava GAP. No invented HR correction:
terrain summaries show measured, time-weighted HR and explain its response lag.
Migration bdbac89195a7 adds recorded session metrics. All 18 local cached activities
were refreshed without changing their titles or sharing choices. Future FIT imports
retain timestamps, cadence, power and running dynamics. Refreshing existing cached
imports is available through import_cache(..., refresh=True).