anchor.diff:      return new SectorDimensions.withConstraints(constraints);
     }
   
  -  void layout(SectorConstraints constraints, double radius, { RenderNode relayoutSubtreeRoot }) {
  +  void layout(SectorConstraints constraints, { RenderNode relayoutSubtreeRoot }) {
       deltaRadius = constraints.constrainDeltaRadius(0.0);
       deltaTheta = constraints.constrainDeltaTheta(0.0);
       layoutDone();
  
positive.code:     double childRadius = radius + padding;
      double paddingTheta = math.atan(padding / (radius + outerDeltaRadius));
      double innerTheta = paddingTheta; // increments with each child
      double remainingTheta = constraints.maxDeltaTheta - (innerTheta + paddingTheta);
      RenderSector child = firstChild;
      while (child != null) {
        SectorConstraints innerConstraints = new SectorConstraints(
          maxDeltaRadius: innerDeltaRadius,
          maxDeltaTheta: remainingTheta
        );
        SectorDimensions childDimensions = child.getIntrinsicDimensions(innerConstraints, childRadius);
        innerTheta += childDimensions.deltaTheta;
        remainingTheta -= childDimensions.deltaTheta;
        assert(child.parentData is SectorChildListParentData);
        child = child.parentData.nextSibling;
        if (child != null) {
          innerTheta += paddingTheta;
          remainingTheta -= paddingTheta;
        }
      }
      return new SectorDimensions.withConstraints(constraints,
  
negative.code:     assert(child is RenderSector);
      assert(child.parentData is SectorParentData);
      assert(!constraints.isInfinite);
      double maxChildDeltaRadius = math.min(constraints.maxWidth, constraints.maxHeight) / 2.0 - innerRadius;
      SectorDimensions childDimensions = child.getIntrinsicDimensions(new SectorConstraints(maxDeltaRadius: maxChildDeltaRadius), innerRadius);
      double dimension = (innerRadius + childDimensions.deltaRadius) * 2.0;
      return new BoxDimensions.withConstraints(constraints, width: dimension, height: dimension);
  