Record that downloads fill the Cache and ship the built app.

A failed open can repair the shell, and the installed PWA matches Ziele, Einstellungen, and the view download.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-09 08:55:43 +02:00
co-authored by Cursor
parent 2f1fab202e
commit 3a49d52681
36 changed files with 1801 additions and 24 deletions
+1 -1
View File
@@ -4,6 +4,6 @@ status: accepted
# Offline PWA with prepared raster tiles
The Karte is an installable app for phone and tablet, with no app store and no live map server. The Mac turns the DTK25 Blätter into Kacheln once. A Kachel reaches the device because the user downloads a Gebiet, or because the open Karte needs it and the device is online. The open Karte reads only the Kacheln inside the current view. The furthest zoom-out is a ground span shipped in the app configuration, 36 km by 36 km unless that file is changed. The prepared Kacheln cover every scale from that span down to the native sheet pixel. Downloading a Gebiet fetches all of those scales, the current view first. Downloads run only while that app is open and the device is online; leaving the app pauses them, and opening it again continues them. Which of those Kacheln a delete keeps is [ADR 0002](0002-cached-tiles-follow-downloaded-gebiete.md).
The Karte is an installable app for phone and tablet, with no app store and no live map server. The Mac turns the DTK25 Blätter into Kacheln once. A Kachel reaches the device because the user fetches it into the Cache, or because the open Karte needs it and the device is online. The open Karte reads only the Kacheln inside the current view. The furthest zoom-out is a ground span shipped in the app configuration, 36 km by 36 km unless that file is changed. The prepared Kacheln cover every scale from that span down to the native sheet pixel. Fetching Hessen, or fetching the Kacheln that intersect the current view, covers every one of those scales, the Kacheln of the current scale first. Fetches run only while that app is open and the device is online. Leaving the app stops them, and opening it again does not continue them. While the app stays open, losing the network pauses a fetch and regaining it continues that fetch. Looking around fetches only the current view at the current scale. Kacheln leave the device only when the whole Cache is deleted. Why a download does not mark a Gebiet is [ADR 0003](0003-downloads-fill-the-cache.md).
A macOS desktop app was rejected. Serving the original GeoTIFFs from the Mac while the phone is on the same network was rejected, because the Karte has to work after the download, with that computer left behind.
@@ -1,5 +1,5 @@
---
status: accepted
status: superseded by ADR-0003
---
# Cached Kacheln follow the Gebiete still marked downloaded
+11
View File
@@ -0,0 +1,11 @@
---
status: accepted
---
# Downloads fill the Cache
A download writes missing Kacheln into the Cache and does not mark a Gebiet. Hessen means every Kachel of that Gebiet. The current view means every Kachel that intersects the view at the moment of the request, at every prepared scale. Closing the app stops that fetch, and opening the app does not continue it; the same request fetches what is still missing. While the app stays open, losing the network pauses the fetch and regaining it continues it. Hessen is complete when every one of its Kacheln is in the Cache. Kacheln leave the device only when the whole Cache is deleted.
Remembering which Gebiet a download had claimed was rejected. That mark existed so removing one Gebiet could spare a Kachel still claimed by another, and so a download could resume when the app opened. Selective removal and resume-on-open are both dropped.
Supersedes [ADR 0002](0002-cached-tiles-follow-downloaded-gebiete.md) and the resume-on-open and delete-retention sentences of [ADR 0001](0001-offline-pwa-prepared-tiles.md).