polylineRound = function(points, radius = 2){
if (points.length < 3) return null;
let out = "M" + points[0],
prev = points[0];
for (let i = 1, l = points.length; i < l; i++){
const curr = points[i],
a = geometric.lineAngle([prev, curr]);
if (i > 1){
out += `Q${prev} ${geometric.pointTranslate(prev, a, radius)}`;
}
out += `L${i === points.length - 1 ? curr : geometric.pointTranslate(prev, a, geometric.lineLength([prev, curr]) - radius)}`;
prev = curr;
}
return out;
}