From 2734efa1a98b9d22ee63bf67b1b800b8e52d1d20 Mon Sep 17 00:00:00 2001 From: Calic Date: Mon, 1 Jun 2026 23:10:30 +0200 Subject: [PATCH] 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) --- README.md | 22 ++++++++++++++++++++++ init.lua | 6 +++--- manifest.module | 2 +- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b3eb61a..90ca027 100644 --- a/README.md +++ b/README.md @@ -131,3 +131,25 @@ future engine + lib slice. 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 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. diff --git a/init.lua b/init.lua index 7a537fd..219da21 100644 --- a/init.lua +++ b/init.lua @@ -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 -- 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 @@ -613,7 +613,7 @@ local ui = (function() -- Cheatsheet content (rendered into the modal). 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="S", action="Save current map to work.map.json" }, { 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_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. diff --git a/manifest.module b/manifest.module index a723fc6..c5a1c88 100644 --- a/manifest.module +++ b/manifest.module @@ -1,6 +1,6 @@ { "id": "map-editor", - "version": "0.3.0", + "version": "0.3.1", "kind": "module", "api": "^0.1", "ci_frames": 30,