pantograph2d 0.11.0 → 0.11.1

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.
Files changed (52) hide show
  1. package/dist/{QuadraticBezier-B2g_Iyyl.js → QuadraticBezier-BeY2TXKH.js} +464 -433
  2. package/dist/QuadraticBezier-BeY2TXKH.js.map +1 -0
  3. package/dist/{QuadraticBezier-CuRsIP_D.cjs → QuadraticBezier-eSR75IzC.cjs} +9 -9
  4. package/dist/QuadraticBezier-eSR75IzC.cjs.map +1 -0
  5. package/dist/draw-BmJ8wIc9.cjs +2 -0
  6. package/dist/draw-BmJ8wIc9.cjs.map +1 -0
  7. package/dist/{draw-BJW5kfm9.js → draw-DzKVhurb.js} +94 -89
  8. package/dist/draw-DzKVhurb.js.map +1 -0
  9. package/dist/{models-DdZq-waE.js → models-BHeLX0dj.js} +544 -527
  10. package/dist/models-BHeLX0dj.js.map +1 -0
  11. package/dist/models-Fv9xfQBT.cjs +4 -0
  12. package/dist/models-Fv9xfQBT.cjs.map +1 -0
  13. package/dist/pantograph/drawShape.cjs +1 -1
  14. package/dist/pantograph/drawShape.js +2 -2
  15. package/dist/pantograph/models.cjs +1 -1
  16. package/dist/pantograph/models.js +2 -2
  17. package/dist/pantograph/svg.cjs +1 -1
  18. package/dist/pantograph/svg.js +1 -1
  19. package/dist/pantograph.cjs +2 -2
  20. package/dist/pantograph.cjs.map +1 -1
  21. package/dist/pantograph.js +83 -83
  22. package/dist/pantograph.js.map +1 -1
  23. package/dist/svg-BTO7h1ix.js +62 -0
  24. package/dist/svg-BTO7h1ix.js.map +1 -0
  25. package/dist/svg-b6SOnbda.cjs +8 -0
  26. package/dist/svg-b6SOnbda.cjs.map +1 -0
  27. package/dist/types/src/algorithms/offsets/offsetSegment.d.ts +1 -0
  28. package/dist/types/src/models/BoundingBox.d.ts +1 -0
  29. package/dist/types/src/models/Diagram.d.ts +1 -0
  30. package/dist/types/src/models/Figure.d.ts +1 -0
  31. package/dist/types/src/models/Loop.d.ts +1 -0
  32. package/dist/types/src/models/Strand.d.ts +5 -0
  33. package/dist/types/src/models/TransformationMatrix.d.ts +1 -0
  34. package/dist/types/src/models/segments/Arc.d.ts +1 -0
  35. package/dist/types/src/models/segments/CubicBezier.d.ts +1 -0
  36. package/dist/types/src/models/segments/EllipseArc.d.ts +1 -0
  37. package/dist/types/src/models/segments/Line.d.ts +2 -0
  38. package/dist/types/src/models/segments/QuadraticBezier.d.ts +1 -0
  39. package/dist/types/src/tesselationOperations.d.ts +4 -4
  40. package/package.json +2 -2
  41. package/dist/QuadraticBezier-B2g_Iyyl.js.map +0 -1
  42. package/dist/QuadraticBezier-CuRsIP_D.cjs.map +0 -1
  43. package/dist/draw-9Elv4xz6.cjs +0 -2
  44. package/dist/draw-9Elv4xz6.cjs.map +0 -1
  45. package/dist/draw-BJW5kfm9.js.map +0 -1
  46. package/dist/models-DdZq-waE.js.map +0 -1
  47. package/dist/models-LHGiMarC.cjs +0 -4
  48. package/dist/models-LHGiMarC.cjs.map +0 -1
  49. package/dist/svg-BzloQ9l1.cjs +0 -8
  50. package/dist/svg-BzloQ9l1.cjs.map +0 -1
  51. package/dist/svg-D8vwkQf7.js +0 -62
  52. package/dist/svg-D8vwkQf7.js.map +0 -1
@@ -1,62 +0,0 @@
1
- import { L as $, A as f, E as l, R as u, Q as e, C as h } from "./QuadraticBezier-B2g_Iyyl.js";
2
- function i([t, n]) {
3
- return `${t} ${n}`;
4
- }
5
- function s(t) {
6
- if (t instanceof $)
7
- return `L ${i(t.lastPoint)}`;
8
- if (t instanceof f)
9
- return `A ${t.radius} ${t.radius} 0 ${t.angularLength > Math.PI ? "1" : "0"} ${t.clockwise ? "0" : "1"} ${i(t.lastPoint)}`;
10
- if (t instanceof l)
11
- return `A ${t.majorRadius} ${t.minorRadius} ${t.tiltAngle * u} ${t.deltaAngle > Math.PI ? "1" : "0"} ${t.clockwise ? "0" : "1"} ${i(t.lastPoint)}`;
12
- if (t instanceof e)
13
- return `Q ${[
14
- i(t.controlPoint),
15
- i(t.lastPoint)
16
- ].join(" ")}`;
17
- if (t instanceof h)
18
- return `C ${[
19
- i(t.firstControlPoint),
20
- i(t.lastControlPoint),
21
- i(t.lastPoint)
22
- ].join(" ")}`;
23
- throw new Error("Unknown segment type");
24
- }
25
- function w(t) {
26
- const n = `M ${t.firstPoint.join(" ")}`, o = t.segments.map(s).join(" ");
27
- return `${n} ${o} Z`;
28
- }
29
- function p(t) {
30
- return `<path d="${t.allLoops.map(w).join(" ")}" />`;
31
- }
32
- function d(t) {
33
- return `<g>
34
- ${t.figures.map(p).join(`
35
- `)}
36
- </g>`;
37
- }
38
- function j(t) {
39
- const n = `M ${t.firstPoint.join(" ")}`, o = t.segments.map(s).join(" ");
40
- return `${n} ${o}`;
41
- }
42
- function v(t, n = 1) {
43
- const o = t.xMin - n, r = t.yMin - n;
44
- return `${o} ${r} ${t.width + 2 * n} ${t.height + 2 * n}`;
45
- }
46
- function A(t, n, o = 1, r) {
47
- const a = v(n, o), c = r ? `width="${n.width + 2 * o}${r}" height="${n.height + 2 * o}${r}"` : "";
48
- return `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
49
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="${a}" fill="none" stroke="grey" stroke-width="0.2%" vector-effect="non-scaling-stroke" ${c}>
50
- ${t}
51
- </svg>`;
52
- }
53
- export {
54
- p as a,
55
- w as b,
56
- j as c,
57
- s as d,
58
- v as e,
59
- d as s,
60
- A as w
61
- };
62
- //# sourceMappingURL=svg-D8vwkQf7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"svg-D8vwkQf7.js","sources":["../src/export/svg/svgSegment.ts","../src/export/svg/svgLoop.ts","../src/export/svg/svgFigure.ts","../src/export/svg/svgDiagram.ts","../src/export/svg/svgStrand.ts","../src/export/svg/wrapSVG.ts"],"sourcesContent":["import { Arc } from \"../../models/segments/Arc.js\";\nimport { CubicBezier } from \"../../models/segments/CubicBezier.js\";\nimport { EllipseArc } from \"../../models/segments/EllipseArc.js\";\nimport { Line } from \"../../models/segments/Line.js\";\nimport { QuadraticBezier } from \"../../models/segments/QuadraticBezier.js\";\nimport { Segment } from \"../../models/segments/Segment.js\";\nimport { RAD2DEG } from \"../../vectorOperations.js\";\n\nfunction formatPoint([x, y]: [number, number]) {\n return `${x} ${y}`;\n}\n\nexport function svgSegmentToPath(segment: Segment) {\n if (segment instanceof Line) {\n return `L ${formatPoint(segment.lastPoint)}`;\n }\n if (segment instanceof Arc) {\n return `A ${segment.radius} ${segment.radius} 0 ${\n segment.angularLength > Math.PI ? \"1\" : \"0\"\n } ${segment.clockwise ? \"0\" : \"1\"} ${formatPoint(segment.lastPoint)}`;\n }\n if (segment instanceof EllipseArc) {\n return `A ${segment.majorRadius} ${segment.minorRadius} ${\n segment.tiltAngle * RAD2DEG\n } ${segment.deltaAngle > Math.PI ? \"1\" : \"0\"} ${\n segment.clockwise ? \"0\" : \"1\"\n } ${formatPoint(segment.lastPoint)}`;\n }\n\n if (segment instanceof QuadraticBezier) {\n return `Q ${[\n formatPoint(segment.controlPoint),\n formatPoint(segment.lastPoint),\n ].join(\" \")}`;\n }\n\n if (segment instanceof CubicBezier) {\n return `C ${[\n formatPoint(segment.firstControlPoint),\n formatPoint(segment.lastControlPoint),\n formatPoint(segment.lastPoint),\n ].join(\" \")}`;\n }\n\n throw new Error(\"Unknown segment type\");\n}\n","import type { Loop } from \"../../models/Loop.js\";\nimport { svgSegmentToPath } from \"./svgSegment.js\";\n\nexport function svgLoop(loop: Loop) {\n const start = `M ${loop.firstPoint.join(\" \")}`;\n const segments = loop.segments.map(svgSegmentToPath).join(\" \");\n return `${start} ${segments} Z`;\n}\n","import type { Figure } from \"../../models/Figure.js\";\nimport { svgLoop } from \"./svgLoop.js\";\n\nexport function svgFigure(figure: Figure) {\n const path = figure.allLoops.map(svgLoop).join(\" \");\n return `<path d=\"${path}\" />`;\n}\n","import { Diagram } from \"../../models/Diagram.js\";\nimport { svgFigure } from \"./svgFigure.js\";\n\nexport function svgDiagram(diagram: Diagram) {\n return `<g>\n ${diagram.figures.map(svgFigure).join(\"\\n\")}\n</g>`;\n}\n","import type { Strand } from \"../../models/Strand.js\";\nimport { svgSegmentToPath } from \"./svgSegment.js\";\n\nexport function svgStrand(strand: Strand) {\n const start = `M ${strand.firstPoint.join(\" \")}`;\n const segments = strand.segments.map(svgSegmentToPath).join(\" \");\n return `${start} ${segments}`;\n}\n","import { BoundingBox } from \"../../models/BoundingBox.js\";\n\nexport function svgViewbox(bbox: BoundingBox, margin = 1) {\n const minX = bbox.xMin - margin;\n const minY = bbox.yMin - margin;\n\n return `${minX} ${minY} ${bbox.width + 2 * margin} ${\n bbox.height + 2 * margin\n }`;\n}\n\n// The list comes from https://oreillymedia.github.io/Using_SVG/guide/units.html\nexport type SVGUnit = \"mm\" | \"cm\" | \"in\" | \"pc\" | \"px\" | \"pt\";\n\nexport function wrapSVG(\n body: string,\n boundingBox: BoundingBox,\n margin = 1,\n unit: null | SVGUnit,\n) {\n const vbox = svgViewbox(boundingBox, margin);\n const sizes = unit\n ? `width=\"${boundingBox.width + 2 * margin}${unit}\" height=\"${\n boundingBox.height + 2 * margin\n }${unit}\"`\n : \"\";\n\n return `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"${vbox}\" fill=\"none\" stroke=\"grey\" stroke-width=\"0.2%\" vector-effect=\"non-scaling-stroke\" ${sizes}>\n ${body}\n</svg>`;\n}\n"],"names":["formatPoint","x","y","svgSegmentToPath","segment","Line","Arc","EllipseArc","RAD2DEG","QuadraticBezier","CubicBezier","svgLoop","loop","start","segments","svgFigure","figure","svgDiagram","diagram","svgStrand","strand","svgViewbox","bbox","margin","minX","minY","wrapSVG","body","boundingBox","unit","vbox","sizes"],"mappings":";AAQA,SAASA,EAAY,CAACC,GAAGC,CAAC,GAAqB;AACtC,SAAA,GAAGD,CAAC,IAAIC,CAAC;AAClB;AAEO,SAASC,EAAiBC,GAAkB;AACjD,MAAIA,aAAmBC;AACrB,WAAO,KAAKL,EAAYI,EAAQ,SAAS,CAAC;AAE5C,MAAIA,aAAmBE;AACd,WAAA,KAAKF,EAAQ,MAAM,IAAIA,EAAQ,MAAM,MAC1CA,EAAQ,gBAAgB,KAAK,KAAK,MAAM,GAC1C,IAAIA,EAAQ,YAAY,MAAM,GAAG,IAAIJ,EAAYI,EAAQ,SAAS,CAAC;AAErE,MAAIA,aAAmBG;AACd,WAAA,KAAKH,EAAQ,WAAW,IAAIA,EAAQ,WAAW,IACpDA,EAAQ,YAAYI,CACtB,IAAIJ,EAAQ,aAAa,KAAK,KAAK,MAAM,GAAG,IAC1CA,EAAQ,YAAY,MAAM,GAC5B,IAAIJ,EAAYI,EAAQ,SAAS,CAAC;AAGpC,MAAIA,aAAmBK;AACrB,WAAO,KAAK;AAAA,MACVT,EAAYI,EAAQ,YAAY;AAAA,MAChCJ,EAAYI,EAAQ,SAAS;AAAA,IAAA,EAC7B,KAAK,GAAG,CAAC;AAGb,MAAIA,aAAmBM;AACrB,WAAO,KAAK;AAAA,MACVV,EAAYI,EAAQ,iBAAiB;AAAA,MACrCJ,EAAYI,EAAQ,gBAAgB;AAAA,MACpCJ,EAAYI,EAAQ,SAAS;AAAA,IAAA,EAC7B,KAAK,GAAG,CAAC;AAGP,QAAA,IAAI,MAAM,sBAAsB;AACxC;AC1CO,SAASO,EAAQC,GAAY;AAClC,QAAMC,IAAQ,KAAKD,EAAK,WAAW,KAAK,GAAG,CAAC,IACtCE,IAAWF,EAAK,SAAS,IAAIT,CAAgB,EAAE,KAAK,GAAG;AACtD,SAAA,GAAGU,CAAK,IAAIC,CAAQ;AAC7B;ACJO,SAASC,EAAUC,GAAgB;AAExC,SAAO,YADMA,EAAO,SAAS,IAAIL,CAAO,EAAE,KAAK,GAAG,CAC3B;AACzB;ACHO,SAASM,EAAWC,GAAkB;AACpC,SAAA;AAAA,IACLA,EAAQ,QAAQ,IAAIH,CAAS,EAAE,KAAK;AAAA,CAAI,CAAC;AAAA;AAE7C;ACJO,SAASI,EAAUC,GAAgB;AACxC,QAAMP,IAAQ,KAAKO,EAAO,WAAW,KAAK,GAAG,CAAC,IACxCN,IAAWM,EAAO,SAAS,IAAIjB,CAAgB,EAAE,KAAK,GAAG;AACxD,SAAA,GAAGU,CAAK,IAAIC,CAAQ;AAC7B;ACLgB,SAAAO,EAAWC,GAAmBC,IAAS,GAAG;AAClD,QAAAC,IAAOF,EAAK,OAAOC,GACnBE,IAAOH,EAAK,OAAOC;AAEzB,SAAO,GAAGC,CAAI,IAAIC,CAAI,IAAIH,EAAK,QAAQ,IAAIC,CAAM,IAC/CD,EAAK,SAAS,IAAIC,CACpB;AACF;AAKO,SAASG,EACdC,GACAC,GACAL,IAAS,GACTM,GACA;AACM,QAAAC,IAAOT,EAAWO,GAAaL,CAAM,GACrCQ,IAAQF,IACV,UAAUD,EAAY,QAAQ,IAAIL,CAAM,GAAGM,CAAI,aAC7CD,EAAY,SAAS,IAAIL,CAC3B,GAAGM,CAAI,MACP;AAEG,SAAA;AAAA,iEACwDC,CAAI,sFAAsFC,CAAK;AAAA,MAC1JJ,CAAI;AAAA;AAEV;"}