Move appearance rebinding, collision construction, default-pose resolution, local shadow ownership, and exact leave-world presentation into focused owners. Preserve retail parent ordering with staged validation, committed recovery, recursive attached-subtree withdrawal, and retryable exact teardown across parent, pickup, position, unwield, and pose-loss edges. Co-Authored-By: OpenAI Codex <codex@openai.com>
19 lines
561 B
C#
19 lines
561 B
C#
using System.Numerics;
|
|
|
|
namespace AcDream.App.Physics;
|
|
|
|
/// <summary>Session-scoped cache of the local player's last published shadow pose.</summary>
|
|
internal sealed class LocalPlayerShadowState
|
|
{
|
|
public readonly record struct Snapshot(
|
|
Vector3 Position,
|
|
Quaternion Orientation,
|
|
uint CellId);
|
|
|
|
public Snapshot? Current { get; private set; }
|
|
|
|
public void Set(Vector3 position, Quaternion orientation, uint cellId) =>
|
|
Current = new Snapshot(position, orientation, cellId);
|
|
|
|
public void Clear() => Current = null;
|
|
}
|