fix(portal): synchronize destination presentation state

This commit is contained in:
Erik 2026-07-16 21:17:13 +02:00
parent 4b1bceefbb
commit e95f55f25b
42 changed files with 2815 additions and 288 deletions

View file

@ -29,7 +29,7 @@ public class LandblockStreamerTests
buildMeshOrNull: (_, _) => stubMesh);
streamer.Start();
streamer.EnqueueLoad(0xA9B4FFFEu);
streamer.EnqueueLoad(0xA9B4FFFEu, generation: 42);
// Spin until the worker produces a completion, with a 2s timeout.
LandblockStreamResult? result = null;
@ -43,6 +43,7 @@ public class LandblockStreamerTests
Assert.NotNull(result);
var loaded = Assert.IsType<LandblockStreamResult.Loaded>(result);
Assert.Equal(0xA9B4FFFEu, loaded.LandblockId);
Assert.Equal(42ul, loaded.Generation);
Assert.Same(stubLandblock, loaded.Landblock);
}
@ -247,7 +248,7 @@ public class LandblockStreamerTests
using var streamer = new LandblockStreamer(loadLandblock: _ => null);
streamer.Start();
streamer.EnqueueUnload(0xABCD0000u);
streamer.EnqueueUnload(0xABCD0000u, generation: 43);
LandblockStreamResult? result = null;
for (int i = 0; i < SpinMaxIterations && result is null; i++)
@ -259,6 +260,7 @@ public class LandblockStreamerTests
var unloaded = Assert.IsType<LandblockStreamResult.Unloaded>(result);
Assert.Equal(0xABCD0000u, unloaded.LandblockId);
Assert.Equal(43ul, unloaded.Generation);
}
[Fact]