feat: v0.1.2 sprite-mode in draw_map + tile_rotations + load_textures

Sprite-mode in draw_map:
- tilemap-tiles with texture atlas-id render via
  engine.render.draw_sprite_transform with rotation pivot at tile center
- tiles without texture continue to render via draw_rect with color
  (Phase 1 mode preserved)

Tile rotation:
- maps support an optional tile_rotations parallel array in the map
  JSON with per-cell 90-degree rotation values (0/90/180/270)
- absent or nil entries default to 0 (no rotation)
- enables 9-segment tile reuse via rotation rather than per-orientation
  sprites

New API:
- maps.load_textures(asset_aliases) resolves the current tilemap's
  tile atlas-ids to texture-handles via the asset-lib indirection
  (asset_aliases[tilemap.asset_pack] -> lib-id -> atlas.json lookup
  per tile)

Schema additions:
- tilemap.asset_pack (alias-key, optional)
- tile.texture (atlas-id, optional)
- map.tile_rotations (parallel array, optional)

All existing Phase 1 color-only tilemaps render unchanged.
This commit is contained in:
Axel Meyer
2026-05-18 03:21:52 +02:00
parent 34f8f897c8
commit 2b5acb5caf
3 changed files with 129 additions and 15 deletions

View File

@@ -1 +1 @@
{"id":"lib-core.maps","version":"0.1.1","api_min":"0.1"}
{"id":"lib-core.maps","version":"0.1.2","api_min":"0.1"}