Number fields for the selected point:t and v in the tab header, type a value or drag sideways on the field. Same rules as dragging: a point never overtakes its neighbours, handles stay clamped. One undo step per change. t is greyed out on the two end points.
Snap toggle in the header (the same magnet button as in Vector art): points and handles snap to a 0.05 grid in t and v.
Cursor: hovering a point or handle shows the normal arrow, not pointer. Applies to every vector tool (curve tab, Vector art, collider editing).
Preview off by default. Make the preview scrubbable:
a vertical time line through the curve point, with a knob under the t axis. Dragging it sideways sets t.
dragging the dot on the rail at the right up or down jumps to the first t where the curve has that value.
Follow-up to #247, from using the curve tab.
- **Number fields for the selected point:** `t` and `v` in the tab header, type a value or drag sideways on the field. Same rules as dragging: a point never overtakes its neighbours, handles stay clamped. One undo step per change. `t` is greyed out on the two end points.
- **Snap toggle** in the header (the same magnet button as in Vector art): points and handles snap to a 0.05 grid in `t` and `v`.
- **Cursor:** hovering a point or handle shows the normal arrow, not `pointer`. Applies to every vector tool (curve tab, Vector art, collider editing).
- **Preview off by default.** Make the preview scrubbable:
- a vertical time line through the curve point, with a knob under the t axis. Dragging it sideways sets `t`.
- dragging the dot on the rail at the right up or down jumps to the first `t` where the curve has that value.
Number fields t and v in the curve tab header show the selected point. Typing or dragging on them follows the same rules as a mouse drag (no overtaking, clamped handles), one undo step each. t is greyed out on the end points.
Magnet button (same as Vector art): points and handles snap to a 0.05 grid in t and v, when placing on free space and when dragging.
Cursor: points and handles show the default arrow in the curve tab and in Vector art. The pixel art palette dropped pointer too. Collider corners never used it.
Preview starts off. A vertical time line with a knob under the t axis sets t when dragged sideways. Dragging the dot on the rail jumps to the first t where the curve reaches that value (or the closest one if it never does). The preview does not advance while dragging.
Tests
./check.sh: 180 files, 2616 tests, CHECK EXIT 0
GM_STEPS=1,47,53: ALL PASSED, 87 checks
4 new unit tests in curve-view.test.ts, 4 new e2e checks in module 53 (53h to 53k) and 1 in module 47, all with real mouse and keyboard.
Counter-probes bite: without "first t" 1 unit test fails. With pointer, no snap, no field commit, no scrub handles or preview on by default, 5 browser checks fail. pointer in Vector art fails the new 47 check.
Not covered by a check: the cursor change on the pixel art palette.
Wiki:Curves describes the fields, the magnet and the preview. Check total in README and Development is 1477 (calculated, not counted).
Done in a5ae214.
**Behaviour**
- Number fields `t` and `v` in the curve tab header show the selected point. Typing or dragging on them follows the same rules as a mouse drag (no overtaking, clamped handles), one undo step each. `t` is greyed out on the end points.
- Magnet button (same as Vector art): points and handles snap to a 0.05 grid in `t` and `v`, when placing on free space and when dragging.
- Cursor: points and handles show the default arrow in the curve tab and in Vector art. The pixel art palette dropped `pointer` too. Collider corners never used it.
- Preview starts off. A vertical time line with a knob under the t axis sets `t` when dragged sideways. Dragging the dot on the rail jumps to the first `t` where the curve reaches that value (or the closest one if it never does). The preview does not advance while dragging.
**Tests**
- `./check.sh`: 180 files, 2616 tests, `CHECK EXIT 0`
- `GM_STEPS=1,47,53`: ALL PASSED, 87 checks
- 4 new unit tests in `curve-view.test.ts`, 4 new e2e checks in module 53 (53h to 53k) and 1 in module 47, all with real mouse and keyboard.
- Counter-probes bite: without "first t" 1 unit test fails. With `pointer`, no snap, no field commit, no scrub handles or preview on by default, 5 browser checks fail. `pointer` in Vector art fails the new 47 check.
- Not covered by a check: the cursor change on the pixel art palette.
**Wiki:** [Curves](https://git.nockal.com/meleki/game-maker/wiki/Curves) describes the fields, the magnet and the preview. Check total in README and *Development* is 1477 (calculated, not counted).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Follow-up to #247, from using the curve tab.
tandvin the tab header, type a value or drag sideways on the field. Same rules as dragging: a point never overtakes its neighbours, handles stay clamped. One undo step per change.tis greyed out on the two end points.tandv.pointer. Applies to every vector tool (curve tab, Vector art, collider editing).t.twhere the curve has that value.Done in
a5ae214.Behaviour
tandvin the curve tab header show the selected point. Typing or dragging on them follows the same rules as a mouse drag (no overtaking, clamped handles), one undo step each.tis greyed out on the end points.tandv, when placing on free space and when dragging.pointertoo. Collider corners never used it.twhen dragged sideways. Dragging the dot on the rail jumps to the firsttwhere the curve reaches that value (or the closest one if it never does). The preview does not advance while dragging.Tests
./check.sh: 180 files, 2616 tests,CHECK EXIT 0GM_STEPS=1,47,53: ALL PASSED, 87 checkscurve-view.test.ts, 4 new e2e checks in module 53 (53h to 53k) and 1 in module 47, all with real mouse and keyboard.pointer, no snap, no field commit, no scrub handles or preview on by default, 5 browser checks fail.pointerin Vector art fails the new 47 check.Wiki: Curves describes the fields, the magnet and the preview. Check total in README and Development is 1477 (calculated, not counted).