Implement overlay sprite rendering and update API endpoints for overlays

This commit is contained in:
Marco 2026-03-27 13:12:45 +01:00
commit 06e67d8341
6 changed files with 145 additions and 82 deletions

View file

@ -26,7 +26,7 @@ Viewer behavior:
- use the scroll wheel to zoom directly at the pointer
- pinch to zoom on touch devices
- toggle roofs and editor-only elements independently before building
- when editor-only elements are enabled, the base map stays server-rasterized while editor records render as interactive overlays with hover metadata
- when editor-only elements are enabled, the base map excludes those records and the original editor shapes render as interactive overlay sprites with hover metadata
The app expects asset folders under the app root:
@ -64,6 +64,7 @@ docker compose up --build
- `GET /api/builds/:id` returns build status.
- `GET /api/maps/:game/:mapId/metadata?buildId=...` returns map bounds and tile settings.
- `GET /api/maps/:game/:mapId/overlays?buildId=...` returns interactive overlay records for editor-only content.
- `GET /api/maps/:game/:mapId/overlays/:overlayId.webp?buildId=...` returns the rendered sprite for one overlay item.
- `GET /api/maps/:game/:mapId/tiles/:tileX/:tileY.png?buildId=...` returns rendered PNG tiles.
No raw Crusader asset files are exposed over HTTP.