AnimationSpecSchema

@Serializable
sealed interface AnimationSpecSchema

Timing specification for Mosaic animations (EnterTransitionSchema, ExitTransitionSchema).

Variants:

  • Tween — fixed-duration interpolation. Converts to tween(durationMillis, delayMillis, easing). Default: 300ms, 0ms delay, FAST_OUT_SLOW_IN easing.

  • Spring — physics-based, duration determined by dampingRatio and stiffness. Default: dampingRatio = 1f (critically damped, no overshoot), stiffness = 1500f (StiffnessMediumLow).

DSL usage (typically inside transition builders):

AnimationSpecSchema.Tween(durationMillis = 400, easing = EasingType.EASE_IN_OUT)
AnimationSpecSchema.Spring(dampingRatio = 0.7f, stiffness = 400f)

Notes: Both variants produce a FiniteAnimationSpec<T> in the client, so they are interchangeable wherever AnimationSpecSchema is accepted. Spring ignores delayMillis (there is no delay parameter in spring()).

Inheritors

Types

Link copied to clipboard
@Serializable
@SerialName(value = "spring")
data class Spring(val dampingRatio: Float = 1.0f, val stiffness: Float = 1500.0f) : AnimationSpecSchema
Link copied to clipboard
@Serializable
@SerialName(value = "tween")
data class Tween(val durationMillis: Int = 300, val delayMillis: Int = 0, val easing: EasingType = EasingType.FAST_OUT_SLOW_IN) : AnimationSpecSchema