fix(ui): select and examine favorite spells like retail
This commit is contained in:
parent
043ab10b3c
commit
3e31b0ac70
23 changed files with 974 additions and 34 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# acdream — strategic roadmap
|
||||
|
||||
**Status:** Living document. Updated 2026-07-23. **M3 landed; M4 is active.** M3's retail casting/UI, R6 locomotion/collision/projectile/teleport/radar rebaseline, deterministic fresh-login/portal world lifecycle, and final two-client portal observer flow are user-gated. All eight slices of the behavior-preserving ownership campaign in [`docs/architecture/code-structure.md`](../architecture/code-structure.md), their automated closeout, and the user's connected visual matrix are complete. Issue #225's lifestone/particle alpha comparison remains a separate rendering visual gate.
|
||||
**Status:** Living document. Updated 2026-07-24. **M3 landed; M4 is active.** M3's retail casting/UI, R6 locomotion/collision/projectile/teleport/radar rebaseline, deterministic fresh-login/portal world lifecycle, and final two-client portal observer flow are user-gated. All eight slices of the behavior-preserving ownership campaign in [`docs/architecture/code-structure.md`](../architecture/code-structure.md), their automated closeout, and the user's connected visual matrix are complete. Issue #225's lifestone/particle alpha comparison remains a separate rendering visual gate.
|
||||
**Purpose:** One source of truth for where the project is and where it's going. Every observed defect or missing feature has a named phase that owns it; when something looks wrong in-game, look here to find the phase that'll address it. Implementation details live in per-phase specs under `docs/superpowers/specs/`, not in this file.
|
||||
|
||||
---
|
||||
|
|
@ -38,7 +38,14 @@ selects and appraises occupied inventory, external-container, paperdoll, and
|
|||
physical-shortcut cells through the same request owner. Its shared physical
|
||||
left-click contract now also matches retail's press-time selection: the
|
||||
selection frame updates on MouseDown before drag promotion, while completed
|
||||
click/double-click remains the activation boundary. Slice 3's first connected gate exposed
|
||||
click/double-click remains the activation boundary. The same timing is now
|
||||
ported for favorite spells through a distinct catalog contract: left press
|
||||
selects without waiting for release; right-click opens the examination
|
||||
floaty's authored SpellPanel locally; and spell IDs never enter global object
|
||||
selection or the status-bar magnifier path. The view projects retail's
|
||||
name/school/mana/duration/range/description and authored appropriate-formula
|
||||
component cells, including live missing-component state. Its connected visual
|
||||
gate is pending. Slice 3's first connected gate exposed
|
||||
three deeper defects, now corrected: the response enum mislabeled ACE's
|
||||
creature bit `0x0100` and dropped monster packets while retaining the busy
|
||||
cursor; the imported 310 x 400 examination layout was incorrectly hosted as
|
||||
|
|
|
|||
|
|
@ -108,6 +108,12 @@ The same shared ItemList contract now ports retail's left-button-down
|
|||
selection timing across inventory, loot, paperdoll, and physical shortcuts:
|
||||
selection is visible before release or drag promotion, while use/open/equip
|
||||
remains release-completed.
|
||||
Favorite spells now use the parallel retail catalog contract: MouseDown
|
||||
selects immediately, right-click opens the examination floaty's authored
|
||||
SpellPanel locally, and no spell ID enters global object selection or the
|
||||
status-bar magnifier command. Exact spell fields and the current appropriate
|
||||
formula's authored component cells are automated; the connected visual gate
|
||||
is pending.
|
||||
Slice 3's first connected gate found and corrected the real remaining defects:
|
||||
ACE creature flag `0x0100` was mislabeled as a weapon profile and left the
|
||||
appraisal busy reference held, retail's examination UI had been mounted as a
|
||||
|
|
|
|||
|
|
@ -8,7 +8,8 @@ shared-panel mount, and its missing inscription transaction. All three are
|
|||
corrected and live-confirmed. The creature-page follow-up now has retail's
|
||||
ordered stat rows and animated private preview. The follow-up item report and
|
||||
authored 310 x 400 layout correction are implemented; their connected visual
|
||||
gate is pending.
|
||||
gate is pending. Favorite-spell press-time selection and right-click local
|
||||
SpellPanel examination are implemented and await their connected visual gate.
|
||||
**Milestone:** M4 prerequisite/preamble.
|
||||
**Architecture:** retained gameplay UI over shared selection, object, and
|
||||
interaction state. `GameWindow` remains a composition/callback shell.
|
||||
|
|
@ -249,6 +250,16 @@ and the retained green frame update during left-button down, before the
|
|||
three-pixel drag threshold. Target mode is offered first. Opening, using,
|
||||
equipping, looting, and shortcut activation remain completed-click or
|
||||
double-click actions and are suppressed when target mode consumed the press.
|
||||
Favorite spells now use the parallel non-weenie path:
|
||||
`gmSpellcastingUI::ListenToElementMessage @ 0x004C7AB0` selects the favorite
|
||||
on left press, while the spell branch of
|
||||
`UIElement_ItemList::ListenToElementMessage @ 0x004E4D50` opens the authored
|
||||
SpellPanel locally on right-click. Spell IDs never enter `SelectionState` or
|
||||
the status-bar magnifier path, and no Appraise/busy transaction is invented.
|
||||
The view projects exact spell fields and the current appropriate formula
|
||||
through authored component template `0x1000032E`; its connected visual gate is
|
||||
pending. The 61-test focused App gate, Release solution build, 3,553 App tests
|
||||
/ 3 skips, and 7,984 complete-solution tests / 5 skips pass.
|
||||
|
||||
## Slice 1 — spell-bar overflow arrows
|
||||
|
||||
|
|
@ -371,6 +382,11 @@ Named retail references and executable pseudocode are recorded in
|
|||
refresh; closing the examination window must stop refreshes.
|
||||
- Keep Examination open while opening/moving Inventory or Skills and confirm
|
||||
both windows coexist with independent rectangles.
|
||||
- On the combat spell bar, press and hold a different favorite: its selection
|
||||
and name should update before release. Right-click a favorite: the same
|
||||
examination floaty should show the SpellPanel with name, school, mana,
|
||||
duration, range, description, and component formula. The toolbar magnifier
|
||||
must not treat the selected spell as an object.
|
||||
- Assess an owned inscribable weapon. Edit and clear its inscription by
|
||||
clicking elsewhere, then reassess it. An item authored by another player is
|
||||
read-only and reports the exact retail permission line when clicked.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue