Own every borrowed PartArray frame across callbacks, version presentation state across appearance rebinding, reject recursive phase consumption, and preserve static MotionDone when only a stale visual pose is discarded.
22 lines
667 B
C#
22 lines
667 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,
|
|
ulong presentationRevision,
|
|
out IReadOnlyList<PartTransform> frames);
|
|
}
|