feat(world-builder): register uploaded graphics and extend palette schemas (#6) - #130
Conversation
Code Review ✅ Approved 2 resolved / 2 findingsRegisters uploaded custom PNG assets and extends palette schemas for the world builder, addressing missing authentication on the palette endpoint and race conditions in upsertPaletteEntry. ✅ 2 resolved✅ Security: GET /admin/game-data/maps/:mapNum/palette lacks authentication
✅ Bug: Concurrent upsertPaletteEntry can overwrite existing palette rows
OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Important Your trial ends in 7 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more. Was this helpful? React with 👍 / 👎 | Gitar |
Closes #6
Summary of Changes
Bridges uploaded custom PNG assets with the game engine runtime, allowing uploaded graphics to be resolved by client renderers and assigned into dynamic map palettes.
Features & Deliverables
>= 1,000,000, preventing collision with legacy original engine graphics (1..320,151).GET /graphics/:grhIndex/metadatareturning frame count, dimension, offset, and URL metadata for engine compatibility.game_map_palette_overridestable inapi/schema.sqland endpointsPUT /admin/game-data/maps/:mapNum/palette&GET /admin/game-data/maps/:mapNum/palette.api/src/tests/worldBuilder_palette.integration.test.ts.