From fe18812e0fe38961a2fcd54f88ca0a81f6c7fb6e Mon Sep 17 00:00:00 2001 From: MelekTaus Date: Fri, 18 Sep 2026 12:31:20 +0200 Subject: [PATCH] Tilemaps: Fill, Pick and holding Alt (#133); check total 1038 --- Development.md | 2 +- Tilemaps.md | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Development.md b/Development.md index 3f5ff93..529f974 100644 --- a/Development.md +++ b/Development.md @@ -12,7 +12,7 @@ npm run check # typecheck + lint + format:check + tests, the gate CI runs # code is lost (tail's is reported), so a red run reads as green npm run build # writes dist/ and regenerates index.html ./build.sh # the same under `set -o pipefail`, for callers that pipe the output -node tools/seed-e2e.mjs && node tools/e2e.mjs # 1034 editor checks, screenshots in /tmp/gm-e2e-*.png +node tools/seed-e2e.mjs && node tools/e2e.mjs # 1038 editor checks, screenshots in /tmp/gm-e2e-*.png GM_STEPS=20 node tools/e2e.mjs # or 1-12, or 6,20 — a subset while working on one step ./e2e.sh start [GM_STEPS] # the same run detached, see below ./e2e.sh status # live progress, or the last run's result diff --git a/Tilemaps.md b/Tilemaps.md index aad51f6..a8f7e6c 100644 --- a/Tilemaps.md +++ b/Tilemaps.md @@ -49,11 +49,20 @@ the Columns, Rows and Tile size rows. pointer was reported at. - **Erase** clears cells the same way. - **Rect** fills the box a drag spans; while dragging, that box is outlined. +- **Fill** (#133) fills, from the cell clicked, every cell of the active layer that holds the same + tile — or is empty, if that one is — and is reached through the four edge neighbours. Diagonals do + not count, so a fill does not leak through the gap between two corners. The grid is the border. + Filling a cell with the tile it already holds does nothing. +- **Pick** takes the tile of the cell clicked on the **active layer** and hands it straight to the + painting tool used before Pick (Brush, Rect or Fill; from Select or Erase it is the Brush). An + empty cell says so in the console and changes nothing. +- **Holding Alt** is Pick for as long as it is held, from any tool; letting go brings the tool + back. Choosing another tool while Alt is down keeps that one. -While any of the three is chosen, the map shows its cell grid, so one does not paint blind. +While any painting tool is chosen, the map shows its cell grid, so one does not paint blind. Shift-drag still pans the view, whatever the tool. -**One stroke is one undo step** — a line of twenty cells comes back with one Ctrl+Z, and a stroke +**One stroke is one undo step**, and so is one fill — a line of twenty cells comes back with one Ctrl+Z, and a stroke painted over another tile puts *that* one back, not merely emptiness. Under **TILES** stands every tile of the project as a grid of pictures with its name below @@ -138,4 +147,3 @@ the next save. - No trigger tiles: a tile that only reports an overlap (water that fires an event) is not there yet — a tile blocks or it does not. -- Nothing fills an area by flooding it, and there is no picking up a tile off the map.