anchor.diff:    /// Calculates layout of overlaying elements, includes:
     /// - title text
     /// - badge widget positions
  -  void _drawTexts(CanvasWrapper canvasWrapper, PaintHolder<PieChartData> holder) {
  +  void _drawTexts(
  +    CanvasWrapper canvasWrapper,
  +    PaintHolder<PieChartData> holder,
  +    double centerRadius,
  +  ) {
       final data = holder.data;
       final viewSize = canvasWrapper.size;
       final center = Offset(viewSize.width / 2, viewSize.height / 2);
  
positive.code:     }
  
      final sectionsAngle = _calculateSectionsAngle(data.sections, data.sumValue);
  
      _drawCenterSpace(canvasWrapper, holder);
      _drawSections(canvasWrapper, sectionsAngle, holder);
      _drawTexts(canvasWrapper, holder);
    }
  
    List<double> _calculateSectionsAngle(List<PieChartSectionData> sections, double sumValue) {
  
negative.code: 
    double _calculateCenterRadius(Size viewSize, PaintHolder<PieChartData> holder) {
      final data = holder.data;
      if (data.centerSpaceRadius.isFinite) {
        return data.centerSpaceRadius;
      }
      final maxRadius = data.sections.reduce((a, b) => a.radius > b.radius ? a : b).radius;
      return (viewSize.shortestSide - (maxRadius * 2)) / 2;
    }
  
    /// Makes a [PieTouchedSection] based on the provided [touchInput]
  