openpencil/crates
Kayshen-X 576c2fe4e1 fix(shell): pen-tool undo restores pre-pen state
`start_pen_path` was pushing the new Path node onto the page first
and only then calling `snapshot_for_history()` — the snapshot ended
up including the new node, so a subsequent undo restored "node
already present" and the path stayed on screen.

Take the snapshot before any mutation; finish_pen_path still
gates the push on `anchor_count >= 2` so single-anchor paths
don't pollute the undo stack.
2026-05-12 21:32:07 +08:00
..
openpencil-app feat(openpencil-app): skeleton crate (Stage F entry placeholder) 2026-05-03 22:05:00 +08:00
openpencil-desktop feat(shell): editor v0.8.0 batch — layer panel, pen, color picker, brand icons, settings modal, corner radius, perf 2026-05-12 21:26:27 +08:00
openpencil-shell-core fix(shell): pen-tool undo restores pre-pen state 2026-05-12 21:32:07 +08:00
openpencil-shell-native feat(shell): editor v0.8.0 batch — layer panel, pen, color picker, brand icons, settings modal, corner radius, perf 2026-05-12 21:26:27 +08:00
openpencil-shell-web feat(shell): editor v0.8.0 batch — layer panel, pen, color picker, brand icons, settings modal, corner radius, perf 2026-05-12 21:26:27 +08:00
pen-codegen chore(workspace): cargo-deny 0.18 activation (Phase 1 Task 1.8 Step 6) 2026-05-03 23:05:00 +08:00
pen-core chore(workspace): cargo-deny 0.18 activation (Phase 1 Task 1.8 Step 6) 2026-05-03 23:05:00 +08:00
pen-engine chore(workspace): cargo-deny 0.18 activation (Phase 1 Task 1.8 Step 6) 2026-05-03 23:05:00 +08:00
pen-figma chore(workspace): cargo-deny 0.18 activation (Phase 1 Task 1.8 Step 6) 2026-05-03 23:05:00 +08:00
pen-types feat(pen-types): skeleton crate (bucket A) 2026-05-03 22:35:00 +08:00
wasm-libc-shim style(shell): cargo fmt --all (rustfmt-clean) 2026-05-10 18:47:33 +08:00
CLAUDE.md docs(shell): note document.rs directory split in crates/CLAUDE.md 2026-05-11 21:42:44 +08:00