fix(rendering): preserve canonical projection ownership
This commit is contained in:
parent
d8d9897376
commit
accd402dd7
2 changed files with 43 additions and 6 deletions
|
|
@ -344,6 +344,34 @@ public sealed class CurrentRenderSceneOracleTests
|
|||
Assert.NotEqual(first.DispatcherDigest, reset.DispatcherDigest);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void DispatcherTemporaryBucket_DoesNotRewriteProjectionOwner()
|
||||
{
|
||||
WorldEntity outdoor = Entity(
|
||||
id: 61,
|
||||
serverGuid: 0,
|
||||
parentCell: null);
|
||||
var oracle = new CurrentRenderSceneOracle();
|
||||
var result = new InteriorEntityPartition.Result();
|
||||
InteriorEntityPartition.Partition(
|
||||
result,
|
||||
[],
|
||||
[Entry(LandblockA, outdoor)],
|
||||
oracle);
|
||||
|
||||
oracle.BeginDispatcherFrame();
|
||||
oracle.ObserveDispatcherDraw(
|
||||
WbDrawDispatcher.EntitySet.All,
|
||||
entitiesWalked: 1,
|
||||
[(outdoor, 0, LandblockB)]);
|
||||
|
||||
CurrentRenderDispatcherFingerprint candidate =
|
||||
Assert.Single(oracle.DispatcherCandidates);
|
||||
Assert.Equal(LandblockA, candidate.Projection.LandblockId);
|
||||
Assert.Equal(LandblockB, candidate.TupleLandblockId);
|
||||
Assert.Equal(LandblockB, candidate.CacheLandblockId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void DispatcherAbortDiscardsIncompleteCandidates()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue