anchor.diff:        final Paint paint = new Paint()..color = circle.color;
         final Rect rect = new Rect.fromLTWH(0.0, 0.0, size.width, size.height);
         canvas.clipRect(rect);
  +      double navWidth = math.min(bottomNavMaxWidth, size.width);
  +      Point center = new Point(
  +        (size.width - navWidth) / 2.0 + circle.offset.dx * navWidth,
  +        circle.offset.dy * size.height
  +      );
         canvas.drawCircle(
  -        circle.offset.withinRect(rect),
  +        center,
           radiusTween.lerp(circle.animation.value),
           paint
         );
  
positive.code: 
  class _RadialPainter extends CustomPainter {
    _RadialPainter({
      this.circles
    });
  
    final List<_Circle> circles;
  
    // Computes the maximum radius attainable such that at least one of the
    // bounding rectangle's corners touches the egde of the circle. Drawing a
  
negative.code:                   bottom: 0.0,
                    child: new CustomPaint(
                      painter: new _RadialPainter(
                        circles: _circles.toList(),
                        bottomNavMaxWidth: _maxWidth,
                      ),
                    ),
                  ),
  