fix(streaming): commit EnvCell landblocks atomically (#214)
Carry one complete cell payload with each streaming completion and publish visibility, physics, and render state on the render thread. Remove the obsolete post-readiness login reload that triggered a duplicate dungeon build. Co-Authored-By: Codex <noreply@openai.com>
This commit is contained in:
parent
85980fe13f
commit
b0c175afc0
26 changed files with 973 additions and 617 deletions
16
src/AcDream.App/Streaming/LandblockBuild.cs
Normal file
16
src/AcDream.App/Streaming/LandblockBuild.cs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
using AcDream.App.Rendering.Wb;
|
||||
using AcDream.Core.World;
|
||||
|
||||
namespace AcDream.App.Streaming;
|
||||
|
||||
/// <summary>
|
||||
/// Complete CPU-side output of one streaming job. The worker owns this object
|
||||
/// until it posts the corresponding completion; the render thread then applies
|
||||
/// the landblock and its cell transaction together.
|
||||
/// </summary>
|
||||
public sealed record LandblockBuild(
|
||||
LoadedLandblock Landblock,
|
||||
EnvCellLandblockBuild? EnvCells = null)
|
||||
{
|
||||
public uint LandblockId => Landblock.LandblockId;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue