in js/rough-notation.js [152:189]
function l(t, e, s) {
const i = t.length,
n = [];
if (i > 3) {
const o = [],
r = 1 - s.curveTightness;
n.push({ op: "move", data: [t[1][0], t[1][1]] });
for (let e = 1; e + 2 < i; e++) {
const s = t[e];
(o[0] = [s[0], s[1]]),
(o[1] = [
s[0] + (r * t[e + 1][0] - r * t[e - 1][0]) / 6,
s[1] + (r * t[e + 1][1] - r * t[e - 1][1]) / 6,
]),
(o[2] = [
t[e + 1][0] + (r * t[e][0] - r * t[e + 2][0]) / 6,
t[e + 1][1] + (r * t[e][1] - r * t[e + 2][1]) / 6,
]),
(o[3] = [t[e + 1][0], t[e + 1][1]]),
n.push({
op: "bcurveTo",
data: [o[1][0], o[1][1], o[2][0], o[2][1], o[3][0], o[3][1]],
});
}
if (e && 2 === e.length) {
const t = s.maxRandomnessOffset;
n.push({ op: "lineTo", data: [e[0] + c(t, s), e[1] + c(t, s)] });
}
} else
3 === i
? (n.push({ op: "move", data: [t[1][0], t[1][1]] }),
n.push({
op: "bcurveTo",
data: [t[1][0], t[1][1], t[2][0], t[2][1], t[2][0], t[2][1]],
}))
: 2 === i && n.push(...u(t[0][0], t[0][1], t[1][0], t[1][1], s));
return n;
}