openpencil/crates
Kayshen-X 79b51573dd feat(editor): pen anchor bezier-handle data model + setters
Stage 1 of pen bezier-handle editing — the data + command layer.

- op-editor-core: `EditorState::set_path_anchor_handle` (set / clear
  an anchor's in/out handle; a `Mirrored` anchor keeps both handles
  collinear) + `set_path_anchor_point_type` (switching to `Mirrored`
  snaps the handles collinear). New `PathHandleSide` enum.
- op-pen-loader: `AnchorPayload` (absolute-coord anchor + resolved
  handles + point-type code) on `NodePayload.path_anchors`;
  `absolutize_path_anchors` now resolves the schema's anchor-relative
  handle deltas into the same absolute frame as `points`.
- op-editor-ui: `SceneAnchor` + `ScenePointType` on
  `SceneNode.path_anchors` so the painter + host can read the
  editable handles.

op-editor-core 234 / op-pen-loader 21 / op-editor-ui 145 tests green
(+3 handle-setter units).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-17 17:33:44 +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(editor): pen anchor bezier-handle data model + setters 2026-05-17 17:33:44 +08:00
op-editor-ui feat(editor): pen anchor bezier-handle data model + setters 2026-05-17 17:33:44 +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(canvas): ellipse arc drag handles 2026-05-17 17:26:37 +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(editor): pen anchor bezier-handle data model + setters 2026-05-17 17:33:44 +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