fix(ui): match retail vitae and character info

Restore Vitae's omitted penalty paragraph, replace the invented character summary with gmCharacterInfoUI's ordered report and property meanings, preserve authored translucent body surfaces, and initialize the end-session button in its visible Normal DAT state.

Release build and all 5,830 tests pass with five intentional skips. Connected visual gate pending.

Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-17 12:06:14 +02:00
parent d1d603105f
commit 16c21e299c
21 changed files with 771 additions and 303 deletions

View file

@ -72,12 +72,21 @@ Link ping RTT and Vitae
recovery XP are live; transport packet-loss averaging and Mini Game gameplay
remain the explicitly narrowed AP-110 residual.
The 2026-07-17 retail-conformance follow-up completes the visible detail data:
Vitae now includes all three localized paragraphs; Character Information now
emits retail's birth/playtime/deaths, resistance grades, innates,
chess/fishing, earned mastery/augmentation, and burden report instead of an
invented character-sheet summary. Character/Vitae authored center surfaces
are no longer composited twice, and the end-session button enters its Normal
DAT state before hover.
**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`.
`docs/research/2026-07-17-retail-vitae-character-info-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;