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

@ -181,9 +181,25 @@ public sealed class InteractionUiRuntimeSourcesTests
Assert.True(source.IsWorldReady);
Assert.True(source.TryRequestCheckpoint("ready", out _, out _));
Assert.Equal("ready", target.LastCheckpoint);
Assert.Equal(target.RenderPackStatus, source.RenderPackStatus);
Assert.Equal(1280, source.FramebufferWidth);
Assert.Equal(720, source.FramebufferHeight);
Assert.True(source.TrySelectRenderPack("high", out _));
Assert.Equal("high", target.LastRenderPackPreset);
Assert.True(source.TryDisableRenderPack(out _));
Assert.True(target.RenderPackDisabled);
Assert.True(source.TryReenableRenderPack(out _));
Assert.True(target.RenderPackReenabled);
Assert.True(source.TryResizeFramebuffer(1024, 768, out _));
Assert.Equal((1024, 768), target.LastFramebufferSize);
binding.Dispose();
Assert.False(source.IsWorldReady);
Assert.Equal(
AcDream.App.UI.Testing.RetailUiAutomationRenderPackStatus.Retail,
source.RenderPackStatus);
Assert.False(source.TrySelectRenderPack("high", out string unboundError));
Assert.Contains("not bound", unboundError);
source.Deactivate();
Assert.Throws<ObjectDisposedException>(() => source.Bind(target));
}
@ -454,7 +470,48 @@ public sealed class InteractionUiRuntimeSourcesTests
public bool IsWorldReady => true;
public bool IsWorldViewportVisible => true;
public int PortalMaterializationCount => 2;
public AcDream.App.UI.Testing.RetailUiAutomationRenderPackStatus
RenderPackStatus { get; } = new(
AcDream.App.UI.Testing.RetailUiAutomationRenderPackState.Active,
"acdream.atmospheric",
"high",
7,
null);
public int FramebufferWidth => 1280;
public int FramebufferHeight => 720;
public string? LastCheckpoint { get; private set; }
public string? LastRenderPackPreset { get; private set; }
public bool RenderPackDisabled { get; private set; }
public bool RenderPackReenabled { get; private set; }
public (int Width, int Height)? LastFramebufferSize { get; private set; }
public bool TrySelectRenderPack(string presetId, out string error)
{
LastRenderPackPreset = presetId;
error = string.Empty;
return true;
}
public bool TryDisableRenderPack(out string error)
{
RenderPackDisabled = true;
error = string.Empty;
return true;
}
public bool TryReenableRenderPack(out string error)
{
RenderPackReenabled = true;
error = string.Empty;
return true;
}
public bool TryResizeFramebuffer(int width, int height, out string error)
{
LastFramebufferSize = (width, height);
error = string.Empty;
return true;
}
public bool TryRequestCheckpoint(
string name,