Conversion tooling (tools/map_tiles): curated Shortbread base pyramid
from a VersaTiles planet archive (bbox extract, brotli->gzip transcode
parallelized per 256x256 block), all-tag native OSM pbf detail
converter, pbf audit, and nav-build/nav-probe producing the routing
graph + search index artifacts. download_map.sh orchestrates pinned
downloads and conversions. mbtile_reader writer now skips SQLite's
lock-byte page at byte offset 1 GiB — allocating through it corrupted
every database over 1 GiB ("2nd reference to page 16385"); the 31 GB
Europe conversion passes integrity checks.
Navigation (libs/map_nav, new): region.search place/POI/street/address
index (prefix autocomplete, NL/EN category synonyms, proximity
ranking) and region.graph routing graph (CSR directed edges,
car/bike/foot speeds, oneway, turn restrictions, snap grid, A*),
maneuver generation and the NavSession map-matching state machine;
26 unit tests.
MapView interaction layer: MapViewAction, camera API + animated
fly_to, overlay.rs (route polyline with traveled dimming, markers,
position puck), per-widget mbtiles_path override, archive
minzoom/maxzoom honored for tile requests, zoom-level cross-fade over
the previous level's imagery, floating panels win hit-testing.
examples/map is the navigator app: worker-thread search, Drive/Bike/
Walk routing, simulated turn-by-turn with banner, follow camera.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
16 lines
484 B
TOML
16 lines
484 B
TOML
[package]
|
|
name = "makepad-map-tiles"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Build, audit, and probe disk-streamable OpenStreetMap tile archives"
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
[dependencies]
|
|
brotli = "8.0"
|
|
flate2 = "1.0"
|
|
makepad-fast-inflate = { path = "../../libs/fast_inflate" }
|
|
makepad-map-nav = { path = "../../libs/map_nav" }
|
|
makepad-mbtile-reader = { path = "../../libs/mbtile_reader" }
|
|
osmpbf = "0.3.8"
|
|
serde_json = "1.0"
|
|
smallvec = { path = "../../libs/smallvec" }
|