refactor(streaming): complete landblock presentation cutover
Remove the legacy GameWindow apply path and make the concrete render, physics, and static publishers the only production owner graph. Serialize full-window retirement with shared-origin teleport and session boundaries so old coordinate-frame resources cannot survive into a new world or login.
This commit is contained in:
parent
801d8a189c
commit
c79d0a49da
12 changed files with 1373 additions and 402 deletions
|
|
@ -6,11 +6,10 @@ using DatEnvironment = DatReaderWriter.DBObjs.Environment;
|
|||
namespace AcDream.Core.World;
|
||||
|
||||
/// <summary>
|
||||
/// The parsed dat objects <c>ApplyLoadedTerrainLocked</c> needs, pre-read by the
|
||||
/// streaming worker under <c>_datLock</c> so the apply makes ZERO DatCollection
|
||||
/// calls and the update thread never blocks on the worker's lock (the FPS
|
||||
/// 30↔200 swing was that lock-wait). Keyed by the same dat id the apply would
|
||||
/// have passed to <c>_dats.Get<T></c>.
|
||||
/// Parsed DAT closure produced by <c>LandblockBuildFactory</c> under the shared
|
||||
/// reader gate and consumed by the render-thread presentation publishers.
|
||||
/// Publication makes zero DatCollection calls, so the update thread never
|
||||
/// blocks on worker DAT access. Entries retain their original DAT IDs.
|
||||
/// </summary>
|
||||
public sealed record PhysicsDatBundle(
|
||||
LandBlockInfo? Info,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue