openpencil/crates/openpencil-shell-web
Kayshen-X b11f064e79 fix(shell): defensive commit_layer_drag source-validity guard
Final codex re-review CONCERN: `commit_layer_drag` was relying on
`Document::reorder_before/after`'s own source-existence check to
no-op on a deleted source. Per codex: the commit path should bail
explicitly for symmetry with the existing cursor_move + paint
guards. Added the same `active_page().find(source).is_none()`
check on both native (`widget_host/input.rs`) and web
(`widget_host.rs`) at the top of `commit_layer_drag`, right after
the `!d.active` early-out.

No behavior change in the safe path (reorder still happens), but
short-circuits the drop_target_at + dispatch when the source is
gone.
2026-05-12 02:21:59 +08:00
..
assets feat(shell): step 4-6 chrome — TS-equivalent editor UI + interactions 2026-05-10 17:07:59 +08:00
smoke feat(shell): switch openpencil-shell-web to wasm32-unknown-unknown C-hard pipeline 2026-05-09 21:08:00 +08:00
src fix(shell): defensive commit_layer_drag source-validity guard 2026-05-12 02:21:59 +08:00
tests style(shell): cargo fmt --all (rustfmt-clean) 2026-05-10 18:47:33 +08:00
.gitignore feat(shell): switch openpencil-shell-web to wasm32-unknown-unknown C-hard pipeline 2026-05-09 21:08:00 +08:00
Cargo.toml fix(shell-web): Step 3 stop-hook — actually render canvas text 2026-05-10 12:38:33 +08:00