chore(map-editor): bump to v0.3.1; cheatsheet + README sync

Bumps the module version to v0.3.1 (lib-core.maps dep pin was
already bumped to 0.5.7 in CT6 to allow the editor to load).
Updates the file header, startup banner, cheatsheet Tab entry
(now mentions all three modes), and appends a Cell-Tile Mode
subsection to the README.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Calic
2026-06-01 23:10:30 +02:00
parent 340dd5f700
commit 2734efa1a9
3 changed files with 26 additions and 4 deletions

View File

@@ -131,3 +131,25 @@ future engine + lib slice.
All previous hotkeys (Tab, S, E, R, H, 0, D, G, I, Esc) continue to All previous hotkeys (Tab, S, E, R, H, 0, D, G, I, Esc) continue to
work; their bindings are documented in the items where applicable work; their bindings are documented in the items where applicable
and in the in-editor Cheatsheet modal. and in the in-editor Cheatsheet modal.
## Cell-Tile Mode (v0.3.1)
Third painting mechanic alongside Auto-Tile and Direct. LMB paints a
per-cell material flag at the cursor cell; RMB clears it. The
renderer uses the classical 47-blob 8-neighbour bitmask for
cell-tile cells, unlocking the 9 atlas slots that Auto-Tile's
dual-grid 4-corner rule structurally cannot reach (isolated, end,
corner_open, straight, tee_open, tee_half, cross_open, cross_q1,
cross_q2adj).
Auto-Tile (vertex-paint, 5 reachable slots, dual-grid look) and
Direct (manual override placement, all 14 slots via explicit pick)
are unchanged. Tab cycles through all three modes.
For clean visuals, use a single painting mode per layer. Mixing
Vertex-Tile and Cell-Tile material in the same layer is allowed but
produces an asymmetric seam at the boundary because vertex-tile
cells are structurally blind to their cell-tile neighbours.
See `sporel-meta/docs/superpowers/specs/2026-06-01-map-editor-cell-tile-mode-design.md`
for the full design rationale and the Boris-taxonomy background.

View File

@@ -1,4 +1,4 @@
-- sporel-module-map-editor v0.3.0 -- sporel-module-map-editor v0.3.1
-- Interactive map editor — Rev 4 UX architecture (see design paper -- Interactive map editor — Rev 4 UX architecture (see design paper
-- 2026-05-28-autotile-blob-styles-design.md §11 + plan stub -- 2026-05-28-autotile-blob-styles-design.md §11 + plan stub
-- 2026-05-28-map-editor-blob-v2.md). 0.2.0b adds the bottom palette -- 2026-05-28-map-editor-blob-v2.md). 0.2.0b adds the bottom palette
@@ -613,7 +613,7 @@ local ui = (function()
-- Cheatsheet content (rendered into the modal). -- Cheatsheet content (rendered into the modal).
local CHEATSHEET = { local CHEATSHEET = {
{ key="Tab", action="Toggle mode (Auto-Tile / Direct)" }, { key="Tab", action="Cycle mode (Auto-Tile / Cell-Tile / Direct)" },
{ key="I", action="Show / hide this cheatsheet" }, { key="I", action="Show / hide this cheatsheet" },
{ key="S", action="Save current map to work.map.json" }, { key="S", action="Save current map to work.map.json" },
{ key="E", action="Erase tile at mouse cell" }, { key="E", action="Erase tile at mouse cell" },
@@ -1513,7 +1513,7 @@ input.bind("reset_transform", { "0" }) -- 0.2.0c
input.bind("toggle_debug_overlay", { "d" }) -- 0.2.0c.3 input.bind("toggle_debug_overlay", { "d" }) -- 0.2.0c.3
input.bind("toggle_world_overlay", { "g" }) -- 0.2.0c.4 input.bind("toggle_world_overlay", { "g" }) -- 0.2.0c.4
engine.print("map-editor v0.3.0: ready. Tab=cycle mode, I=help, G=grid, D=debug, S=save, E=erase, R=rotate, H=flip, 0=reset, ESC=quit / close") engine.print("map-editor v0.3.1: ready. Tab=cycle mode (Auto/Cell/Direct), I=help, G=grid, D=debug, S=save, E=erase, R=rotate, H=flip, 0=reset, ESC=quit / close")
-- ===================================================================== -- =====================================================================
-- 0.3.0: self-tests (Spec §7.1). Run once on the first CI frame. -- 0.3.0: self-tests (Spec §7.1). Run once on the first CI frame.

View File

@@ -1,6 +1,6 @@
{ {
"id": "map-editor", "id": "map-editor",
"version": "0.3.0", "version": "0.3.1",
"kind": "module", "kind": "module",
"api": "^0.1", "api": "^0.1",
"ci_frames": 30, "ci_frames": 30,