fix(render): make reveal warmup mutation-resumable
Retain composite candidate progress across live membership generations and run a stable follow-up pass after churn, preventing ACE object-stream updates from resetting portal readiness forever. Co-authored-by: Erik Nilsson <erikn@users.noreply.github.com>
This commit is contained in:
parent
a77ba06722
commit
e991eeca34
2 changed files with 63 additions and 12 deletions
|
|
@ -19,29 +19,43 @@ public sealed class WbDrawDispatcherCompositeWarmupTests
|
|||
emptyReadySnapshot,
|
||||
Destination,
|
||||
currentRadius: 0,
|
||||
currentGeneration: 0,
|
||||
publishedDestinationSnapshot,
|
||||
nextGeneration: 1,
|
||||
Destination,
|
||||
nextRadius: 0));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void MutatedStableEntityViewRequiresRebuildWhenGenerationChanges()
|
||||
public void MutatedStableEntityViewRetainsScopeWhenGenerationChanges()
|
||||
{
|
||||
IReadOnlyList<WorldEntity> stableView = new List<WorldEntity>();
|
||||
|
||||
Assert.True(WbDrawDispatcher.RequiresCompositeWarmupRebuild(
|
||||
Assert.False(WbDrawDispatcher.RequiresCompositeWarmupRebuild(
|
||||
stableView,
|
||||
Destination,
|
||||
currentRadius: 0,
|
||||
currentGeneration: 41,
|
||||
stableView,
|
||||
nextGeneration: 42,
|
||||
Destination,
|
||||
nextRadius: 0));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void MembershipMutationDoesNotRestartAnIncompletePass()
|
||||
{
|
||||
Assert.False(WbDrawDispatcher.ShouldBeginCompositeWarmupRescan(
|
||||
scanComplete: false,
|
||||
scanGeneration: 41,
|
||||
entityGeneration: 42));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void MembershipMutationSchedulesFollowUpAfterPassCompletes()
|
||||
{
|
||||
Assert.True(WbDrawDispatcher.ShouldBeginCompositeWarmupRescan(
|
||||
scanComplete: true,
|
||||
scanGeneration: 41,
|
||||
entityGeneration: 42));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PaletteEntityInsideDestinationRadiusIsCandidate()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue