Replace offline basemap pipeline with Planetiler, unify online/offline styling
Offline tiles were built from Protomaps' own basemap schema, needing a completely separate hand-tuned theme (protomaps-themes-base + OFFLINE_THEME) from the online Liberty style's ONLINE_STYLE_PATCH — the two could never be made to match exactly no matter how much either side got tuned (today's session found and fixed several mismatches: building opacity, park boundaries, road casings, road widths). Offline.pmtiles is now built with Planetiler's default OpenMapTiles profile against Geofabrik per-country OSM extracts (osmium-merged when more than one country is selected), the same vector schema Liberty already expects. offlineStyle() now clones the same Liberty JSON (vendored as a local snapshot for reliability with no internet) and applies the identical ONLINE_STYLE_PATCH, just repointed at local PMTiles/glyphs/sprite — one palette instead of two, correct on both sides by construction. Also vendors Liberty's icon sprite for the first time (offline had none before), adds Java/osmium-tool/planetiler.jar to the Docker image, and removes the now-unused protomaps-themes-base dependency and the theme-comparison debug page that found today's bugs.
This commit is contained in:
1 parent
0874e8f8ed
commit
d08ed41185
21 files changed
+4286
-512
No files matched your search
@@ -24,8 +24,8 @@ checking here before searching from zero next time.
|
||||
| MIT (per `package.json`); the whole `npmap5-plugins` repo is separately
|
||||
public domain as a US government work
|
||||
|
||||
| Park Tiles color palette (offline + online basemap themes)
|
||||
| `public/js/map.js`'s `OFFLINE_THEME` and `ONLINE_STYLE_PATCH`
|
||||
| Park Tiles color palette (shared offline + online basemap theme)
|
||||
| `public/js/map.js`'s `ONLINE_STYLE_PATCH`
|
||||
| Colors only — see <<park-tiles>> for why the actual tile service isn't used
|
||||
|
||||
| `overview` (top-right minimap/inset control)
|
||||
@@ -187,7 +187,7 @@ why this app uses OpenFreeMap Liberty as its actual basemap, not Park
|
||||
Tiles — see `docs/architecture.adoc`'s "Offline maps" section.
|
||||
|
||||
Recreating the *color choices* is a different matter — not the kind of
|
||||
thing a data license restricts — and is what `OFFLINE_THEME` in
|
||||
thing a data license restricts — and is what `ONLINE_STYLE_PATCH` in
|
||||
`public/js/map.js` actually does (see `docs/architecture.adoc`).
|
||||
|
||||
=== Public style JSON (source for the real colors we did pull)
|
||||
@@ -219,11 +219,11 @@ embedded credentials, even when technically reachable:
|
||||
|===
|
||||
|
||||
Colors actually pulled from the Imagery style JSON and used in
|
||||
`OFFLINE_THEME`: background (`hsl(40, 37%, 97%)`, a warm cream), the
|
||||
`ONLINE_STYLE_PATCH`: background (`hsl(40, 37%, 97%)`, a warm cream), the
|
||||
park/protected-area green (`#b3e378`), the two road-importance tiers
|
||||
(`#fdefbe`/`#fef7dd`), and the park-boundary line color (`#546619`, dark
|
||||
olive). The rest of `OFFLINE_THEME` extends that same warm/olive family
|
||||
by eye rather than from a sourced value.
|
||||
olive). The rest of `ONLINE_STYLE_PATCH` extends that same warm/olive
|
||||
family by eye rather than from a sourced value.
|
||||
|
||||
=== Legend / cartographic hierarchy
|
||||
|
||||
|
||||
Reference in new issue
Block a user