From e3d0beee5be3dd2854b0f4fc10905a4fcdc08f47 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Sun, 13 Sep 2026 21:55:59 +0200 Subject: Persist official climb attempts with climbs pages Record one attempt row per (ride, climb, occurrence) when a ride detail loads, snapshotting distance, elevation gain, slope, cotacol and attempt timestamps; a climbs-backfill CLI command seeds all existing rides. New /climbs list page aggregates attempts (medians computed in Go, best time as min duration) with sortable columns, and /climbs/{id} shows the median scalar stats, a median normalized elevation profile (50 steps over each attempt's own length), the full-precision recorded route of the median-distance attempt on an OSM map, and every attempt with time at second precision. --- main.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'main.go') diff --git a/main.go b/main.go index 93bfcd6..8befddc 100644 --- a/main.go +++ b/main.go @@ -56,6 +56,8 @@ func runCommand(db *sql.DB, configPath string, appConfig config.Config, args []s mountain_pass.ExtractOSM(db, args[1]) case "backfill": ride.BackfillCmd(db) + case "climbs-backfill": + web.BackfillOfficialClimbAttemptsCmd(db, configPath) case "backtest": ride.BacktestCmd(db) case "elevation": @@ -88,6 +90,7 @@ Commands: fetch-osm download the France OSM PBF into france-latest.osm.pbf extract-osm extract mountain passes from an OSM PBF file backfill recompute all stored ride values + climbs-backfill record official climb attempts for every stored ride backtest run data benchmarks comparing computed values against stored reference values elevation analyse detect elevation outliers (tunnel spikes) elevation fix linearly fix elevation between anchors -- cgit v1.3