Teach managed observed daemon sampling

This commit is contained in:
Meta Vens 2026-06-28 13:21:16 +01:00
commit a1a4aa9b01
2 changed files with 13 additions and 10 deletions

View file

@ -14911,6 +14911,10 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
var observedDaemonState = File.Exists(observedDaemonStatePath)
? File.ReadAllText(observedDaemonStatePath)
: throw new InvalidOperationException("Cannot verify daemon state acquisition; AetheriaRuntimeObservedDaemonState.cs is missing.");
var daemonRuntimeDocumentTestsPath = Path.Combine(root, "Assets", "Scripts", "Tests", "DaemonRuntimeDocumentTests.cs");
var daemonRuntimeDocumentTests = File.Exists(daemonRuntimeDocumentTestsPath)
? File.ReadAllText(daemonRuntimeDocumentTestsPath)
: throw new InvalidOperationException("Cannot verify daemon state acquisition; DaemonRuntimeDocumentTests.cs is missing.");
var requiredActionGameManagerSymbols = new[]
{
@ -15152,6 +15156,13 @@ static void RequireRuntimeStateReaderOwnsUnityStateAcquisition(string root)
string.Join(", ", missingManagedObservedDaemonSymbols));
}
if (!daemonRuntimeDocumentTests.Contains("ManagedStateSamplesCurrentObservedDaemonFromReactiveDocuments()", StringComparison.Ordinal) ||
!daemonRuntimeDocumentTests.Contains("var observed = client.State.CurrentObservedDaemon();", StringComparison.Ordinal))
{
throw new InvalidOperationException(
"Daemon runtime document tests must teach current observed daemon sampling through AetheriaClientState.CurrentObservedDaemon().");
}
var requiredObservedDaemonStateSymbols = new[]
{
"AetheriaRuntimeDaemonSoaViewIndex.Build(soaView)",

View file

@ -2179,7 +2179,7 @@ public class DaemonRuntimeDocumentTests
}
[Test]
public void ObservedDaemonStateComposesManagedReactiveFrameSoaAndZoneRenderDocuments()
public void ManagedStateSamplesCurrentObservedDaemonFromReactiveDocuments()
{
var statePath = Path.Combine(
Path.GetTempPath(),
@ -2213,15 +2213,7 @@ public class DaemonRuntimeDocumentTests
.OpenAsync(statePath, "unity-reactive-observer-test", pullOnOpen: true)
.GetAwaiter()
.GetResult();
using var frameDocument = client.State.ReactiveDaemonFrame();
using var soaDocument = client.State.ReactiveDaemonSoaView();
using var zoneRenderDocument = client.State.ReactiveZoneRender();
Assert.IsTrue(AetheriaRuntimeObservedDaemonState.TryCreateCurrent(
frameDocument,
soaDocument,
zoneRenderDocument,
out var observed));
var observed = client.State.CurrentObservedDaemon();
Assert.IsNotNull(observed);
Assert.IsTrue(observed.IsAuthoritative);
Assert.AreEqual("reactive-daemon-run", observed.Run.RunId);