Repository navigation
Search downloaded places and addresses without a network #403
Description
Before you start
- Searched current issues and discussions; no equivalent feature was found. Related work is linked below.
What problem does 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.
Proposed solution
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 against main at a8e03bc3efc49207d91f7c1855402c6cf149b8fd on October 7, 2026.
- 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 previously planned route and explicitly excludes search/new routing.
- 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
Shared place identity/publication contract from #399 is required for final compatibility; packaging and index research can begin earlier. #300 concerns upstream Pelias address ingestion, not an on-device query index. Choose initial region and minimum address fields during triage.
Alternatives considered
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).
Area
Other / cross-cutting
Would you like to work on this?
Maybe, with some guidance. Maintainer-owned backlog; implementation has not started. Resolve the named decisions during triage before scheduling work.
Activity