fix(ui): keep spell components in authored foreground

Install examination formula icons as the template root UIRegion image, matching retail ClearImage/SetImage behavior while retaining the authored missing-component overlay. Add the real DAT template fixture and conformance coverage.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-24 08:08:29 +02:00
parent d4ce64f56b
commit 2c3da8e153
14 changed files with 231 additions and 34 deletions

View file

@ -168,11 +168,14 @@ from a pending object appraisal to a spell releases exactly that appraisal
transaction before showing the SpellPanel.
The formula-media correction now passes the component's DAT icon DID to
`GetSpellComponentIcon` instead of its WCID, so the authored cells render
their actual scarab/taper images. ACE characters with component enforcement
disabled show the modern scarab/prismatic formula rather than an inactive
legacy recipe (IA-21). A per-window authored-geometry revision resets the
obsolete saved 545-pixel examination height once to LayoutDesc's 310 x 400
extent, preserving its position and all future retail-style user resizing.
their actual scarab/taper images. Each image is installed as the authored
template root UIRegion's own image, matching retail's `ClearImage`/`SetImage`
path instead of sinking a synthetic child behind the window content. ACE
characters with component enforcement disabled show the modern
scarab/prismatic formula rather than an inactive legacy recipe (IA-21). A
per-window authored-geometry revision resets the obsolete saved 545-pixel
examination height once to LayoutDesc's 310 x 400 extent, preserving its
position and all future retail-style user resizing.
**Files:** `src/AcDream.Core.Net/Messages/AppraiseInfoParser.cs`;
`src/AcDream.App/UI/RetailUiRuntime.cs`;