openpencil/crates
Kayshen-X bfbe3b161d feat(canvas): render ellipse arcs / pie / donut sectors
Ellipse nodes with authored arc geometry (`start_angle` /
`sweep_angle` / `inner_radius`) were always painted as a full oval —
the arc fields never reached the painter.

- NodePayload + SceneNode gain `arc_start_angle` / `arc_sweep_angle`
  / `arc_inner_radius`; threaded through `ellipse_to_payload` and
  `node_payload_to_scene`.
- canvas_viewport_paint: new `arc_polygon` tessellator (pie wedge =
  centre + outer arc; donut sector = outer arc + reversed inner arc)
  + `paint_ellipse` — full oval when no arc is authored, otherwise a
  filled/stroked polygon. A 360° sweep with no donut hole still
  short-circuits to the plain oval path.

Prep for the arc canvas drag-handle UI. op-editor-ui 143 /
op-pen-loader 21 / op-host-desktop 64 tests green.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-17 17:10:50 +08:00
..
op-ai feat: close six TS-parity gaps in the Rust shell 2026-05-17 13:03:11 +08:00
op-app refactor(rust): add op-app composition-root crate 2026-05-16 23:57:03 +08:00
op-cli feat: close six TS-parity gaps in the Rust shell 2026-05-17 13:03:11 +08:00
op-codegen fix: clear clippy -D warnings across the workspace 2026-05-17 01:26:29 +08:00
op-editor-core feat(panels): shadow/blur parameter steppers in the Effects section 2026-05-17 14:38:26 +08:00
op-editor-ui feat(canvas): render ellipse arcs / pie / donut sectors 2026-05-17 17:10:50 +08:00
op-figma fix(figma): codex review round 2 — pre-validation allocation guards 2026-05-17 16:43:44 +08:00
op-host-desktop feat(editor): add node-effect add/remove commands + MCP tools 2026-05-17 13:48:31 +08:00
op-host-native feat(panels): shadow/blur parameter steppers in the Effects section 2026-05-17 14:38:26 +08:00
op-host-web feat(panels): shadow/blur parameter steppers in the Effects section 2026-05-17 14:38:26 +08:00
op-i18n style: apply cargo fmt across the workspace 2026-05-17 00:26:15 +08:00
op-mcp feat(editor): add node-effect add/remove commands + MCP tools 2026-05-17 13:48:31 +08:00
op-pen-loader feat(canvas): render ellipse arcs / pie / donut sectors 2026-05-17 17:10:50 +08:00
wasm-libc-shim fix: clear clippy -D warnings across the workspace 2026-05-17 01:26:29 +08:00
CLAUDE.md docs: fix stale i18n + renderer paths flagged by Codex review 2026-05-16 15:45:54 +08:00