openpencil/crates
Kayshen-X 25e9739e57 fix(canvas): codex review round 4 — arc clamp, path hit-test, drag cleanup
Addresses the remaining round-4 codex findings (the `short_src`
byte-slice panic + the arc-handle reverse-iteration fixes already
landed via an earlier sweep).

- `cmd_set_ellipse_arc` clamps `sweep_angle` to ±360° — an API /
  MCP sweep beyond a full turn just over-draws; it now persists a
  sane single-revolution value.
- Path hit-test (`point_in_node`) follows the flattened, bezier-
  aware outline instead of the bounding box: a curved or thin path
  no longer selects empty bbox space, a zero-height stroked path
  stays clickable, and a filled closed path is hittable across its
  interior (new `point_in_polygon` even-odd test).
- The viewport-less `apply_release` now commits / clears
  `path_anchor_drag` + `arc_handle_drag` (parity with
  `apply_release_with_viewport`) so a drag can't leak across that
  release path.

op-editor-core 242 / op-editor-ui 157 / op-host-native 21 tests green.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-17 23:00:56 +08:00
..
op-acp style: apply rustfmt across the AI-subsystem crates 2026-05-17 22:50:27 +08:00
op-ai feat(ai): chat image attachments + per-provider thinking/effort 2026-05-17 22:44:28 +08:00
op-ai-skills style: apply rustfmt across the AI-subsystem crates 2026-05-17 22:50:27 +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 fix(canvas): codex review round 4 — arc clamp, path hit-test, drag cleanup 2026-05-17 23:00:56 +08:00
op-editor-ui fix(canvas): codex review round 4 — arc clamp, path hit-test, drag cleanup 2026-05-17 23:00:56 +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 style: apply rustfmt across the AI-subsystem crates 2026-05-17 22:50:27 +08:00
op-host-native fix(canvas): codex review round 4 — arc clamp, path hit-test, drag cleanup 2026-05-17 23:00:56 +08:00
op-host-web feat(ai): chat image attachments + per-provider thinking/effort 2026-05-17 22:44:28 +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 style: apply rustfmt across the AI-subsystem crates 2026-05-17 22:50:27 +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