Canvas · Tools: select, move and snap, resize, draw, pen, text, brush
ToolLayer lies over an InfiniteCanvas and carries its tools. Select takes the topmost shape a press reaches, Shift adds or drops one, a drag moves the selection and snaps its nearest edge or middle to another shape's within reach, a handle resizes it, Shift keeping a corner's shape, and a drag on empty space draws a SelectionBox that takes what lies wholly inside. The shape tools draw by a drag toward any corner, Shift keeping them square; the pen adds a point per press and a double press ends the path; text drops a line where pressed; the brush strokes a path its width. A drag may end in the layer or out of it; each gesture ends once and asks the owner. SelectionBox, TransformHandles and SnapIndicator draw the marks. ToolPalette picks a tool from icons named in tips; BrushSettings sets a brush's width and hue; HistoryPanel lists the steps done, the undone ones quiet, and takes the drawing to a step on Enter or a double press. The model changes: lines and arrows end at a named corner, so they run either way, and paths carry their width. Three Lucide icons: hexagon, slash and move-up-right. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ea99d30e3b
commit
49a205ea35
20 files changed
+1812
-34
No files matched your search
@@ -115,7 +115,7 @@ Per-component lines live in `tasks/`. Tags there:
|
||||
- [x] T31b Project · Issues and boards
|
||||
- [x] T31c Project · Plans
|
||||
- [x] T31d Project · Time and databases
|
||||
- [ ] T32a Canvas · Plane — `tasks/ch31-43.md`
|
||||
- [x] T32a Canvas · Plane — `tasks/ch31-43.md`
|
||||
- [ ] T32b Canvas · Tools
|
||||
- [ ] T32c Canvas · Panels
|
||||
- [ ] T32d Canvas · Graphs and boards
|
||||
@@ -374,3 +374,4 @@ Per-component lines live in `tasks/`. Tags there:
|
||||
| T31d | 1 | FAIL | a focused segment past the strip's fold stayed hidden; the tracker lost focus as Start and Stop swapped; Stop and Skip went untested; percent did not refuse content |
|
||||
| T31d | 2 | PASS | |
|
||||
| T32a | 1 | FAIL | the plain wheel panned against every scroll box; the handlers panned from the render's viewport, so events within a frame overwrote each other; the fit's cap at one went untested |
|
||||
| T32a | 2 | PASS | |
|
||||
Reference in new issue
Block a user