hasActiveFlipSlides property

bool get hasActiveFlipSlides

Internal-use-only: whether any FLIP slide is in flight, EXCLUDING a held make-room preview.

GHOST-LIFECYCLE READ, the boolean companion to getFlipSlideDeltaNid. Because a preview offset is HELD rather than decaying, hasActiveSlides stays true from a drag's first resolve to its release; anything that must observe "the FLIP slides have finished" has to read this instead. Five consumers depend on it: the render object's two edge-ghost clearAll gates (Step 9 and layout Step 0b), the sliver element's settle-transition layout (which is the only thing that schedules that cleanup), and the element's two stale-eviction gates, FLIP-only because a held preview would otherwise suspend eviction for a whole drag.

Every OTHER consumer must keep reading hasActiveSlides: paint, hit-testing and the painted-truth snapshot all care about where rows are painted, and a preview moves them. Retention is the split case: RenderSliverTree.isNodeRetained's delta clause is FLIP-only because layout ADMITS preview-shifted rows, so the ordinary cache-region check already retains them.

Implementation

bool get hasActiveFlipSlides => _slide.hasActive;