makepad/examples/map
Admin 6c5c71f92e maps: tiles ship only what the renderer draws, and a frame draws only what is on screen -- one detail contract in mbtile_reader::map_tags (detail_feature_used, micro_icon, the tag allowlist) is shared by the renderer (MvtSink::wants_feature skips rejected osm_* features in the detail pass before any id is allocated), the base bake (non --full drops them and stamps makepad_detail_contract=features-v1) and the repacker (a DATA_POLICY row; the verifier accepts exactly the contract's drops): address-only nodes (85% of detail points), plain road/building lines duplicated by the base and polygon layers, and relation points go; icons, trees, bridge corridors, platforms and detail buildings stay. Hosted city tiles shrink ~24% (Amsterdam z14 608 -> 465 KB). makepad-map-render-check builds each tile from the original and the rewrite at buckets 14-18 in 2D and 3D and requires identical buffers (bitwise digest, NaN-safe) and equal baked-face hits: ~3000 builds over local and hosted world tiles, 0 mismatches. Found on the way: base, detail and overlay polygon ids all started at 1 and the fill pass groups rings by id, so unrelated polygons of one colour fused; they now use disjoint ranges. makepad-map-repack --in-place converts an archive over itself shard by shard (cross-shard blobs stashed first, each partial verified tile by tile against the still-present original, journaled, renamed; root last; resumable), and --remote user@host:/dir runs it from this machine over parallel ssh streams against a sparse local mirror with SHA-256 checks. GPU/memory: only visible tiles are drawn (the prefetch ring, a whole z14 tile wide past z14, was drawn every frame), building outlines, flat-road fringes and roof edges move to the compact 28/16-byte formats, the shadow pass skips unlifted road chunks and off-screen terrain cells are skipped; z16 flat 6.3 -> 3.8 ms GPU, 123 -> 36 draws, 151 -> 94 MB resident; z17.5 7.3 -> 3.6 ms, 158 -> 26 MB; max tilt 5.5 -> 2.8 ms; pixels unchanged. New traces gpu.shaders, map.streams, map.frame
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 23:41:52 +02:00
..
src maps: tiles ship only what the renderer draws, and a frame draws only what is on screen -- one detail contract in mbtile_reader::map_tags (detail_feature_used, micro_icon, the tag allowlist) is shared by the renderer (MvtSink::wants_feature skips rejected osm_* features in the detail pass before any id is allocated), the base bake (non --full drops them and stamps makepad_detail_contract=features-v1) and the repacker (a DATA_POLICY row; the verifier accepts exactly the contract's drops): address-only nodes (85% of detail points), plain road/building lines duplicated by the base and polygon layers, and relation points go; icons, trees, bridge corridors, platforms and detail buildings stay. Hosted city tiles shrink ~24% (Amsterdam z14 608 -> 465 KB). makepad-map-render-check builds each tile from the original and the rewrite at buckets 14-18 in 2D and 3D and requires identical buffers (bitwise digest, NaN-safe) and equal baked-face hits: ~3000 builds over local and hosted world tiles, 0 mismatches. Found on the way: base, detail and overlay polygon ids all started at 1 and the fill pass groups rings by id, so unrelated polygons of one colour fused; they now use disjoint ranges. makepad-map-repack --in-place converts an archive over itself shard by shard (cross-shard blobs stashed first, each partial verified tile by tile against the still-present original, journaled, renamed; root last; resumable), and --remote user@host:/dir runs it from this machine over parallel ssh streams against a sparse local mirror with SHA-256 checks. GPU/memory: only visible tiles are drawn (the prefetch ring, a whole z14 tile wide past z14, was drawn every frame), building outlines, flat-road fringes and roof edges move to the compact 28/16-byte formats, the shadow pass skips unlifted road chunks and off-screen terrain cells are skipped; z16 flat 6.3 -> 3.8 ms GPU, 123 -> 36 draws, 151 -> 94 MB resident; z17.5 7.3 -> 3.6 ms, 158 -> 26 MB; max tilt 5.5 -> 2.8 ms; pixels unchanged. New traces gpu.shaders, map.streams, map.frame 2026-09-26 23:41:52 +02:00
tests map: adaptive Chaikin (fix roads curving through buildings), square force-close 2026-07-28 09:24:03 +02:00
Cargo.toml apps, examples: the window manager on Android and Windows, the phone layouts, the task manager, director, mail and the rest; Flow, the asset UI and VJ move to Stage 2026-09-26 20:10:58 +02:00
local map: adaptive Chaikin (fix roads curving through buildings), square force-close 2026-07-28 09:24:03 +02:00
window_0_frame_000000.png map: zoo animal labels from attraction nodes, gray paths, footbridge decks 2026-07-28 10:25:11 +02:00