From e79f3cbfbbe0fd72a923fad6bb54ec391555a94b Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 28 Sep 2026 08:42:44 +0300 Subject: [PATCH] docs: Esc and the tray's Reset finish an open Walls chain MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UX-MODES.md and TOUCH-SUPPORT.md said Reset (and, by omission, Esc) do not finish an open Walls chain. The code finishes it on both (houseplan-card.ts Escape handler, the tray's btn.reset), as does WALL-THICKNESS.md §11 "Finishing a chain". Both documents now list the same finish actions and point to §11; re-selecting Walls, pan, pinch, a second pointer and pointer cancellation stay non-finish actions. Issue: #684 User-Visible: no Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd --- docs/TOUCH-SUPPORT.md | 9 ++++++--- docs/UX-MODES.md | 17 ++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/docs/TOUCH-SUPPORT.md b/docs/TOUCH-SUPPORT.md index 02ef347f..0bd9fba1 100644 --- a/docs/TOUCH-SUPPORT.md +++ b/docs/TOUCH-SUPPORT.md @@ -151,9 +151,12 @@ safety guarantee, not a promise of full touch parity for editor precision work. The Plan editor's Walls chain follows the same floor. One clean tap may append one segment; pan, pinch, a second pointer, `pointercancel` and a suppressed -synthetic click never append, finish or convert the chain. Only an explicit -tool/editor/floor change finishes an open chain as ordinary walls. Junction -hover is best effort on coarse pointers; click resolution remains authoritative. +synthetic click never append, finish or convert the chain. An open chain +finishes as ordinary walls only through an explicit finish action: a +tool/editor/floor change, `Esc`, the tray's Reset, route/hash departure or +rejecting every closed face (docs/WALL-THICKNESS.md §11, Finishing a chain). +Junction hover is best effort on coarse pointers; click resolution remains +authoritative. With no active chain, a clean tap inside an exact bounded wall face may offer a room without drawing another segment; the tap is resolved again at commit time. Desktop `Shift` bypasses that offer and constrains drawing to an exact 45° ray; diff --git a/docs/UX-MODES.md b/docs/UX-MODES.md index 08475b2e..67eb1624 100644 --- a/docs/UX-MODES.md +++ b/docs/UX-MODES.md @@ -175,10 +175,12 @@ tabs, the editor-close reserve, zoom and one gear whose menu holds the rest. - Independent partitions and columns are masonry for hit testing as well as area/light: room hover stops at their physical bodies just as it stops at a thick room wall. This does not split the room or change its HA area. -- Changing Plan tool, editor or floor finishes an open Walls chain as ordinary - partitions. Closing one or more planar faces opens the room queue; its - decisions are buffered and applied as one Undo/Redo transaction. Re-selecting - Walls, Reset, pan, pinch and pointer cancellation are not finish actions. +- Changing Plan tool, editor or floor, `Esc`, the tray's Reset and route/hash + departure finish an open Walls chain as ordinary partitions + (docs/WALL-THICKNESS.md §11, Finishing a chain). Closing one or more planar + faces opens the room queue; its decisions are buffered and applied as one + Undo/Redo transaction. Re-selecting Walls, pan, pinch and pointer + cancellation are not finish actions. - Opening places every existing opening type on a room wall or a finished independent Walls segment. A hosted opening moves with that segment; deleting the segment requires an explicit cascade confirmation. Its physical gap does @@ -265,9 +267,10 @@ layer you cannot see is a layer you cannot edit. ## Plan — independent physical objects - **Walls** draws one continuous crash-safe chain. Newly closed planar faces - may become rooms; changing tool/editor/floor finishes an open chain as - independent wall objects. A click on another saved draft endpoint may join - it, while branching from the middle of a saved draft is unsupported. + may become rooms; changing tool/editor/floor, `Esc` or the tray's Reset + finishes an open chain as independent wall objects. A click on another saved + draft endpoint may join it, while branching from the middle of a saved draft + is unsupported. - Finished independent walls remain selectable physical objects. **Column** places a square column whose side is the current Thickness value. Neither an independent wall nor a column creates a room or HA area by itself. A closed