From 6e42a034f04fce5fd6cb752ba0379a9bb7a3ec7f Mon Sep 17 00:00:00 2001 From: Axel Meyer Date: Mon, 1 Jun 2026 22:37:33 +0200 Subject: [PATCH] chore(maps): bump to 0.5.7; README cell-tile path subsection Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 26 +++++++++++++++++++++++++- manifest.lib | 2 +- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d6f15af..5c675ee 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/manifest.lib b/manifest.lib index d77b291..402b051 100644 --- a/manifest.lib +++ b/manifest.lib @@ -1 +1 @@ -{"id":"lib-core.maps","version":"0.5.6","api_min":"0.1"} \ No newline at end of file +{"id":"lib-core.maps","version":"0.5.7","api_min":"0.1"} \ No newline at end of file