feat(draw): answer the Draw controls through the display store

The draw tool no longer looks up or listens on its controls. It connects
toggleDraw, setDrawShape, setDrawColor, setDrawLabel and clearDraw to the
display store, which now holds several owners and lets the newest owner
of an action answer it, and it publishes the colour and label beside the
shape, state and hint. The Draw panel renders the shape choice with
UiSegmented and binds the label and colour to what the tool publishes.

The label field's own Enter listener goes: the session's capture-phase
key handler already finishes the shape from that field.
This commit is contained in:
Sameh Khamis committed 2026-11-01 10:10:27 -08:00
1 parent 3c3f8e3e67
commit a6e85db8be
10 files changed
+283 -134

No files matched your search

+3 -1
View File
@@ -49,7 +49,9 @@
- `./ui/display`'s `bindDisplayControls` is gone: the Display panel's
controls and the dock's style buttons call their owner through the display
store's `connect`/`act`, and its allocation and 3D model choices are the
kit's `UiSegmented`. `syncScopeControls` (`./ui/display`) and
kit's `UiSegmented`. `initDrawTool` takes `connect(actions)`, which returns
their disconnect, and no longer listens on the Draw controls; its view
publishes `color` and `label` too, and the shape choice is a `UiSegmented`. `syncScopeControls` (`./ui/display`) and
`shouldHideCollapsedRightPanels` (`./ui/layout`) are deprecated: the Display
view and the rail now own what they did. `./ui/input` imports Vue
(samehkhamis).