fix(A.5 T7-T9): migrate entity.Position= → SetPosition; add Promoted arm
Code review on commits 295bce9/a0741bd/4be392b flagged 1 Important + 3 Minor issues. Apply the actionable two: Important: 6 sites in GameWindow.cs (lines 3900, 4017-4024, 4138, 4270, 4315) wrote entity.Position = X directly, bypassing T8's SetPosition mutator and therefore never marking AabbDirty. When T18 lands the dispatcher's "if AabbDirty refresh" cull gate, these direct writes would silently leave AABB stale (frustum culls dynamic entities at their previous positions). Migrated all 6 sites to SetPosition(). Minor: Added a silent case LandblockStreamResult.Promoted arm in StreamingController.Tick with a TODO(A.5 T13) marker. Today the streamer never produces Promoted, so the arm is unreachable; the explicit case prevents a future reader from wondering why the case is missing. Deferred Minor: surfaceCache thread-safety XML doc comment + style consistency on System.Collections.Generic using directive — non- load-bearing cosmetic. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4be392b361
commit
c5f98b276e
2 changed files with 13 additions and 7 deletions
|
|
@ -107,6 +107,12 @@ public sealed class StreamingController
|
|||
Console.WriteLine(
|
||||
$"streaming: worker CRASHED: {crashed.Error}");
|
||||
break;
|
||||
case LandblockStreamResult.Promoted:
|
||||
// TODO(A.5 T13): merge promoted entities into existing
|
||||
// GpuWorldState entry via AddEntitiesToExistingLandblock.
|
||||
// Today the streamer never produces Promoted (only LoadNear /
|
||||
// LoadFar), so this arm is unreachable and silently consumed.
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue