Add docs/inspirations.md as the durable record of the 2026-07-05/06 prior-art research — per-project learnings with source paths, canonical credit lines, and the changes each spawned — and extend the acknowledgment lists in philosophy.md/architecture.md (Organic Maps, Endurain, wanderer). New OpenSpec changes (proposal/design/specs/tasks each): - Organic Maps: elevation-profile-hardening, gpx-parser-robustness, hiking-time-estimate, poi-index, hiking-foot-profile - Endurain: account-export, activity-duplicate-review, fit-parsing-hardening, activity-locations, self-hosting-guide, activity-privacy-controls - wanderer: federation-hardening, link-share-tokens - credits-page (user-visible acknowledgments) Updated in-flight changes with wanderer prior-art sections: route-federation, route-discovery. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.9 KiB
2.9 KiB
Why
The planner's "Hiking" option (de: "Wandern") is BRouter's trekking profile — a trekking-bike profile. Users planning a hike get bicycle routing: stairs and demanding footpaths are penalized or avoided, cycleways are preferred, and bicycle access rules apply, so the "Hiking" route is often not the route a hiker would (or could) take. trails.cool is an outdoor platform whose flagship use case is hiking; the routing should actually route on foot. This also unblocks the hiking-time-estimate change from being keyed to a mislabeled profile.
What Changes
- The BRouter image guarantees a foot routing profile named
hiking(from the pinned BRouter release's hiking profile, renamed; a vendored community foot profile is the fallback if the release doesn't ship one — verified during implementation). - The planner profile selector gains
hiking(en "Hiking", de "Wandern") and the existingtrekkingprofile is relabeled honestly (en "Cycling (touring)", de "Radfahren (Touren)"). Available profiles becomehiking, trekking, fastbike, safety, shortest, car; default staysfastbike. @trails-cool/map-coreprofile mappings move to the right sports: thewaymarked-hikingtile overlay and hiking POI defaults (shelter, viewpoints) key onhiking;trekkinggets the cycling defaults (waymarked-cycling, bike infrastructure) like the other bike profiles.- Existing sessions are untouched: Yjs documents storing
trekkingkeep routing exactly as before — only the label they see changes. - The not-yet-implemented
hiking-time-estimatechange is retargeted to gate on thehikingprofile (its artifacts are updated as part of this change's scope). - Not in scope: SAC-scale-aware routing options (e.g. "avoid alpine routes"), per-country profile variants, and changing the demo bot's
trekkingusage (its synthetic routes remain plausible bike rides).
Capabilities
New Capabilities
Modified Capabilities
brouter-integration: the "Profile selection" requirement's profile list gainshiking, and a new requirement pins the availability and foot semantics of thehikingprofile in the BRouter image.
Impact
docker/brouter/Dockerfile— provide/rename the foot profile ashiking.brf; the existing WayTags patch loop must apply to it (deploys viacd-brouter.ymlto the dedicated host).apps/planner/app/components/ProfileSelector.tsx— profile list + order.packages/map-core/src/poi.ts—profilesarrays andprofileOverlayDefaultsremapping.packages/i18n— en/de label additions and the trekking relabel.e2e/integration.test.ts— add a hiking-profile routing case alongside the existing trekking ones.openspec/changes/hiking-time-estimate/— gate updated fromtrekkingtohiking.- No schema/API changes; the BRouter proxy passes profile names through unchanged.