SlideComposer<TKey, TData> class

One composer per attached controller, owned by the render object.

Holds no slide state of its own: both collaborators are exposed directly, and the forwarders below exist only to shorten the most frequent call sites. Anything beyond those goes through baselineSlot or ghosts, whose own docs carry the contracts.

Implemented types

Constructors

SlideComposer({required TreeController<TKey, TData> controller})

Properties

baselineSlot → SlideBaselineSlot<TKey>
Pending-baseline slot: staged before a mutation, consumed by the layout that follows it.
final
debugGhostEntryCount → int
Number of live ghost entries. Forwards to the registry's debug accessor for symmetry with the render object's count exposures.
no setter
ghosts → GhostRegistry<TKey, TData>
Active edge-ghost registry.
final
hasGhosts → bool
Whether any edge ghosts are currently active. Render-side fast paths use this to skip ghost-related work when there are none.
no setteroverride
hashCode → int
The hash code for this object.
no setterinherited
isBaselineStaged → bool
Whether a baseline is staged and not yet consumed.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

baseFor(TKey key, ViewportSnapshot viewport) → double?
Returns the live scroll-space base Y for key if it is currently an edge ghost, null otherwise. Caller composes the result with the row's slide delta separately (the resolver is unaware of per-frame slide progress).
override
consumeBaseline() → ({Curve curve, Duration duration, Map<TKey, ({double x, double y})> offsets, ViewportSnapshot viewport})?
Forwards to SlideBaselineSlot.consume, taking the staged baseline and emptying the slot. Null when nothing was staged.
entryFor(TKey key) → ({Curve curve, Duration duration, ViewportEdge edge})?
Returns the edge entry for key if it is currently a ghost. Used by paint/hit-test sites that need both the side AND timing info (the resolver-only baseFor discards the side after resolving).
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
rebindController(TreeController<TKey, TData> controller) → void
Re-binds the registry to a new controller on RenderSliverTree's controller setter. Caller separately calls reset to drop any state staged against the old controller's keys.
reset() → void
Discards any staged baseline and clears the ghost registry. Used on controller swap so state staged against the old controller doesn't leak into the new one.
stageBaseline({required Map<TKey, ({double x, double y})> offsets, required ViewportSnapshot viewport, required Duration duration, required Curve curve}) → bool
Forwards to SlideBaselineSlot.stage. Returns false when a baseline is already staged for this frame, per that slot's first-wins rule.
toString() → String
A string representation of this object.
inherited

Operators

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