Skip to content

feat(api): map persistence layer with seed/edit precedence (#3) - #348

Open
Aduersarius wants to merge 1 commit into
Bitcoindefi:mainfrom
Aduersarius:feat/map-persistence-layer-3
Open

feat(api): map persistence layer with seed/edit precedence (#3)#348
Aduersarius wants to merge 1 commit into
Bitcoindefi:mainfrom
Aduersarius:feat/map-persistence-layer-3

Conversation

@Aduersarius

Copy link
Copy Markdown

Closes #3.

Summary

  • Adds the Etapa 0 map persistence layer using a measured multi-table schema: game_maps (metadata + npcs/specials), relational game_map_palette, and compact game_map_grids.rows JSONB (not 2.9M tile rows).
  • Idempotent importer via import-game-maps / import-game-data maps.
  • Seed vs edited precedence: import seeds with is_edited=false and keeps serving files until an admin edit; edited maps are served from DB and revisioned in game_data_revisions (kind=maps) with checksums.
  • Admin + internal game-data map endpoints; unit + integration tests.

Differentiation vs open PRs

Verification

  • Schema + repository + route wiring in place.
  • Tests: api/src/tests/mapData.unit.test.ts, api/src/tests/game-maps.integration.test.ts (integration no-ops without DB).
  • Local install/tsc blocked in agent session; CI should cover compile/test.

Add game_maps + relational palette + compact grid tables, idempotent
importer, DB-only-when-edited reads with file fallback, and revision
checksums via game_data_revisions.
@gitar-bot

gitar-bot Bot commented Sep 6, 2026

Copy link
Copy Markdown

Important

You are using the Gitar free plan. Upgrade to unlock code review, CI analysis, auto-apply, custom automations, and more.

Gitar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Etapa 0: capa de persistencia de ediciones de mapa

1 participant