Table of Contents

Enum TransitionType

Namespace
Velvet
Assembly
Velvet.Docs.dll

Selects the animation model a StyleTransitionConfig plays with — see Type.

public enum TransitionType

Fields

Bezier = 2

A fixed-duration tween like Tween, but with its easing sampled from an EXACT numeric cubic-bezier(BezierX1, BezierY1, BezierX2, BezierY2) curve instead of one of UI Toolkit's five EasingMode keywords (which cannot express an arbitrary cubic-bezier). Like Spring, this cannot be expressed by CSS/USS transitions, so it is driven by a per-frame tick that writes inline styles directly — off the same resolved channel plan, so its channel scope is Spring's exactly. One curve drives BOTH enter and exit (there is no separate exit curve, mirroring the spring's single stiffness/damping/mass), and PropertyOverrides is not read (no per-property curve). A zero DurationSec completes immediately with no animation, exactly like a zero-duration Tween.

Spring = 1

A physics-integrated spring (see the internal SpringIntegrator): Stiffness / Damping / Mass decide the curve and settle time instead of a fixed duration — CSS/USS transitions cannot express a spring, so this is driven by a per-frame tick that writes inline styles directly (like the ring co-fade tick), not transition-duration/transition-timing-function. Only MotionNode's variant enter/exit (variants + initial/animate/ exit) plays a spring — the classic preset transitions (StyleTransition) are always tweens, since their enter/exit classes are internal to the package. Which class pairs the tick interpolates, and which fall through to a plain class swap with no animation on them, is owned by Documentation~/motion.md's "Driven channels".

Tween = 0

A USS transition-* class swap: DurationSec / Easing drive a fixed-duration tween between the from/to classes. The default.