feat(D.2b): flip vitals to the LayoutDesc importer; retire hand-authored vitals.xml

The importer (proven pixel-identical at the 2026-06-15 A/B gate) is now the
default vitals window when ACDREAM_RETAIL_UI=1 — data-driven from LayoutDesc
0x2100006C. Removed: the hand-authored vitals.xml build path, the asset file
(recoverable from git history), and the now-obsolete ACDREAM_RETAIL_UI_IMPORTER
flag (RuntimeOptions param + parse + 2 tests). The window is user-positioned at
(10,30) and movable; resize stays off — the dat stacked-vitals layout is fixed-
size (chrome edges near-pinned), faithful grip/dragbar resize is Plan 2.
MarkupDocument/UiNineSlicePanel remain for the chat window + plugin panels.

AcDream.App builds 0/0; AcDream.App.Tests 352 passed / 1 skipped / 0 failed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-15 16:30:24 +02:00
parent 5ac9d8c19c
commit bf77a23ad3
4 changed files with 37 additions and 89 deletions

View file

@ -41,7 +41,6 @@ public sealed record RuntimeOptions(
bool DumpLiveSpawns,
int? LegacyStreamRadius,
bool RetailUi,
bool RetailUiImporter,
string? AcDir)
{
/// <summary>
@ -86,7 +85,6 @@ public sealed record RuntimeOptions(
// top of the quality preset's radii. Null when unset or invalid.
LegacyStreamRadius: TryParseNonNegativeInt(env("ACDREAM_STREAM_RADIUS")),
RetailUi: IsExactlyOne(env("ACDREAM_RETAIL_UI")),
RetailUiImporter: IsExactlyOne(env("ACDREAM_RETAIL_UI_IMPORTER")),
AcDir: NullIfEmpty(env("ACDREAM_AC_DIR")));
}