baldav/frontend/js
4aiman 9f8ab0eeb1 GPS model: accel-based Crr scale, auto walk-the-bike split; document climb/elevation limits
Acted on docs/gps-model-findings.md (independent analysis of 156 rides).

Implemented:
- crrFromAccel extended past the old 0.008 ceiling: 7-11 -> 0.008,
  11-15 -> 0.012 (packed dirt), >15 -> 0.020 (grass/rut/gravel). Rough
  surfaces were undercounted ~3x. Applied to session median and per-point Crr.
- Auto walk-the-bike detection (single-speed only, gear_count 1/unset):
  a normal-fix segment slower than the 30-rpm-cadence speed is the rider
  pushing, not riding. Excluded from ride distance/speed/elevation (elevRef
  reset so a pushed climb doesn't merge with the ridden one); effort counted
  as walking, not bike physics. Every sub-threshold point excluded regardless
  of duration; only runs >=30s reported as walked (walkBikeSec/walkBikeMeters).
  gearCount threaded through every computeStats/finish caller.

Documented as known limitations (left as-is by decision, need calibration/DEM):
- kcal max(physics, MET) never sums the biological overhead, so climbs are
  slightly undercounted (comment + README + PROJECT_MAP).
- absolute elevation gain is bounded by the raw GPS altimeter (tens of
  percent; needs a terrain model / wired DEM preload).
2026-09-07 15:50:19 +03:00
..
bmr.js Sensors, walk limits, GPS fixes, water UI, manual routes, Gridnev products, OTA router 2026-06-18 22:54:45 +03:00
chzn.js ЧЗ scanner: switch decoder to zxing-wasm (ZXing-C++) for reliable DataMatrix 2026-08-27 09:42:05 +03:00
db.js GPS stats: exclude manual pauses; reject unrealistic altitude steps 2026-09-07 13:53:40 +03:00
gps.js GPS model: accel-based Crr scale, auto walk-the-bike split; document climb/elevation limits 2026-09-07 15:50:19 +03:00
main.js GPS model: accel-based Crr scale, auto walk-the-bike split; document climb/elevation limits 2026-09-07 15:50:19 +03:00
tilecache.js Tile import, road map, orientation lock, CSP fix, tile error handling 2026-06-26 16:41:14 +03:00