feat(ui): port retail gameplay indicator bar
Promote all seven LayoutDesc 0x21000071 controls to retained buttons, drive link quality, effects, Vitae, and burden from live state, and route Character Information plus end-session confirmation through the shared UI owners. Keep network timing in WorldSession and pin retail thresholds, flash cadence, authored states, and action routing with focused conformance tests. Release build and all 5,807 tests pass with five intentional skips. Connected visual gate pending. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
06016014bc
commit
52c529be86
15 changed files with 857 additions and 204 deletions
|
|
@ -44,6 +44,39 @@ Copy this block when adding a new issue:
|
|||
|
||||
---
|
||||
|
||||
## #224 — Gameplay indicator bar only implemented effect icons
|
||||
|
||||
**Status:** IN-PROGRESS
|
||||
**Severity:** MEDIUM
|
||||
**Filed:** 2026-07-17
|
||||
**Component:** retained UI / gameplay indicators / session telemetry
|
||||
|
||||
**Description:** Retail LayoutDesc `0x21000071` is one seven-control strip for
|
||||
link quality, helpful effects, harmful effects, vitae, burden/character
|
||||
information, mini-game state, and end-character-session. acdream only promoted
|
||||
the two effects controls to behavioral buttons; the other custom classes fell
|
||||
back to inert generic DAT elements.
|
||||
|
||||
**Root cause / status:** `DatWidgetFactory` recognized only
|
||||
`gmUIElement_EffectsIndicator`. The retained controller consequently had no
|
||||
live bindings for session packet age, Vitae, or the player load ratio and did
|
||||
not dispatch Character Information or the shared logout confirmation path.
|
||||
|
||||
**Files:** `src/AcDream.App/UI/Layout/IndicatorBarController.cs`;
|
||||
`src/AcDream.App/UI/Layout/DatWidgetFactory.cs`;
|
||||
`src/AcDream.Core.Net/WorldSession.cs`; `src/AcDream.App/UI/RetailUiRuntime.cs`.
|
||||
|
||||
**Research:**
|
||||
`docs/research/2026-07-17-retail-indicator-bar-pseudocode.md`.
|
||||
|
||||
**Acceptance:** All seven authored controls render their retail sprites. Link
|
||||
quality follows the 5/20/40-second thresholds and bad-link flash cadence;
|
||||
helpful, harmful, Vitae, and burden react to live state; the burden icon opens
|
||||
Character Information; effects open their matching panels; crossed swords use
|
||||
the shared confirmation dialog and close gracefully only after acceptance.
|
||||
|
||||
---
|
||||
|
||||
## #223 — Primary panel resize stopped before the screen edge
|
||||
|
||||
**Status:** DONE — 2026-07-17 (connected visual gate accepted)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue