- splitRoomPath in logic.ts: wall-to-wall polyline cut with interior
vertices; validates wall crossings, self-intersection, degenerate
parts; splitRoom delegates (2-point path); +3 unit tests (93 total)
- split UI: interior clicks add snapped intermediate points, live
polyline + vertices + preview; new/updated toasts
- cursors: pointer for merge/delroom and split room-pick stage,
crosshair while cutting (stage tool-* classes)
- Esc: split — drop last point, then room pick, then back to draw;
merge — clear selection, then back to draw
- smoke_split_polyline.mjs (14 checks); TESTING/CHANGELOG same-commit