aboutsummaryrefslogtreecommitdiff
path: root/ride/climb_test.go
Commit message (Collapse)AuthorAge
* Describe test rides as plain strings with a ridetest DSLMartin Kagamino Lehoux2026-08-25
| | | | | | | | Add internal/ridetest parsing "2km at 7% | 1km at -7%" sections into a ride.Ride, with Sampling, StartCoord, StartTime and StartElevation options, plus per-section hr/cad/w metrics. Replace the package-private RideBuilder in climb/difficulty tests and export FromColumnsWithMetrics so metric columns can be built outside the ride package.
* Suppress overlapping detected climbs when official claims are unsortedMartin Kagamino Lehoux2026-08-23
|
* Require a 3.5% minimum slope on detected climbs, re-segmenting gentler stretchesMartin Kagamino Lehoux2026-08-21
| | | | | | | | | | | | | | A detected climb must now average at least 3.5% slope with re-segmentation: gentle drags are split into their qualifying steeper parts instead of being reported wholesale or dropped. Qualifying climbs keep their previous boundaries exactly; only regions whose classic best climb averages below the threshold get re-segmented (full-scan for the best qualifying sub-segment, found=false when none exists). QA: A/B across data/rides (362 rides) went from 137 to 133 climbs, 23 rides changed; the 7 fully-dropped rides were audited to contain zero qualifying sub-segments. Example-ride tests updated for the new behavior; the resolved "minimum slope" TODO was removed.
* feat: bound climb detection by matched official climbsMartin Kagamino Lehoux2026-08-21
| | | | | | | | | | | | | | | Detected climbs no longer absorb an official climb's range: official climbs matched to the route by coordinates claim their stored start/end range, and climb detection now runs only in the free regions around them. On ride 263 a single absorbed Cat 2 ascent is split so creating a first-half official climb lets the second half be detected on its own. - ride: add Range, freeRegions, and DetectClimbs(claimed); exclude claimed ranges so a climb never overlaps one - official_climb: MatchClimb now bounds-matches purely by coordinates without needing a detected climb; extract geo.Nearest shared helper - rideanalysis: Analyze builds claimed climbs from matched official climbs and detects only in free regions; render official vs unmatched climbs separately
* fix(web): use Cotacol for climb difficultyMartin Kagamino Lehoux2026-08-16
|
* refactor: Store rides in columnsMartin Kagamino Lehoux2026-08-07
|
* Cleanup parsingMartin Kagamino Lehoux2025-04-21
|
* Add more data in climb & pointMartin Kagamino Lehoux2025-04-21
|
* Add some more testsMartin Kagamino Lehoux2025-04-20
|
* chore: Add test & cleanup logsMartin Kagamino Lehoux2024-12-30
|
* fix: Remove too short outliersMartin Kagamino Lehoux2024-08-07
|
* fix: One more iteration to find the best climbMartin Kagamino Lehoux2024-07-28
|
* test: Add failing test for climb inside long false flatMartin Kagamino Lehoux2024-07-28
|
* fix: Fix climb finder when climb is not highestMartin Kagamino Lehoux2024-07-28
|
* test: Add some test to fix behaviorMartin Kagamino Lehoux2024-07-28