Adds the canvas drag handles that author an ellipse arc — start angle, sweep (end) angle, and the donut inner-radius. - op-editor-ui: `ArcHandle` enum + `arc_handle_positions` (doc-space positions of the 3 handles for an Ellipse scene node), re-exported from `widgets`. The canvas overlay paints them as filled primary-tinted dots for a single-selected Ellipse with the Select tool. - op-host-native: `ArcHandleDragState` + `arc_handle_hit` (checked before the resize handles since the sweep grip can overlap the right-mid resize handle). Press starts the drag with a history snapshot; each move recomputes start/sweep/inner from the cursor via `arc_drag_command` and re-applies `SetEllipseArc` (no-history apply); release commits the snapshot only when the arc changed. Dragging the start handle keeps the end fixed; a sweep collapsing to 0 snaps to a full 360° circle. op-editor-ui 145 / op-host-native 64 / op-host-desktop 21 tests green (+2 arc-handle-position units). 🤖 Generated with [Claude Code](https://claude.com/claude-code) |
||
|---|---|---|
| .. | ||
| examples | ||
| notes | ||
| src | ||
| tests | ||
| Cargo.toml | ||