figcraft/crates
BFlat 8dff0089e5
M4: vector edit transform box and point snapping (#64)
- Transform box around 2+ selected points (Move tool): corners/edges scale
  them (Shift keeps proportions, Alt from the centre), just outside a corner
  rotates them (Shift: 15° steps, the box turns with them), dragging inside
  moves them; one undo step each. Corners win over points, points over edges,
  edges over segments.
- Commands: vector.edit.bounds, vector.edit.resize, vector.edit.rotate,
  vector.edit.transform; object.flipH/V and the 90°/180° rotations act on the
  selected points while editing (unless ids are given).
- Design panel in edit mode: W/H for the selected points next to X/Y (the
  layer's dimensions are hidden while points are selected).
- Point snapping for dragged points and handles and both pens: points and
  segment midpoints of this and other vectors, the usual layer targets and
  the pixel grid, with guides and a marker on the point landed on; Ctrl/Cmd
  turns object snapping off. Snap code generalised in snap.rs (Targets spans).
- Fix: handle/bend drags read positions in the gesture snapshot's coordinates,
  so handles no longer lag when the preview re-fits the vector.
- Shared resize math (tools::resized_box) and handle hit-testing for layer
  and point boxes; canvas draws both boxes through one helper.
- Tests in vectoredit/transform_tests.rs (incl. junk sweep for the
  edit-aware commands).

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 10:44:12 +07:00
..
color M3: paint: colour profiles (Display P3), image adjustment presets, style picker (#54) 2026-10-10 07:38:17 +07:00
doc M8: 50k-layer zoomed-out renders and faster save/load (#63) 2026-10-10 10:27:51 +07:00
engine M4: vector edit transform box and point snapping (#64) 2026-10-10 10:44:12 +07:00
format M8: 50k-layer zoomed-out renders and faster save/load (#63) 2026-10-10 10:27:51 +07:00
geom M0.1-M0.3: workspace, licences, geom/color/doc crates 2026-10-09 12:01:57 -04:00
layout M2: auto layout nesting: one-pass nested hug/fill, coherent sizing, drag across nested frames (#45) 2026-10-10 06:41:11 +07:00
mcp M6: REST import of prototypes and variables; export panel polish (#42) 2026-10-10 06:17:54 +07:00
pathops M4: variable width strokes (#58) 2026-10-10 10:12:21 +07:00
pdf M3: paint: colour profiles (Display P3), image adjustment presets, style picker (#54) 2026-10-10 07:38:17 +07:00
render M8: 50k-layer zoomed-out renders and faster save/load (#63) 2026-10-10 10:27:51 +07:00
svg M0.9: MCP server + figcraft-cli, PDF export, web app, release/CI packaging, vector edit mode, workspace lint cleanup 2026-10-09 13:31:53 -04:00
text M4: arrow keys move visually through right-to-left text (#44) 2026-10-10 06:26:26 +07:00
ui-egui M4: vector edit transform box and point snapping (#64) 2026-10-10 10:44:12 +07:00