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>
28 lines
763 B
C#
28 lines
763 B
C#
using System.Collections.Generic;
|
|
using AcDream.App;
|
|
|
|
namespace AcDream.App.Tests;
|
|
|
|
public class RuntimeOptionsRetailUiTests
|
|
{
|
|
[Fact]
|
|
public void Parse_ReadsRetailUiAndAcDir()
|
|
{
|
|
var env = new Dictionary<string, string?>
|
|
{
|
|
["ACDREAM_RETAIL_UI"] = "1",
|
|
["ACDREAM_AC_DIR"] = @"C:\Turbine\Asheron's Call",
|
|
};
|
|
var opts = RuntimeOptions.Parse("dats", k => env.GetValueOrDefault(k));
|
|
Assert.True(opts.RetailUi);
|
|
Assert.Equal(@"C:\Turbine\Asheron's Call", opts.AcDir);
|
|
}
|
|
|
|
[Fact]
|
|
public void Parse_DefaultsRetailUiOffAndAcDirNull()
|
|
{
|
|
var opts = RuntimeOptions.Parse("dats", _ => null);
|
|
Assert.False(opts.RetailUi);
|
|
Assert.Null(opts.AcDir);
|
|
}
|
|
}
|