7cd8a6b030
Refactors core VAM logic into _vam_from_ele_1hz() and _build_ele_1hz() so both the DataPoint-based extract path and the timeseries-based backfill path share the same implementation. render --recompute-vam reads stored *.timeseries.json files and updates climbing_vam_mh + vam_curve in activities/*.json and index.json in-place, without re-parsing the original FIT/GPX files.