function l()

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;
  }