Package me.deecaad.core.transition
Class TransitionPlayback
java.lang.Object
me.deecaad.core.transition.TransitionPlayback
Realizes a
Transition into a schedule of TransitionPlayback.Segment pushes.
Continuous transitions are sampled into segments whose density matches the easing curve: linear
segments contribute only their endpoints, while curved segments contribute additional intermediate
samples. Consumers push each segment in turn, so client-side interpolation (e.g. a display
entity's setInterpolationDuration) reproduces the eased curve as a chain of linear lerps.
Stepped transitions bypass sampling: one segment per keyframe, interpolationDuration = 0.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordOne step in a transition schedule. -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> @NotNull List<TransitionPlayback.Segment<T>> sample(@NotNull Transition<T> transition) Builds a schedule fortransition.
-
Method Details
-
sample
@NotNull public static <T> @NotNull List<TransitionPlayback.Segment<T>> sample(@NotNull @NotNull Transition<T> transition) Builds a schedule fortransition. Picks stepped or continuous sampling based on the transition's interpolator.- Parameters:
transition- The non-null transition.- Returns:
- A non-null, non-empty, ascending-by-tickOffset list of segments.
-