sketchmark 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/ast/types.d.ts +1 -1
- package/dist/index.cjs +15 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +15 -17
- package/dist/index.js.map +1 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/renderer/roughChart.d.ts +1 -1
- package/dist/renderer/svg/index.d.ts.map +1 -1
- package/dist/scene/index.d.ts +1 -1
- package/dist/sketchmark.iife.js +15 -17
- package/package.json +1 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/parser/tokenizer.ts","../src/parser/index.ts","../src/markdown/parser.ts","../src/scene/index.ts","../src/layout/index.ts","../src/renderer/roughChart.ts","../src/renderer/svg/roughChartSVG.ts","../src/theme/index.ts","../src/fonts/index.ts","../node_modules/.pnpm/hachure-fill@0.5.2/node_modules/hachure-fill/bin/hachure.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/scan-line-hachure.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/hachure-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/geometry.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/zigzag-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/hatch-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/dot-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/dashed-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/zigzag-line-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/math.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/parser.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/absolutize.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/normalize.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/renderer.js","../node_modules/.pnpm/points-on-curve@0.2.0/node_modules/points-on-curve/lib/curve-to-bezier.js","../node_modules/.pnpm/points-on-curve@0.2.0/node_modules/points-on-curve/lib/index.js","../node_modules/.pnpm/points-on-path@0.2.1/node_modules/points-on-path/lib/index.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/generator.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/canvas.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/core.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/svg.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/rough.js","../src/renderer/svg/index.ts","../src/renderer/canvas/roughChartCanvas.ts","../src/renderer/canvas/index.ts","../src/animation/index.ts","../src/export/index.ts","../src/utils/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,"function rotatePoints(points, center, degrees) {\n if (points && points.length) {\n const [cx, cy] = center;\n const angle = (Math.PI / 180) * degrees;\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n for (const p of points) {\n const [x, y] = p;\n p[0] = ((x - cx) * cos) - ((y - cy) * sin) + cx;\n p[1] = ((x - cx) * sin) + ((y - cy) * cos) + cy;\n }\n }\n}\nfunction rotateLines(lines, center, degrees) {\n const points = [];\n lines.forEach((line) => points.push(...line));\n rotatePoints(points, center, degrees);\n}\nfunction areSamePoints(p1, p2) {\n return p1[0] === p2[0] && p1[1] === p2[1];\n}\nexport function hachureLines(polygons, hachureGap, hachureAngle, hachureStepOffset = 1) {\n const angle = hachureAngle;\n const gap = Math.max(hachureGap, 0.1);\n const polygonList = (polygons[0] && polygons[0][0] && (typeof polygons[0][0] === 'number')) ? [polygons] : polygons;\n const rotationCenter = [0, 0];\n if (angle) {\n for (const polygon of polygonList) {\n rotatePoints(polygon, rotationCenter, angle);\n }\n }\n const lines = straightHachureLines(polygonList, gap, hachureStepOffset);\n if (angle) {\n for (const polygon of polygonList) {\n rotatePoints(polygon, rotationCenter, -angle);\n }\n rotateLines(lines, rotationCenter, -angle);\n }\n return lines;\n}\nfunction straightHachureLines(polygons, gap, hachureStepOffset) {\n const vertexArray = [];\n for (const polygon of polygons) {\n const vertices = [...polygon];\n if (!areSamePoints(vertices[0], vertices[vertices.length - 1])) {\n vertices.push([vertices[0][0], vertices[0][1]]);\n }\n if (vertices.length > 2) {\n vertexArray.push(vertices);\n }\n }\n const lines = [];\n gap = Math.max(gap, 0.1);\n // Create sorted edges table\n const edges = [];\n for (const vertices of vertexArray) {\n for (let i = 0; i < vertices.length - 1; i++) {\n const p1 = vertices[i];\n const p2 = vertices[i + 1];\n if (p1[1] !== p2[1]) {\n const ymin = Math.min(p1[1], p2[1]);\n edges.push({\n ymin,\n ymax: Math.max(p1[1], p2[1]),\n x: ymin === p1[1] ? p1[0] : p2[0],\n islope: (p2[0] - p1[0]) / (p2[1] - p1[1]),\n });\n }\n }\n }\n edges.sort((e1, e2) => {\n if (e1.ymin < e2.ymin) {\n return -1;\n }\n if (e1.ymin > e2.ymin) {\n return 1;\n }\n if (e1.x < e2.x) {\n return -1;\n }\n if (e1.x > e2.x) {\n return 1;\n }\n if (e1.ymax === e2.ymax) {\n return 0;\n }\n return (e1.ymax - e2.ymax) / Math.abs((e1.ymax - e2.ymax));\n });\n if (!edges.length) {\n return lines;\n }\n // Start scanning\n let activeEdges = [];\n let y = edges[0].ymin;\n let iteration = 0;\n while (activeEdges.length || edges.length) {\n if (edges.length) {\n let ix = -1;\n for (let i = 0; i < edges.length; i++) {\n if (edges[i].ymin > y) {\n break;\n }\n ix = i;\n }\n const removed = edges.splice(0, ix + 1);\n removed.forEach((edge) => {\n activeEdges.push({ s: y, edge });\n });\n }\n activeEdges = activeEdges.filter((ae) => {\n if (ae.edge.ymax <= y) {\n return false;\n }\n return true;\n });\n activeEdges.sort((ae1, ae2) => {\n if (ae1.edge.x === ae2.edge.x) {\n return 0;\n }\n return (ae1.edge.x - ae2.edge.x) / Math.abs((ae1.edge.x - ae2.edge.x));\n });\n // fill between the edges\n if ((hachureStepOffset !== 1) || (iteration % gap === 0)) {\n if (activeEdges.length > 1) {\n for (let i = 0; i < activeEdges.length; i = i + 2) {\n const nexti = i + 1;\n if (nexti >= activeEdges.length) {\n break;\n }\n const ce = activeEdges[i].edge;\n const ne = activeEdges[nexti].edge;\n lines.push([\n [Math.round(ce.x), y],\n [Math.round(ne.x), y],\n ]);\n }\n }\n }\n y += hachureStepOffset;\n activeEdges.forEach((ae) => {\n ae.edge.x = ae.edge.x + (hachureStepOffset * ae.edge.islope);\n });\n iteration++;\n }\n return lines;\n}\n","import { hachureLines } from 'hachure-fill';\nexport function polygonHachureLines(polygonList, o) {\n var _a;\n const angle = o.hachureAngle + 90;\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.round(Math.max(gap, 0.1));\n let skipOffset = 1;\n if (o.roughness >= 1) {\n if ((((_a = o.randomizer) === null || _a === void 0 ? void 0 : _a.next()) || Math.random()) > 0.7) {\n skipOffset = gap;\n }\n }\n return hachureLines(polygonList, gap, angle, skipOffset || 1);\n}\n","import { polygonHachureLines } from './scan-line-hachure';\nexport class HachureFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n return this._fillPolygons(polygonList, o);\n }\n _fillPolygons(polygonList, o) {\n const lines = polygonHachureLines(polygonList, o);\n const ops = this.renderLines(lines, o);\n return { type: 'fillSketch', ops };\n }\n renderLines(lines, o) {\n const ops = [];\n for (const line of lines) {\n ops.push(...this.helper.doubleLineOps(line[0][0], line[0][1], line[1][0], line[1][1], o));\n }\n return ops;\n }\n}\n","export function lineLength(line) {\n const p1 = line[0];\n const p2 = line[1];\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2));\n}\n","import { HachureFiller } from './hachure-filler';\nimport { polygonHachureLines } from './scan-line-hachure';\nimport { lineLength } from '../geometry';\nexport class ZigZagFiller extends HachureFiller {\n fillPolygons(polygonList, o) {\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.max(gap, 0.1);\n const o2 = Object.assign({}, o, { hachureGap: gap });\n const lines = polygonHachureLines(polygonList, o2);\n const zigZagAngle = (Math.PI / 180) * o.hachureAngle;\n const zigzagLines = [];\n const dgx = gap * 0.5 * Math.cos(zigZagAngle);\n const dgy = gap * 0.5 * Math.sin(zigZagAngle);\n for (const [p1, p2] of lines) {\n if (lineLength([p1, p2])) {\n zigzagLines.push([\n [p1[0] - dgx, p1[1] + dgy],\n [...p2],\n ], [\n [p1[0] + dgx, p1[1] - dgy],\n [...p2],\n ]);\n }\n }\n const ops = this.renderLines(zigzagLines, o);\n return { type: 'fillSketch', ops };\n }\n}\n","import { HachureFiller } from './hachure-filler';\nexport class HatchFiller extends HachureFiller {\n fillPolygons(polygonList, o) {\n const set = this._fillPolygons(polygonList, o);\n const o2 = Object.assign({}, o, { hachureAngle: o.hachureAngle + 90 });\n const set2 = this._fillPolygons(polygonList, o2);\n set.ops = set.ops.concat(set2.ops);\n return set;\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class DotFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n o = Object.assign({}, o, { hachureAngle: 0 });\n const lines = polygonHachureLines(polygonList, o);\n return this.dotsOnLines(lines, o);\n }\n dotsOnLines(lines, o) {\n const ops = [];\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.max(gap, 0.1);\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n const ro = gap / 4;\n for (const line of lines) {\n const length = lineLength(line);\n const dl = length / gap;\n const count = Math.ceil(dl) - 1;\n const offset = length - (count * gap);\n const x = ((line[0][0] + line[1][0]) / 2) - (gap / 4);\n const minY = Math.min(line[0][1], line[1][1]);\n for (let i = 0; i < count; i++) {\n const y = minY + offset + (i * gap);\n const cx = (x - ro) + Math.random() * 2 * ro;\n const cy = (y - ro) + Math.random() * 2 * ro;\n const el = this.helper.ellipse(cx, cy, fweight, fweight, o);\n ops.push(...el.ops);\n }\n }\n return { type: 'fillSketch', ops };\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class DashedFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n const lines = polygonHachureLines(polygonList, o);\n return { type: 'fillSketch', ops: this.dashedLine(lines, o) };\n }\n dashedLine(lines, o) {\n const offset = o.dashOffset < 0 ? (o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap) : o.dashOffset;\n const gap = o.dashGap < 0 ? (o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap) : o.dashGap;\n const ops = [];\n lines.forEach((line) => {\n const length = lineLength(line);\n const count = Math.floor(length / (offset + gap));\n const startOffset = (length + gap - (count * (offset + gap))) / 2;\n let p1 = line[0];\n let p2 = line[1];\n if (p1[0] > p2[0]) {\n p1 = line[1];\n p2 = line[0];\n }\n const alpha = Math.atan((p2[1] - p1[1]) / (p2[0] - p1[0]));\n for (let i = 0; i < count; i++) {\n const lstart = i * (offset + gap);\n const lend = lstart + offset;\n const start = [p1[0] + (lstart * Math.cos(alpha)) + (startOffset * Math.cos(alpha)), p1[1] + lstart * Math.sin(alpha) + (startOffset * Math.sin(alpha))];\n const end = [p1[0] + (lend * Math.cos(alpha)) + (startOffset * Math.cos(alpha)), p1[1] + (lend * Math.sin(alpha)) + (startOffset * Math.sin(alpha))];\n ops.push(...this.helper.doubleLineOps(start[0], start[1], end[0], end[1], o));\n }\n });\n return ops;\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class ZigZagLineFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n const gap = o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap;\n const zo = o.zigzagOffset < 0 ? gap : o.zigzagOffset;\n o = Object.assign({}, o, { hachureGap: gap + zo });\n const lines = polygonHachureLines(polygonList, o);\n return { type: 'fillSketch', ops: this.zigzagLines(lines, zo, o) };\n }\n zigzagLines(lines, zo, o) {\n const ops = [];\n lines.forEach((line) => {\n const length = lineLength(line);\n const count = Math.round(length / (2 * zo));\n let p1 = line[0];\n let p2 = line[1];\n if (p1[0] > p2[0]) {\n p1 = line[1];\n p2 = line[0];\n }\n const alpha = Math.atan((p2[1] - p1[1]) / (p2[0] - p1[0]));\n for (let i = 0; i < count; i++) {\n const lstart = i * 2 * zo;\n const lend = (i + 1) * 2 * zo;\n const dz = Math.sqrt(2 * Math.pow(zo, 2));\n const start = [p1[0] + (lstart * Math.cos(alpha)), p1[1] + lstart * Math.sin(alpha)];\n const end = [p1[0] + (lend * Math.cos(alpha)), p1[1] + (lend * Math.sin(alpha))];\n const middle = [start[0] + dz * Math.cos(alpha + Math.PI / 4), start[1] + dz * Math.sin(alpha + Math.PI / 4)];\n ops.push(...this.helper.doubleLineOps(start[0], start[1], middle[0], middle[1], o), ...this.helper.doubleLineOps(middle[0], middle[1], end[0], end[1], o));\n }\n });\n return ops;\n }\n}\n","import { HachureFiller } from './hachure-filler';\nimport { ZigZagFiller } from './zigzag-filler';\nimport { HatchFiller } from './hatch-filler';\nimport { DotFiller } from './dot-filler';\nimport { DashedFiller } from './dashed-filler';\nimport { ZigZagLineFiller } from './zigzag-line-filler';\nconst fillers = {};\nexport function getFiller(o, helper) {\n let fillerName = o.fillStyle || 'hachure';\n if (!fillers[fillerName]) {\n switch (fillerName) {\n case 'zigzag':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new ZigZagFiller(helper);\n }\n break;\n case 'cross-hatch':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new HatchFiller(helper);\n }\n break;\n case 'dots':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new DotFiller(helper);\n }\n break;\n case 'dashed':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new DashedFiller(helper);\n }\n break;\n case 'zigzag-line':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new ZigZagLineFiller(helper);\n }\n break;\n case 'hachure':\n default:\n fillerName = 'hachure';\n if (!fillers[fillerName]) {\n fillers[fillerName] = new HachureFiller(helper);\n }\n break;\n }\n }\n return fillers[fillerName];\n}\n","export function randomSeed() {\n return Math.floor(Math.random() * 2 ** 31);\n}\nexport class Random {\n constructor(seed) {\n this.seed = seed;\n }\n next() {\n if (this.seed) {\n return ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31;\n }\n else {\n return Math.random();\n }\n }\n}\n","const COMMAND = 0;\nconst NUMBER = 1;\nconst EOD = 2;\nconst PARAMS = { A: 7, a: 7, C: 6, c: 6, H: 1, h: 1, L: 2, l: 2, M: 2, m: 2, Q: 4, q: 4, S: 4, s: 4, T: 2, t: 2, V: 1, v: 1, Z: 0, z: 0 };\nfunction tokenize(d) {\n const tokens = new Array();\n while (d !== '') {\n if (d.match(/^([ \\t\\r\\n,]+)/)) {\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^([aAcChHlLmMqQsStTvVzZ])/)) {\n tokens[tokens.length] = { type: COMMAND, text: RegExp.$1 };\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/)) {\n tokens[tokens.length] = { type: NUMBER, text: `${parseFloat(RegExp.$1)}` };\n d = d.substr(RegExp.$1.length);\n }\n else {\n return [];\n }\n }\n tokens[tokens.length] = { type: EOD, text: '' };\n return tokens;\n}\nfunction isType(token, type) {\n return token.type === type;\n}\nexport function parsePath(d) {\n const segments = [];\n const tokens = tokenize(d);\n let mode = 'BOD';\n let index = 0;\n let token = tokens[index];\n while (!isType(token, EOD)) {\n let paramsCount = 0;\n const params = [];\n if (mode === 'BOD') {\n if (token.text === 'M' || token.text === 'm') {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n else {\n return parsePath('M0,0' + d);\n }\n }\n else if (isType(token, NUMBER)) {\n paramsCount = PARAMS[mode];\n }\n else {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n if ((index + paramsCount) < tokens.length) {\n for (let i = index; i < index + paramsCount; i++) {\n const numbeToken = tokens[i];\n if (isType(numbeToken, NUMBER)) {\n params[params.length] = +numbeToken.text;\n }\n else {\n throw new Error('Param not a number: ' + mode + ',' + numbeToken.text);\n }\n }\n if (typeof PARAMS[mode] === 'number') {\n const segment = { key: mode, data: params };\n segments.push(segment);\n index += paramsCount;\n token = tokens[index];\n if (mode === 'M')\n mode = 'L';\n if (mode === 'm')\n mode = 'l';\n }\n else {\n throw new Error('Bad segment: ' + mode);\n }\n }\n else {\n throw new Error('Path data ended short');\n }\n }\n return segments;\n}\nexport function serialize(segments) {\n const tokens = [];\n for (const { key, data } of segments) {\n tokens.push(key);\n switch (key) {\n case 'C':\n case 'c':\n tokens.push(data[0], `${data[1]},`, data[2], `${data[3]},`, data[4], data[5]);\n break;\n case 'S':\n case 's':\n case 'Q':\n case 'q':\n tokens.push(data[0], `${data[1]},`, data[2], data[3]);\n break;\n default:\n tokens.push(...data);\n break;\n }\n }\n return tokens.join(' ');\n}\n","// Translate relative commands to absolute commands\nexport function absolutize(segments) {\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n const out = [];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'm':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'M', data: [cx, cy] });\n subx = cx;\n suby = cy;\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'l':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n break;\n case 'c': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'C', data: newdata });\n cx = newdata[4];\n cy = newdata[5];\n break;\n }\n case 'Q':\n out.push({ key: 'Q', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 'q': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'Q', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'A':\n out.push({ key: 'A', data: [...data] });\n cx = data[5];\n cy = data[6];\n break;\n case 'a':\n cx += data[5];\n cy += data[6];\n out.push({ key: 'A', data: [data[0], data[1], data[2], data[3], data[4], cx, cy] });\n break;\n case 'H':\n out.push({ key: 'H', data: [...data] });\n cx = data[0];\n break;\n case 'h':\n cx += data[0];\n out.push({ key: 'H', data: [cx] });\n break;\n case 'V':\n out.push({ key: 'V', data: [...data] });\n cy = data[0];\n break;\n case 'v':\n cy += data[0];\n out.push({ key: 'V', data: [cy] });\n break;\n case 'S':\n out.push({ key: 'S', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 's': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'S', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'T':\n out.push({ key: 'T', data: [...data] });\n cx = data[0];\n cy = data[1];\n break;\n case 't':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'T', data: [cx, cy] });\n break;\n case 'Z':\n case 'z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n }\n return out;\n}\n","// Normalize path to include only M, L, C, and Z commands\nexport function normalize(segments) {\n const out = [];\n let lastType = '';\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n let lcx = 0, lcy = 0;\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n lcx = data[2];\n lcy = data[3];\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'H':\n cx = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'V':\n cy = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'S': {\n let cx1 = 0, cy1 = 0;\n if (lastType === 'C' || lastType === 'S') {\n cx1 = cx + (cx - lcx);\n cy1 = cy + (cy - lcy);\n }\n else {\n cx1 = cx;\n cy1 = cy;\n }\n out.push({ key: 'C', data: [cx1, cy1, ...data] });\n lcx = data[0];\n lcy = data[1];\n cx = data[2];\n cy = data[3];\n break;\n }\n case 'T': {\n const [x, y] = data;\n let x1 = 0, y1 = 0;\n if (lastType === 'Q' || lastType === 'T') {\n x1 = cx + (cx - lcx);\n y1 = cy + (cy - lcy);\n }\n else {\n x1 = cx;\n y1 = cy;\n }\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'Q': {\n const [x1, y1, x, y] = data;\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'A': {\n const r1 = Math.abs(data[0]);\n const r2 = Math.abs(data[1]);\n const angle = data[2];\n const largeArcFlag = data[3];\n const sweepFlag = data[4];\n const x = data[5];\n const y = data[6];\n if (r1 === 0 || r2 === 0) {\n out.push({ key: 'C', data: [cx, cy, x, y, x, y] });\n cx = x;\n cy = y;\n }\n else {\n if (cx !== x || cy !== y) {\n const curves = arcToCubicCurves(cx, cy, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n curves.forEach(function (curve) {\n out.push({ key: 'C', data: curve });\n });\n cx = x;\n cy = y;\n }\n }\n break;\n }\n case 'Z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n lastType = key;\n }\n return out;\n}\nfunction degToRad(degrees) {\n return (Math.PI * degrees) / 180;\n}\nfunction rotate(x, y, angleRad) {\n const X = x * Math.cos(angleRad) - y * Math.sin(angleRad);\n const Y = x * Math.sin(angleRad) + y * Math.cos(angleRad);\n return [X, Y];\n}\nfunction arcToCubicCurves(x1, y1, x2, y2, r1, r2, angle, largeArcFlag, sweepFlag, recursive) {\n const angleRad = degToRad(angle);\n let params = [];\n let f1 = 0, f2 = 0, cx = 0, cy = 0;\n if (recursive) {\n [f1, f2, cx, cy] = recursive;\n }\n else {\n [x1, y1] = rotate(x1, y1, -angleRad);\n [x2, y2] = rotate(x2, y2, -angleRad);\n const x = (x1 - x2) / 2;\n const y = (y1 - y2) / 2;\n let h = (x * x) / (r1 * r1) + (y * y) / (r2 * r2);\n if (h > 1) {\n h = Math.sqrt(h);\n r1 = h * r1;\n r2 = h * r2;\n }\n const sign = (largeArcFlag === sweepFlag) ? -1 : 1;\n const r1Pow = r1 * r1;\n const r2Pow = r2 * r2;\n const left = r1Pow * r2Pow - r1Pow * y * y - r2Pow * x * x;\n const right = r1Pow * y * y + r2Pow * x * x;\n const k = sign * Math.sqrt(Math.abs(left / right));\n cx = k * r1 * y / r2 + (x1 + x2) / 2;\n cy = k * -r2 * x / r1 + (y1 + y2) / 2;\n f1 = Math.asin(parseFloat(((y1 - cy) / r2).toFixed(9)));\n f2 = Math.asin(parseFloat(((y2 - cy) / r2).toFixed(9)));\n if (x1 < cx) {\n f1 = Math.PI - f1;\n }\n if (x2 < cx) {\n f2 = Math.PI - f2;\n }\n if (f1 < 0) {\n f1 = Math.PI * 2 + f1;\n }\n if (f2 < 0) {\n f2 = Math.PI * 2 + f2;\n }\n if (sweepFlag && f1 > f2) {\n f1 = f1 - Math.PI * 2;\n }\n if (!sweepFlag && f2 > f1) {\n f2 = f2 - Math.PI * 2;\n }\n }\n let df = f2 - f1;\n if (Math.abs(df) > (Math.PI * 120 / 180)) {\n const f2old = f2;\n const x2old = x2;\n const y2old = y2;\n if (sweepFlag && f2 > f1) {\n f2 = f1 + (Math.PI * 120 / 180) * (1);\n }\n else {\n f2 = f1 + (Math.PI * 120 / 180) * (-1);\n }\n x2 = cx + r1 * Math.cos(f2);\n y2 = cy + r2 * Math.sin(f2);\n params = arcToCubicCurves(x2, y2, x2old, y2old, r1, r2, angle, 0, sweepFlag, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n const c1 = Math.cos(f1);\n const s1 = Math.sin(f1);\n const c2 = Math.cos(f2);\n const s2 = Math.sin(f2);\n const t = Math.tan(df / 4);\n const hx = 4 / 3 * r1 * t;\n const hy = 4 / 3 * r2 * t;\n const m1 = [x1, y1];\n const m2 = [x1 + hx * s1, y1 - hy * c1];\n const m3 = [x2 + hx * s2, y2 - hy * c2];\n const m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(params);\n }\n else {\n params = [m2, m3, m4].concat(params);\n const curves = [];\n for (let i = 0; i < params.length; i += 3) {\n const r1 = rotate(params[i][0], params[i][1], angleRad);\n const r2 = rotate(params[i + 1][0], params[i + 1][1], angleRad);\n const r3 = rotate(params[i + 2][0], params[i + 2][1], angleRad);\n curves.push([r1[0], r1[1], r2[0], r2[1], r3[0], r3[1]]);\n }\n return curves;\n }\n}\n","import { getFiller } from './fillers/filler.js';\nimport { Random } from './math.js';\nimport { parsePath, normalize, absolutize } from 'path-data-parser';\nconst helper = {\n randOffset,\n randOffsetWithRange,\n ellipse,\n doubleLineOps: doubleLineFillOps,\n};\nexport function line(x1, y1, x2, y2, o) {\n return { type: 'path', ops: _doubleLine(x1, y1, x2, y2, o) };\n}\nexport function linearPath(points, close, o) {\n const len = (points || []).length;\n if (len > 2) {\n const ops = [];\n for (let i = 0; i < (len - 1); i++) {\n ops.push(..._doubleLine(points[i][0], points[i][1], points[i + 1][0], points[i + 1][1], o));\n }\n if (close) {\n ops.push(..._doubleLine(points[len - 1][0], points[len - 1][1], points[0][0], points[0][1], o));\n }\n return { type: 'path', ops };\n }\n else if (len === 2) {\n return line(points[0][0], points[0][1], points[1][0], points[1][1], o);\n }\n return { type: 'path', ops: [] };\n}\nexport function polygon(points, o) {\n return linearPath(points, true, o);\n}\nexport function rectangle(x, y, width, height, o) {\n const points = [\n [x, y],\n [x + width, y],\n [x + width, y + height],\n [x, y + height],\n ];\n return polygon(points, o);\n}\nexport function curve(inputPoints, o) {\n if (inputPoints.length) {\n const p1 = inputPoints[0];\n const pointsList = (typeof p1[0] === 'number') ? [inputPoints] : inputPoints;\n const o1 = _curveWithOffset(pointsList[0], 1 * (1 + o.roughness * 0.2), o);\n const o2 = o.disableMultiStroke ? [] : _curveWithOffset(pointsList[0], 1.5 * (1 + o.roughness * 0.22), cloneOptionsAlterSeed(o));\n for (let i = 1; i < pointsList.length; i++) {\n const points = pointsList[i];\n if (points.length) {\n const underlay = _curveWithOffset(points, 1 * (1 + o.roughness * 0.2), o);\n const overlay = o.disableMultiStroke ? [] : _curveWithOffset(points, 1.5 * (1 + o.roughness * 0.22), cloneOptionsAlterSeed(o));\n for (const item of underlay) {\n if (item.op !== 'move') {\n o1.push(item);\n }\n }\n for (const item of overlay) {\n if (item.op !== 'move') {\n o2.push(item);\n }\n }\n }\n }\n return { type: 'path', ops: o1.concat(o2) };\n }\n return { type: 'path', ops: [] };\n}\nexport function ellipse(x, y, width, height, o) {\n const params = generateEllipseParams(width, height, o);\n return ellipseWithParams(x, y, o, params).opset;\n}\nexport function generateEllipseParams(width, height, o) {\n const psq = Math.sqrt(Math.PI * 2 * Math.sqrt((Math.pow(width / 2, 2) + Math.pow(height / 2, 2)) / 2));\n const stepCount = Math.ceil(Math.max(o.curveStepCount, (o.curveStepCount / Math.sqrt(200)) * psq));\n const increment = (Math.PI * 2) / stepCount;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n const curveFitRandomness = 1 - o.curveFitting;\n rx += _offsetOpt(rx * curveFitRandomness, o);\n ry += _offsetOpt(ry * curveFitRandomness, o);\n return { increment, rx, ry };\n}\nexport function ellipseWithParams(x, y, o, ellipseParams) {\n const [ap1, cp1] = _computeEllipsePoints(ellipseParams.increment, x, y, ellipseParams.rx, ellipseParams.ry, 1, ellipseParams.increment * _offset(0.1, _offset(0.4, 1, o), o), o);\n let o1 = _curve(ap1, null, o);\n if ((!o.disableMultiStroke) && (o.roughness !== 0)) {\n const [ap2] = _computeEllipsePoints(ellipseParams.increment, x, y, ellipseParams.rx, ellipseParams.ry, 1.5, 0, o);\n const o2 = _curve(ap2, null, o);\n o1 = o1.concat(o2);\n }\n return {\n estimatedPoints: cp1,\n opset: { type: 'path', ops: o1 },\n };\n}\nexport function arc(x, y, width, height, start, stop, closed, roughClosure, o) {\n const cx = x;\n const cy = y;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n rx += _offsetOpt(rx * 0.01, o);\n ry += _offsetOpt(ry * 0.01, o);\n let strt = start;\n let stp = stop;\n while (strt < 0) {\n strt += Math.PI * 2;\n stp += Math.PI * 2;\n }\n if ((stp - strt) > (Math.PI * 2)) {\n strt = 0;\n stp = Math.PI * 2;\n }\n const ellipseInc = (Math.PI * 2) / o.curveStepCount;\n const arcInc = Math.min(ellipseInc / 2, (stp - strt) / 2);\n const ops = _arc(arcInc, cx, cy, rx, ry, strt, stp, 1, o);\n if (!o.disableMultiStroke) {\n const o2 = _arc(arcInc, cx, cy, rx, ry, strt, stp, 1.5, o);\n ops.push(...o2);\n }\n if (closed) {\n if (roughClosure) {\n ops.push(..._doubleLine(cx, cy, cx + rx * Math.cos(strt), cy + ry * Math.sin(strt), o), ..._doubleLine(cx, cy, cx + rx * Math.cos(stp), cy + ry * Math.sin(stp), o));\n }\n else {\n ops.push({ op: 'lineTo', data: [cx, cy] }, { op: 'lineTo', data: [cx + rx * Math.cos(strt), cy + ry * Math.sin(strt)] });\n }\n }\n return { type: 'path', ops };\n}\nexport function svgPath(path, o) {\n const segments = normalize(absolutize(parsePath(path)));\n const ops = [];\n let first = [0, 0];\n let current = [0, 0];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M': {\n current = [data[0], data[1]];\n first = [data[0], data[1]];\n break;\n }\n case 'L':\n ops.push(..._doubleLine(current[0], current[1], data[0], data[1], o));\n current = [data[0], data[1]];\n break;\n case 'C': {\n const [x1, y1, x2, y2, x, y] = data;\n ops.push(..._bezierTo(x1, y1, x2, y2, x, y, current, o));\n current = [x, y];\n break;\n }\n case 'Z':\n ops.push(..._doubleLine(current[0], current[1], first[0], first[1], o));\n current = [first[0], first[1]];\n break;\n }\n }\n return { type: 'path', ops };\n}\n// Fills\nexport function solidFillPolygon(polygonList, o) {\n const ops = [];\n for (const points of polygonList) {\n if (points.length) {\n const offset = o.maxRandomnessOffset || 0;\n const len = points.length;\n if (len > 2) {\n ops.push({ op: 'move', data: [points[0][0] + _offsetOpt(offset, o), points[0][1] + _offsetOpt(offset, o)] });\n for (let i = 1; i < len; i++) {\n ops.push({ op: 'lineTo', data: [points[i][0] + _offsetOpt(offset, o), points[i][1] + _offsetOpt(offset, o)] });\n }\n }\n }\n }\n return { type: 'fillPath', ops };\n}\nexport function patternFillPolygons(polygonList, o) {\n return getFiller(o, helper).fillPolygons(polygonList, o);\n}\nexport function patternFillArc(x, y, width, height, start, stop, o) {\n const cx = x;\n const cy = y;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n rx += _offsetOpt(rx * 0.01, o);\n ry += _offsetOpt(ry * 0.01, o);\n let strt = start;\n let stp = stop;\n while (strt < 0) {\n strt += Math.PI * 2;\n stp += Math.PI * 2;\n }\n if ((stp - strt) > (Math.PI * 2)) {\n strt = 0;\n stp = Math.PI * 2;\n }\n const increment = (stp - strt) / o.curveStepCount;\n const points = [];\n for (let angle = strt; angle <= stp; angle = angle + increment) {\n points.push([cx + rx * Math.cos(angle), cy + ry * Math.sin(angle)]);\n }\n points.push([cx + rx * Math.cos(stp), cy + ry * Math.sin(stp)]);\n points.push([cx, cy]);\n return patternFillPolygons([points], o);\n}\nexport function randOffset(x, o) {\n return _offsetOpt(x, o);\n}\nexport function randOffsetWithRange(min, max, o) {\n return _offset(min, max, o);\n}\nexport function doubleLineFillOps(x1, y1, x2, y2, o) {\n return _doubleLine(x1, y1, x2, y2, o, true);\n}\n// Private helpers\nfunction cloneOptionsAlterSeed(ops) {\n const result = Object.assign({}, ops);\n result.randomizer = undefined;\n if (ops.seed) {\n result.seed = ops.seed + 1;\n }\n return result;\n}\nfunction random(ops) {\n if (!ops.randomizer) {\n ops.randomizer = new Random(ops.seed || 0);\n }\n return ops.randomizer.next();\n}\nfunction _offset(min, max, ops, roughnessGain = 1) {\n return ops.roughness * roughnessGain * ((random(ops) * (max - min)) + min);\n}\nfunction _offsetOpt(x, ops, roughnessGain = 1) {\n return _offset(-x, x, ops, roughnessGain);\n}\nfunction _doubleLine(x1, y1, x2, y2, o, filling = false) {\n const singleStroke = filling ? o.disableMultiStrokeFill : o.disableMultiStroke;\n const o1 = _line(x1, y1, x2, y2, o, true, false);\n if (singleStroke) {\n return o1;\n }\n const o2 = _line(x1, y1, x2, y2, o, true, true);\n return o1.concat(o2);\n}\nfunction _line(x1, y1, x2, y2, o, move, overlay) {\n const lengthSq = Math.pow((x1 - x2), 2) + Math.pow((y1 - y2), 2);\n const length = Math.sqrt(lengthSq);\n let roughnessGain = 1;\n if (length < 200) {\n roughnessGain = 1;\n }\n else if (length > 500) {\n roughnessGain = 0.4;\n }\n else {\n roughnessGain = (-0.0016668) * length + 1.233334;\n }\n let offset = o.maxRandomnessOffset || 0;\n if ((offset * offset * 100) > lengthSq) {\n offset = length / 10;\n }\n const halfOffset = offset / 2;\n const divergePoint = 0.2 + random(o) * 0.2;\n let midDispX = o.bowing * o.maxRandomnessOffset * (y2 - y1) / 200;\n let midDispY = o.bowing * o.maxRandomnessOffset * (x1 - x2) / 200;\n midDispX = _offsetOpt(midDispX, o, roughnessGain);\n midDispY = _offsetOpt(midDispY, o, roughnessGain);\n const ops = [];\n const randomHalf = () => _offsetOpt(halfOffset, o, roughnessGain);\n const randomFull = () => _offsetOpt(offset, o, roughnessGain);\n const preserveVertices = o.preserveVertices;\n if (move) {\n if (overlay) {\n ops.push({\n op: 'move', data: [\n x1 + (preserveVertices ? 0 : randomHalf()),\n y1 + (preserveVertices ? 0 : randomHalf()),\n ],\n });\n }\n else {\n ops.push({\n op: 'move', data: [\n x1 + (preserveVertices ? 0 : _offsetOpt(offset, o, roughnessGain)),\n y1 + (preserveVertices ? 0 : _offsetOpt(offset, o, roughnessGain)),\n ],\n });\n }\n }\n if (overlay) {\n ops.push({\n op: 'bcurveTo',\n data: [\n midDispX + x1 + (x2 - x1) * divergePoint + randomHalf(),\n midDispY + y1 + (y2 - y1) * divergePoint + randomHalf(),\n midDispX + x1 + 2 * (x2 - x1) * divergePoint + randomHalf(),\n midDispY + y1 + 2 * (y2 - y1) * divergePoint + randomHalf(),\n x2 + (preserveVertices ? 0 : randomHalf()),\n y2 + (preserveVertices ? 0 : randomHalf()),\n ],\n });\n }\n else {\n ops.push({\n op: 'bcurveTo',\n data: [\n midDispX + x1 + (x2 - x1) * divergePoint + randomFull(),\n midDispY + y1 + (y2 - y1) * divergePoint + randomFull(),\n midDispX + x1 + 2 * (x2 - x1) * divergePoint + randomFull(),\n midDispY + y1 + 2 * (y2 - y1) * divergePoint + randomFull(),\n x2 + (preserveVertices ? 0 : randomFull()),\n y2 + (preserveVertices ? 0 : randomFull()),\n ],\n });\n }\n return ops;\n}\nfunction _curveWithOffset(points, offset, o) {\n if (!points.length) {\n return [];\n }\n const ps = [];\n ps.push([\n points[0][0] + _offsetOpt(offset, o),\n points[0][1] + _offsetOpt(offset, o),\n ]);\n ps.push([\n points[0][0] + _offsetOpt(offset, o),\n points[0][1] + _offsetOpt(offset, o),\n ]);\n for (let i = 1; i < points.length; i++) {\n ps.push([\n points[i][0] + _offsetOpt(offset, o),\n points[i][1] + _offsetOpt(offset, o),\n ]);\n if (i === (points.length - 1)) {\n ps.push([\n points[i][0] + _offsetOpt(offset, o),\n points[i][1] + _offsetOpt(offset, o),\n ]);\n }\n }\n return _curve(ps, null, o);\n}\nfunction _curve(points, closePoint, o) {\n const len = points.length;\n const ops = [];\n if (len > 3) {\n const b = [];\n const s = 1 - o.curveTightness;\n ops.push({ op: 'move', data: [points[1][0], points[1][1]] });\n for (let i = 1; (i + 2) < len; i++) {\n const cachedVertArray = points[i];\n b[0] = [cachedVertArray[0], cachedVertArray[1]];\n b[1] = [cachedVertArray[0] + (s * points[i + 1][0] - s * points[i - 1][0]) / 6, cachedVertArray[1] + (s * points[i + 1][1] - s * points[i - 1][1]) / 6];\n b[2] = [points[i + 1][0] + (s * points[i][0] - s * points[i + 2][0]) / 6, points[i + 1][1] + (s * points[i][1] - s * points[i + 2][1]) / 6];\n b[3] = [points[i + 1][0], points[i + 1][1]];\n ops.push({ op: 'bcurveTo', data: [b[1][0], b[1][1], b[2][0], b[2][1], b[3][0], b[3][1]] });\n }\n if (closePoint && closePoint.length === 2) {\n const ro = o.maxRandomnessOffset;\n ops.push({ op: 'lineTo', data: [closePoint[0] + _offsetOpt(ro, o), closePoint[1] + _offsetOpt(ro, o)] });\n }\n }\n else if (len === 3) {\n ops.push({ op: 'move', data: [points[1][0], points[1][1]] });\n ops.push({\n op: 'bcurveTo',\n data: [\n points[1][0], points[1][1],\n points[2][0], points[2][1],\n points[2][0], points[2][1],\n ],\n });\n }\n else if (len === 2) {\n ops.push(..._line(points[0][0], points[0][1], points[1][0], points[1][1], o, true, true));\n }\n return ops;\n}\nfunction _computeEllipsePoints(increment, cx, cy, rx, ry, offset, overlap, o) {\n const coreOnly = o.roughness === 0;\n const corePoints = [];\n const allPoints = [];\n if (coreOnly) {\n increment = increment / 4;\n allPoints.push([\n cx + rx * Math.cos(-increment),\n cy + ry * Math.sin(-increment),\n ]);\n for (let angle = 0; angle <= Math.PI * 2; angle = angle + increment) {\n const p = [\n cx + rx * Math.cos(angle),\n cy + ry * Math.sin(angle),\n ];\n corePoints.push(p);\n allPoints.push(p);\n }\n allPoints.push([\n cx + rx * Math.cos(0),\n cy + ry * Math.sin(0),\n ]);\n allPoints.push([\n cx + rx * Math.cos(increment),\n cy + ry * Math.sin(increment),\n ]);\n }\n else {\n const radOffset = _offsetOpt(0.5, o) - (Math.PI / 2);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset - increment),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset - increment),\n ]);\n const endAngle = Math.PI * 2 + radOffset - 0.01;\n for (let angle = radOffset; angle < endAngle; angle = angle + increment) {\n const p = [\n _offsetOpt(offset, o) + cx + rx * Math.cos(angle),\n _offsetOpt(offset, o) + cy + ry * Math.sin(angle),\n ];\n corePoints.push(p);\n allPoints.push(p);\n }\n allPoints.push([\n _offsetOpt(offset, o) + cx + rx * Math.cos(radOffset + Math.PI * 2 + overlap * 0.5),\n _offsetOpt(offset, o) + cy + ry * Math.sin(radOffset + Math.PI * 2 + overlap * 0.5),\n ]);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.98 * rx * Math.cos(radOffset + overlap),\n _offsetOpt(offset, o) + cy + 0.98 * ry * Math.sin(radOffset + overlap),\n ]);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset + overlap * 0.5),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset + overlap * 0.5),\n ]);\n }\n return [allPoints, corePoints];\n}\nfunction _arc(increment, cx, cy, rx, ry, strt, stp, offset, o) {\n const radOffset = strt + _offsetOpt(0.1, o);\n const points = [];\n points.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset - increment),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset - increment),\n ]);\n for (let angle = radOffset; angle <= stp; angle = angle + increment) {\n points.push([\n _offsetOpt(offset, o) + cx + rx * Math.cos(angle),\n _offsetOpt(offset, o) + cy + ry * Math.sin(angle),\n ]);\n }\n points.push([\n cx + rx * Math.cos(stp),\n cy + ry * Math.sin(stp),\n ]);\n points.push([\n cx + rx * Math.cos(stp),\n cy + ry * Math.sin(stp),\n ]);\n return _curve(points, null, o);\n}\nfunction _bezierTo(x1, y1, x2, y2, x, y, current, o) {\n const ops = [];\n const ros = [o.maxRandomnessOffset || 1, (o.maxRandomnessOffset || 1) + 0.3];\n let f = [0, 0];\n const iterations = o.disableMultiStroke ? 1 : 2;\n const preserveVertices = o.preserveVertices;\n for (let i = 0; i < iterations; i++) {\n if (i === 0) {\n ops.push({ op: 'move', data: [current[0], current[1]] });\n }\n else {\n ops.push({ op: 'move', data: [current[0] + (preserveVertices ? 0 : _offsetOpt(ros[0], o)), current[1] + (preserveVertices ? 0 : _offsetOpt(ros[0], o))] });\n }\n f = preserveVertices ? [x, y] : [x + _offsetOpt(ros[i], o), y + _offsetOpt(ros[i], o)];\n ops.push({\n op: 'bcurveTo',\n data: [\n x1 + _offsetOpt(ros[i], o), y1 + _offsetOpt(ros[i], o),\n x2 + _offsetOpt(ros[i], o), y2 + _offsetOpt(ros[i], o),\n f[0], f[1],\n ],\n });\n }\n return ops;\n}\n","function clone(p) {\n return [...p];\n}\nexport function curveToBezier(pointsIn, curveTightness = 0) {\n const len = pointsIn.length;\n if (len < 3) {\n throw new Error('A curve must have at least three points.');\n }\n const out = [];\n if (len === 3) {\n out.push(clone(pointsIn[0]), clone(pointsIn[1]), clone(pointsIn[2]), clone(pointsIn[2]));\n }\n else {\n const points = [];\n points.push(pointsIn[0], pointsIn[0]);\n for (let i = 1; i < pointsIn.length; i++) {\n points.push(pointsIn[i]);\n if (i === (pointsIn.length - 1)) {\n points.push(pointsIn[i]);\n }\n }\n const b = [];\n const s = 1 - curveTightness;\n out.push(clone(points[0]));\n for (let i = 1; (i + 2) < points.length; i++) {\n const cachedVertArray = points[i];\n b[0] = [cachedVertArray[0], cachedVertArray[1]];\n b[1] = [cachedVertArray[0] + (s * points[i + 1][0] - s * points[i - 1][0]) / 6, cachedVertArray[1] + (s * points[i + 1][1] - s * points[i - 1][1]) / 6];\n b[2] = [points[i + 1][0] + (s * points[i][0] - s * points[i + 2][0]) / 6, points[i + 1][1] + (s * points[i][1] - s * points[i + 2][1]) / 6];\n b[3] = [points[i + 1][0], points[i + 1][1]];\n out.push(b[1], b[2], b[3]);\n }\n }\n return out;\n}\n","// distance between 2 points\nfunction distance(p1, p2) {\n return Math.sqrt(distanceSq(p1, p2));\n}\n// distance between 2 points squared\nfunction distanceSq(p1, p2) {\n return Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2);\n}\n// Sistance squared from a point p to the line segment vw\nfunction distanceToSegmentSq(p, v, w) {\n const l2 = distanceSq(v, w);\n if (l2 === 0) {\n return distanceSq(p, v);\n }\n let t = ((p[0] - v[0]) * (w[0] - v[0]) + (p[1] - v[1]) * (w[1] - v[1])) / l2;\n t = Math.max(0, Math.min(1, t));\n return distanceSq(p, lerp(v, w, t));\n}\nfunction lerp(a, b, t) {\n return [\n a[0] + (b[0] - a[0]) * t,\n a[1] + (b[1] - a[1]) * t,\n ];\n}\n// Adapted from https://seant23.wordpress.com/2010/11/12/offset-bezier-curves/\nfunction flatness(points, offset) {\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n let ux = 3 * p2[0] - 2 * p1[0] - p4[0];\n ux *= ux;\n let uy = 3 * p2[1] - 2 * p1[1] - p4[1];\n uy *= uy;\n let vx = 3 * p3[0] - 2 * p4[0] - p1[0];\n vx *= vx;\n let vy = 3 * p3[1] - 2 * p4[1] - p1[1];\n vy *= vy;\n if (ux < vx) {\n ux = vx;\n }\n if (uy < vy) {\n uy = vy;\n }\n return ux + uy;\n}\nfunction getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints) {\n const outPoints = newPoints || [];\n if (flatness(points, offset) < tolerance) {\n const p0 = points[offset + 0];\n if (outPoints.length) {\n const d = distance(outPoints[outPoints.length - 1], p0);\n if (d > 1) {\n outPoints.push(p0);\n }\n }\n else {\n outPoints.push(p0);\n }\n outPoints.push(points[offset + 3]);\n }\n else {\n // subdivide\n const t = .5;\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n const q1 = lerp(p1, p2, t);\n const q2 = lerp(p2, p3, t);\n const q3 = lerp(p3, p4, t);\n const r1 = lerp(q1, q2, t);\n const r2 = lerp(q2, q3, t);\n const red = lerp(r1, r2, t);\n getPointsOnBezierCurveWithSplitting([p1, q1, r1, red], 0, tolerance, outPoints);\n getPointsOnBezierCurveWithSplitting([red, r2, q3, p4], 0, tolerance, outPoints);\n }\n return outPoints;\n}\nexport function simplify(points, distance) {\n return simplifyPoints(points, 0, points.length, distance);\n}\n// Ramer–Douglas–Peucker algorithm\n// https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm\nfunction simplifyPoints(points, start, end, epsilon, newPoints) {\n const outPoints = newPoints || [];\n // find the most distance point from the endpoints\n const s = points[start];\n const e = points[end - 1];\n let maxDistSq = 0;\n let maxNdx = 1;\n for (let i = start + 1; i < end - 1; ++i) {\n const distSq = distanceToSegmentSq(points[i], s, e);\n if (distSq > maxDistSq) {\n maxDistSq = distSq;\n maxNdx = i;\n }\n }\n // if that point is too far, split\n if (Math.sqrt(maxDistSq) > epsilon) {\n simplifyPoints(points, start, maxNdx + 1, epsilon, outPoints);\n simplifyPoints(points, maxNdx, end, epsilon, outPoints);\n }\n else {\n if (!outPoints.length) {\n outPoints.push(s);\n }\n outPoints.push(e);\n }\n return outPoints;\n}\nexport function pointsOnBezierCurves(points, tolerance = 0.15, distance) {\n const newPoints = [];\n const numSegments = (points.length - 1) / 3;\n for (let i = 0; i < numSegments; i++) {\n const offset = i * 3;\n getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints);\n }\n if (distance && distance > 0) {\n return simplifyPoints(newPoints, 0, newPoints.length, distance);\n }\n return newPoints;\n}\n","import { pointsOnBezierCurves, simplify } from 'points-on-curve';\nimport { parsePath, absolutize, normalize } from 'path-data-parser';\nexport function pointsOnPath(path, tolerance, distance) {\n const segments = parsePath(path);\n const normalized = normalize(absolutize(segments));\n const sets = [];\n let currentPoints = [];\n let start = [0, 0];\n let pendingCurve = [];\n const appendPendingCurve = () => {\n if (pendingCurve.length >= 4) {\n currentPoints.push(...pointsOnBezierCurves(pendingCurve, tolerance));\n }\n pendingCurve = [];\n };\n const appendPendingPoints = () => {\n appendPendingCurve();\n if (currentPoints.length) {\n sets.push(currentPoints);\n currentPoints = [];\n }\n };\n for (const { key, data } of normalized) {\n switch (key) {\n case 'M':\n appendPendingPoints();\n start = [data[0], data[1]];\n currentPoints.push(start);\n break;\n case 'L':\n appendPendingCurve();\n currentPoints.push([data[0], data[1]]);\n break;\n case 'C':\n if (!pendingCurve.length) {\n const lastPoint = currentPoints.length ? currentPoints[currentPoints.length - 1] : start;\n pendingCurve.push([lastPoint[0], lastPoint[1]]);\n }\n pendingCurve.push([data[0], data[1]]);\n pendingCurve.push([data[2], data[3]]);\n pendingCurve.push([data[4], data[5]]);\n break;\n case 'Z':\n appendPendingCurve();\n currentPoints.push([start[0], start[1]]);\n break;\n }\n }\n appendPendingPoints();\n if (!distance) {\n return sets;\n }\n const out = [];\n for (const set of sets) {\n const simplifiedSet = simplify(set, distance);\n if (simplifiedSet.length) {\n out.push(simplifiedSet);\n }\n }\n return out;\n}\n","import { line, solidFillPolygon, patternFillPolygons, rectangle, ellipseWithParams, generateEllipseParams, linearPath, arc, patternFillArc, curve, svgPath } from './renderer.js';\nimport { randomSeed } from './math.js';\nimport { curveToBezier } from 'points-on-curve/lib/curve-to-bezier.js';\nimport { pointsOnBezierCurves } from 'points-on-curve';\nimport { pointsOnPath } from 'points-on-path';\nconst NOS = 'none';\nexport class RoughGenerator {\n constructor(config) {\n this.defaultOptions = {\n maxRandomnessOffset: 2,\n roughness: 1,\n bowing: 1,\n stroke: '#000',\n strokeWidth: 1,\n curveTightness: 0,\n curveFitting: 0.95,\n curveStepCount: 9,\n fillStyle: 'hachure',\n fillWeight: -1,\n hachureAngle: -41,\n hachureGap: -1,\n dashOffset: -1,\n dashGap: -1,\n zigzagOffset: -1,\n seed: 0,\n disableMultiStroke: false,\n disableMultiStrokeFill: false,\n preserveVertices: false,\n fillShapeRoughnessGain: 0.8,\n };\n this.config = config || {};\n if (this.config.options) {\n this.defaultOptions = this._o(this.config.options);\n }\n }\n static newSeed() {\n return randomSeed();\n }\n _o(options) {\n return options ? Object.assign({}, this.defaultOptions, options) : this.defaultOptions;\n }\n _d(shape, sets, options) {\n return { shape, sets: sets || [], options: options || this.defaultOptions };\n }\n line(x1, y1, x2, y2, options) {\n const o = this._o(options);\n return this._d('line', [line(x1, y1, x2, y2, o)], o);\n }\n rectangle(x, y, width, height, options) {\n const o = this._o(options);\n const paths = [];\n const outline = rectangle(x, y, width, height, o);\n if (o.fill) {\n const points = [[x, y], [x + width, y], [x + width, y + height], [x, y + height]];\n if (o.fillStyle === 'solid') {\n paths.push(solidFillPolygon([points], o));\n }\n else {\n paths.push(patternFillPolygons([points], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('rectangle', paths, o);\n }\n ellipse(x, y, width, height, options) {\n const o = this._o(options);\n const paths = [];\n const ellipseParams = generateEllipseParams(width, height, o);\n const ellipseResponse = ellipseWithParams(x, y, o, ellipseParams);\n if (o.fill) {\n if (o.fillStyle === 'solid') {\n const shape = ellipseWithParams(x, y, o, ellipseParams).opset;\n shape.type = 'fillPath';\n paths.push(shape);\n }\n else {\n paths.push(patternFillPolygons([ellipseResponse.estimatedPoints], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(ellipseResponse.opset);\n }\n return this._d('ellipse', paths, o);\n }\n circle(x, y, diameter, options) {\n const ret = this.ellipse(x, y, diameter, diameter, options);\n ret.shape = 'circle';\n return ret;\n }\n linearPath(points, options) {\n const o = this._o(options);\n return this._d('linearPath', [linearPath(points, false, o)], o);\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const o = this._o(options);\n const paths = [];\n const outline = arc(x, y, width, height, start, stop, closed, true, o);\n if (closed && o.fill) {\n if (o.fillStyle === 'solid') {\n const fillOptions = Object.assign({}, o);\n fillOptions.disableMultiStroke = true;\n const shape = arc(x, y, width, height, start, stop, true, false, fillOptions);\n shape.type = 'fillPath';\n paths.push(shape);\n }\n else {\n paths.push(patternFillArc(x, y, width, height, start, stop, o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('arc', paths, o);\n }\n curve(points, options) {\n const o = this._o(options);\n const paths = [];\n const outline = curve(points, o);\n if (o.fill && o.fill !== NOS) {\n if (o.fillStyle === 'solid') {\n const fillShape = curve(points, Object.assign(Object.assign({}, o), { disableMultiStroke: true, roughness: o.roughness ? (o.roughness + o.fillShapeRoughnessGain) : 0 }));\n paths.push({\n type: 'fillPath',\n ops: this._mergedShape(fillShape.ops),\n });\n }\n else {\n const polyPoints = [];\n const inputPoints = points;\n if (inputPoints.length) {\n const p1 = inputPoints[0];\n const pointsList = (typeof p1[0] === 'number') ? [inputPoints] : inputPoints;\n for (const points of pointsList) {\n if (points.length < 3) {\n polyPoints.push(...points);\n }\n else if (points.length === 3) {\n polyPoints.push(...pointsOnBezierCurves(curveToBezier([\n points[0],\n points[0],\n points[1],\n points[2],\n ]), 10, (1 + o.roughness) / 2));\n }\n else {\n polyPoints.push(...pointsOnBezierCurves(curveToBezier(points), 10, (1 + o.roughness) / 2));\n }\n }\n }\n if (polyPoints.length) {\n paths.push(patternFillPolygons([polyPoints], o));\n }\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('curve', paths, o);\n }\n polygon(points, options) {\n const o = this._o(options);\n const paths = [];\n const outline = linearPath(points, true, o);\n if (o.fill) {\n if (o.fillStyle === 'solid') {\n paths.push(solidFillPolygon([points], o));\n }\n else {\n paths.push(patternFillPolygons([points], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('polygon', paths, o);\n }\n path(d, options) {\n const o = this._o(options);\n const paths = [];\n if (!d) {\n return this._d('path', paths, o);\n }\n d = (d || '').replace(/\\n/g, ' ').replace(/(-\\s)/g, '-').replace('/(\\s\\s)/g', ' ');\n const hasFill = o.fill && o.fill !== 'transparent' && o.fill !== NOS;\n const hasStroke = o.stroke !== NOS;\n const simplified = !!(o.simplification && (o.simplification < 1));\n const distance = simplified ? (4 - 4 * (o.simplification || 1)) : ((1 + o.roughness) / 2);\n const sets = pointsOnPath(d, 1, distance);\n const shape = svgPath(d, o);\n if (hasFill) {\n if (o.fillStyle === 'solid') {\n if (sets.length === 1) {\n const fillShape = svgPath(d, Object.assign(Object.assign({}, o), { disableMultiStroke: true, roughness: o.roughness ? (o.roughness + o.fillShapeRoughnessGain) : 0 }));\n paths.push({\n type: 'fillPath',\n ops: this._mergedShape(fillShape.ops),\n });\n }\n else {\n paths.push(solidFillPolygon(sets, o));\n }\n }\n else {\n paths.push(patternFillPolygons(sets, o));\n }\n }\n if (hasStroke) {\n if (simplified) {\n sets.forEach((set) => {\n paths.push(linearPath(set, false, o));\n });\n }\n else {\n paths.push(shape);\n }\n }\n return this._d('path', paths, o);\n }\n opsToPath(drawing, fixedDecimals) {\n let path = '';\n for (const item of drawing.ops) {\n const data = ((typeof fixedDecimals === 'number') && fixedDecimals >= 0) ? (item.data.map((d) => +d.toFixed(fixedDecimals))) : item.data;\n switch (item.op) {\n case 'move':\n path += `M${data[0]} ${data[1]} `;\n break;\n case 'bcurveTo':\n path += `C${data[0]} ${data[1]}, ${data[2]} ${data[3]}, ${data[4]} ${data[5]} `;\n break;\n case 'lineTo':\n path += `L${data[0]} ${data[1]} `;\n break;\n }\n }\n return path.trim();\n }\n toPaths(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.defaultOptions;\n const paths = [];\n for (const drawing of sets) {\n let path = null;\n switch (drawing.type) {\n case 'path':\n path = {\n d: this.opsToPath(drawing),\n stroke: o.stroke,\n strokeWidth: o.strokeWidth,\n fill: NOS,\n };\n break;\n case 'fillPath':\n path = {\n d: this.opsToPath(drawing),\n stroke: NOS,\n strokeWidth: 0,\n fill: o.fill || NOS,\n };\n break;\n case 'fillSketch':\n path = this.fillSketch(drawing, o);\n break;\n }\n if (path) {\n paths.push(path);\n }\n }\n return paths;\n }\n fillSketch(drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n return {\n d: this.opsToPath(drawing),\n stroke: o.fill || NOS,\n strokeWidth: fweight,\n fill: NOS,\n };\n }\n _mergedShape(input) {\n return input.filter((d, i) => {\n if (i === 0) {\n return true;\n }\n if (d.op === 'move') {\n return false;\n }\n return true;\n });\n }\n}\n","import { RoughGenerator } from './generator';\nexport class RoughCanvas {\n constructor(canvas, config) {\n this.canvas = canvas;\n this.ctx = this.canvas.getContext('2d');\n this.gen = new RoughGenerator(config);\n }\n draw(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.getDefaultOptions();\n const ctx = this.ctx;\n const precision = drawable.options.fixedDecimalPlaceDigits;\n for (const drawing of sets) {\n switch (drawing.type) {\n case 'path':\n ctx.save();\n ctx.strokeStyle = o.stroke === 'none' ? 'transparent' : o.stroke;\n ctx.lineWidth = o.strokeWidth;\n if (o.strokeLineDash) {\n ctx.setLineDash(o.strokeLineDash);\n }\n if (o.strokeLineDashOffset) {\n ctx.lineDashOffset = o.strokeLineDashOffset;\n }\n this._drawToContext(ctx, drawing, precision);\n ctx.restore();\n break;\n case 'fillPath': {\n ctx.save();\n ctx.fillStyle = o.fill || '';\n const fillRule = (drawable.shape === 'curve' || drawable.shape === 'polygon' || drawable.shape === 'path') ? 'evenodd' : 'nonzero';\n this._drawToContext(ctx, drawing, precision, fillRule);\n ctx.restore();\n break;\n }\n case 'fillSketch':\n this.fillSketch(ctx, drawing, o);\n break;\n }\n }\n }\n fillSketch(ctx, drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n ctx.save();\n if (o.fillLineDash) {\n ctx.setLineDash(o.fillLineDash);\n }\n if (o.fillLineDashOffset) {\n ctx.lineDashOffset = o.fillLineDashOffset;\n }\n ctx.strokeStyle = o.fill || '';\n ctx.lineWidth = fweight;\n this._drawToContext(ctx, drawing, o.fixedDecimalPlaceDigits);\n ctx.restore();\n }\n _drawToContext(ctx, drawing, fixedDecimals, rule = 'nonzero') {\n ctx.beginPath();\n for (const item of drawing.ops) {\n const data = ((typeof fixedDecimals === 'number') && fixedDecimals >= 0) ? (item.data.map((d) => +d.toFixed(fixedDecimals))) : item.data;\n switch (item.op) {\n case 'move':\n ctx.moveTo(data[0], data[1]);\n break;\n case 'bcurveTo':\n ctx.bezierCurveTo(data[0], data[1], data[2], data[3], data[4], data[5]);\n break;\n case 'lineTo':\n ctx.lineTo(data[0], data[1]);\n break;\n }\n }\n if (drawing.type === 'fillPath') {\n ctx.fill(rule);\n }\n else {\n ctx.stroke();\n }\n }\n get generator() {\n return this.gen;\n }\n getDefaultOptions() {\n return this.gen.defaultOptions;\n }\n line(x1, y1, x2, y2, options) {\n const d = this.gen.line(x1, y1, x2, y2, options);\n this.draw(d);\n return d;\n }\n rectangle(x, y, width, height, options) {\n const d = this.gen.rectangle(x, y, width, height, options);\n this.draw(d);\n return d;\n }\n ellipse(x, y, width, height, options) {\n const d = this.gen.ellipse(x, y, width, height, options);\n this.draw(d);\n return d;\n }\n circle(x, y, diameter, options) {\n const d = this.gen.circle(x, y, diameter, options);\n this.draw(d);\n return d;\n }\n linearPath(points, options) {\n const d = this.gen.linearPath(points, options);\n this.draw(d);\n return d;\n }\n polygon(points, options) {\n const d = this.gen.polygon(points, options);\n this.draw(d);\n return d;\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const d = this.gen.arc(x, y, width, height, start, stop, closed, options);\n this.draw(d);\n return d;\n }\n curve(points, options) {\n const d = this.gen.curve(points, options);\n this.draw(d);\n return d;\n }\n path(d, options) {\n const drawing = this.gen.path(d, options);\n this.draw(drawing);\n return drawing;\n }\n}\n","export const SVGNS = 'http://www.w3.org/2000/svg';\n","import { SVGNS } from './core';\nimport { RoughGenerator } from './generator';\nexport class RoughSVG {\n constructor(svg, config) {\n this.svg = svg;\n this.gen = new RoughGenerator(config);\n }\n draw(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.getDefaultOptions();\n const doc = this.svg.ownerDocument || window.document;\n const g = doc.createElementNS(SVGNS, 'g');\n const precision = drawable.options.fixedDecimalPlaceDigits;\n for (const drawing of sets) {\n let path = null;\n switch (drawing.type) {\n case 'path': {\n path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, precision));\n path.setAttribute('stroke', o.stroke);\n path.setAttribute('stroke-width', o.strokeWidth + '');\n path.setAttribute('fill', 'none');\n if (o.strokeLineDash) {\n path.setAttribute('stroke-dasharray', o.strokeLineDash.join(' ').trim());\n }\n if (o.strokeLineDashOffset) {\n path.setAttribute('stroke-dashoffset', `${o.strokeLineDashOffset}`);\n }\n break;\n }\n case 'fillPath': {\n path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, precision));\n path.setAttribute('stroke', 'none');\n path.setAttribute('stroke-width', '0');\n path.setAttribute('fill', o.fill || '');\n if (drawable.shape === 'curve' || drawable.shape === 'polygon') {\n path.setAttribute('fill-rule', 'evenodd');\n }\n break;\n }\n case 'fillSketch': {\n path = this.fillSketch(doc, drawing, o);\n break;\n }\n }\n if (path) {\n g.appendChild(path);\n }\n }\n return g;\n }\n fillSketch(doc, drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n const path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, o.fixedDecimalPlaceDigits));\n path.setAttribute('stroke', o.fill || '');\n path.setAttribute('stroke-width', fweight + '');\n path.setAttribute('fill', 'none');\n if (o.fillLineDash) {\n path.setAttribute('stroke-dasharray', o.fillLineDash.join(' ').trim());\n }\n if (o.fillLineDashOffset) {\n path.setAttribute('stroke-dashoffset', `${o.fillLineDashOffset}`);\n }\n return path;\n }\n get generator() {\n return this.gen;\n }\n getDefaultOptions() {\n return this.gen.defaultOptions;\n }\n opsToPath(drawing, fixedDecimalPlaceDigits) {\n return this.gen.opsToPath(drawing, fixedDecimalPlaceDigits);\n }\n line(x1, y1, x2, y2, options) {\n const d = this.gen.line(x1, y1, x2, y2, options);\n return this.draw(d);\n }\n rectangle(x, y, width, height, options) {\n const d = this.gen.rectangle(x, y, width, height, options);\n return this.draw(d);\n }\n ellipse(x, y, width, height, options) {\n const d = this.gen.ellipse(x, y, width, height, options);\n return this.draw(d);\n }\n circle(x, y, diameter, options) {\n const d = this.gen.circle(x, y, diameter, options);\n return this.draw(d);\n }\n linearPath(points, options) {\n const d = this.gen.linearPath(points, options);\n return this.draw(d);\n }\n polygon(points, options) {\n const d = this.gen.polygon(points, options);\n return this.draw(d);\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const d = this.gen.arc(x, y, width, height, start, stop, closed, options);\n return this.draw(d);\n }\n curve(points, options) {\n const d = this.gen.curve(points, options);\n return this.draw(d);\n }\n path(d, options) {\n const drawing = this.gen.path(d, options);\n return this.draw(drawing);\n }\n}\n","import { RoughCanvas } from './canvas';\nimport { RoughGenerator } from './generator';\nimport { RoughSVG } from './svg';\nexport default {\n canvas(canvas, config) {\n return new RoughCanvas(canvas, config);\n },\n svg(svg, config) {\n return new RoughSVG(svg, config);\n },\n generator(config) {\n return new RoughGenerator(config);\n },\n newSeed() {\n return RoughGenerator.newSeed();\n },\n};\n",null,null,null,null,null,null,null],"names":["tokenize","rectConnPoint","NS","se","hashStr","drawAxes","fmtNum","lerp","darkenHex","resolveStyleFont","wrapText","connMeta","resolveEndpoint","getConnPoint","groupDepth","renderShape"],"mappings":"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","x_google_ignoreList":[9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/parser/tokenizer.ts","../src/parser/index.ts","../src/markdown/parser.ts","../src/scene/index.ts","../src/layout/index.ts","../src/renderer/roughChart.ts","../src/renderer/svg/roughChartSVG.ts","../src/theme/index.ts","../src/fonts/index.ts","../node_modules/.pnpm/hachure-fill@0.5.2/node_modules/hachure-fill/bin/hachure.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/scan-line-hachure.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/hachure-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/geometry.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/zigzag-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/hatch-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/dot-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/dashed-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/zigzag-line-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/math.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/parser.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/absolutize.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/normalize.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/renderer.js","../node_modules/.pnpm/points-on-curve@0.2.0/node_modules/points-on-curve/lib/curve-to-bezier.js","../node_modules/.pnpm/points-on-curve@0.2.0/node_modules/points-on-curve/lib/index.js","../node_modules/.pnpm/points-on-path@0.2.1/node_modules/points-on-path/lib/index.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/generator.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/canvas.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/core.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/svg.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/rough.js","../src/renderer/svg/index.ts","../src/renderer/canvas/roughChartCanvas.ts","../src/renderer/canvas/index.ts","../src/animation/index.ts","../src/export/index.ts","../src/utils/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,"function rotatePoints(points, center, degrees) {\n if (points && points.length) {\n const [cx, cy] = center;\n const angle = (Math.PI / 180) * degrees;\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n for (const p of points) {\n const [x, y] = p;\n p[0] = ((x - cx) * cos) - ((y - cy) * sin) + cx;\n p[1] = ((x - cx) * sin) + ((y - cy) * cos) + cy;\n }\n }\n}\nfunction rotateLines(lines, center, degrees) {\n const points = [];\n lines.forEach((line) => points.push(...line));\n rotatePoints(points, center, degrees);\n}\nfunction areSamePoints(p1, p2) {\n return p1[0] === p2[0] && p1[1] === p2[1];\n}\nexport function hachureLines(polygons, hachureGap, hachureAngle, hachureStepOffset = 1) {\n const angle = hachureAngle;\n const gap = Math.max(hachureGap, 0.1);\n const polygonList = (polygons[0] && polygons[0][0] && (typeof polygons[0][0] === 'number')) ? [polygons] : polygons;\n const rotationCenter = [0, 0];\n if (angle) {\n for (const polygon of polygonList) {\n rotatePoints(polygon, rotationCenter, angle);\n }\n }\n const lines = straightHachureLines(polygonList, gap, hachureStepOffset);\n if (angle) {\n for (const polygon of polygonList) {\n rotatePoints(polygon, rotationCenter, -angle);\n }\n rotateLines(lines, rotationCenter, -angle);\n }\n return lines;\n}\nfunction straightHachureLines(polygons, gap, hachureStepOffset) {\n const vertexArray = [];\n for (const polygon of polygons) {\n const vertices = [...polygon];\n if (!areSamePoints(vertices[0], vertices[vertices.length - 1])) {\n vertices.push([vertices[0][0], vertices[0][1]]);\n }\n if (vertices.length > 2) {\n vertexArray.push(vertices);\n }\n }\n const lines = [];\n gap = Math.max(gap, 0.1);\n // Create sorted edges table\n const edges = [];\n for (const vertices of vertexArray) {\n for (let i = 0; i < vertices.length - 1; i++) {\n const p1 = vertices[i];\n const p2 = vertices[i + 1];\n if (p1[1] !== p2[1]) {\n const ymin = Math.min(p1[1], p2[1]);\n edges.push({\n ymin,\n ymax: Math.max(p1[1], p2[1]),\n x: ymin === p1[1] ? p1[0] : p2[0],\n islope: (p2[0] - p1[0]) / (p2[1] - p1[1]),\n });\n }\n }\n }\n edges.sort((e1, e2) => {\n if (e1.ymin < e2.ymin) {\n return -1;\n }\n if (e1.ymin > e2.ymin) {\n return 1;\n }\n if (e1.x < e2.x) {\n return -1;\n }\n if (e1.x > e2.x) {\n return 1;\n }\n if (e1.ymax === e2.ymax) {\n return 0;\n }\n return (e1.ymax - e2.ymax) / Math.abs((e1.ymax - e2.ymax));\n });\n if (!edges.length) {\n return lines;\n }\n // Start scanning\n let activeEdges = [];\n let y = edges[0].ymin;\n let iteration = 0;\n while (activeEdges.length || edges.length) {\n if (edges.length) {\n let ix = -1;\n for (let i = 0; i < edges.length; i++) {\n if (edges[i].ymin > y) {\n break;\n }\n ix = i;\n }\n const removed = edges.splice(0, ix + 1);\n removed.forEach((edge) => {\n activeEdges.push({ s: y, edge });\n });\n }\n activeEdges = activeEdges.filter((ae) => {\n if (ae.edge.ymax <= y) {\n return false;\n }\n return true;\n });\n activeEdges.sort((ae1, ae2) => {\n if (ae1.edge.x === ae2.edge.x) {\n return 0;\n }\n return (ae1.edge.x - ae2.edge.x) / Math.abs((ae1.edge.x - ae2.edge.x));\n });\n // fill between the edges\n if ((hachureStepOffset !== 1) || (iteration % gap === 0)) {\n if (activeEdges.length > 1) {\n for (let i = 0; i < activeEdges.length; i = i + 2) {\n const nexti = i + 1;\n if (nexti >= activeEdges.length) {\n break;\n }\n const ce = activeEdges[i].edge;\n const ne = activeEdges[nexti].edge;\n lines.push([\n [Math.round(ce.x), y],\n [Math.round(ne.x), y],\n ]);\n }\n }\n }\n y += hachureStepOffset;\n activeEdges.forEach((ae) => {\n ae.edge.x = ae.edge.x + (hachureStepOffset * ae.edge.islope);\n });\n iteration++;\n }\n return lines;\n}\n","import { hachureLines } from 'hachure-fill';\nexport function polygonHachureLines(polygonList, o) {\n var _a;\n const angle = o.hachureAngle + 90;\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.round(Math.max(gap, 0.1));\n let skipOffset = 1;\n if (o.roughness >= 1) {\n if ((((_a = o.randomizer) === null || _a === void 0 ? void 0 : _a.next()) || Math.random()) > 0.7) {\n skipOffset = gap;\n }\n }\n return hachureLines(polygonList, gap, angle, skipOffset || 1);\n}\n","import { polygonHachureLines } from './scan-line-hachure';\nexport class HachureFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n return this._fillPolygons(polygonList, o);\n }\n _fillPolygons(polygonList, o) {\n const lines = polygonHachureLines(polygonList, o);\n const ops = this.renderLines(lines, o);\n return { type: 'fillSketch', ops };\n }\n renderLines(lines, o) {\n const ops = [];\n for (const line of lines) {\n ops.push(...this.helper.doubleLineOps(line[0][0], line[0][1], line[1][0], line[1][1], o));\n }\n return ops;\n }\n}\n","export function lineLength(line) {\n const p1 = line[0];\n const p2 = line[1];\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2));\n}\n","import { HachureFiller } from './hachure-filler';\nimport { polygonHachureLines } from './scan-line-hachure';\nimport { lineLength } from '../geometry';\nexport class ZigZagFiller extends HachureFiller {\n fillPolygons(polygonList, o) {\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.max(gap, 0.1);\n const o2 = Object.assign({}, o, { hachureGap: gap });\n const lines = polygonHachureLines(polygonList, o2);\n const zigZagAngle = (Math.PI / 180) * o.hachureAngle;\n const zigzagLines = [];\n const dgx = gap * 0.5 * Math.cos(zigZagAngle);\n const dgy = gap * 0.5 * Math.sin(zigZagAngle);\n for (const [p1, p2] of lines) {\n if (lineLength([p1, p2])) {\n zigzagLines.push([\n [p1[0] - dgx, p1[1] + dgy],\n [...p2],\n ], [\n [p1[0] + dgx, p1[1] - dgy],\n [...p2],\n ]);\n }\n }\n const ops = this.renderLines(zigzagLines, o);\n return { type: 'fillSketch', ops };\n }\n}\n","import { HachureFiller } from './hachure-filler';\nexport class HatchFiller extends HachureFiller {\n fillPolygons(polygonList, o) {\n const set = this._fillPolygons(polygonList, o);\n const o2 = Object.assign({}, o, { hachureAngle: o.hachureAngle + 90 });\n const set2 = this._fillPolygons(polygonList, o2);\n set.ops = set.ops.concat(set2.ops);\n return set;\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class DotFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n o = Object.assign({}, o, { hachureAngle: 0 });\n const lines = polygonHachureLines(polygonList, o);\n return this.dotsOnLines(lines, o);\n }\n dotsOnLines(lines, o) {\n const ops = [];\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.max(gap, 0.1);\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n const ro = gap / 4;\n for (const line of lines) {\n const length = lineLength(line);\n const dl = length / gap;\n const count = Math.ceil(dl) - 1;\n const offset = length - (count * gap);\n const x = ((line[0][0] + line[1][0]) / 2) - (gap / 4);\n const minY = Math.min(line[0][1], line[1][1]);\n for (let i = 0; i < count; i++) {\n const y = minY + offset + (i * gap);\n const cx = (x - ro) + Math.random() * 2 * ro;\n const cy = (y - ro) + Math.random() * 2 * ro;\n const el = this.helper.ellipse(cx, cy, fweight, fweight, o);\n ops.push(...el.ops);\n }\n }\n return { type: 'fillSketch', ops };\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class DashedFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n const lines = polygonHachureLines(polygonList, o);\n return { type: 'fillSketch', ops: this.dashedLine(lines, o) };\n }\n dashedLine(lines, o) {\n const offset = o.dashOffset < 0 ? (o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap) : o.dashOffset;\n const gap = o.dashGap < 0 ? (o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap) : o.dashGap;\n const ops = [];\n lines.forEach((line) => {\n const length = lineLength(line);\n const count = Math.floor(length / (offset + gap));\n const startOffset = (length + gap - (count * (offset + gap))) / 2;\n let p1 = line[0];\n let p2 = line[1];\n if (p1[0] > p2[0]) {\n p1 = line[1];\n p2 = line[0];\n }\n const alpha = Math.atan((p2[1] - p1[1]) / (p2[0] - p1[0]));\n for (let i = 0; i < count; i++) {\n const lstart = i * (offset + gap);\n const lend = lstart + offset;\n const start = [p1[0] + (lstart * Math.cos(alpha)) + (startOffset * Math.cos(alpha)), p1[1] + lstart * Math.sin(alpha) + (startOffset * Math.sin(alpha))];\n const end = [p1[0] + (lend * Math.cos(alpha)) + (startOffset * Math.cos(alpha)), p1[1] + (lend * Math.sin(alpha)) + (startOffset * Math.sin(alpha))];\n ops.push(...this.helper.doubleLineOps(start[0], start[1], end[0], end[1], o));\n }\n });\n return ops;\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class ZigZagLineFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n const gap = o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap;\n const zo = o.zigzagOffset < 0 ? gap : o.zigzagOffset;\n o = Object.assign({}, o, { hachureGap: gap + zo });\n const lines = polygonHachureLines(polygonList, o);\n return { type: 'fillSketch', ops: this.zigzagLines(lines, zo, o) };\n }\n zigzagLines(lines, zo, o) {\n const ops = [];\n lines.forEach((line) => {\n const length = lineLength(line);\n const count = Math.round(length / (2 * zo));\n let p1 = line[0];\n let p2 = line[1];\n if (p1[0] > p2[0]) {\n p1 = line[1];\n p2 = line[0];\n }\n const alpha = Math.atan((p2[1] - p1[1]) / (p2[0] - p1[0]));\n for (let i = 0; i < count; i++) {\n const lstart = i * 2 * zo;\n const lend = (i + 1) * 2 * zo;\n const dz = Math.sqrt(2 * Math.pow(zo, 2));\n const start = [p1[0] + (lstart * Math.cos(alpha)), p1[1] + lstart * Math.sin(alpha)];\n const end = [p1[0] + (lend * Math.cos(alpha)), p1[1] + (lend * Math.sin(alpha))];\n const middle = [start[0] + dz * Math.cos(alpha + Math.PI / 4), start[1] + dz * Math.sin(alpha + Math.PI / 4)];\n ops.push(...this.helper.doubleLineOps(start[0], start[1], middle[0], middle[1], o), ...this.helper.doubleLineOps(middle[0], middle[1], end[0], end[1], o));\n }\n });\n return ops;\n }\n}\n","import { HachureFiller } from './hachure-filler';\nimport { ZigZagFiller } from './zigzag-filler';\nimport { HatchFiller } from './hatch-filler';\nimport { DotFiller } from './dot-filler';\nimport { DashedFiller } from './dashed-filler';\nimport { ZigZagLineFiller } from './zigzag-line-filler';\nconst fillers = {};\nexport function getFiller(o, helper) {\n let fillerName = o.fillStyle || 'hachure';\n if (!fillers[fillerName]) {\n switch (fillerName) {\n case 'zigzag':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new ZigZagFiller(helper);\n }\n break;\n case 'cross-hatch':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new HatchFiller(helper);\n }\n break;\n case 'dots':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new DotFiller(helper);\n }\n break;\n case 'dashed':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new DashedFiller(helper);\n }\n break;\n case 'zigzag-line':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new ZigZagLineFiller(helper);\n }\n break;\n case 'hachure':\n default:\n fillerName = 'hachure';\n if (!fillers[fillerName]) {\n fillers[fillerName] = new HachureFiller(helper);\n }\n break;\n }\n }\n return fillers[fillerName];\n}\n","export function randomSeed() {\n return Math.floor(Math.random() * 2 ** 31);\n}\nexport class Random {\n constructor(seed) {\n this.seed = seed;\n }\n next() {\n if (this.seed) {\n return ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31;\n }\n else {\n return Math.random();\n }\n }\n}\n","const COMMAND = 0;\nconst NUMBER = 1;\nconst EOD = 2;\nconst PARAMS = { A: 7, a: 7, C: 6, c: 6, H: 1, h: 1, L: 2, l: 2, M: 2, m: 2, Q: 4, q: 4, S: 4, s: 4, T: 2, t: 2, V: 1, v: 1, Z: 0, z: 0 };\nfunction tokenize(d) {\n const tokens = new Array();\n while (d !== '') {\n if (d.match(/^([ \\t\\r\\n,]+)/)) {\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^([aAcChHlLmMqQsStTvVzZ])/)) {\n tokens[tokens.length] = { type: COMMAND, text: RegExp.$1 };\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/)) {\n tokens[tokens.length] = { type: NUMBER, text: `${parseFloat(RegExp.$1)}` };\n d = d.substr(RegExp.$1.length);\n }\n else {\n return [];\n }\n }\n tokens[tokens.length] = { type: EOD, text: '' };\n return tokens;\n}\nfunction isType(token, type) {\n return token.type === type;\n}\nexport function parsePath(d) {\n const segments = [];\n const tokens = tokenize(d);\n let mode = 'BOD';\n let index = 0;\n let token = tokens[index];\n while (!isType(token, EOD)) {\n let paramsCount = 0;\n const params = [];\n if (mode === 'BOD') {\n if (token.text === 'M' || token.text === 'm') {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n else {\n return parsePath('M0,0' + d);\n }\n }\n else if (isType(token, NUMBER)) {\n paramsCount = PARAMS[mode];\n }\n else {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n if ((index + paramsCount) < tokens.length) {\n for (let i = index; i < index + paramsCount; i++) {\n const numbeToken = tokens[i];\n if (isType(numbeToken, NUMBER)) {\n params[params.length] = +numbeToken.text;\n }\n else {\n throw new Error('Param not a number: ' + mode + ',' + numbeToken.text);\n }\n }\n if (typeof PARAMS[mode] === 'number') {\n const segment = { key: mode, data: params };\n segments.push(segment);\n index += paramsCount;\n token = tokens[index];\n if (mode === 'M')\n mode = 'L';\n if (mode === 'm')\n mode = 'l';\n }\n else {\n throw new Error('Bad segment: ' + mode);\n }\n }\n else {\n throw new Error('Path data ended short');\n }\n }\n return segments;\n}\nexport function serialize(segments) {\n const tokens = [];\n for (const { key, data } of segments) {\n tokens.push(key);\n switch (key) {\n case 'C':\n case 'c':\n tokens.push(data[0], `${data[1]},`, data[2], `${data[3]},`, data[4], data[5]);\n break;\n case 'S':\n case 's':\n case 'Q':\n case 'q':\n tokens.push(data[0], `${data[1]},`, data[2], data[3]);\n break;\n default:\n tokens.push(...data);\n break;\n }\n }\n return tokens.join(' ');\n}\n","// Translate relative commands to absolute commands\nexport function absolutize(segments) {\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n const out = [];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'm':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'M', data: [cx, cy] });\n subx = cx;\n suby = cy;\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'l':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n break;\n case 'c': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'C', data: newdata });\n cx = newdata[4];\n cy = newdata[5];\n break;\n }\n case 'Q':\n out.push({ key: 'Q', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 'q': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'Q', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'A':\n out.push({ key: 'A', data: [...data] });\n cx = data[5];\n cy = data[6];\n break;\n case 'a':\n cx += data[5];\n cy += data[6];\n out.push({ key: 'A', data: [data[0], data[1], data[2], data[3], data[4], cx, cy] });\n break;\n case 'H':\n out.push({ key: 'H', data: [...data] });\n cx = data[0];\n break;\n case 'h':\n cx += data[0];\n out.push({ key: 'H', data: [cx] });\n break;\n case 'V':\n out.push({ key: 'V', data: [...data] });\n cy = data[0];\n break;\n case 'v':\n cy += data[0];\n out.push({ key: 'V', data: [cy] });\n break;\n case 'S':\n out.push({ key: 'S', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 's': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'S', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'T':\n out.push({ key: 'T', data: [...data] });\n cx = data[0];\n cy = data[1];\n break;\n case 't':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'T', data: [cx, cy] });\n break;\n case 'Z':\n case 'z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n }\n return out;\n}\n","// Normalize path to include only M, L, C, and Z commands\nexport function normalize(segments) {\n const out = [];\n let lastType = '';\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n let lcx = 0, lcy = 0;\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n lcx = data[2];\n lcy = data[3];\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'H':\n cx = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'V':\n cy = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'S': {\n let cx1 = 0, cy1 = 0;\n if (lastType === 'C' || lastType === 'S') {\n cx1 = cx + (cx - lcx);\n cy1 = cy + (cy - lcy);\n }\n else {\n cx1 = cx;\n cy1 = cy;\n }\n out.push({ key: 'C', data: [cx1, cy1, ...data] });\n lcx = data[0];\n lcy = data[1];\n cx = data[2];\n cy = data[3];\n break;\n }\n case 'T': {\n const [x, y] = data;\n let x1 = 0, y1 = 0;\n if (lastType === 'Q' || lastType === 'T') {\n x1 = cx + (cx - lcx);\n y1 = cy + (cy - lcy);\n }\n else {\n x1 = cx;\n y1 = cy;\n }\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'Q': {\n const [x1, y1, x, y] = data;\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'A': {\n const r1 = Math.abs(data[0]);\n const r2 = Math.abs(data[1]);\n const angle = data[2];\n const largeArcFlag = data[3];\n const sweepFlag = data[4];\n const x = data[5];\n const y = data[6];\n if (r1 === 0 || r2 === 0) {\n out.push({ key: 'C', data: [cx, cy, x, y, x, y] });\n cx = x;\n cy = y;\n }\n else {\n if (cx !== x || cy !== y) {\n const curves = arcToCubicCurves(cx, cy, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n curves.forEach(function (curve) {\n out.push({ key: 'C', data: curve });\n });\n cx = x;\n cy = y;\n }\n }\n break;\n }\n case 'Z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n lastType = key;\n }\n return out;\n}\nfunction degToRad(degrees) {\n return (Math.PI * degrees) / 180;\n}\nfunction rotate(x, y, angleRad) {\n const X = x * Math.cos(angleRad) - y * Math.sin(angleRad);\n const Y = x * Math.sin(angleRad) + y * Math.cos(angleRad);\n return [X, Y];\n}\nfunction arcToCubicCurves(x1, y1, x2, y2, r1, r2, angle, largeArcFlag, sweepFlag, recursive) {\n const angleRad = degToRad(angle);\n let params = [];\n let f1 = 0, f2 = 0, cx = 0, cy = 0;\n if (recursive) {\n [f1, f2, cx, cy] = recursive;\n }\n else {\n [x1, y1] = rotate(x1, y1, -angleRad);\n [x2, y2] = rotate(x2, y2, -angleRad);\n const x = (x1 - x2) / 2;\n const y = (y1 - y2) / 2;\n let h = (x * x) / (r1 * r1) + (y * y) / (r2 * r2);\n if (h > 1) {\n h = Math.sqrt(h);\n r1 = h * r1;\n r2 = h * r2;\n }\n const sign = (largeArcFlag === sweepFlag) ? -1 : 1;\n const r1Pow = r1 * r1;\n const r2Pow = r2 * r2;\n const left = r1Pow * r2Pow - r1Pow * y * y - r2Pow * x * x;\n const right = r1Pow * y * y + r2Pow * x * x;\n const k = sign * Math.sqrt(Math.abs(left / right));\n cx = k * r1 * y / r2 + (x1 + x2) / 2;\n cy = k * -r2 * x / r1 + (y1 + y2) / 2;\n f1 = Math.asin(parseFloat(((y1 - cy) / r2).toFixed(9)));\n f2 = Math.asin(parseFloat(((y2 - cy) / r2).toFixed(9)));\n if (x1 < cx) {\n f1 = Math.PI - f1;\n }\n if (x2 < cx) {\n f2 = Math.PI - f2;\n }\n if (f1 < 0) {\n f1 = Math.PI * 2 + f1;\n }\n if (f2 < 0) {\n f2 = Math.PI * 2 + f2;\n }\n if (sweepFlag && f1 > f2) {\n f1 = f1 - Math.PI * 2;\n }\n if (!sweepFlag && f2 > f1) {\n f2 = f2 - Math.PI * 2;\n }\n }\n let df = f2 - f1;\n if (Math.abs(df) > (Math.PI * 120 / 180)) {\n const f2old = f2;\n const x2old = x2;\n const y2old = y2;\n if (sweepFlag && f2 > f1) {\n f2 = f1 + (Math.PI * 120 / 180) * (1);\n }\n else {\n f2 = f1 + (Math.PI * 120 / 180) * (-1);\n }\n x2 = cx + r1 * Math.cos(f2);\n y2 = cy + r2 * Math.sin(f2);\n params = arcToCubicCurves(x2, y2, x2old, y2old, r1, r2, angle, 0, sweepFlag, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n const c1 = Math.cos(f1);\n const s1 = Math.sin(f1);\n const c2 = Math.cos(f2);\n const s2 = Math.sin(f2);\n const t = Math.tan(df / 4);\n const hx = 4 / 3 * r1 * t;\n const hy = 4 / 3 * r2 * t;\n const m1 = [x1, y1];\n const m2 = [x1 + hx * s1, y1 - hy * c1];\n const m3 = [x2 + hx * s2, y2 - hy * c2];\n const m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(params);\n }\n else {\n params = [m2, m3, m4].concat(params);\n const curves = [];\n for (let i = 0; i < params.length; i += 3) {\n const r1 = rotate(params[i][0], params[i][1], angleRad);\n const r2 = rotate(params[i + 1][0], params[i + 1][1], angleRad);\n const r3 = rotate(params[i + 2][0], params[i + 2][1], angleRad);\n curves.push([r1[0], r1[1], r2[0], r2[1], r3[0], r3[1]]);\n }\n return curves;\n }\n}\n","import { getFiller } from './fillers/filler.js';\nimport { Random } from './math.js';\nimport { parsePath, normalize, absolutize } from 'path-data-parser';\nconst helper = {\n randOffset,\n randOffsetWithRange,\n ellipse,\n doubleLineOps: doubleLineFillOps,\n};\nexport function line(x1, y1, x2, y2, o) {\n return { type: 'path', ops: _doubleLine(x1, y1, x2, y2, o) };\n}\nexport function linearPath(points, close, o) {\n const len = (points || []).length;\n if (len > 2) {\n const ops = [];\n for (let i = 0; i < (len - 1); i++) {\n ops.push(..._doubleLine(points[i][0], points[i][1], points[i + 1][0], points[i + 1][1], o));\n }\n if (close) {\n ops.push(..._doubleLine(points[len - 1][0], points[len - 1][1], points[0][0], points[0][1], o));\n }\n return { type: 'path', ops };\n }\n else if (len === 2) {\n return line(points[0][0], points[0][1], points[1][0], points[1][1], o);\n }\n return { type: 'path', ops: [] };\n}\nexport function polygon(points, o) {\n return linearPath(points, true, o);\n}\nexport function rectangle(x, y, width, height, o) {\n const points = [\n [x, y],\n [x + width, y],\n [x + width, y + height],\n [x, y + height],\n ];\n return polygon(points, o);\n}\nexport function curve(inputPoints, o) {\n if (inputPoints.length) {\n const p1 = inputPoints[0];\n const pointsList = (typeof p1[0] === 'number') ? [inputPoints] : inputPoints;\n const o1 = _curveWithOffset(pointsList[0], 1 * (1 + o.roughness * 0.2), o);\n const o2 = o.disableMultiStroke ? [] : _curveWithOffset(pointsList[0], 1.5 * (1 + o.roughness * 0.22), cloneOptionsAlterSeed(o));\n for (let i = 1; i < pointsList.length; i++) {\n const points = pointsList[i];\n if (points.length) {\n const underlay = _curveWithOffset(points, 1 * (1 + o.roughness * 0.2), o);\n const overlay = o.disableMultiStroke ? [] : _curveWithOffset(points, 1.5 * (1 + o.roughness * 0.22), cloneOptionsAlterSeed(o));\n for (const item of underlay) {\n if (item.op !== 'move') {\n o1.push(item);\n }\n }\n for (const item of overlay) {\n if (item.op !== 'move') {\n o2.push(item);\n }\n }\n }\n }\n return { type: 'path', ops: o1.concat(o2) };\n }\n return { type: 'path', ops: [] };\n}\nexport function ellipse(x, y, width, height, o) {\n const params = generateEllipseParams(width, height, o);\n return ellipseWithParams(x, y, o, params).opset;\n}\nexport function generateEllipseParams(width, height, o) {\n const psq = Math.sqrt(Math.PI * 2 * Math.sqrt((Math.pow(width / 2, 2) + Math.pow(height / 2, 2)) / 2));\n const stepCount = Math.ceil(Math.max(o.curveStepCount, (o.curveStepCount / Math.sqrt(200)) * psq));\n const increment = (Math.PI * 2) / stepCount;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n const curveFitRandomness = 1 - o.curveFitting;\n rx += _offsetOpt(rx * curveFitRandomness, o);\n ry += _offsetOpt(ry * curveFitRandomness, o);\n return { increment, rx, ry };\n}\nexport function ellipseWithParams(x, y, o, ellipseParams) {\n const [ap1, cp1] = _computeEllipsePoints(ellipseParams.increment, x, y, ellipseParams.rx, ellipseParams.ry, 1, ellipseParams.increment * _offset(0.1, _offset(0.4, 1, o), o), o);\n let o1 = _curve(ap1, null, o);\n if ((!o.disableMultiStroke) && (o.roughness !== 0)) {\n const [ap2] = _computeEllipsePoints(ellipseParams.increment, x, y, ellipseParams.rx, ellipseParams.ry, 1.5, 0, o);\n const o2 = _curve(ap2, null, o);\n o1 = o1.concat(o2);\n }\n return {\n estimatedPoints: cp1,\n opset: { type: 'path', ops: o1 },\n };\n}\nexport function arc(x, y, width, height, start, stop, closed, roughClosure, o) {\n const cx = x;\n const cy = y;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n rx += _offsetOpt(rx * 0.01, o);\n ry += _offsetOpt(ry * 0.01, o);\n let strt = start;\n let stp = stop;\n while (strt < 0) {\n strt += Math.PI * 2;\n stp += Math.PI * 2;\n }\n if ((stp - strt) > (Math.PI * 2)) {\n strt = 0;\n stp = Math.PI * 2;\n }\n const ellipseInc = (Math.PI * 2) / o.curveStepCount;\n const arcInc = Math.min(ellipseInc / 2, (stp - strt) / 2);\n const ops = _arc(arcInc, cx, cy, rx, ry, strt, stp, 1, o);\n if (!o.disableMultiStroke) {\n const o2 = _arc(arcInc, cx, cy, rx, ry, strt, stp, 1.5, o);\n ops.push(...o2);\n }\n if (closed) {\n if (roughClosure) {\n ops.push(..._doubleLine(cx, cy, cx + rx * Math.cos(strt), cy + ry * Math.sin(strt), o), ..._doubleLine(cx, cy, cx + rx * Math.cos(stp), cy + ry * Math.sin(stp), o));\n }\n else {\n ops.push({ op: 'lineTo', data: [cx, cy] }, { op: 'lineTo', data: [cx + rx * Math.cos(strt), cy + ry * Math.sin(strt)] });\n }\n }\n return { type: 'path', ops };\n}\nexport function svgPath(path, o) {\n const segments = normalize(absolutize(parsePath(path)));\n const ops = [];\n let first = [0, 0];\n let current = [0, 0];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M': {\n current = [data[0], data[1]];\n first = [data[0], data[1]];\n break;\n }\n case 'L':\n ops.push(..._doubleLine(current[0], current[1], data[0], data[1], o));\n current = [data[0], data[1]];\n break;\n case 'C': {\n const [x1, y1, x2, y2, x, y] = data;\n ops.push(..._bezierTo(x1, y1, x2, y2, x, y, current, o));\n current = [x, y];\n break;\n }\n case 'Z':\n ops.push(..._doubleLine(current[0], current[1], first[0], first[1], o));\n current = [first[0], first[1]];\n break;\n }\n }\n return { type: 'path', ops };\n}\n// Fills\nexport function solidFillPolygon(polygonList, o) {\n const ops = [];\n for (const points of polygonList) {\n if (points.length) {\n const offset = o.maxRandomnessOffset || 0;\n const len = points.length;\n if (len > 2) {\n ops.push({ op: 'move', data: [points[0][0] + _offsetOpt(offset, o), points[0][1] + _offsetOpt(offset, o)] });\n for (let i = 1; i < len; i++) {\n ops.push({ op: 'lineTo', data: [points[i][0] + _offsetOpt(offset, o), points[i][1] + _offsetOpt(offset, o)] });\n }\n }\n }\n }\n return { type: 'fillPath', ops };\n}\nexport function patternFillPolygons(polygonList, o) {\n return getFiller(o, helper).fillPolygons(polygonList, o);\n}\nexport function patternFillArc(x, y, width, height, start, stop, o) {\n const cx = x;\n const cy = y;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n rx += _offsetOpt(rx * 0.01, o);\n ry += _offsetOpt(ry * 0.01, o);\n let strt = start;\n let stp = stop;\n while (strt < 0) {\n strt += Math.PI * 2;\n stp += Math.PI * 2;\n }\n if ((stp - strt) > (Math.PI * 2)) {\n strt = 0;\n stp = Math.PI * 2;\n }\n const increment = (stp - strt) / o.curveStepCount;\n const points = [];\n for (let angle = strt; angle <= stp; angle = angle + increment) {\n points.push([cx + rx * Math.cos(angle), cy + ry * Math.sin(angle)]);\n }\n points.push([cx + rx * Math.cos(stp), cy + ry * Math.sin(stp)]);\n points.push([cx, cy]);\n return patternFillPolygons([points], o);\n}\nexport function randOffset(x, o) {\n return _offsetOpt(x, o);\n}\nexport function randOffsetWithRange(min, max, o) {\n return _offset(min, max, o);\n}\nexport function doubleLineFillOps(x1, y1, x2, y2, o) {\n return _doubleLine(x1, y1, x2, y2, o, true);\n}\n// Private helpers\nfunction cloneOptionsAlterSeed(ops) {\n const result = Object.assign({}, ops);\n result.randomizer = undefined;\n if (ops.seed) {\n result.seed = ops.seed + 1;\n }\n return result;\n}\nfunction random(ops) {\n if (!ops.randomizer) {\n ops.randomizer = new Random(ops.seed || 0);\n }\n return ops.randomizer.next();\n}\nfunction _offset(min, max, ops, roughnessGain = 1) {\n return ops.roughness * roughnessGain * ((random(ops) * (max - min)) + min);\n}\nfunction _offsetOpt(x, ops, roughnessGain = 1) {\n return _offset(-x, x, ops, roughnessGain);\n}\nfunction _doubleLine(x1, y1, x2, y2, o, filling = false) {\n const singleStroke = filling ? o.disableMultiStrokeFill : o.disableMultiStroke;\n const o1 = _line(x1, y1, x2, y2, o, true, false);\n if (singleStroke) {\n return o1;\n }\n const o2 = _line(x1, y1, x2, y2, o, true, true);\n return o1.concat(o2);\n}\nfunction _line(x1, y1, x2, y2, o, move, overlay) {\n const lengthSq = Math.pow((x1 - x2), 2) + Math.pow((y1 - y2), 2);\n const length = Math.sqrt(lengthSq);\n let roughnessGain = 1;\n if (length < 200) {\n roughnessGain = 1;\n }\n else if (length > 500) {\n roughnessGain = 0.4;\n }\n else {\n roughnessGain = (-0.0016668) * length + 1.233334;\n }\n let offset = o.maxRandomnessOffset || 0;\n if ((offset * offset * 100) > lengthSq) {\n offset = length / 10;\n }\n const halfOffset = offset / 2;\n const divergePoint = 0.2 + random(o) * 0.2;\n let midDispX = o.bowing * o.maxRandomnessOffset * (y2 - y1) / 200;\n let midDispY = o.bowing * o.maxRandomnessOffset * (x1 - x2) / 200;\n midDispX = _offsetOpt(midDispX, o, roughnessGain);\n midDispY = _offsetOpt(midDispY, o, roughnessGain);\n const ops = [];\n const randomHalf = () => _offsetOpt(halfOffset, o, roughnessGain);\n const randomFull = () => _offsetOpt(offset, o, roughnessGain);\n const preserveVertices = o.preserveVertices;\n if (move) {\n if (overlay) {\n ops.push({\n op: 'move', data: [\n x1 + (preserveVertices ? 0 : randomHalf()),\n y1 + (preserveVertices ? 0 : randomHalf()),\n ],\n });\n }\n else {\n ops.push({\n op: 'move', data: [\n x1 + (preserveVertices ? 0 : _offsetOpt(offset, o, roughnessGain)),\n y1 + (preserveVertices ? 0 : _offsetOpt(offset, o, roughnessGain)),\n ],\n });\n }\n }\n if (overlay) {\n ops.push({\n op: 'bcurveTo',\n data: [\n midDispX + x1 + (x2 - x1) * divergePoint + randomHalf(),\n midDispY + y1 + (y2 - y1) * divergePoint + randomHalf(),\n midDispX + x1 + 2 * (x2 - x1) * divergePoint + randomHalf(),\n midDispY + y1 + 2 * (y2 - y1) * divergePoint + randomHalf(),\n x2 + (preserveVertices ? 0 : randomHalf()),\n y2 + (preserveVertices ? 0 : randomHalf()),\n ],\n });\n }\n else {\n ops.push({\n op: 'bcurveTo',\n data: [\n midDispX + x1 + (x2 - x1) * divergePoint + randomFull(),\n midDispY + y1 + (y2 - y1) * divergePoint + randomFull(),\n midDispX + x1 + 2 * (x2 - x1) * divergePoint + randomFull(),\n midDispY + y1 + 2 * (y2 - y1) * divergePoint + randomFull(),\n x2 + (preserveVertices ? 0 : randomFull()),\n y2 + (preserveVertices ? 0 : randomFull()),\n ],\n });\n }\n return ops;\n}\nfunction _curveWithOffset(points, offset, o) {\n if (!points.length) {\n return [];\n }\n const ps = [];\n ps.push([\n points[0][0] + _offsetOpt(offset, o),\n points[0][1] + _offsetOpt(offset, o),\n ]);\n ps.push([\n points[0][0] + _offsetOpt(offset, o),\n points[0][1] + _offsetOpt(offset, o),\n ]);\n for (let i = 1; i < points.length; i++) {\n ps.push([\n points[i][0] + _offsetOpt(offset, o),\n points[i][1] + _offsetOpt(offset, o),\n ]);\n if (i === (points.length - 1)) {\n ps.push([\n points[i][0] + _offsetOpt(offset, o),\n points[i][1] + _offsetOpt(offset, o),\n ]);\n }\n }\n return _curve(ps, null, o);\n}\nfunction _curve(points, closePoint, o) {\n const len = points.length;\n const ops = [];\n if (len > 3) {\n const b = [];\n const s = 1 - o.curveTightness;\n ops.push({ op: 'move', data: [points[1][0], points[1][1]] });\n for (let i = 1; (i + 2) < len; i++) {\n const cachedVertArray = points[i];\n b[0] = [cachedVertArray[0], cachedVertArray[1]];\n b[1] = [cachedVertArray[0] + (s * points[i + 1][0] - s * points[i - 1][0]) / 6, cachedVertArray[1] + (s * points[i + 1][1] - s * points[i - 1][1]) / 6];\n b[2] = [points[i + 1][0] + (s * points[i][0] - s * points[i + 2][0]) / 6, points[i + 1][1] + (s * points[i][1] - s * points[i + 2][1]) / 6];\n b[3] = [points[i + 1][0], points[i + 1][1]];\n ops.push({ op: 'bcurveTo', data: [b[1][0], b[1][1], b[2][0], b[2][1], b[3][0], b[3][1]] });\n }\n if (closePoint && closePoint.length === 2) {\n const ro = o.maxRandomnessOffset;\n ops.push({ op: 'lineTo', data: [closePoint[0] + _offsetOpt(ro, o), closePoint[1] + _offsetOpt(ro, o)] });\n }\n }\n else if (len === 3) {\n ops.push({ op: 'move', data: [points[1][0], points[1][1]] });\n ops.push({\n op: 'bcurveTo',\n data: [\n points[1][0], points[1][1],\n points[2][0], points[2][1],\n points[2][0], points[2][1],\n ],\n });\n }\n else if (len === 2) {\n ops.push(..._line(points[0][0], points[0][1], points[1][0], points[1][1], o, true, true));\n }\n return ops;\n}\nfunction _computeEllipsePoints(increment, cx, cy, rx, ry, offset, overlap, o) {\n const coreOnly = o.roughness === 0;\n const corePoints = [];\n const allPoints = [];\n if (coreOnly) {\n increment = increment / 4;\n allPoints.push([\n cx + rx * Math.cos(-increment),\n cy + ry * Math.sin(-increment),\n ]);\n for (let angle = 0; angle <= Math.PI * 2; angle = angle + increment) {\n const p = [\n cx + rx * Math.cos(angle),\n cy + ry * Math.sin(angle),\n ];\n corePoints.push(p);\n allPoints.push(p);\n }\n allPoints.push([\n cx + rx * Math.cos(0),\n cy + ry * Math.sin(0),\n ]);\n allPoints.push([\n cx + rx * Math.cos(increment),\n cy + ry * Math.sin(increment),\n ]);\n }\n else {\n const radOffset = _offsetOpt(0.5, o) - (Math.PI / 2);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset - increment),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset - increment),\n ]);\n const endAngle = Math.PI * 2 + radOffset - 0.01;\n for (let angle = radOffset; angle < endAngle; angle = angle + increment) {\n const p = [\n _offsetOpt(offset, o) + cx + rx * Math.cos(angle),\n _offsetOpt(offset, o) + cy + ry * Math.sin(angle),\n ];\n corePoints.push(p);\n allPoints.push(p);\n }\n allPoints.push([\n _offsetOpt(offset, o) + cx + rx * Math.cos(radOffset + Math.PI * 2 + overlap * 0.5),\n _offsetOpt(offset, o) + cy + ry * Math.sin(radOffset + Math.PI * 2 + overlap * 0.5),\n ]);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.98 * rx * Math.cos(radOffset + overlap),\n _offsetOpt(offset, o) + cy + 0.98 * ry * Math.sin(radOffset + overlap),\n ]);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset + overlap * 0.5),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset + overlap * 0.5),\n ]);\n }\n return [allPoints, corePoints];\n}\nfunction _arc(increment, cx, cy, rx, ry, strt, stp, offset, o) {\n const radOffset = strt + _offsetOpt(0.1, o);\n const points = [];\n points.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset - increment),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset - increment),\n ]);\n for (let angle = radOffset; angle <= stp; angle = angle + increment) {\n points.push([\n _offsetOpt(offset, o) + cx + rx * Math.cos(angle),\n _offsetOpt(offset, o) + cy + ry * Math.sin(angle),\n ]);\n }\n points.push([\n cx + rx * Math.cos(stp),\n cy + ry * Math.sin(stp),\n ]);\n points.push([\n cx + rx * Math.cos(stp),\n cy + ry * Math.sin(stp),\n ]);\n return _curve(points, null, o);\n}\nfunction _bezierTo(x1, y1, x2, y2, x, y, current, o) {\n const ops = [];\n const ros = [o.maxRandomnessOffset || 1, (o.maxRandomnessOffset || 1) + 0.3];\n let f = [0, 0];\n const iterations = o.disableMultiStroke ? 1 : 2;\n const preserveVertices = o.preserveVertices;\n for (let i = 0; i < iterations; i++) {\n if (i === 0) {\n ops.push({ op: 'move', data: [current[0], current[1]] });\n }\n else {\n ops.push({ op: 'move', data: [current[0] + (preserveVertices ? 0 : _offsetOpt(ros[0], o)), current[1] + (preserveVertices ? 0 : _offsetOpt(ros[0], o))] });\n }\n f = preserveVertices ? [x, y] : [x + _offsetOpt(ros[i], o), y + _offsetOpt(ros[i], o)];\n ops.push({\n op: 'bcurveTo',\n data: [\n x1 + _offsetOpt(ros[i], o), y1 + _offsetOpt(ros[i], o),\n x2 + _offsetOpt(ros[i], o), y2 + _offsetOpt(ros[i], o),\n f[0], f[1],\n ],\n });\n }\n return ops;\n}\n","function clone(p) {\n return [...p];\n}\nexport function curveToBezier(pointsIn, curveTightness = 0) {\n const len = pointsIn.length;\n if (len < 3) {\n throw new Error('A curve must have at least three points.');\n }\n const out = [];\n if (len === 3) {\n out.push(clone(pointsIn[0]), clone(pointsIn[1]), clone(pointsIn[2]), clone(pointsIn[2]));\n }\n else {\n const points = [];\n points.push(pointsIn[0], pointsIn[0]);\n for (let i = 1; i < pointsIn.length; i++) {\n points.push(pointsIn[i]);\n if (i === (pointsIn.length - 1)) {\n points.push(pointsIn[i]);\n }\n }\n const b = [];\n const s = 1 - curveTightness;\n out.push(clone(points[0]));\n for (let i = 1; (i + 2) < points.length; i++) {\n const cachedVertArray = points[i];\n b[0] = [cachedVertArray[0], cachedVertArray[1]];\n b[1] = [cachedVertArray[0] + (s * points[i + 1][0] - s * points[i - 1][0]) / 6, cachedVertArray[1] + (s * points[i + 1][1] - s * points[i - 1][1]) / 6];\n b[2] = [points[i + 1][0] + (s * points[i][0] - s * points[i + 2][0]) / 6, points[i + 1][1] + (s * points[i][1] - s * points[i + 2][1]) / 6];\n b[3] = [points[i + 1][0], points[i + 1][1]];\n out.push(b[1], b[2], b[3]);\n }\n }\n return out;\n}\n","// distance between 2 points\nfunction distance(p1, p2) {\n return Math.sqrt(distanceSq(p1, p2));\n}\n// distance between 2 points squared\nfunction distanceSq(p1, p2) {\n return Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2);\n}\n// Sistance squared from a point p to the line segment vw\nfunction distanceToSegmentSq(p, v, w) {\n const l2 = distanceSq(v, w);\n if (l2 === 0) {\n return distanceSq(p, v);\n }\n let t = ((p[0] - v[0]) * (w[0] - v[0]) + (p[1] - v[1]) * (w[1] - v[1])) / l2;\n t = Math.max(0, Math.min(1, t));\n return distanceSq(p, lerp(v, w, t));\n}\nfunction lerp(a, b, t) {\n return [\n a[0] + (b[0] - a[0]) * t,\n a[1] + (b[1] - a[1]) * t,\n ];\n}\n// Adapted from https://seant23.wordpress.com/2010/11/12/offset-bezier-curves/\nfunction flatness(points, offset) {\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n let ux = 3 * p2[0] - 2 * p1[0] - p4[0];\n ux *= ux;\n let uy = 3 * p2[1] - 2 * p1[1] - p4[1];\n uy *= uy;\n let vx = 3 * p3[0] - 2 * p4[0] - p1[0];\n vx *= vx;\n let vy = 3 * p3[1] - 2 * p4[1] - p1[1];\n vy *= vy;\n if (ux < vx) {\n ux = vx;\n }\n if (uy < vy) {\n uy = vy;\n }\n return ux + uy;\n}\nfunction getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints) {\n const outPoints = newPoints || [];\n if (flatness(points, offset) < tolerance) {\n const p0 = points[offset + 0];\n if (outPoints.length) {\n const d = distance(outPoints[outPoints.length - 1], p0);\n if (d > 1) {\n outPoints.push(p0);\n }\n }\n else {\n outPoints.push(p0);\n }\n outPoints.push(points[offset + 3]);\n }\n else {\n // subdivide\n const t = .5;\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n const q1 = lerp(p1, p2, t);\n const q2 = lerp(p2, p3, t);\n const q3 = lerp(p3, p4, t);\n const r1 = lerp(q1, q2, t);\n const r2 = lerp(q2, q3, t);\n const red = lerp(r1, r2, t);\n getPointsOnBezierCurveWithSplitting([p1, q1, r1, red], 0, tolerance, outPoints);\n getPointsOnBezierCurveWithSplitting([red, r2, q3, p4], 0, tolerance, outPoints);\n }\n return outPoints;\n}\nexport function simplify(points, distance) {\n return simplifyPoints(points, 0, points.length, distance);\n}\n// Ramer–Douglas–Peucker algorithm\n// https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm\nfunction simplifyPoints(points, start, end, epsilon, newPoints) {\n const outPoints = newPoints || [];\n // find the most distance point from the endpoints\n const s = points[start];\n const e = points[end - 1];\n let maxDistSq = 0;\n let maxNdx = 1;\n for (let i = start + 1; i < end - 1; ++i) {\n const distSq = distanceToSegmentSq(points[i], s, e);\n if (distSq > maxDistSq) {\n maxDistSq = distSq;\n maxNdx = i;\n }\n }\n // if that point is too far, split\n if (Math.sqrt(maxDistSq) > epsilon) {\n simplifyPoints(points, start, maxNdx + 1, epsilon, outPoints);\n simplifyPoints(points, maxNdx, end, epsilon, outPoints);\n }\n else {\n if (!outPoints.length) {\n outPoints.push(s);\n }\n outPoints.push(e);\n }\n return outPoints;\n}\nexport function pointsOnBezierCurves(points, tolerance = 0.15, distance) {\n const newPoints = [];\n const numSegments = (points.length - 1) / 3;\n for (let i = 0; i < numSegments; i++) {\n const offset = i * 3;\n getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints);\n }\n if (distance && distance > 0) {\n return simplifyPoints(newPoints, 0, newPoints.length, distance);\n }\n return newPoints;\n}\n","import { pointsOnBezierCurves, simplify } from 'points-on-curve';\nimport { parsePath, absolutize, normalize } from 'path-data-parser';\nexport function pointsOnPath(path, tolerance, distance) {\n const segments = parsePath(path);\n const normalized = normalize(absolutize(segments));\n const sets = [];\n let currentPoints = [];\n let start = [0, 0];\n let pendingCurve = [];\n const appendPendingCurve = () => {\n if (pendingCurve.length >= 4) {\n currentPoints.push(...pointsOnBezierCurves(pendingCurve, tolerance));\n }\n pendingCurve = [];\n };\n const appendPendingPoints = () => {\n appendPendingCurve();\n if (currentPoints.length) {\n sets.push(currentPoints);\n currentPoints = [];\n }\n };\n for (const { key, data } of normalized) {\n switch (key) {\n case 'M':\n appendPendingPoints();\n start = [data[0], data[1]];\n currentPoints.push(start);\n break;\n case 'L':\n appendPendingCurve();\n currentPoints.push([data[0], data[1]]);\n break;\n case 'C':\n if (!pendingCurve.length) {\n const lastPoint = currentPoints.length ? currentPoints[currentPoints.length - 1] : start;\n pendingCurve.push([lastPoint[0], lastPoint[1]]);\n }\n pendingCurve.push([data[0], data[1]]);\n pendingCurve.push([data[2], data[3]]);\n pendingCurve.push([data[4], data[5]]);\n break;\n case 'Z':\n appendPendingCurve();\n currentPoints.push([start[0], start[1]]);\n break;\n }\n }\n appendPendingPoints();\n if (!distance) {\n return sets;\n }\n const out = [];\n for (const set of sets) {\n const simplifiedSet = simplify(set, distance);\n if (simplifiedSet.length) {\n out.push(simplifiedSet);\n }\n }\n return out;\n}\n","import { line, solidFillPolygon, patternFillPolygons, rectangle, ellipseWithParams, generateEllipseParams, linearPath, arc, patternFillArc, curve, svgPath } from './renderer.js';\nimport { randomSeed } from './math.js';\nimport { curveToBezier } from 'points-on-curve/lib/curve-to-bezier.js';\nimport { pointsOnBezierCurves } from 'points-on-curve';\nimport { pointsOnPath } from 'points-on-path';\nconst NOS = 'none';\nexport class RoughGenerator {\n constructor(config) {\n this.defaultOptions = {\n maxRandomnessOffset: 2,\n roughness: 1,\n bowing: 1,\n stroke: '#000',\n strokeWidth: 1,\n curveTightness: 0,\n curveFitting: 0.95,\n curveStepCount: 9,\n fillStyle: 'hachure',\n fillWeight: -1,\n hachureAngle: -41,\n hachureGap: -1,\n dashOffset: -1,\n dashGap: -1,\n zigzagOffset: -1,\n seed: 0,\n disableMultiStroke: false,\n disableMultiStrokeFill: false,\n preserveVertices: false,\n fillShapeRoughnessGain: 0.8,\n };\n this.config = config || {};\n if (this.config.options) {\n this.defaultOptions = this._o(this.config.options);\n }\n }\n static newSeed() {\n return randomSeed();\n }\n _o(options) {\n return options ? Object.assign({}, this.defaultOptions, options) : this.defaultOptions;\n }\n _d(shape, sets, options) {\n return { shape, sets: sets || [], options: options || this.defaultOptions };\n }\n line(x1, y1, x2, y2, options) {\n const o = this._o(options);\n return this._d('line', [line(x1, y1, x2, y2, o)], o);\n }\n rectangle(x, y, width, height, options) {\n const o = this._o(options);\n const paths = [];\n const outline = rectangle(x, y, width, height, o);\n if (o.fill) {\n const points = [[x, y], [x + width, y], [x + width, y + height], [x, y + height]];\n if (o.fillStyle === 'solid') {\n paths.push(solidFillPolygon([points], o));\n }\n else {\n paths.push(patternFillPolygons([points], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('rectangle', paths, o);\n }\n ellipse(x, y, width, height, options) {\n const o = this._o(options);\n const paths = [];\n const ellipseParams = generateEllipseParams(width, height, o);\n const ellipseResponse = ellipseWithParams(x, y, o, ellipseParams);\n if (o.fill) {\n if (o.fillStyle === 'solid') {\n const shape = ellipseWithParams(x, y, o, ellipseParams).opset;\n shape.type = 'fillPath';\n paths.push(shape);\n }\n else {\n paths.push(patternFillPolygons([ellipseResponse.estimatedPoints], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(ellipseResponse.opset);\n }\n return this._d('ellipse', paths, o);\n }\n circle(x, y, diameter, options) {\n const ret = this.ellipse(x, y, diameter, diameter, options);\n ret.shape = 'circle';\n return ret;\n }\n linearPath(points, options) {\n const o = this._o(options);\n return this._d('linearPath', [linearPath(points, false, o)], o);\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const o = this._o(options);\n const paths = [];\n const outline = arc(x, y, width, height, start, stop, closed, true, o);\n if (closed && o.fill) {\n if (o.fillStyle === 'solid') {\n const fillOptions = Object.assign({}, o);\n fillOptions.disableMultiStroke = true;\n const shape = arc(x, y, width, height, start, stop, true, false, fillOptions);\n shape.type = 'fillPath';\n paths.push(shape);\n }\n else {\n paths.push(patternFillArc(x, y, width, height, start, stop, o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('arc', paths, o);\n }\n curve(points, options) {\n const o = this._o(options);\n const paths = [];\n const outline = curve(points, o);\n if (o.fill && o.fill !== NOS) {\n if (o.fillStyle === 'solid') {\n const fillShape = curve(points, Object.assign(Object.assign({}, o), { disableMultiStroke: true, roughness: o.roughness ? (o.roughness + o.fillShapeRoughnessGain) : 0 }));\n paths.push({\n type: 'fillPath',\n ops: this._mergedShape(fillShape.ops),\n });\n }\n else {\n const polyPoints = [];\n const inputPoints = points;\n if (inputPoints.length) {\n const p1 = inputPoints[0];\n const pointsList = (typeof p1[0] === 'number') ? [inputPoints] : inputPoints;\n for (const points of pointsList) {\n if (points.length < 3) {\n polyPoints.push(...points);\n }\n else if (points.length === 3) {\n polyPoints.push(...pointsOnBezierCurves(curveToBezier([\n points[0],\n points[0],\n points[1],\n points[2],\n ]), 10, (1 + o.roughness) / 2));\n }\n else {\n polyPoints.push(...pointsOnBezierCurves(curveToBezier(points), 10, (1 + o.roughness) / 2));\n }\n }\n }\n if (polyPoints.length) {\n paths.push(patternFillPolygons([polyPoints], o));\n }\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('curve', paths, o);\n }\n polygon(points, options) {\n const o = this._o(options);\n const paths = [];\n const outline = linearPath(points, true, o);\n if (o.fill) {\n if (o.fillStyle === 'solid') {\n paths.push(solidFillPolygon([points], o));\n }\n else {\n paths.push(patternFillPolygons([points], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('polygon', paths, o);\n }\n path(d, options) {\n const o = this._o(options);\n const paths = [];\n if (!d) {\n return this._d('path', paths, o);\n }\n d = (d || '').replace(/\\n/g, ' ').replace(/(-\\s)/g, '-').replace('/(\\s\\s)/g', ' ');\n const hasFill = o.fill && o.fill !== 'transparent' && o.fill !== NOS;\n const hasStroke = o.stroke !== NOS;\n const simplified = !!(o.simplification && (o.simplification < 1));\n const distance = simplified ? (4 - 4 * (o.simplification || 1)) : ((1 + o.roughness) / 2);\n const sets = pointsOnPath(d, 1, distance);\n const shape = svgPath(d, o);\n if (hasFill) {\n if (o.fillStyle === 'solid') {\n if (sets.length === 1) {\n const fillShape = svgPath(d, Object.assign(Object.assign({}, o), { disableMultiStroke: true, roughness: o.roughness ? (o.roughness + o.fillShapeRoughnessGain) : 0 }));\n paths.push({\n type: 'fillPath',\n ops: this._mergedShape(fillShape.ops),\n });\n }\n else {\n paths.push(solidFillPolygon(sets, o));\n }\n }\n else {\n paths.push(patternFillPolygons(sets, o));\n }\n }\n if (hasStroke) {\n if (simplified) {\n sets.forEach((set) => {\n paths.push(linearPath(set, false, o));\n });\n }\n else {\n paths.push(shape);\n }\n }\n return this._d('path', paths, o);\n }\n opsToPath(drawing, fixedDecimals) {\n let path = '';\n for (const item of drawing.ops) {\n const data = ((typeof fixedDecimals === 'number') && fixedDecimals >= 0) ? (item.data.map((d) => +d.toFixed(fixedDecimals))) : item.data;\n switch (item.op) {\n case 'move':\n path += `M${data[0]} ${data[1]} `;\n break;\n case 'bcurveTo':\n path += `C${data[0]} ${data[1]}, ${data[2]} ${data[3]}, ${data[4]} ${data[5]} `;\n break;\n case 'lineTo':\n path += `L${data[0]} ${data[1]} `;\n break;\n }\n }\n return path.trim();\n }\n toPaths(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.defaultOptions;\n const paths = [];\n for (const drawing of sets) {\n let path = null;\n switch (drawing.type) {\n case 'path':\n path = {\n d: this.opsToPath(drawing),\n stroke: o.stroke,\n strokeWidth: o.strokeWidth,\n fill: NOS,\n };\n break;\n case 'fillPath':\n path = {\n d: this.opsToPath(drawing),\n stroke: NOS,\n strokeWidth: 0,\n fill: o.fill || NOS,\n };\n break;\n case 'fillSketch':\n path = this.fillSketch(drawing, o);\n break;\n }\n if (path) {\n paths.push(path);\n }\n }\n return paths;\n }\n fillSketch(drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n return {\n d: this.opsToPath(drawing),\n stroke: o.fill || NOS,\n strokeWidth: fweight,\n fill: NOS,\n };\n }\n _mergedShape(input) {\n return input.filter((d, i) => {\n if (i === 0) {\n return true;\n }\n if (d.op === 'move') {\n return false;\n }\n return true;\n });\n }\n}\n","import { RoughGenerator } from './generator';\nexport class RoughCanvas {\n constructor(canvas, config) {\n this.canvas = canvas;\n this.ctx = this.canvas.getContext('2d');\n this.gen = new RoughGenerator(config);\n }\n draw(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.getDefaultOptions();\n const ctx = this.ctx;\n const precision = drawable.options.fixedDecimalPlaceDigits;\n for (const drawing of sets) {\n switch (drawing.type) {\n case 'path':\n ctx.save();\n ctx.strokeStyle = o.stroke === 'none' ? 'transparent' : o.stroke;\n ctx.lineWidth = o.strokeWidth;\n if (o.strokeLineDash) {\n ctx.setLineDash(o.strokeLineDash);\n }\n if (o.strokeLineDashOffset) {\n ctx.lineDashOffset = o.strokeLineDashOffset;\n }\n this._drawToContext(ctx, drawing, precision);\n ctx.restore();\n break;\n case 'fillPath': {\n ctx.save();\n ctx.fillStyle = o.fill || '';\n const fillRule = (drawable.shape === 'curve' || drawable.shape === 'polygon' || drawable.shape === 'path') ? 'evenodd' : 'nonzero';\n this._drawToContext(ctx, drawing, precision, fillRule);\n ctx.restore();\n break;\n }\n case 'fillSketch':\n this.fillSketch(ctx, drawing, o);\n break;\n }\n }\n }\n fillSketch(ctx, drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n ctx.save();\n if (o.fillLineDash) {\n ctx.setLineDash(o.fillLineDash);\n }\n if (o.fillLineDashOffset) {\n ctx.lineDashOffset = o.fillLineDashOffset;\n }\n ctx.strokeStyle = o.fill || '';\n ctx.lineWidth = fweight;\n this._drawToContext(ctx, drawing, o.fixedDecimalPlaceDigits);\n ctx.restore();\n }\n _drawToContext(ctx, drawing, fixedDecimals, rule = 'nonzero') {\n ctx.beginPath();\n for (const item of drawing.ops) {\n const data = ((typeof fixedDecimals === 'number') && fixedDecimals >= 0) ? (item.data.map((d) => +d.toFixed(fixedDecimals))) : item.data;\n switch (item.op) {\n case 'move':\n ctx.moveTo(data[0], data[1]);\n break;\n case 'bcurveTo':\n ctx.bezierCurveTo(data[0], data[1], data[2], data[3], data[4], data[5]);\n break;\n case 'lineTo':\n ctx.lineTo(data[0], data[1]);\n break;\n }\n }\n if (drawing.type === 'fillPath') {\n ctx.fill(rule);\n }\n else {\n ctx.stroke();\n }\n }\n get generator() {\n return this.gen;\n }\n getDefaultOptions() {\n return this.gen.defaultOptions;\n }\n line(x1, y1, x2, y2, options) {\n const d = this.gen.line(x1, y1, x2, y2, options);\n this.draw(d);\n return d;\n }\n rectangle(x, y, width, height, options) {\n const d = this.gen.rectangle(x, y, width, height, options);\n this.draw(d);\n return d;\n }\n ellipse(x, y, width, height, options) {\n const d = this.gen.ellipse(x, y, width, height, options);\n this.draw(d);\n return d;\n }\n circle(x, y, diameter, options) {\n const d = this.gen.circle(x, y, diameter, options);\n this.draw(d);\n return d;\n }\n linearPath(points, options) {\n const d = this.gen.linearPath(points, options);\n this.draw(d);\n return d;\n }\n polygon(points, options) {\n const d = this.gen.polygon(points, options);\n this.draw(d);\n return d;\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const d = this.gen.arc(x, y, width, height, start, stop, closed, options);\n this.draw(d);\n return d;\n }\n curve(points, options) {\n const d = this.gen.curve(points, options);\n this.draw(d);\n return d;\n }\n path(d, options) {\n const drawing = this.gen.path(d, options);\n this.draw(drawing);\n return drawing;\n }\n}\n","export const SVGNS = 'http://www.w3.org/2000/svg';\n","import { SVGNS } from './core';\nimport { RoughGenerator } from './generator';\nexport class RoughSVG {\n constructor(svg, config) {\n this.svg = svg;\n this.gen = new RoughGenerator(config);\n }\n draw(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.getDefaultOptions();\n const doc = this.svg.ownerDocument || window.document;\n const g = doc.createElementNS(SVGNS, 'g');\n const precision = drawable.options.fixedDecimalPlaceDigits;\n for (const drawing of sets) {\n let path = null;\n switch (drawing.type) {\n case 'path': {\n path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, precision));\n path.setAttribute('stroke', o.stroke);\n path.setAttribute('stroke-width', o.strokeWidth + '');\n path.setAttribute('fill', 'none');\n if (o.strokeLineDash) {\n path.setAttribute('stroke-dasharray', o.strokeLineDash.join(' ').trim());\n }\n if (o.strokeLineDashOffset) {\n path.setAttribute('stroke-dashoffset', `${o.strokeLineDashOffset}`);\n }\n break;\n }\n case 'fillPath': {\n path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, precision));\n path.setAttribute('stroke', 'none');\n path.setAttribute('stroke-width', '0');\n path.setAttribute('fill', o.fill || '');\n if (drawable.shape === 'curve' || drawable.shape === 'polygon') {\n path.setAttribute('fill-rule', 'evenodd');\n }\n break;\n }\n case 'fillSketch': {\n path = this.fillSketch(doc, drawing, o);\n break;\n }\n }\n if (path) {\n g.appendChild(path);\n }\n }\n return g;\n }\n fillSketch(doc, drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n const path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, o.fixedDecimalPlaceDigits));\n path.setAttribute('stroke', o.fill || '');\n path.setAttribute('stroke-width', fweight + '');\n path.setAttribute('fill', 'none');\n if (o.fillLineDash) {\n path.setAttribute('stroke-dasharray', o.fillLineDash.join(' ').trim());\n }\n if (o.fillLineDashOffset) {\n path.setAttribute('stroke-dashoffset', `${o.fillLineDashOffset}`);\n }\n return path;\n }\n get generator() {\n return this.gen;\n }\n getDefaultOptions() {\n return this.gen.defaultOptions;\n }\n opsToPath(drawing, fixedDecimalPlaceDigits) {\n return this.gen.opsToPath(drawing, fixedDecimalPlaceDigits);\n }\n line(x1, y1, x2, y2, options) {\n const d = this.gen.line(x1, y1, x2, y2, options);\n return this.draw(d);\n }\n rectangle(x, y, width, height, options) {\n const d = this.gen.rectangle(x, y, width, height, options);\n return this.draw(d);\n }\n ellipse(x, y, width, height, options) {\n const d = this.gen.ellipse(x, y, width, height, options);\n return this.draw(d);\n }\n circle(x, y, diameter, options) {\n const d = this.gen.circle(x, y, diameter, options);\n return this.draw(d);\n }\n linearPath(points, options) {\n const d = this.gen.linearPath(points, options);\n return this.draw(d);\n }\n polygon(points, options) {\n const d = this.gen.polygon(points, options);\n return this.draw(d);\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const d = this.gen.arc(x, y, width, height, start, stop, closed, options);\n return this.draw(d);\n }\n curve(points, options) {\n const d = this.gen.curve(points, options);\n return this.draw(d);\n }\n path(d, options) {\n const drawing = this.gen.path(d, options);\n return this.draw(drawing);\n }\n}\n","import { RoughCanvas } from './canvas';\nimport { RoughGenerator } from './generator';\nimport { RoughSVG } from './svg';\nexport default {\n canvas(canvas, config) {\n return new RoughCanvas(canvas, config);\n },\n svg(svg, config) {\n return new RoughSVG(svg, config);\n },\n generator(config) {\n return new RoughGenerator(config);\n },\n newSeed() {\n return RoughGenerator.newSeed();\n },\n};\n",null,null,null,null,null,null,null],"names":["tokenize","rectConnPoint","NS","se","hashStr","drawAxes","fmtNum","lerp","darkenHex","resolveStyleFont","wrapText","connMeta","resolveEndpoint","getConnPoint","groupDepth","renderShape"],"mappings":"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","x_google_ignoreList":[9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]}
|