SlideAnimation<TKey> class

Slide animation state for a single node in a FLIP-style reorder.

Unlike AnimationState, which interpolates extent (size) and is applied at layout, SlideAnimation interpolates offset delta and is applied at paint. The node's structural position is always its post-mutation offset; currentDelta shifts only the painted pixels so the node visually slides from its old position toward its new one.

startDelta = old scroll-space offset - new scroll-space offset (the distance the node appears to travel). currentDelta = lerp(startDelta, 0, curve(progress)); when progress reaches 1, currentDelta is snapped to exactly 0.0 (see TreeController's slide tick handler).

Constructors

SlideAnimation({required double startDelta, required Curve curve, double startDeltaX = 0.0, double progress = 0.0})

Properties

currentDelta double
The interpolated current delta, applied at paint time as a vertical translation. Snapped to exactly 0.0 at completion.
getter/setter pair
currentDeltaX double
Interpolated current X delta, applied at paint time as a horizontal translation. Snapped to exactly 0.0 at completion alongside currentDelta.
getter/setter pair
curve Curve
The curve applied to the progress when computing currentDelta.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
isComplete bool
Whether this animation has completed.
no setter
preserveProgressOnRebatch bool
When true, the engine's un-touched re-baseline branch in animateFromOffsets skips this slide. Set by the render layer for active edge-ghost and exit-phantom slides via TreeController.markSlidePreserveProgress so concurrent batches (e.g. autoscroll commits) don't restart the ghost's progress clock. Cleared implicitly when the slide entry is replaced (composition creates a fresh entry with default false) or destroyed.
getter/setter pair
progress double
Animation progress from 0.0 to 1.0. Driven by a shared slide AnimationController in TreeController.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
slideDuration Duration
Duration of this specific slide. Set on install/composition. Per-slide rather than shared so multi-batch installs with different durations animate at their own rates.
getter/setter pair
slideStartElapsed Duration
Wall-clock-equivalent (Ticker.elapsed) value at this slide's progress=0 establishment (initial install, composition reset, or re-baseline). Per-slide progress in _onSlideTick is computed as (ticker.elapsed - slideStartElapsed) / slideDuration so each slide progresses at its own rate independent of when other slides start.
getter/setter pair
startDelta double
Initial scroll-space delta: old painted offset minus new structural offset. Positive means the node appears above its final position at t=0; negative means below.
getter/setter pair
startDeltaX double
X-axis (cross-axis indent) start delta. Computed as oldIndent - newIndent. Zero when the slide has no horizontal component (the reorder-only case — same parent, same depth).
getter/setter pair

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited