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
+2 -4
View File
@@ -129,7 +129,7 @@ it live, which is exactly why we capture every frame to disk.
---
## 4. Read the logs — verify from TEXT, not frames
## 4. Read the logs or screenshots
**Capturing a frame is free** (PNGs on disk are not in context). **Reading a PNG
back into context is the expensive part.** So capture every command, but **do not
@@ -147,9 +147,7 @@ errors. Also available:
- `/tmp/vita3k-runtime.log` (Vita3K runtime stdout/stderr from `deploy.sh`).
- `/tmp/vita3k-install.log` (install output).
**Only Read a frame** when a screenshot is genuinely the only way to resolve an
ambiguity (rare). Reading every frame is what bloats context — that's what this
rule avoids.
read the screenshot if its usefull for the current task
### Typical verify loop