feat(streaming): shadow-publish flat collision assets
Carry one immutable prepared collision closure with each accepted near-tier generation and install graph plus flat views through the same retained publication receipt. Apply the same strict package-only rule to live entities, add exact sampled graph-authoritative comparison artifacts and lifecycle counters, and prove cancellation, demotion, rehydrate, revisit, teardown, reconnect, and the nine-stop route with 14,064 zero-mismatch samples. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
f7ff9f4eea
commit
d9446030e6
32 changed files with 2777 additions and 92 deletions
29
src/AcDream.Core/World/LandblockCollisionBuild.cs
Normal file
29
src/AcDream.Core/World/LandblockCollisionBuild.cs
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
using System.Collections.Immutable;
|
||||
using AcDream.Core.Physics;
|
||||
|
||||
namespace AcDream.Core.World;
|
||||
|
||||
/// <summary>
|
||||
/// Immutable prepared-collision closure carried by one near-tier landblock
|
||||
/// build. Keys remain the original DAT source IDs. Cell-structure geometry and
|
||||
/// per-EnvCell topology stay separate so package aliases retain one reusable
|
||||
/// geometry identity without conflating cell placement or portal state.
|
||||
/// </summary>
|
||||
public sealed record LandblockCollisionBuild(
|
||||
ImmutableDictionary<uint, FlatGfxObjCollisionAsset> GfxObjs,
|
||||
ImmutableDictionary<uint, FlatSetupCollision> Setups,
|
||||
ImmutableDictionary<uint, FlatCellStructureCollisionAsset> CellStructures,
|
||||
ImmutableDictionary<uint, FlatEnvCellTopology> EnvCells,
|
||||
ImmutableArray<uint> GfxObjIds,
|
||||
ImmutableArray<uint> SetupIds,
|
||||
ImmutableArray<uint> EnvCellIds)
|
||||
{
|
||||
public static readonly LandblockCollisionBuild Empty = new(
|
||||
ImmutableDictionary<uint, FlatGfxObjCollisionAsset>.Empty,
|
||||
ImmutableDictionary<uint, FlatSetupCollision>.Empty,
|
||||
ImmutableDictionary<uint, FlatCellStructureCollisionAsset>.Empty,
|
||||
ImmutableDictionary<uint, FlatEnvCellTopology>.Empty,
|
||||
ImmutableArray<uint>.Empty,
|
||||
ImmutableArray<uint>.Empty,
|
||||
ImmutableArray<uint>.Empty);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue