refactor(render): extract world frame preparation
Move camera/root resolution, live settings and listener preview, sky/lighting/fog preparation, animated classification, and building visibility scratch behind a typed WorldRenderFrameBuilder while preserving retail frame order and borrowed lifetimes. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
bc6f09f987
commit
6d6e5b5fa5
8 changed files with 1463 additions and 583 deletions
|
|
@ -43,6 +43,8 @@ public sealed class RuntimeOptionsTests
|
|||
Assert.False(opts.UiProbeDump);
|
||||
Assert.Null(opts.UiProbeScript);
|
||||
Assert.Null(opts.AutomationArtifactDirectory);
|
||||
Assert.Equal(0.7f, opts.FogStartMultiplier);
|
||||
Assert.Equal(0.95f, opts.FogEndMultiplier);
|
||||
Assert.False(opts.UiProbeEnabled);
|
||||
Assert.False(opts.HasLiveCredentials);
|
||||
}
|
||||
|
|
@ -180,6 +182,26 @@ public sealed class RuntimeOptionsTests
|
|||
Assert.Equal(12, RuntimeOptions.Parse(AnyDatDir, Env(new() { ["ACDREAM_STREAM_RADIUS"] = "12" })).LegacyStreamRadius);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FogMultipliers_ParseInvariantFloats_AndFallBackIndependently()
|
||||
{
|
||||
var parsed = RuntimeOptions.Parse(AnyDatDir, Env(new()
|
||||
{
|
||||
["ACDREAM_FOG_START_MULT"] = "0.625",
|
||||
["ACDREAM_FOG_END_MULT"] = "1.125",
|
||||
}));
|
||||
Assert.Equal(0.625f, parsed.FogStartMultiplier);
|
||||
Assert.Equal(1.125f, parsed.FogEndMultiplier);
|
||||
|
||||
var invalid = RuntimeOptions.Parse(AnyDatDir, Env(new()
|
||||
{
|
||||
["ACDREAM_FOG_START_MULT"] = "not-a-number",
|
||||
["ACDREAM_FOG_END_MULT"] = "",
|
||||
}));
|
||||
Assert.Equal(0.7f, invalid.FogStartMultiplier);
|
||||
Assert.Equal(0.95f, invalid.FogEndMultiplier);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void DiagnosticFlags_RespectExactValueOne()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue