New src/map.c (unity-build part) adds a map screen reached from the search
bar's map button:
- Fetches geotag markers (GET /api/map/markers), projects with Web Mercator.
- Clusters markers into count "bubbles" in map space (anchored to the world,
so panning translates them instead of reshuffling); pan (d-pad/touch),
zoom (L/R/pinch). X or tap zooms into a cluster, or opens a lone/co-located
photo — fetching that asset on demand if it isn't paged into the grid —
and returns to the map on back.
- Base map: a Web-Mercator LOD tile pyramid generated offline from a MapChart
PNG (tools/png_to_tiles.py -> assets/maptiles.pak); the level matching the
on-screen scale is drawn from 256px JPEG tiles decoded into pooled textures
(the crash-safe path), with a coarse overview underneath so there are no
gaps while tiles stream in. Georeferencing (full longitude, lat band) was
fit from isolated-island centroids so markers land on land.
main.c uses a larger vita2d vertex pool; app.c wires the mode in.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>