feat(render): implement Campaign AR and terrain fidelity

This commit is contained in:
Erik 2026-08-22 13:13:29 +02:00
parent 99cf26e00c
commit 7a5f96ede5
368 changed files with 50611 additions and 950 deletions

View file

@ -46,12 +46,28 @@ public sealed class SettingsStoreTests : System.IDisposable
Gamma: 1.4f,
ShowFps: true,
Quality: AcDream.UI.Abstractions.Settings.QualityPreset.Ultra,
ParticleRange: ParticleRange.Extended);
ParticleRange: ParticleRange.Extended)
{
RenderPack = new RenderPackSelectionSettings(
"acdream.atmospheric",
"1.0.0",
"high")
{
SettingOverrides = new RenderPackSettingOverrides(
new Dictionary<string, string>
{
["exposure"] = "1.25",
["sun-rays"] = "true",
}),
},
};
store.SaveDisplay(original);
var loaded = store.LoadDisplay();
Assert.Equal(original, loaded);
Assert.Equal("1.25", loaded.RenderPack.SettingOverrides["exposure"]);
Assert.Equal("true", loaded.RenderPack.SettingOverrides["sun-rays"]);
}
[Fact]
@ -85,6 +101,27 @@ public sealed class SettingsStoreTests : System.IDisposable
Assert.Equal(DisplaySettings.Default.VSync, loaded.VSync);
Assert.Equal(DisplaySettings.Default.FieldOfView, loaded.FieldOfView);
Assert.Equal(ParticleRange.Extended, loaded.ParticleRange);
Assert.Equal(RenderPackSelectionSettings.Retail, loaded.RenderPack);
Assert.Empty(loaded.RenderPack.SettingOverrides);
}
[Fact]
public void LoadDisplay_upgrades_pre_pack_file_to_retail_without_a_write()
{
File.WriteAllText(_tempPath, """
{
"version": 3,
"display": {
"resolution": "1920x1080",
"fullscreen": false
}
}
""");
DisplaySettings loaded = new SettingsStore(_tempPath).LoadDisplay();
Assert.Equal("1920x1080", loaded.Resolution);
Assert.Equal(RenderPackSelectionSettings.Retail, loaded.RenderPack);
}
// ── #389 schema-v3 fieldOfView migration ────────────────────────────