Route library: storage, list UI, distance and elevation profile #25
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
2 participants
Notifications
Due date
No due date set.
Depends on
#24 GPX share-sheet import intent, parser and simplification
robert/PedalPebble
Reference
robert/PedalPebble#25
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
Pick a route from inside PedalPebble rather than re-importing it every ride.
Acceptance criteria
Files
companion/.../route/import/RouteStore.ktClosed by PR #88 (merged): RouteLibrary (pure JVM business logic \u2014 import/list/rename/delete/select-active, 83 host tests) over a RouteRecordStorage/ActiveRoutePointerStorage interface pair, backed by Room (
:companion:route) for structured route data and SharedPreferences for the one scalar (active-route pointer). Ascent computed honestly: sums positive deltas only across point pairs where both carry elevation, never bridges a gap or assumes sea level \u2014 a route with no elevation data reports 0.0 as "no data", not "flat". Enrichment status persisted starting at PENDING; no auto-enrichment trigger wired (left for whichever future issue owns "when does enrichment run").\n\nCaught and fixed before merge: the PR shipped KSP 2.3.11 (latest tag, explicitly flagged by the PR itself as unverified against this project's Kotlin 2.4.10). Checked kotlinlang.org's own KSP quickstart doc live \u2014 it pairs Kotlin 2.4.10 with KSP 2.3.10 specifically \u2014 and corrected the version before merging (one extra commit on the branch). Still unexecuted end-to-end (no Android SDK in this sandbox), so this is the vendor-documented pairing, not a confirmed-working build.\n\nAlso unverified, same reason::companion:route's Compose UI (RouteLibraryScreen, ElevationProfile, RoutePreview) and Room codegen \u2014 hand-reviewed against documented API shapes only, first real compile will be the actual test.