Describe the new point gestures in all four point editors (#288)

admin committed 2026-10-01 19:36:20 +02:00
1 parent b2d413bd60
commit f9b11df4d1
6 files changed
+36 -19

No files matched your search

+7 -3
@@ -39,9 +39,13 @@ its slant.
over edges instead of catching on them.
- **Polygon** (#151) — `points`, a list of `{x, y}` corners in the collider's own units, so they
turn, grow and mirror with the object. A new polygon collider is a triangle. With the collider
selected in the scene view every corner has a handle: **drag** a corner to move it, **press on an
edge** to put a corner there (and drag it on), **double-click** a corner to take it away — three
corners always stay. Each is one undo step. The list can also be edited in the inspector.
selected in the scene view every corner has a handle. **Click** a corner to pick it (drawn
filled) and **drag** it to move it. **Double-click an edge** to put a corner there; it is picked
and stays in place until it is pressed again. **Delete** takes the picked corner away and leaves
the collider — without a picked corner Delete removes the object, as everywhere. A **right-click**
on a corner opens a menu with **Delete point**. Three corners always stay. The pick ends with a
press beside the corners and when another object is selected. Each change is one undo step. The
list can also be edited in the inspector.
A polygon may be concave: it is cut into convex pieces (ear clipping, then the cuts that are not
needed are joined again), which is what collision works with. One that crosses itself or has no
area is drawn **red** and collides with nothing.
+10 -5
@@ -31,11 +31,16 @@ These rules hold for everything written into a curve — a drag, a preset, a han
The graph fills the tab, with lines at 0 and 1 in both directions.
- **Click the line** to put a point there. The curve keeps its shape: a bend is split in two, not
flattened.
- **Click free space** between the two ends to put a plain point there, at that t and that v.
- **Drag** a point or a handle. Each drag is one undo step.
- **Double-click** a point, or pick it and press **Delete**, to take it away.
- **Double-click the line** to put a point there. The curve keeps its shape: a bend is split in
two, not flattened.
- **Double-click free space** between the two ends to put a plain point there, at that t and that v.
- The new point is picked and stays where it was put; press it again to drag it. A single click
beside the points adds nothing, it only drops the pick.
- **Click** a point to pick it — it is drawn filled. **Drag** a point or a handle; each drag is one
undo step.
- **Delete** (or Backspace) takes the picked point away. So does **Delete point** in the menu a
**right-click** on a point opens; the same menu sets the point's type. An end cannot go, its
entry is greyed out.
- **Alt-click** a point to make it round, or straight again.
- **Point: …** in the header sets the picked point's type, as in the Vector art tab: *Straight* (no
handles), *Corner* (handles move on their own), *Smooth* (handles stay in line), *Symmetric*
+1 -1
@@ -18,7 +18,7 @@ php tests/php/accounts.test.php # the API's accoun
# has and the web server's container has not (SKIP there)
php tests/php/snapshots.test.php # the snapshot store (#231), the same way
php tests/php/releases.test.php # the release store (#266), the same way
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1625 editor checks, screenshots in /tmp/gm-e2e-*.png
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1629 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
+1 -1
@@ -19,4 +19,4 @@ milliseconds, the index and count ports of list and text nodes) set `NumberField
`decimals: 0` and round to whole numbers · viewport: wheel zooms in whole steps (1/8, 1/4, 1/2,
then 1 to 6, 8, 12, 16, 24 screen pixels per world pixel; see [Scene editing](Scene-editing)),
middle-drag or `Shift`+drag pans, drag on empty space rubber-bands, `Ctrl`/`Shift`-click toggles an
object in the selection (hierarchy rows too) · tilemap panel: holding `Alt` switches to Pick — a click takes that cell's tile from the active layer — and releasing it brings back the tool before ([Tilemaps](Tilemaps)) · Vector art tab: `Alt`-click a point to make it symmetric and straight again, double-click takes it away, `Esc` ends the line the Pen is drawing, `Delete` removes the selected shapes, picked on the canvas or in the list ([Vector art](Vector-Art)).
object in the selection (hierarchy rows too) · tilemap panel: holding `Alt` switches to Pick — a click takes that cell's tile from the active layer — and releasing it brings back the tool before ([Tilemaps](Tilemaps)) · Vector art tab: `Alt`-click a point to make it symmetric and straight again, `Esc` ends the line the Pen is drawing, `Delete` removes the selected shapes, picked on the canvas or in the list ([Vector art](Vector-Art)) · wherever points are edited (Curve tab, Vector art tab, a polygon collider in the scene view, a frame's collision outline in the Texture tab): a double-click on the line puts a point there, a click picks one, and with a point picked `Delete` takes that point instead of the selection; a right-click on a point opens its menu.
+8 -4
@@ -83,10 +83,14 @@ then edits the selected frame's outlines instead of the frames.
how an outline is drawn from nothing. The active one is drawn heavier; on a frame just selected it
is the last outline.
- **Ctrl+click** (Cmd+click) starts a new outline there.
- **Drag** a corner to move it, **press on an edge** to put a corner there, **double-click** a
corner to take it away. Each of these makes that outline the active one, and so does a click
inside another finished outline.
- **Delete** removes the active outline whole — in collision mode never the frame.
- **Click** a corner to pick it (drawn filled) and **drag** it to move it. The corner put down
last is picked, too.
- **Double-click an edge** to put a corner there; it is picked and stays in place until it is
pressed again. A single click on an edge only makes that outline the active one and drops the
pick, and so does a click inside another finished outline.
- **Delete** takes the picked corner away. Without a picked corner it removes the active outline
whole — in collision mode never the frame. So to remove an outline, click one of its edges first.
- A **right-click** on a corner opens a menu with **Delete point**.
Corners land on whole pixels inside the frame and are stored relative to its top-left corner, so
they move with the frame. Every step is one undo step. The outlines of all frames are always shown;
+9 -5
@@ -65,15 +65,19 @@ With **Paint** the Point menu makes way for **Handles**, see [Gradients and text
**Select** edits what is there:
- Drag a **point**, a **handle**, or the **whole shape**.
- A click **on a segment** puts a new point there. On a curved segment the curve is *split*, not
cut: both halves together draw exactly what was drawn before.
- A **double click** on a point takes it away.
- Drag a **point**, a **handle**, or the **whole shape** — by its fill or by its line.
- A **double-click on a segment** puts a new point there, picked; press it again to drag it. On a
curved segment the curve is *split*, not cut: both halves together draw exactly what was drawn
before.
- **Delete** takes the picked point away, and so does **Delete point** in the menu a
**right-click** on a point opens; the same menu sets the point's type. A ring left without a
point goes with it, a shape left without a ring too.
- **Alt** on a straight point makes it symmetric, and a point with handles straight again.
- **Ctrl+click** (Cmd on a Mac) adds a shape to the selection or takes it out again. The shapes
selected alongside show their outline; only the one clicked last shows its points and handles.
A plain click selects that one shape alone.
- **Delete** removes the selected shapes, also when they were picked in the list of the inspector.
- Without a picked point **Delete** removes the selected shapes, also when they were picked in the
list of the inspector. A click inside a shape, on its line or on another shape drops the pick.
The point pressed last — or put down last with the Pen — is **picked** and drawn filled. The
**Point** menu in the toolbar shows its type and turns it into another one, as one undo step: