anchor.diff:    }
   
     bool get _needsGeometryUpdate => _ancestorChain.length > 1;
  -}
  -
  -
  -/// [_SemanticsFragment] used to indicate that the current information in this
  -/// subtree is not sufficient to update semantics.
  -///
  -/// Anybody processing this [_SemanticsFragment] should abort the walk of the
  -/// current subtree without updating any [SemanticsNode]s as there is no semantic
  -/// information to compute. As a result, this fragment also doesn't carry any
  -/// semantics information either.
  -class _AbortingSemanticsFragment extends _InterestingSemanticsFragment {
  -  _AbortingSemanticsFragment({required RenderObject owner}) : super(owner: owner, dropsSemanticsOfPreviousSiblings: false);
  -
  -  @override
  -  bool get abortsWalk => true;
  -
  -  @override
  -  SemanticsConfiguration? get config => null;
  -
  -  @override
  -  void addAll(Iterable<_InterestingSemanticsFragment> fragments) {
  -    assert(false);
  -  }
  -
  -  @override
  -  void compileChildren({ Rect? parentSemanticsClipRect, Rect? parentPaintClipRect, required double elevationAdjustment, required List<SemanticsNode> result }) {
  -    result.add(owner._semantics!);
  -  }
  -
  -  @override
  -  void markAsExplicit() {
  -    // Is never explicit.
  -  }
   }
   
   /// Helper class that keeps track of the geometry of a [SemanticsNode].
  
positive.code:   /// Returns [_InterestingSemanticsFragment] describing the actual semantic
    /// information that this fragment wants to add to the parent.
    List<_InterestingSemanticsFragment> get interestingFragments;
  
    /// Whether this fragment wants to abort the semantics walk because the
    /// information in the tree are not sufficient to calculate semantics.
    ///
    /// This happens for subtrees that are currently kept alive by a viewport but
    /// not laid out.
    ///
    /// See also:
    ///
    ///  * [_AbortingSemanticsFragment], which sets this to true.
    bool get abortsWalk => false;
  }
  
  /// A container used when a [RenderObject] wants to add multiple independent
  
negative.code:     final Set<_InterestingSemanticsFragment> toBeMarkedExplicit = <_InterestingSemanticsFragment>{};
      final bool childrenMergeIntoParent = mergeIntoParent || config.isMergingSemanticsOfDescendants;
  
      visitChildrenForSemantics((RenderObject renderChild) {
        assert(!_needsLayout);
        final _SemanticsFragment parentFragment = renderChild._getSemanticsForParent(
          mergeIntoParent: childrenMergeIntoParent,
        );
        if (parentFragment.dropsSemanticsOfPreviousSiblings) {
          fragments.clear();
          toBeMarkedExplicit.clear();
  