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

@ -268,6 +268,115 @@ public sealed class ConnectedWorldSoakRouteContractTests
StringComparison.Ordinal);
}
[Fact]
public void AtmosphericOfflineGateDefaultsToCappedAndExposesUncappedMeasurement()
{
string source = File.ReadAllText(Path.Combine(
FindRepoRoot(),
"tools",
"run-offline-pixel-gate.ps1"));
Assert.Contains("[switch]$Uncapped", source, StringComparison.Ordinal);
Assert.Contains(
"$env:ACDREAM_UNCAPPED_RENDER = if ($Uncapped) { '1' } else { $null }",
source,
StringComparison.Ordinal);
Assert.Contains(
"$previousUncappedRender = $env:ACDREAM_UNCAPPED_RENDER",
source,
StringComparison.Ordinal);
Assert.Contains(
"$env:ACDREAM_UNCAPPED_RENDER = $previousUncappedRender",
source,
StringComparison.Ordinal);
Assert.Contains(
"$env:ACDREAM_AUTOMATION_EXACT_FRAMEBUFFER = '1'",
source,
StringComparison.Ordinal);
Assert.Contains(
"$previousExactFramebuffer = $env:ACDREAM_AUTOMATION_EXACT_FRAMEBUFFER",
source,
StringComparison.Ordinal);
Assert.Contains(
"$env:ACDREAM_AUTOMATION_EXACT_FRAMEBUFFER = $previousExactFramebuffer",
source,
StringComparison.Ordinal);
Assert.Contains("-WindowStyle Hidden", source, StringComparison.Ordinal);
Assert.DoesNotContain("-WindowStyle Minimized", source, StringComparison.Ordinal);
Assert.Contains(
"[int]$RequiredRenderPackSamples = 0",
source,
StringComparison.Ordinal);
Assert.Contains(
"$probeCommands.Add('renderpack reset-performance')",
source,
StringComparison.Ordinal);
Assert.Contains(
"if ($RenderPackPreset -ne 'auto')",
source,
StringComparison.Ordinal);
Assert.Contains(
"wait render-pack-samples $RequiredRenderPackSamples $RenderPackSampleTimeoutMs",
source,
StringComparison.Ordinal);
int reset = source.IndexOf(
"$probeCommands.Add('renderpack reset-performance')",
StringComparison.Ordinal);
int wait = source.IndexOf(
"wait render-pack-samples $RequiredRenderPackSamples $RenderPackSampleTimeoutMs",
StringComparison.Ordinal);
int screenshot = source.IndexOf(
"$probeCommands.Add('screenshot world-offline 30000')",
StringComparison.Ordinal);
int closeClient = source.IndexOf(
"$probeCommands.Add('close-client')",
StringComparison.Ordinal);
Assert.True(
reset >= 0 && wait > reset && screenshot > wait
&& closeClient > screenshot);
Assert.Contains("$proc.WaitForExit(15000)", source, StringComparison.Ordinal);
Assert.DoesNotContain(
"Get-Process -Name AcDream.App",
source,
StringComparison.Ordinal);
Assert.DoesNotContain(".CloseMainWindow()", source, StringComparison.Ordinal);
}
[Fact]
public void AtmosphericPreviewLaunchesAcdreamWithDisposableStateAndNoLiveCredentials()
{
string source = File.ReadAllText(Path.Combine(
FindRepoRoot(),
"tools",
"launch-atmospheric-preview.ps1"));
Assert.Contains("AcDream.App.exe", source, StringComparison.Ordinal);
Assert.Contains("packId = 'acdream.atmospheric'", source, StringComparison.Ordinal);
Assert.Contains("artifacts\\atmospheric-rendering\\visible-", source, StringComparison.Ordinal);
Assert.Contains("$env:ACDREAM_CONFIG_DIR = $config", source, StringComparison.Ordinal);
Assert.Contains("$env:ACDREAM_DATA_DIR = $data", source, StringComparison.Ordinal);
Assert.Contains("$env:ACDREAM_CACHE_DIR = $cache", source, StringComparison.Ordinal);
Assert.Contains(
".StartsWith('ACDREAM_', [StringComparison]::OrdinalIgnoreCase)",
source,
StringComparison.Ordinal);
Assert.Contains(
"[Environment]::SetEnvironmentVariable($name, $null, 'Process')",
source,
StringComparison.Ordinal);
Assert.Contains(
"[Environment]::SetEnvironmentVariable($name, $prior[$name], 'Process')",
source,
StringComparison.Ordinal);
Assert.Contains(
"$env:ACDREAM_NO_AUDIO = if ($audioEnabled) { $null } else { '1' }",
source,
StringComparison.Ordinal);
Assert.Contains("-RedirectStandardOutput $stdoutLog", source, StringComparison.Ordinal);
Assert.Contains("-RedirectStandardError $stderrLog", source, StringComparison.Ordinal);
Assert.DoesNotContain("-WindowStyle Hidden", source, StringComparison.Ordinal);
}
[Fact]
public void StationaryDwellSamplesAfterTheLivenessDeadline()
{
@ -317,7 +426,7 @@ public sealed class ConnectedWorldSoakRouteContractTests
source,
StringComparison.Ordinal);
Assert.Contains(
"$sensitive = $_.Name -match '(?i)(PASS|PASSWORD|TOKEN|SECRET|KEY)'",
"$sensitive = $_.Name -match '(?i)(PASS|PASSWORD|TOKEN|SECRET|KEY|USER|ACCOUNT)'",
source,
StringComparison.Ordinal);
Assert.Contains(
@ -337,24 +446,23 @@ public sealed class ConnectedWorldSoakRouteContractTests
"tools",
"run-connected-r6-soak.ps1"));
string common = File.ReadAllText(Path.Combine(
FindRepoRoot(), "tools", "connected-render-pack-gate-common.ps1"));
AssertAppearsInOrder(
source,
"$sourceCommit = (& git -C $Repository rev-parse HEAD).Trim()",
"[Diagnostics.FileVersionInfo]::GetVersionInfo($exe).ProductVersion",
"$binaryCommitMatch = [regex]::Match(",
"$commit = if ($null -ne $binaryCommit) { $binaryCommit } else { $sourceCommit }",
"$binaryMatchesSource = $null -ne $binaryCommit -and $binaryCommit -eq $sourceCommit");
Assert.Contains(
"status --short --untracked-files=no",
source,
StringComparison.Ordinal);
"$binaryIdentity = Get-ConnectedGateBinaryIdentity",
"$sourceCommit = $binaryIdentity.SourceCommit",
"$binaryCommit = $binaryIdentity.BinaryCommit",
"$commit = $binaryCommit");
Assert.Contains("[Diagnostics.FileVersionInfo]::GetVersionInfo($Executable).ProductVersion", common);
Assert.Contains("status --short --untracked-files=all", common, StringComparison.Ordinal);
Assert.Contains("BinaryProductVersion = $binaryProductVersion", source);
Assert.Contains("BinaryCommit = $binaryCommit", source);
Assert.Contains("BinaryMatchesSource = $binaryMatchesSource", source);
Assert.Contains("TrackedSourceStatus = @($sourceStatus)", source);
Assert.Contains(
"measured binary commit $binaryCommit differs from checked-out source commit $sourceCommit",
source,
"Measured binary commit $binaryCommit differs from checked-out source commit $sourceCommit",
common,
StringComparison.Ordinal);
}