aboutsummaryrefslogtreecommitdiff
path: root/ride/moving_time.go
Commit message (Collapse)AuthorAge
* Extract climb detection into a dedicated climb packageMartin Kagamino Lehoux2026-08-27
| | | | | | | | | | | | | | | | | | | Move climb detection, slope, and Cotacol scoring out of ride into a new climb package that operates on a geometry-only Route (distances, elevations, coords). Ride embeds climb.Route and keeps its timing and telemetry columns. - climb.Detect returns []DetectedClimb (Climb + ride-absolute Start). - Climb owns its sliced geometry; indices are local, with Start reported at the detection boundary for absolute position. - Detected bounds use core.Interval; freeRegions claim suppression fixed. - ride no longer builds slices: ClimbFromDist/ClimbFromIndexes/climbFrom and ride.Climb/Interval/Range are removed; rideanalysis, mountain_pass MatchClimb, and web views are rewired to climb types. - New internal/routetest builds climb.Route from the ride DSL; ridetest reuses it and adds timestamps and telemetry. - Tests moved to climb (synthetic detection and difficulty) and kept in ride for GPX-example integration; ride.comparison detection coverage retained. - mountain_pass.nearestCrossing now reuses geo.Nearest.
* Expose ride data as components and make algorithms consume only the slices ↵Martin Kagamino Lehoux2026-08-25
| | | | | | | | | | | they read Ride now exposes its columns as component getters (Distances, Elevations, Coords, Timestamps, and the optional Powers, Cadences, HeartRates) with the coords field unexported. difficultyScore, movingTime, Slope and the climb detection internals are pure functions over the specific slices they use, and Climb carries only the component slices it needs instead of a whole Ride.
* chore(bench): exclude rides with low moving time ratioMartin Kagamino Lehoux2026-08-20
|
* chore(bench): exclude rides under 10 kmMartin Kagamino Lehoux2026-08-20
|
* chore(bench): exclude short ridesMartin Kagamino Lehoux2026-08-20
|
* fix(ride): use effort metrics for moving timeMartin Kagamino Lehoux2026-08-20
|
* fix(ride): improve moving time against StravaMartin Kagamino Lehoux2026-08-20
|
* feat(ride): compute moving time from GPX with backtestMartin Kagamino Lehoux2026-08-20
Add ride.MovingTime, a speed-threshold algorithm over track timestamps. Add a -backtest CLI command comparing computed values against Strava's reference across all stored rides, with a percentile distribution summary. Baseline: mean err 3.9%, p50 1.6, p75 4.6, p90 8.4, p95 12.1, p99 44.9.