vectorcraft/crates/tools/src
bflatastic 253249717b Pen and anchors: Alt edits one handle, cut and convert selected anchors from the Control bar
Discord feedback: Alt with the Pen didn't move a direction handle on its own, and there was no
way to break a path at an anchor and pull the ends apart.

- Pen: Alt held over a handle end or an anchor of a selected path (the one being drawn too) hands
  the gesture to the Anchor Point tool, with the convert cursor: dragging a handle moves it alone,
  clicking a smooth anchor makes it a corner, dragging an anchor pulls out symmetric handles.
  Drawing goes on afterwards. Handles hidden by a partial anchor selection aren't grabbed.
- path.cutAtAnchors cuts at the direct-selected anchors in one undo step: a closed path opens
  there, an open one becomes one path per piece, and one anchor of each cut stays selected so a
  drag pulls the path apart. It answers {ids} and refuses (no undo step) when only open ends are
  selected. path.convertAnchors checks `to`, skips stale anchor refs instead of indexing past
  them, and keeps a smooth anchor's handles when converting to smooth.
- SubPath::cut_at and SubPath::smooth_anchor (geom) now back path.split, path.cutAtAnchors,
  path.convertAnchor and path.convertAnchors, replacing three copies of that logic.
- Control bar and Properties panel: "Convert:" corner/smooth and "Anchors:" remove, connect
  (Join), cut buttons when anchors are selected; Cut Path on the task bar and the context menu.
  New original icon dc-anchor-smooth.svg (ASSETS.md row).
- ja, zh-hans, zh-hant and es strings (cs for the context menu item), es @msg rows; docs/mcp.md
  section; ROADMAP.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:16:12 +07:00
..
distort Fix #321: the perspective grid hides while a perspective tool is chosen 2026-10-08 03:27:36 +07:00
draw2 Pen and anchors: Alt edits one handle, cut and convert selected anchors from the Control bar 2026-10-08 17:16:12 +07:00
xform Smart Guides: "align" also on a handle already in line, Free Transform's move offset and slice readouts follow Measurement Labels (review of #453) 2026-10-08 15:46:15 +07:00
bbox.rs Rename DrawCraft → VectorCraft: crates (vectorcraft-*), apps, binaries, types, env vars, docs, examples (.vectorcraft); old .drawcraft files and preferences still load. Fix: text bounds exact after opening a file; selection no longer marks a document modified (dirty = content differs from the saved document). Screenshots and renders regenerated. 2026-10-01 14:30:09 -04:00
builder.rs Fix #439: Shape Builder erase mode deletes edges, shows what will go and follows Alt live 2026-10-08 13:37:35 +07:00
catalog.rs Fix #122: Mirror & Cut, Line Cut and Rectangle Cut tools 2026-10-06 00:42:26 +07:00
corners.rs Fix #442: alike circular corners on rectangles that aren't square 2026-10-08 14:34:37 +07:00
cut.rs Fix #122: Mirror & Cut, Line Cut and Rectangle Cut tools 2026-10-06 00:42:26 +07:00
direct.rs Part of #451: guides dragged out of the rulers snap, artboard guides 2026-10-08 15:23:18 +07:00
distort.rs M8.14: Type and symbols in perspective are really projected and stay editable; attachments survive copies 2026-10-06 12:10:00 +07:00
draw2.rs Pen and anchors: Alt edits one handle, cut and convert selected anchors from the Control bar 2026-10-08 17:16:12 +07:00
extra.rs M2.9: Shaper tool — rough rectangles, ellipses, triangles/polygons/diamonds and lines become clean live shapes (geom::recognize), squares/circles snap; a scribble deletes the objects it crosses 2026-10-02 09:10:44 -04:00
guides.rs Smart Guides: "align" also on a handle already in line, Free Transform's move offset and slice readouts follow Measurement Labels (review of #453) 2026-10-08 15:46:15 +07:00
lib.rs Pen and anchors: Alt edits one handle, cut and convert selected anchors from the Control bar 2026-10-08 17:16:12 +07:00
meshblend.rs M8.17: Edit envelopes on the canvas: Edit Contents, mesh points and handles, Control bar 2026-10-06 12:16:59 +07:00
meshedit.rs M8.17: Edit envelopes on the canvas: Edit Contents, mesh points and handles, Control bar 2026-10-06 12:16:59 +07:00
params.rs M3.98: radial annotator extent ellipse, aspect handle and off-centre focal point 2026-10-05 04:43:43 +07:00
pathtype.rs Fix #429: Type on a path brackets, flip and Type on a Path Options that keep the type in place 2026-10-08 12:50:25 +07:00
pen.rs Pen and anchors: Alt edits one handle, cut and convert selected anchors from the Control bar 2026-10-08 17:16:12 +07:00
place.rs M4.25: Drop files on the canvas to place them; several placed files load the place cursor 2026-10-05 08:42:30 +07:00
printtiling.rs M4.80: Print Tiling tool and View > Show Print Tiling 2026-10-05 17:26:59 +07:00
rulerguide.rs Smart Guides: "align" also on a handle already in line, Free Transform's move offset and slice readouts follow Measurement Labels (review of #453) 2026-10-08 15:46:15 +07:00
select.rs Type: the point/area type widget converts between them; area type made by dragging resizes 2026-10-08 16:54:12 +07:00
settings.rs M8.3: Liquify Tool Options dialogs, pen pressure and Brush Affects 2026-10-06 10:50:16 +07:00
shape.rs Part of #394: Smart Guides display options and Snapping Tolerance 2026-10-08 15:46:15 +07:00
slice.rs Smart Guides: "align" also on a handle already in line, Free Transform's move offset and slice readouts follow Measurement Labels (review of #453) 2026-10-08 15:46:15 +07:00
symbolism.rs Rename DrawCraft → VectorCraft: crates (vectorcraft-*), apps, binaries, types, env vars, docs, examples (.vectorcraft); old .drawcraft files and preferences still load. Fix: text bounds exact after opening a file; selection no longer marks a document modified (dirty = content differs from the saved document). Screenshots and renders regenerated. 2026-10-01 14:30:09 -04:00
text.rs Part of #394: Preferences for snapping, handles, rubber bands, pattern tiles, tints and type 2026-10-08 09:43:12 +07:00
text_tests.rs Type: Hebrew and Arabic text laid out right to left (bidi), aligned by its direction 2026-10-08 05:24:44 +07:00
typewidget.rs Type: the point/area type widget converts between them; area type made by dragging resizes 2026-10-08 16:54:12 +07:00
xform.rs M14.5: Preferences > Units drive every length the UI shows and reads 2026-10-05 07:43:41 +07:00