Describe the shared lists with drag and drop, + and x

- Pixel Art, Tilemaps and Vector Art explain reordering by drag and
  drop, the eye, the + in the list header and the x per row.
- Development carries the new check total 1266.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
adminandClaude Opus 5 committed 2026-09-21 21:18:27 +02:00
1 parent d63d71d1a1
commit 0698fea522
4 files changed
+29 -20

No files matched your search

+1 -1
@@ -13,7 +13,7 @@ npm run check # typecheck + lint + format:check + tests, the gate CI runs
npm run build # writes dist/ and regenerates index.html npm run build # writes dist/ and regenerates index.html
./build.sh # the same under `set -o pipefail`, for callers that pipe the output ./build.sh # the same under `set -o pipefail`, for callers that pipe the output
php tools/make-user.php <name> <password> # an account; every tool signs in (see Accounts) php tools/make-user.php <name> <password> # an account; every tool signs in (see Accounts)
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1259 editor checks, screenshots in /tmp/gm-e2e-*.png node tools/seed-e2e.mjs && node tools/e2e.mjs # 1266 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 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 start [GM_STEPS] # the same run detached, see below
./e2e.sh status # live progress, or the last run's result ./e2e.sh status # live progress, or the last run's result
+12 -9
@@ -64,12 +64,14 @@ replacing a colour) are [#200](https://git.nockal.com/meleki/game-maker/issues/2
## Layers ## Layers
The **LAYERS** list shows the top layer first. A click on a row picks the layer the tools paint on. The **LAYERS** list shows the top layer first. Each row pictures its layer alone on the frame being
painted. A click on a row picks the layer the tools paint on.
- **Add** puts a new empty layer above the picked one, **Delete** takes the picked one out. The last - **Dragging** a row moves the layer to another place in the drawing order.
layer stays. - The **eye** next to a row's ✕ leaves the layer out of the picture, and puts it back. A
- **Up** and **Down** move it in the drawing order. hidden layer cannot be painted on.
- **Hide** leaves it out of the picture, **Show** puts it back. A hidden layer cannot be painted on. - The **+** in the list's header puts a new empty layer above the picked one. The **✕** at the right
end of a row takes that layer out. The last layer has no ✕, it stays.
- **Name** and **Opacity** (0 to 1) edit the picked layer. - **Name** and **Opacity** (0 to 1) edit the picked layer.
- **Merge down** lays the layer onto the one below it, on every frame, and takes it out. Every pixel - **Merge down** lays the layer onto the one below it, on every frame, and takes it out. Every pixel
it paints covers the one below. Its opacity is **not** kept: an indexed picture has no colour it paints covers the one below. Its opacity is **not** kept: an indexed picture has no colour
@@ -77,11 +79,12 @@ The **LAYERS** list shows the top layer first. A click on a row picks the layer
## Frames ## Frames
Every frame has the same layers. The **FRAMES** list shows them in order; a click picks the frame Every frame has the same layers. The **FRAMES** list shows them in order, first on top, each row with
the canvas shows and paints on. a picture of the whole frame; a click picks the frame the canvas shows and paints on.
- **Add** puts an empty frame after the picked one, **Duplicate** a copy of it. The last frame stays. - **Dragging** a row moves the frame to another place in the order.
- **Earlier** and **Later** move the picked frame. - The **+** in the list's header puts an empty frame after the picked one, **Duplicate** below the
list a copy of it. The **✕** on a row takes that frame out. The last frame has no ✕, it stays.
- **Onion skin** (in the **VIEW** block) shows the frames before and after the picked one faintly - **Onion skin** (in the **VIEW** block) shows the frames before and after the picked one faintly
under it. under it.
- **PREVIEW** plays the frames in a loop. **Frames per second** belongs to the preview only; how long - **PREVIEW** plays the frames in a loop. **Frames per second** belongs to the preview only; how long
+9 -7
@@ -99,12 +99,13 @@ itself. Without one chosen, painting says so instead of quietly doing nothing.
## Layers ## Layers
A tilemap holds one or more layers, listed under **LAYERS**, the topmost row being the one drawn A tilemap holds one or more layers, listed under **LAYERS**, the topmost row being the one drawn
last (over the others). Per row there is: last (over the others). The list works like every layer list of the editor (the shapes of
[Vector Art](Vector-Art), the layers and frames of [Pixel Art](Pixel-Art)):
- a **switch**: a layer switched off keeps its cells and is left out of the drawing, in the editor - a click on a row chooses the layer to paint on;
and in the game alike; - **dragging** a row moves the layer to another place in the drawing order, one undo step;
- its **name**, which is also how it is chosen to paint on; - the **eye** next to the ✕ switches the layer off and on: a layer switched off keeps its cells
- **↑ / ↓** to move it in the drawing order and **✕** to remove it, cells and all. and is left out of the drawing, in the editor and in the game alike.
Below the list (#138): Below the list (#138):
@@ -124,8 +125,9 @@ Below the list (#138):
paint, not a property of the map: it touches neither the project nor the game, a map that is not paint, not a property of the map: it touches neither the project nor the game, a map that is not
selected is always drawn whole, and the layer switches above stay as they are. selected is always drawn whole, and the layer switches above stay as they are.
**Add layer** appends one on top. A tilemap always keeps at least one layer — there has to be The **+** in the header of the list appends a layer on top. The **✕** at the right end of a row
something to paint on. removes that layer, cells and all. A tilemap always keeps at least one layer — there has to be
something to paint on, so the last one has no ✕.
## In the running game ## In the running game
+7 -3
@@ -105,14 +105,18 @@ Selecting a shape — in the tab or in the list — gives it its own rows:
**topmost row is drawn last**, the way a layer list reads. **topmost row is drawn last**, the way a layer list reads.
Ctrl or Shift on a row adds its shape to the selection, as Ctrl+click does in the tab. Ctrl or Shift on a row adds its shape to the selection, as Ctrl+click does in the tab.
- **Forward / To front / Backward / To back** move the selected shape through that order, and a row - **Forward / To front / Backward / To back** move the selected shape through that order, and a row
can be **dragged** to another place in the list. can be **dragged** to another place in the list, also one that was not selected before: it is
selected when the mouse button goes up. The **✕** at the right end of a row removes that shape.
The same list is used for the layers of a [tilemap](Tilemaps) and the layers and frames of
[pixel art](Pixel-Art); there its header also has a **+** that adds one. Shapes have none, they
are drawn with the Pen.
- **COMBINE** holds the four boolean operations, see [below](#combining-shapes). - **COMBINE** holds the four boolean operations, see [below](#combining-shapes).
- **VECTOR SHAPE** carries Name, **Fill type** with what that type needs, Opacity and an - **VECTOR SHAPE** carries Name, **Fill type** with what that type needs, Opacity and an
**Outline** switch; with the switch on, **Line type** and Line width appear. The switch *gives and **Outline** switch; with the switch on, **Line type** and Line width appear. The switch *gives and
takes away* the outline rather than hiding it, and a width of zero is no outline, so the row stops takes away* the outline rather than hiding it, and a width of zero is no outline, so the row stops
at 0.1. at 0.1.
- **Delete shape** and **Add shape** sit below; with several shapes selected it reads **Delete - **Add shape** sits below. With several shapes selected, **Delete shapes** next to it removes
shapes** and removes them all. them all.
With several shapes selected, the order buttons and the style rows are those of the one clicked With several shapes selected, the order buttons and the style rows are those of the one clicked
last. A dragged colour or opacity slider is one undo step, not one per pixel of the drag. Selecting last. A dragged colour or opacity slider is one undo step, not one per pixel of the drag. Selecting