diff --git a/Colliders.md b/Colliders.md index 6a2b239..5626bbf 100644 --- a/Colliders.md +++ b/Colliders.md @@ -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. diff --git a/Curves.md b/Curves.md index f7d11a2..ce41c7b 100644 --- a/Curves.md +++ b/Curves.md @@ -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* diff --git a/Development.md b/Development.md index 2fae18e..9d4df1d 100644 --- a/Development.md +++ b/Development.md @@ -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 diff --git a/Keyboard.md b/Keyboard.md index 274c1ff..c905e6c 100644 --- a/Keyboard.md +++ b/Keyboard.md @@ -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. diff --git a/Textures.md b/Textures.md index 3edae7d..1630940 100644 --- a/Textures.md +++ b/Textures.md @@ -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; diff --git a/Vector-Art.md b/Vector-Art.md index 4e97a64..1e6c87f 100644 --- a/Vector-Art.md +++ b/Vector-Art.md @@ -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: