Add geotag "Places" map with raster LOD tile pyramid

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>
This commit is contained in:
Sads
2026-06-14 04:24:03 +02:00
co-authored by Claude Opus 4.8
parent 351804819b
commit 66b9d77ac4
7 changed files with 965 additions and 11 deletions
+1
View File
@@ -60,4 +60,5 @@ vita_create_vpk(${PROJECT_NAME}.vpk ${VITA_TITLEID} ${PROJECT_NAME}.self
FILE ${CMAKE_SOURCE_DIR}/assets/cloud_server.png cloud_server.png
FILE ${CMAKE_SOURCE_DIR}/assets/cloud_device.png cloud_device.png
FILE ${CMAKE_SOURCE_DIR}/assets/cloud_both.png cloud_both.png
FILE ${CMAKE_SOURCE_DIR}/assets/maptiles.pak maptiles.pak
)