chore(maps): bump to 0.5.7; README cell-tile path subsection

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Axel Meyer
2026-06-01 22:37:33 +02:00
parent 6e0d39e1a7
commit 6e42a034f0
2 changed files with 26 additions and 2 deletions

View File

@@ -5,7 +5,7 @@ Multi-layer tile-grid map implementation with vertex-painted autotile
loading + UV resolution, walkability + sight-blocking queries, and a
v3 multi-layer render pipeline with opaque-ceiling cache.
**Version:** 0.5.6
**Version:** 0.5.7
**Lib-ID:** lib-core.maps
**Requires:** (none)
**Tags:** maps, tile-grid, multi-layer, vertex-painting, autotile, blob-14, override, walkability, tilemap
@@ -47,6 +47,30 @@ other as material whenever any unrelated corner of either was painted,
producing connected blobs across visually empty paint-tile gaps. See
plan `2026-05-29-painting-model-rethink`.
### Cell-Tile material path (0.5.7)
A second, optional painting path: each layer can now also have a
`cells_material` array (W·H bool, lazy-allocated). Cells where
`cells_material[x, y]` is set use the classical 47-blob 8-neighbour
bitmask rule on effective material (vertex-derived OR cell-derived),
unlocking all 14 atlas slots. Cells whose material comes only from
the vertex grid continue to use the FIX-A 4-own-corner rule (5
reachable slots, dual-grid look).
Both paths coexist in the same layer; the bitmask rule is decided
per-cell based on whether `cells_material[x, y]` is true. A
vertex-only cell adjacent to a cell-tile cell remains structurally
blind to its neighbour because its 4-corner rule only reads its own
corner vertices — this asymmetric seam is documented behaviour. For
clean visuals use a single painting path per layer.
Public API: `set_cell_material(layer, x, y, painted, map_id?)` and
`get_cell_material(layer, x, y, map_id?) -> bool`.
The `cells_material` field is optional and absent on every existing
v3 map; save output is byte-identical to 0.5.6 when no cells_material
entries are non-zero.
## Topology
<!-- topology:start (auto-generated; do not edit) -->