feat(train): a route's map kept offline on request (ADR 0030, D45)

A saved route's page has Keep the map offline: the tiles within 2 km of
its way at zooms 10 to 16 (never above the source's own), shared between
routes, kept again as the route changes and let go with it. The style,
its sprites and the instance's map source are kept as last read, and
every map reads a kept tile before the network, so a map draws with no
network at all.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-29 10:28:36 +01:00
commit a2997e87af
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -14,6 +14,8 @@ resolution: workspace
dependencies:
clock: ^1.1.3
# What a route's map kept offline was made for (ADR 0030, D45).
crypto: ^3.0.7
equatable: ^3.0.0
flutter:
sdk: flutter
@ -42,6 +44,9 @@ dependencies:
# Noto Sans and the widgets every screen is built of.
halkyon_ui:
path: ../../../packages/halkyon_ui
# A route's map kept offline (D45): its style, sprites and tiles asked
# for directly, as vector_map_tiles asks for them.
http: ^1.6.0
# gen-l10n's output imports it.
intl: ^0.20.3
latlong2: ^0.10.1
@ -57,6 +62,9 @@ dependencies:
# Pinned: the 9 line is beta, the only one for flutter_map 8 (D23); moves to
# 9.0.0 once it is released.
vector_map_tiles: 9.0.0-beta.13
# Reads a style kept offline (D45), which vector_map_tiles reads only from
# the network; the version vector_map_tiles takes.
vector_tile_renderer: ^6.1.0
dev_dependencies:
flutter_driver: