feat(ui): complete retail item drop branches
Give retained buttons a reusable item-drop seam, wire the toolbar backpack target, and port retail stack-merge legality, capacity clamping, wire dispatch, destination selection, and immediate shortcut rekey notice. Record the live ACE merge gate and keep split quantity under AP-101. Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
parent
3281e0acb4
commit
dc1649c493
19 changed files with 479 additions and 28 deletions
|
|
@ -471,7 +471,7 @@ same slot after a clean reconnect.
|
|||
|
||||
### 4.3 Port every drag/drop branch
|
||||
|
||||
- [ ] Add a pure `ShortcutDropPlanner` keyed by source kind: toolbar reorder,
|
||||
- [x] Add a pure `ShortcutDropPlanner` keyed by source kind: toolbar reorder,
|
||||
inventory fresh add, occupied target, inventory-button target,
|
||||
off-bar removal, and full-stack merge replacement.
|
||||
- [x] For an inventory-to-occupied-slot drop, place the displaced shortcut at
|
||||
|
|
@ -479,7 +479,7 @@ same slot after a clean reconnect.
|
|||
- [x] Validate the complete mutation before changing state, apply it atomically, and
|
||||
emit exact Remove/Add wire ordering. Use pending/confirm/rollback only where the
|
||||
protocol actually exposes rejection; never leave a partially mutated bar.
|
||||
- [ ] On full-stack merge, rekey every matching object shortcut and preserve the
|
||||
- [x] On full-stack merge, rekey the matching object shortcut and preserve the
|
||||
non-object fields of its raw `ShortCutData` entry.
|
||||
|
||||
**Wave 4.3 partial implementation (2026-07-11):** drag-over feedback is now an
|
||||
|
|
@ -499,9 +499,18 @@ records, exact wire order, and raw full-stack rekeying have conformance fixtures
|
|||
`ToolbarController` applies the validated local transaction atomically, then emits
|
||||
its ordered Remove/Add events. AP-102 is retired; 4,646 tests pass. The live
|
||||
inventory-to-occupied displacement plus toolbar-reorder gate passed 2026-07-11.
|
||||
Inventory-button placement and
|
||||
the upstream full-stack-merge notice owner remain part of the unchecked umbrella
|
||||
items above rather than being implied complete by this slice.
|
||||
Wave 4.3c completes the umbrella: retained buttons can own item-drop callbacks;
|
||||
the toolbar inventory button uses retail's fresh-item gate and exact green-arrow
|
||||
overlay, while aliases stay neutral. Inventory now tries the pure named-retail
|
||||
stack-merge legality/amount planner before ordinary insertion, sends `0x0054`,
|
||||
broadcasts `FullMergingItem` immediately from the attempt owner, rekeys the toolbar
|
||||
with existing-destination removal, and selects the target. The notice is not a
|
||||
server confirmation despite its name. AP-101 still covers the absent shared split
|
||||
entry/slider; until it lands, merge requests use the whole source stack before the
|
||||
retail destination-capacity clamp. Release build is warning-free and 4,660 tests
|
||||
pass. The compatible-stack live gate passed 2026-07-11; it exposed the expected
|
||||
Wave 4.4/AP-101 gap that the selected strip still displays one instead of the
|
||||
stack count and has no split slider. The inventory-button live gate remains pending.
|
||||
|
||||
### 4.4 Finish toolbar controls
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue