mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
Corner widgets only ever showed on live rectangles: CornerWidgets::of bailed out unless the selection's live shape was LiveShape::Rectangle, and object.setLiveShape only edited rectangle radii. A star is a plain path, so it had no widgets with either selection tool. - geom::corners: the corners of any path (anchors without handles between two straight sides) and the path with them cut round, inverted round or chamfered, each corner a circle tangent to both sides, its radius no larger than takes the cut halfway along its shorter side. Rectangles now cut their corners with it (bit-identical anchors and layout). - doc::corners::LiveCorners/set_corners: one model for a live rectangle's, a live polygon's (new radii/kinds) and any other path's corners (new LiveShape::Path keeping the uncut outline, plain again once nothing is cut); radii scale with transforms (Scale Corners) and stay circular. - object.setLiveShape takes anchor indices for `corners` on any path; polygons keep a shared radius as their sides change. - Widgets: Direct Selection on any path, Selection on live rectangles and polygons; placed on each corner's bisector, the drag follows it, the red limit outline marks corners at their own limit; the angle preference and View > Hide Corner Widget apply. Corners dialog and the Properties and Transform panels' Corner Radius (now on polygons too) work on them. - Tests for the star, the polygon and a pen path in geom, doc, tools, engine and ui-egui; docs and ROADMAP. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>