acdream/src/AcDream.App/Rendering/ILiveStaticPartFrameSource.cs
Erik f004ac5562 refactor(animation): extract live PartArray presenter
Move final live part composition, exact-incarnation schedule handoff, MotionDone binding, and presentation diagnostics out of GameWindow while preserving the retail frame order. Reject stale schedule and completion ABA at the new owner boundary.

Co-Authored-By: OpenAI Codex <codex@openai.com>
2026-07-21 09:37:02 +02:00

21 lines
631 B
C#

using AcDream.App.World;
using AcDream.Core.Physics;
using AcDream.Core.World;
namespace AcDream.App.Rendering;
/// <summary>
/// Late presentation handoff from retail's separate
/// <c>static_animating_objects</c> workset. Every take is bound to the exact
/// live incarnation that prepared the frames.
/// </summary>
internal interface ILiveStaticPartFrameSource
{
bool TryTakeLivePartFrames(
LiveEntityRecord record,
WorldEntity entity,
LiveEntityAnimationState animation,
ulong objectClockEpoch,
ulong projectionMutationVersion,
out IReadOnlyList<PartTransform> frames);
}