anchor.diff:            toNext.x /= toNextLength;
             toNext.y /= toNextLength;
   
  -          var renderRadius = min(toPrevLength, min(toNextLength, radius));
  +          var renderRadius =
  +              min(toPrevLength / 2, min(toNextLength / 2, radius));
  +
  +          var idealDistance =
  +              _computeIdealControlPointDistance(toPrev, toNext, renderRadius);
   
             var translation =
                 Vec2D.scaleAndAdd(Vec2D(), pos, toPrev, renderRadius);
  
positive.code: 
          var radius = point.radius;
          if (radius > 0) {
            var pos = point.renderTranslation;
  
            var toPrev = Vec2D.fromValues(outX - pos.x, outY - pos.y);
            var toPrevLength = toPrev.length();
            toPrev.x /= toPrevLength;
            toPrev.y /= toPrevLength;
  
negative.code:         bounds, component, d2a / (d2a - d2b), start, cp1, cp2, end);
    }
  }
  
  /// Compute an ideal control point distance to create a curve of the given
  /// radius.
  double _computeIdealControlPointDistance(
      Vec2D toPrev, Vec2D toNext, double radius) {
    // Get the angle between next and prev
    var angle = atan2(toPrev.x * toNext.y - toPrev.y * toNext.x,
            toPrev.x * toNext.x + toPrev.y * toNext.y)
        .abs();
  
    return min(
        radius,
        (4 / 3) *
            tan(pi / (2 * ((2 * pi) / angle))) *
            radius *
            (angle < pi / 2 ? 1 + cos(angle) : 2 - sin(angle)));
  }
  