{"version":3,"sources":["jsdelivr-header.js","/npm/@strudel/draw@1.2.5/dist/index.mjs"],"names":[],"mappings":"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","file":"/npm/@strudel/draw@1.2.5/dist/index.mjs","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@strudel/draw@1.2.5/dist/index.mjs\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { Pattern as O, getTime as se, silence as Ee, createParams as Re, register as x, pure as Oe, freqToMidi as _e, noteToMidi as ze, isPattern as Le, midiToFreq as We, getFrequency as Ne } from \"@strudel/core\";\nconst Z = (t = \"test-canvas\", e) => {\n  let { contextType: n = \"2d\", pixelated: o = !1, pixelRatio: a = window.devicePixelRatio } = e || {}, r = document.querySelector(\"#\" + t);\n  if (!r) {\n    r = document.createElement(\"canvas\"), r.id = t, r.width = window.innerWidth * a, r.height = window.innerHeight * a, r.style = \"pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0\", o && (r.style.imageRendering = \"pixelated\"), document.body.prepend(r);\n    let l;\n    window.addEventListener(\"resize\", () => {\n      l && clearTimeout(l), l = setTimeout(() => {\n        r.width = window.innerWidth * a, r.height = window.innerHeight * a;\n      }, 200);\n    });\n  }\n  return r.getContext(n, { willReadFrequently: !0 });\n};\nlet $ = {};\nfunction pe(t) {\n  $[t] !== void 0 && (cancelAnimationFrame($[t]), delete $[t]);\n}\nfunction De(t) {\n  Object.keys($).forEach((e) => (!t || e.startsWith(t)) && pe(e));\n}\nlet R = {};\nO.prototype.draw = function(t, e) {\n  if (typeof window > \"u\")\n    return this;\n  let { id: n = 1, lookbehind: o = 0, lookahead: a = 0 } = e, r = Math.max(se(), 0);\n  pe(n), o = Math.abs(o), R[n] = (R[n] || []).filter((g) => !g.isInFuture(r));\n  let l = this.queryArc(r, r + a).filter((g) => g.hasOnset());\n  R[n] = R[n].concat(l);\n  let f;\n  const i = () => {\n    const g = se(), u = g + a;\n    R[n] = R[n].filter((d) => d.isInNearPast(o, g));\n    let c = Math.max(f || u, u - 1 / 10);\n    const b = this.queryArc(c, u).filter((d) => d.hasOnset());\n    R[n] = R[n].concat(b), f = u, t(R[n], g, u, this), $[n] = requestAnimationFrame(i);\n  };\n  return $[n] = requestAnimationFrame(i), this;\n};\nconst Ke = (t = !0, e) => {\n  const n = Z();\n  t && n.clearRect(0, 0, n.canvas.width, n.canvas.height), De(e);\n};\nO.prototype.onPaint = function(t) {\n  return this.withState((e) => (e.controls.painters || (e.controls.painters = []), e.controls.painters.push(t), e));\n};\nO.prototype.getPainters = function() {\n  let t = [];\n  return this.queryArc(0, 0, { painters: t }), t;\n};\nclass $e {\n  constructor(e, n) {\n    this.onFrame = e, this.onError = n;\n  }\n  start() {\n    const e = this;\n    let n = requestAnimationFrame(function o(a) {\n      try {\n        e.onFrame(a);\n      } catch (r) {\n        e.onError(r);\n      }\n      n = requestAnimationFrame(o);\n    });\n    e.cancel = () => {\n      cancelAnimationFrame(n);\n    };\n  }\n  stop() {\n    this.cancel && this.cancel();\n  }\n}\nclass Qe {\n  constructor(e, n) {\n    this.visibleHaps = [], this.lastFrame = null, this.drawTime = n, this.painters = [], this.framer = new $e(\n      () => {\n        if (!this.scheduler) {\n          console.warn(\"Drawer: no scheduler\");\n          return;\n        }\n        const o = Math.abs(this.drawTime[0]), a = this.drawTime[1], r = this.scheduler.now() + a;\n        if (this.lastFrame === null) {\n          this.lastFrame = r;\n          return;\n        }\n        const l = this.scheduler.pattern.queryArc(Math.max(this.lastFrame, r - 1 / 10), r);\n        this.lastFrame = r, this.visibleHaps = (this.visibleHaps || []).filter((i) => i.whole && i.endClipped >= r - o - a).concat(l.filter((i) => i.hasOnset()));\n        const f = r - a;\n        e(this.visibleHaps, f, this, this.painters);\n      },\n      (o) => {\n        console.warn(\"draw error\", o);\n      }\n    );\n  }\n  setDrawTime(e) {\n    this.drawTime = e;\n  }\n  invalidate(e = this.scheduler, n) {\n    if (!e)\n      return;\n    n = n ?? e.now(), this.scheduler = e;\n    let [o, a] = this.drawTime;\n    const [r, l] = [Math.max(n, 0), n + a + 0.1];\n    this.visibleHaps = this.visibleHaps.filter((i) => i.whole?.begin < n), this.painters = [];\n    const f = e.pattern.queryArc(r, l, { painters: this.painters });\n    this.visibleHaps = this.visibleHaps.concat(f);\n  }\n  start(e) {\n    this.scheduler = e, this.invalidate(), this.framer.start();\n  }\n  stop() {\n    this.framer && this.framer.stop();\n  }\n}\nfunction Ue(t) {\n  return typeof window > \"u\" ? \"#fff\" : getComputedStyle(document.documentElement).getPropertyValue(t);\n}\nlet ye = {\n  background: \"#222\",\n  foreground: \"#75baff\",\n  caret: \"#ffcc00\",\n  selection: \"rgba(128, 203, 196, 0.5)\",\n  selectionMatch: \"#036dd626\",\n  lineHighlight: \"#00000050\",\n  gutterBackground: \"transparent\",\n  gutterForeground: \"#8a919966\"\n};\nfunction W() {\n  return ye;\n}\nfunction Ze(t) {\n  ye = t;\n}\nlet fe = \"#22222210\";\nO.prototype.animate = function({ callback: t, sync: e = !1, smear: n = 0.5 } = {}) {\n  window.frame && cancelAnimationFrame(window.frame);\n  const o = Z();\n  let { clientWidth: a, clientHeight: r } = o.canvas;\n  a *= window.devicePixelRatio, r *= window.devicePixelRatio;\n  let l = n === 0 ? \"99\" : Number((1 - n) * 100).toFixed(0);\n  l = l.length === 1 ? `0${l}` : l, fe = `#200010${l}`;\n  const f = (i) => {\n    let g;\n    i = Math.round(i), g = this.slow(1e3).queryArc(i, i), o.fillStyle = fe, o.fillRect(0, 0, a, r), g.forEach((u) => {\n      let { x: c, y: b, w: d, h: w, s: p, r: k, angle: h = 0, fill: S = \"darkseagreen\" } = u.value;\n      if (d *= a, w *= r, k !== void 0 && h !== void 0) {\n        const v = h * 2 * Math.PI, [y, P] = [(a - d) / 2, (r - w) / 2];\n        c = y + Math.cos(v) * k * y, b = P + Math.sin(v) * k * P;\n      } else\n        c *= a - d, b *= r - w;\n      const A = { ...u.value, x: c, y: b, w: d, h: w };\n      o.fillStyle = S, p === \"rect\" ? o.fillRect(c, b, d, w) : p === \"ellipse\" && (o.beginPath(), o.ellipse(c + d / 2, b + w / 2, d / 2, w / 2, 0, 0, 2 * Math.PI), o.fill()), t && t(o, A, u);\n    }), window.frame = requestAnimationFrame(f);\n  };\n  return window.frame = requestAnimationFrame(f), Ee;\n};\nconst { x: we, y: xe, w: et, h: tt, angle: nt, r: rt, fill: at, smear: ot } = Re(\"x\", \"y\", \"w\", \"h\", \"angle\", \"r\", \"fill\", \"smear\"), it = x(\"rescale\", function(t, e) {\n  return e.mul(we(t).w(t).y(t).h(t));\n}), lt = x(\"moveXY\", function(t, e, n) {\n  return n.add(we(t).y(e));\n}), st = x(\"zoomIn\", function(t, e) {\n  const n = Oe(1).sub(t).div(2);\n  return e.rescale(t).move(n, n);\n}), ce = {\n  aliceblue: \"#f0f8ff\",\n  antiquewhite: \"#faebd7\",\n  aqua: \"#00ffff\",\n  aquamarine: \"#7fffd4\",\n  azure: \"#f0ffff\",\n  beige: \"#f5f5dc\",\n  bisque: \"#ffe4c4\",\n  black: \"#000000\",\n  blanchedalmond: \"#ffebcd\",\n  blue: \"#0000ff\",\n  blueviolet: \"#8a2be2\",\n  brown: \"#a52a2a\",\n  burlywood: \"#deb887\",\n  cadetblue: \"#5f9ea0\",\n  chartreuse: \"#7fff00\",\n  chocolate: \"#d2691e\",\n  coral: \"#ff7f50\",\n  cornflowerblue: \"#6495ed\",\n  cornsilk: \"#fff8dc\",\n  crimson: \"#dc143c\",\n  cyan: \"#00ffff\",\n  darkblue: \"#00008b\",\n  darkcyan: \"#008b8b\",\n  darkgoldenrod: \"#b8860b\",\n  darkgray: \"#a9a9a9\",\n  darkgreen: \"#006400\",\n  darkgrey: \"#a9a9a9\",\n  darkkhaki: \"#bdb76b\",\n  darkmagenta: \"#8b008b\",\n  darkolivegreen: \"#556b2f\",\n  darkorange: \"#ff8c00\",\n  darkorchid: \"#9932cc\",\n  darkred: \"#8b0000\",\n  darksalmon: \"#e9967a\",\n  darkseagreen: \"#8fbc8f\",\n  darkslateblue: \"#483d8b\",\n  darkslategray: \"#2f4f4f\",\n  darkslategrey: \"#2f4f4f\",\n  darkturquoise: \"#00ced1\",\n  darkviolet: \"#9400d3\",\n  deeppink: \"#ff1493\",\n  deepskyblue: \"#00bfff\",\n  dimgray: \"#696969\",\n  dimgrey: \"#696969\",\n  dodgerblue: \"#1e90ff\",\n  firebrick: \"#b22222\",\n  floralwhite: \"#fffaf0\",\n  forestgreen: \"#228b22\",\n  fuchsia: \"#ff00ff\",\n  gainsboro: \"#dcdcdc\",\n  ghostwhite: \"#f8f8ff\",\n  gold: \"#ffd700\",\n  goldenrod: \"#daa520\",\n  gray: \"#808080\",\n  green: \"#008000\",\n  greenyellow: \"#adff2f\",\n  grey: \"#808080\",\n  honeydew: \"#f0fff0\",\n  hotpink: \"#ff69b4\",\n  indianred: \"#cd5c5c\",\n  indigo: \"#4b0082\",\n  ivory: \"#fffff0\",\n  khaki: \"#f0e68c\",\n  lavender: \"#e6e6fa\",\n  lavenderblush: \"#fff0f5\",\n  lawngreen: \"#7cfc00\",\n  lemonchiffon: \"#fffacd\",\n  lightblue: \"#add8e6\",\n  lightcoral: \"#f08080\",\n  lightcyan: \"#e0ffff\",\n  lightgoldenrodyellow: \"#fafad2\",\n  lightgray: \"#d3d3d3\",\n  lightgreen: \"#90ee90\",\n  lightgrey: \"#d3d3d3\",\n  lightpink: \"#ffb6c1\",\n  lightsalmon: \"#ffa07a\",\n  lightseagreen: \"#20b2aa\",\n  lightskyblue: \"#87cefa\",\n  lightslategray: \"#778899\",\n  lightslategrey: \"#778899\",\n  lightsteelblue: \"#b0c4de\",\n  lightyellow: \"#ffffe0\",\n  lime: \"#00ff00\",\n  limegreen: \"#32cd32\",\n  linen: \"#faf0e6\",\n  magenta: \"#ff00ff\",\n  maroon: \"#800000\",\n  mediumaquamarine: \"#66cdaa\",\n  mediumblue: \"#0000cd\",\n  mediumorchid: \"#ba55d3\",\n  mediumpurple: \"#9370db\",\n  mediumseagreen: \"#3cb371\",\n  mediumslateblue: \"#7b68ee\",\n  mediumspringgreen: \"#00fa9a\",\n  mediumturquoise: \"#48d1cc\",\n  mediumvioletred: \"#c71585\",\n  midnightblue: \"#191970\",\n  mintcream: \"#f5fffa\",\n  mistyrose: \"#ffe4e1\",\n  moccasin: \"#ffe4b5\",\n  navajowhite: \"#ffdead\",\n  navy: \"#000080\",\n  oldlace: \"#fdf5e6\",\n  olive: \"#808000\",\n  olivedrab: \"#6b8e23\",\n  orange: \"#ffa500\",\n  orangered: \"#ff4500\",\n  orchid: \"#da70d6\",\n  palegoldenrod: \"#eee8aa\",\n  palegreen: \"#98fb98\",\n  paleturquoise: \"#afeeee\",\n  palevioletred: \"#db7093\",\n  papayawhip: \"#ffefd5\",\n  peachpuff: \"#ffdab9\",\n  peru: \"#cd853f\",\n  pink: \"#ffc0cb\",\n  plum: \"#dda0dd\",\n  powderblue: \"#b0e0e6\",\n  purple: \"#800080\",\n  red: \"#ff0000\",\n  rosybrown: \"#bc8f8f\",\n  royalblue: \"#4169e1\",\n  saddlebrown: \"#8b4513\",\n  salmon: \"#fa8072\",\n  sandybrown: \"#f4a460\",\n  seagreen: \"#2e8b57\",\n  seashell: \"#fff5ee\",\n  sienna: \"#a0522d\",\n  silver: \"#c0c0c0\",\n  skyblue: \"#87ceeb\",\n  slateblue: \"#6a5acd\",\n  slategray: \"#708090\",\n  slategrey: \"#708090\",\n  snow: \"#fffafa\",\n  springgreen: \"#00ff7f\",\n  steelblue: \"#4682b4\",\n  tan: \"#d2b48c\",\n  teal: \"#008080\",\n  thistle: \"#d8bfd8\",\n  tomato: \"#ff6347\",\n  turquoise: \"#40e0d0\",\n  violet: \"#ee82ee\",\n  wheat: \"#f5deb3\",\n  white: \"#ffffff\",\n  whitesmoke: \"#f5f5f5\",\n  yellow: \"#ffff00\",\n  yellowgreen: \"#9acd32\"\n};\nfunction ft(t) {\n  return t = t.toLowerCase(), t[0] === \"#\" ? de(t) : ce[t] !== void 0 ? de(ce[t]) : -1;\n}\nfunction de(t) {\n  return t = t.slice(1), parseInt(t, 16);\n}\nconst G = (t, e, n) => t * (n - e) + e, he = (t) => {\n  let { value: e } = t;\n  typeof t.value != \"object\" && (e = { value: e });\n  let { note: n, n: o, freq: a, s: r } = e;\n  if (a)\n    return _e(a);\n  if (n = n ?? o, typeof n == \"string\")\n    try {\n      return ze(n);\n    } catch {\n      return 0;\n    }\n  return typeof n == \"number\" ? n : r ? \"_\" + r : e;\n};\nO.prototype.pianoroll = function(t = {}) {\n  let { cycles: e = 4, playhead: n = 0.5, overscan: o = 0, hideNegative: a = !1, ctx: r = Z(), id: l = 1 } = t, f = -e * n, i = e * (1 - n);\n  const g = (u, c) => (!a || u.whole.begin >= 0) && u.isWithinTime(c + f, c + i);\n  return this.draw(\n    (u, c) => {\n      ee({\n        ...t,\n        time: c,\n        ctx: r,\n        haps: u.filter((b) => g(b, c))\n      });\n    },\n    {\n      lookbehind: f - o,\n      lookahead: i + o,\n      id: l\n    }\n  ), this;\n};\nfunction ct(t) {\n  return Le(t) ? t.pianoroll() : (e) => e.pianoroll(t);\n}\nfunction ee({\n  time: t,\n  haps: e,\n  cycles: n = 4,\n  playhead: o = 0.5,\n  flipTime: a = 0,\n  flipValues: r = 0,\n  hideNegative: l = !1,\n  inactive: f = W().foreground,\n  active: i = W().foreground,\n  background: g = \"transparent\",\n  smear: u = 0,\n  playheadColor: c = W().foreground,\n  minMidi: b = 10,\n  maxMidi: d = 90,\n  autorange: w = 0,\n  timeframe: p,\n  fold: k = 1,\n  vertical: h = 0,\n  labels: S = !1,\n  fill: A = 1,\n  fillActive: v = !1,\n  strokeActive: y = !0,\n  stroke: P,\n  hideInactive: H = 0,\n  colorizeInactive: q = 1,\n  fontFamily: C,\n  ctx: s,\n  id: _\n} = {}) {\n  const T = s.canvas.width, I = s.canvas.height;\n  let z = -n * o, j = n * (1 - o);\n  _ && (e = e.filter((m) => m.hasTag(_))), p && (console.warn(\"timeframe is deprecated! use from/to instead\"), z = 0, j = p);\n  const N = h ? I : T, E = h ? T : I;\n  let L = h ? [N, 0] : [0, N];\n  const J = j - z, te = h ? [0, E] : [E, 0];\n  let K = d - b + 1, D = E / K, Q = [];\n  a && L.reverse(), r && te.reverse();\n  const { min: ke, max: Pe, values: Te } = e.reduce(\n    ({ min: m, max: F, values: X }, Y) => {\n      const M = he(Y);\n      return {\n        min: M < m ? M : m,\n        max: M > F ? M : F,\n        values: X.includes(M) ? X : [...X, M]\n      };\n    },\n    { min: 1 / 0, max: -1 / 0, values: [] }\n  );\n  w && (b = ke, d = Pe, K = d - b + 1), Q = Te.sort(\n    (m, F) => typeof m == \"number\" && typeof F == \"number\" ? m - F : typeof m == \"number\" ? 1 : String(m).localeCompare(String(F))\n  ), D = k ? E / Q.length : E / K, s.fillStyle = g, s.globalAlpha = 1, u || (s.clearRect(0, 0, T, I), s.fillRect(0, 0, T, I)), e.forEach((m) => {\n    const F = m.whole.begin <= t && m.endClipped > t;\n    let X = P ?? (y && F), Y = !F && A || F && v;\n    if (H && !F)\n      return;\n    let M = m.value?.color;\n    i = M || i, f = q && M || f, M = F ? i : f, s.fillStyle = Y ? M : \"transparent\", s.strokeStyle = M;\n    const { velocity: Ae = 1, gain: qe = 1 } = m.value || {};\n    s.globalAlpha = Ae * qe;\n    const Fe = (m.whole.begin - (a ? j : z)) / J, ne = G(Fe, ...L);\n    let B = G(m.duration / J, 0, N);\n    const re = he(m), Me = k ? Q.indexOf(re) / Q.length : (Number(re) - b) / K, ae = G(Me, ...te);\n    let oe = 0;\n    const ie = G(t / J, ...L);\n    let V;\n    if (h ? V = [\n      ae + 1 - (r ? D : 0),\n      // x\n      N - ie + ne + oe + 1 - (a ? 0 : B),\n      // y\n      D - 2,\n      // width\n      B - 2\n      // height\n    ] : V = [\n      ne - ie + oe + 1 - (a ? B : 0),\n      // x\n      ae + 1 - (r ? 0 : D),\n      // y\n      B - 2,\n      // widith\n      D - 2\n      // height\n    ], X && s.strokeRect(...V), Y && s.fillRect(...V), S) {\n      const Se = m.value.note ?? m.value.s + (m.value.n ? `:${m.value.n}` : \"\"), { label: le, activeLabel: Ce } = m.value, He = (F && Ce || le) ?? Se;\n      let Ie = h ? B : D * 0.75;\n      s.font = `${Ie}px ${C || \"monospace\"}`, s.fillStyle = /* isActive &&  */\n      Y ? \"black\" : M, s.textBaseline = \"top\", s.fillText(He, ...V);\n    }\n  }), s.globalAlpha = 1;\n  const U = G(-z / J, ...L);\n  return s.strokeStyle = c, s.beginPath(), h ? (s.moveTo(0, U), s.lineTo(E, U)) : (s.moveTo(U, 0), s.lineTo(U, E)), s.stroke(), this;\n}\nfunction ve(t, e = {}) {\n  let [n, o] = t;\n  n = Math.abs(n);\n  const a = o + n, r = a !== 0 ? n / a : 0;\n  return { fold: 1, ...e, cycles: a, playhead: r };\n}\nconst je = (t = {}) => (e, n, o, a) => ee({ ctx: e, time: n, haps: o, ...ve(a, t) });\nO.prototype.punchcard = function(t) {\n  return this.onPaint(je(t));\n};\nO.prototype.wordfall = function(t) {\n  return this.punchcard({ vertical: 1, labels: 1, stroke: 0, fillActive: 1, active: \"white\", ...t });\n};\nfunction dt(t) {\n  const { drawTime: e, ...n } = t;\n  ee({ ...ve(e), ...n });\n}\nfunction Xe(t, e, n, o) {\n  const a = (t - 90) * Math.PI / 180;\n  return [n + Math.cos(a) * e, o + Math.sin(a) * e];\n}\nconst ue = (t, e, n, o, a = 0) => Xe((t + a) * 360, e * t, n, o);\nfunction me(t) {\n  let {\n    ctx: e,\n    from: n = 0,\n    to: o = 3,\n    margin: a = 50,\n    cx: r = 100,\n    cy: l = 100,\n    rotate: f = 0,\n    thickness: i = a / 2,\n    color: g = W().foreground,\n    cap: u = \"round\",\n    stretch: c = 1,\n    fromOpacity: b = 1,\n    toOpacity: d = 1\n  } = t;\n  n *= c, o *= c, f *= c, e.lineWidth = i, e.lineCap = u, e.strokeStyle = g, e.globalAlpha = b, e.beginPath();\n  let [w, p] = ue(n, a, r, l, f);\n  e.moveTo(w, p);\n  const k = 1 / 60;\n  let h = n;\n  for (; h <= o; ) {\n    const [S, A] = ue(h, a, r, l, f);\n    e.globalAlpha = (h - n) / (o - n) * d, e.lineTo(S, A), h += k;\n  }\n  e.stroke();\n}\nfunction Ye(t) {\n  let {\n    stretch: e = 1,\n    size: n = 80,\n    thickness: o = n / 2,\n    cap: a = \"butt\",\n    // round butt squar,\n    inset: r = 3,\n    // start angl,\n    playheadColor: l = \"#ffffff\",\n    playheadLength: f = 0.02,\n    playheadThickness: i = o,\n    padding: g = 0,\n    steady: u = 1,\n    activeColor: c = W().foreground,\n    inactiveColor: b = W().gutterForeground,\n    colorizeInactive: d = 0,\n    fade: w = !0,\n    // logSpiral = true,\n    ctx: p,\n    time: k,\n    haps: h,\n    drawTime: S,\n    id: A\n  } = t;\n  A && (h = h.filter((T) => T.hasTag(A)));\n  const [v, y] = [p.canvas.width, p.canvas.height];\n  p.clearRect(0, 0, v * 2, y * 2);\n  const [P, H] = [v / 2, y / 2], q = {\n    margin: n / e,\n    cx: P,\n    cy: H,\n    stretch: e,\n    cap: a,\n    thickness: o\n  }, C = {\n    ...q,\n    thickness: i,\n    from: r - f,\n    to: r,\n    color: l\n  }, [s] = S, _ = u * k;\n  h.forEach((T) => {\n    const I = T.whole.begin <= k && T.endClipped > k, z = T.whole.begin - k + r, j = T.endClipped - k + r - g, N = T.value?.color || c, E = d || I ? N : b, L = w ? 1 - Math.abs((T.whole.begin - k) / s) : 1;\n    me({\n      ctx: p,\n      ...q,\n      from: z,\n      to: j,\n      rotate: _,\n      color: E,\n      fromOpacity: L,\n      toOpacity: L\n    });\n  }), me({\n    ctx: p,\n    ...C,\n    rotate: _\n  });\n}\nO.prototype.spiral = function(t = {}) {\n  return this.onPaint((e, n, o, a) => Ye({ ctx: e, time: n, haps: o, drawTime: a, ...t }));\n};\nconst Be = We(36), ge = (t, e, n, o) => {\n  o = o * Math.PI * 2;\n  const a = Math.sin(o) * n + t, r = Math.cos(o) * n + e;\n  return [a, r];\n}, be = (t, e) => 0.5 - Math.log2(t / e) % 1;\nfunction Ve({\n  haps: t,\n  ctx: e,\n  id: n,\n  hapcircles: o = 1,\n  circle: a = 0,\n  edo: r = 12,\n  root: l = Be,\n  thickness: f = 3,\n  hapRadius: i = 6,\n  mode: g = \"flake\",\n  margin: u = 10\n} = {}) {\n  const c = g === \"polygon\", b = g === \"flake\", d = e.canvas.width, w = e.canvas.height;\n  e.clearRect(0, 0, d, w);\n  const p = W().foreground, h = Math.min(d, w) / 2 - f / 2 - i - u, S = d / 2, A = w / 2;\n  n && (t = t.filter((y) => y.hasTag(n))), e.strokeStyle = p, e.fillStyle = p, e.globalAlpha = 1, e.lineWidth = f, a && (e.beginPath(), e.arc(S, A, h, 0, 2 * Math.PI), e.stroke()), r && (Array.from({ length: r }, (y, P) => {\n    const H = be(l * Math.pow(2, P / r), l), [q, C] = ge(S, A, h, H);\n    e.beginPath(), e.arc(q, C, i, 0, 2 * Math.PI), e.fill();\n  }), e.stroke());\n  let v = [];\n  e.lineWidth = i, t.forEach((y) => {\n    let P;\n    try {\n      P = Ne(y);\n    } catch {\n      return;\n    }\n    const H = be(P, l), [q, C] = ge(S, A, h, H), s = y.value.color || p;\n    e.strokeStyle = s, e.fillStyle = s;\n    const { velocity: _ = 1, gain: T = 1 } = y.value || {}, I = _ * T;\n    e.globalAlpha = I, v.push([q, C, H, s, I]), e.beginPath(), o && (e.moveTo(q + i, C), e.arc(q, C, i, 0, 2 * Math.PI), e.fill()), b && (e.moveTo(S, A), e.lineTo(q, C)), e.stroke();\n  }), e.strokeStyle = p, e.globalAlpha = 1, c && v.length && (v = v.sort((y, P) => y[2] - P[2]), e.beginPath(), e.moveTo(v[0][0], v[0][1]), v.forEach(([y, P, H, q, C]) => {\n    e.strokeStyle = q, e.globalAlpha = C, e.lineTo(y, P);\n  }), e.lineTo(v[0][0], v[0][1]), e.stroke());\n}\nO.prototype.pitchwheel = function(t = {}) {\n  let { ctx: e = Z(), id: n = 1 } = t;\n  return this.tag(n).onPaint(\n    (o, a, r) => Ve({\n      ...t,\n      time: a,\n      ctx: e,\n      haps: r.filter((l) => l.isActive(a)),\n      id: n\n    })\n  );\n};\nexport {\n  Qe as Drawer,\n  $e as Framer,\n  ee as __pianoroll,\n  nt as angle,\n  Ke as cleanupDraw,\n  ce as colorMap,\n  ft as convertColorToNumber,\n  de as convertHexToNumber,\n  dt as drawPianoroll,\n  at as fill,\n  Ue as getComputedPropertyValue,\n  Z as getDrawContext,\n  ve as getDrawOptions,\n  je as getPunchcardPainter,\n  W as getTheme,\n  tt as h,\n  lt as moveXY,\n  ct as pianoroll,\n  Ve as pitchwheel,\n  rt as r,\n  it as rescale,\n  Ze as setTheme,\n  ot as smear,\n  et as w,\n  we as x,\n  xe as y,\n  st as zoomIn\n};\n"]}