sliver_tree/_bulk_animator library

Internal: bulk animation source for TreeController.

Owns the single shared AnimationGroup used by expandAll and collapseAll. One AnimationController drives every member proportionally: bulk semantics, not per-node state.

Maintains a per-nid mirror _isMemberByNid so render-layer hot paths can test membership in O(1) via isMemberNid without hashing a key. The mirror covers members and pendingRemoval together, so a key leaving one set clears its bit only when it is absent from the other; every mutator below carries that check. generation bumps on each membership change so downstream caches validate freshness in O(1).

Classes

BulkAnimator<TKey>