GpxCueEnricher: tier-0 cues from the GPX itself #63
Labels
No labels
area:companion
area:docs
area:shared
area:tooling
area:watchapp
blocker
kind:chore
kind:feature
kind:spike
kind:test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
robert/PedalPebble#63
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Read the cue sheet that is already in the file.
D7reasoned from "komoot GPX carries geometry only" (true) to treating every GPX as geometry-only (false). RideWithGPS, cycle.travel, Garmin and Strava exports frequently ship turn cues already:<rtept>and<wpt>entries with turn types and street names, plusgpxx/ Garmin<extensions>.Where they exist, these cues are exact, offline, instant, and need neither BRouter nor a network call. This becomes tier 0 of the enrichment chain, ahead of
BRouterEnricher.It is also what makes D6's "the route source is pluggable" claim actually pay off. Without it, pluggability costs three backends and buys nothing over komoot-only.
Acceptance criteria
GpxCueEnricherimplementsCueSheetEnricherand is tried first in the chain<rtept>route points with<name>/<cmt>/<desc>/<type>parsed into cues<wpt>waypoints recognised as cues where the file uses them that way, and as points of interest where it does notgpxx:RoutePointExtensionand<extensions>turn data parsedNAV_CUE_CONFIDENCE = 2(from the file)Files
companion/.../route/enrich/GpxCueEnricher.ktshared/- no contract change;NAV_CUE_CONFIDENCEalready exists in docs/PROTOCOL.mdNotes
See D26. Tier 0 is the cheapest good enrichment in the chain and it was missing entirely.