Add activity type and a click-to-open track profile panel
Track properties gain activity_type (FIT: sport enum from the session/sport message, Garmin's own table; GPX: <trk><type> passed through as-is) alongside the existing distance/elevation/duration. Clicking a track line now opens a bottom panel with a chart per metric the track actually has (elevation always; speed/cadence/heart rate only when present — FIT's record fields or GPX's device extensions). TrackStats.build_profile computes cumulative distance the same way for both formats so they're directly comparable. One pointermove listener drives a synchronized crosshair across every chart, a single tooltip listing all series, and a map marker at the hovered point's position — hovering the chart shows where on the track that moment was.
This commit is contained in:
1 parent
cd4eef342b
commit
105651f005
14 files changed
+655
-42
No files matched your search
Vendored
+13
@@ -8,14 +8,27 @@
|
||||
</wpt>
|
||||
<trk>
|
||||
<name>Morning Loop</name>
|
||||
<type>running</type>
|
||||
<trkseg>
|
||||
<trkpt lat="48.1" lon="17.2">
|
||||
<ele>200</ele>
|
||||
<time>2026-01-01T09:00:00Z</time>
|
||||
<extensions>
|
||||
<gpxtpx:TrackPointExtension xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1">
|
||||
<gpxtpx:hr>140</gpxtpx:hr>
|
||||
<gpxtpx:cad>80</gpxtpx:cad>
|
||||
</gpxtpx:TrackPointExtension>
|
||||
</extensions>
|
||||
</trkpt>
|
||||
<trkpt lat="48.101" lon="17.201">
|
||||
<ele>250</ele>
|
||||
<time>2026-01-01T09:10:00Z</time>
|
||||
<extensions>
|
||||
<gpxtpx:TrackPointExtension xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1">
|
||||
<gpxtpx:hr>155</gpxtpx:hr>
|
||||
<gpxtpx:cad>84</gpxtpx:cad>
|
||||
</gpxtpx:TrackPointExtension>
|
||||
</extensions>
|
||||
</trkpt>
|
||||
<trkpt lat="48.102" lon="17.202">
|
||||
<ele>230</ele>
|
||||
|
||||
Reference in new issue
Block a user