anchor.diff:  
           var radius = point.radius;
           if (radius > 0) {
  +          var prev = vertices[i - 1];
  +
             var pos = point.renderTranslation;
  -
  -          var toPrev = Vec2D.fromValues(outX - pos.x, outY - pos.y);
  +          var toPrev =
  +              (prev is CubicVertex ? prev.renderOut : prev.renderTranslation) -
  +                  pos;
  +
             var toPrevLength = toPrev.length();
             toPrev.x /= toPrevLength;
             toPrev.y /= toPrevLength;
  
positive.code:         bounds, component, d2a / (d2a - d2b), start, cp1, cp2, end);
    }
  }
  
negative.code:           toNext.x /= toNextLength;
            toNext.y /= toNextLength;
  
            var renderRadius =
                min(toPrevLength / 2, min(toNextLength / 2, radius));
  
            var idealDistance =
                _computeIdealControlPointDistance(toPrev, toNext, renderRadius);
  
            var translation =
                Vec2D.scaleAndAdd(Vec2D(), pos, toPrev, renderRadius);
  