feat(rendering): establish current-path scene referee

Capture deterministic, landblock-aware fingerprints from the accepted partition only during lifecycle automation. This gives the F/G shadow scene an independent oracle without changing normal draw decisions or adding disabled-path per-entity cost.
This commit is contained in:
Erik 2026-07-24 21:13:11 +02:00
parent 5ecaa5612d
commit b2b67341ac
9 changed files with 845 additions and 5 deletions

View file

@ -1,6 +1,7 @@
using AcDream.App.Diagnostics;
using AcDream.App.Input;
using AcDream.App.Rendering;
using AcDream.App.Rendering.Scene;
using AcDream.App.Rendering.Vfx;
using AcDream.App.Settings;
using AcDream.App.Update;
@ -368,6 +369,11 @@ internal sealed class FrameRootCompositionPhase
live.SkyRenderer,
content.ParticleSystem,
live.ParticleRenderer);
CurrentRenderSceneOracle? currentRenderSceneOracle =
interaction.RetainedUi?.Screenshots is not null
&& d.Options.AutomationArtifactDirectory is not null
? new CurrentRenderSceneOracle()
: null;
var worldSceneRenderer = new WorldSceneRenderer(
renderFrameResources,
renderLoginState,
@ -378,7 +384,7 @@ internal sealed class FrameRootCompositionPhase
d.RetailAlphaQueue,
d.ParticleVisibility,
new WorldScenePViewRenderer(
new RetailPViewRenderer(),
new RetailPViewRenderer(currentRenderSceneOracle),
retailPViewPassExecutor,
retailPViewPassExecutor),
retailPViewCells,
@ -410,7 +416,8 @@ internal sealed class FrameRootCompositionPhase
live.DrawDispatcher,
d.FrameProfiler,
content.Dats,
foundation.Residency);
foundation.Residency,
currentRenderSceneOracle);
lifecycleAutomation =
new WorldLifecycleAutomationController(
() => session.WorldReveal.Snapshot,