Repository navigation
Description
What problem would this solve?
Downloaded maps do not currently provide arbitrary offline place/address search. A cached earlier query is not enough for finding a never-searched destination in a downloaded region.
What would you like to be able to do?
Add a bounded, versioned regional place/address index alongside offline packages. Choose the index format, normalization/ranking and storage adapter in a short design decision first; then split generation, installation and query/UI work into linked implementation tasks. Reuse canonical identities and resolvers rather than introducing a disconnected offline-only place namespace. Support one representative German region first; no global download requirement or new routing engine.
Verified current state
Rechecked on 30 October 2026 against main at fe796a6405f215fda3b18032e8181ed8647ac108.
- Offline manifest describes PMTiles, glyphs and coverage, with no search-index artifact.
- Geocoding hook queries the API; it does not query installed regional data.
- Offline documentation already supports continuing a route planned online and explicitly excludes new provider searches and new route planning. The optional recent map data cache can retain earlier search responses but does not provide fresh searches.
- Package storage provides existing durable package lifecycle infrastructure to reuse.
Acceptance criteria
- Package metadata declares search coverage, data/index versions, licensing, bytes/checksum and compatibility independently of map coverage.
- Cold-start, never-before-searched name/address queries and bounded category browsing work with all network requests blocked; multilingual aliases, branch identity and out-of-coverage bounds are covered.
- Results retain canonical IDs, coordinates and enough local details to select a destination; unavailable online-only enrichment is explicit.
- Interrupted install, quota failure, incompatible upgrade, deletion and multiple-region boundaries have deterministic recovery and do not corrupt ready packages.
- Query latency, storage and build cost are measured on representative low-end hardware with thresholds agreed before rollout.
- Docs distinguish offline map rendering, search and routing capabilities; keyboard/accessibility and before/after screenshots accompany UI changes.
Verification approach
Use a disposable pinned regional fixture, network-denial assertions and empty query caches. Test identity parity with online results, install/update failure injection and platform storage adapters; record dataset versions and performance results in the comparison corpus.
Dependencies and decisions
The shared place identity/publication contract from #399 landed in #436 (packages/core/src/ambient-places.ts, publication, retention and identity); reuse its canonical identities for final compatibility. #300 concerns upstream Pelias address ingestion, not an on-device query index. Choose initial region and minimum address fields during triage.
Alternatives or workarounds
Keep online-only search (current limitation); cache individual responses (cannot cover new queries); package a full third-party application dataset (evaluate size/licensing rather than assuming it matches current identities).
Additional context
Area
Other / cross-cutting
Ownership and status
Maintainer-owned backlog; implementation has not started. Resolve the named decisions during triage before scheduling work.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Effort
Activity