feat(ui): drive toolbar use state from selection

Port the retail selected-object availability predicate into Core and project it through the shared interaction owner. The imported hand now follows canonical selection/object notices, keeps weapon and targeted-tool activation on the existing wield/use cursor paths, and ghosts empty or explicitly unusable selections per the connected UX requirement.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-23 08:07:47 +02:00
parent 0134122c28
commit 60387668d0
11 changed files with 269 additions and 16 deletions

View file

@ -12,14 +12,14 @@ The active work order is
It closes six remaining retail interaction surfaces before larger M4 subsystem
bodies begin: spell-bar overflow controls, status-bar Use/Assess commands,
assessment information, equipped-child picking, vendor browsing, and
server-authoritative vendor transactions. Slice 1 is active and ports the
DAT-authored arrow-only favorite-spell scrollbar through the shared retained
scrollbar/list model. The corrected import preserves authored arrow sides and
rollover/pressed media, passive refresh preserves manual offsets, and the
mixed-parent DAT anchor chain produces the fixed retail capacity of 18 visible
favorite cells (nine numbered plus nine unnumbered). Its
implementation and complete Release suite pass; connected overflow-arrow
visual acceptance is pending.
server-authoritative vendor transactions. Slice 1's DAT-authored arrow-only
favorite-spell scrollbar, fixed 18-cell capacity, authored arrow sides/media,
and persistent manual offset passed the connected gate. Slice 2 is active: the
status hand now follows canonical selection/object notices, ghosts empty and
unusable selections, and routes enabled weapons, direct-use items, and
use-on-target tools through the existing interaction transaction and cursor
owners. Its connected hand-state gate is pending; the magnifying-glass Assess
command follows in the same slice.
---