anchor.diff:        final startAngle = tempAngle;
         final sweepAngle = sectionsAngle[i];
         final sectionCenterAngle = startAngle + (sweepAngle / 2);
  +      final centerRadius = _calculateCenterRadius(viewSize, holder);
   
         Offset sectionCenter(double percentageOffset) =>
             center +
             Offset(
               math.cos(radians(sectionCenterAngle)) *
  -                (_calculateCenterRadius(viewSize, holder) + (section.radius * percentageOffset)),
  +                (centerRadius + (section.radius * percentageOffset)),
               math.sin(radians(sectionCenterAngle)) *
  -                (_calculateCenterRadius(viewSize, holder) + (section.radius * percentageOffset)),
  +                (centerRadius + (section.radius * percentageOffset)),
             );
   
         final sectionCenterOffsetBadgeWidget = sectionCenter(section.badgePositionPercentageOffset);
  
positive.code: 
        final sectionRadiusRect = Rect.fromCircle(
          center: center,
          radius: _calculateCenterRadius(viewSize, holder) + section.radius,
        );
  
        final centerRadiusRect = Rect.fromCircle(
            center: center,
            radius: _calculateCenterRadius(viewSize, holder),
        );
  
        _sectionPaint.color = section.color;
  
negative.code:   /// Calculates layout of overlaying elements, includes:
    /// - title text
    /// - badge widget positions
    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);
  