anchor.diff:  
         if (entry.state.childIndex != childIndex) {
           if (tuple.orientation == HierarchyOrientation.VERTICAL) {
  -          tx = xOffset + entry.state.actualWidth / 2 + borderSize;
  +          tx = offsetX + entry.state.actualWidth / 2 + borderSize;
             ty = entry.state.height / 2 + borderSize;
   
  -          xOffset += entry.state.actualWidth + nodeStyle.margin.item4 + nodeStyle.margin.item2;
  +          offsetX += entry.state.actualWidth + nodeStyle.margin.item4 + nodeStyle.margin.item2;
           } else {
             tx = entry.state.width / 2 + borderSize;
  -          ty = xOffset + entry.state.actualHeight / 2 + borderSize;
  -
  -          xOffset += entry.state.actualHeight + nodeStyle.margin.item1 + nodeStyle.margin.item3;
  +          ty = offsetY + entry.state.actualHeight / 2 + borderSize;
  +
  +          offsetY += entry.state.actualHeight + nodeStyle.margin.item1 + nodeStyle.margin.item3;
           }
   
           tuple.offsetTable[sprite] = new Tuple2<double, double>(tx, ty);
  
positive.code:         sprite.size$sink.add(new Tuple2<double, double>(entry.state.width, entry.state.height));
  
          childIndex = entry.state.childIndex;
        }
      });
  
  
negative.code: 
      rootItemValues.sort((RenderState<T> entryA, RenderState<T> entryB) => entryA.state.childIndex.compareTo(entryB.state.childIndex));
  
      double offsetX = .0, offsetY = .0;
      int childIndex = -1;
  
      rootItemValues.forEach((RenderState<T> entry) {
  