pantograph2d 0.8.0 → 0.8.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 (156) hide show
  1. package/LICENSE +4 -658
  2. package/dist/QuadraticBezier-BAVasVfu.cjs +9 -0
  3. package/dist/QuadraticBezier-BAVasVfu.cjs.map +1 -0
  4. package/dist/QuadraticBezier-BzVqiExF.js +4736 -0
  5. package/dist/QuadraticBezier-BzVqiExF.js.map +1 -0
  6. package/dist/{draw-c7b2705c.js → draw-DqsKIWJD.js} +11 -18
  7. package/dist/{draw-c7b2705c.js.map → draw-DqsKIWJD.js.map} +1 -1
  8. package/dist/draw-NcYfDZjT.cjs +2 -0
  9. package/dist/{draw-27ac6dae.cjs.map → draw-NcYfDZjT.cjs.map} +1 -1
  10. package/dist/models-Dxwusy3i.cjs +4 -0
  11. package/dist/models-Dxwusy3i.cjs.map +1 -0
  12. package/dist/{Diagram-2450b2e6.js → models-WQ-B7GSL.js} +283 -284
  13. package/dist/models-WQ-B7GSL.js.map +1 -0
  14. package/dist/pantograph/drawShape.cjs +1 -1
  15. package/dist/pantograph/drawShape.cjs.map +1 -1
  16. package/dist/pantograph/drawShape.js +12 -14
  17. package/dist/pantograph/drawShape.js.map +1 -1
  18. package/dist/pantograph/models.cjs +1 -1
  19. package/dist/pantograph/models.js +2 -2
  20. package/dist/pantograph/svg.cjs +1 -1
  21. package/dist/pantograph/svg.js +5 -6
  22. package/dist/pantograph/svg.js.map +1 -1
  23. package/dist/pantograph.cjs +2 -2
  24. package/dist/pantograph.cjs.map +1 -1
  25. package/dist/pantograph.js +30 -41
  26. package/dist/pantograph.js.map +1 -1
  27. package/dist/{wrapSVG-0ec8a111.js → svg-BylQQgsL.js} +2 -2
  28. package/dist/svg-BylQQgsL.js.map +1 -0
  29. package/dist/{wrapSVG-02b823ac.cjs → svg-D0nYyMk7.cjs} +2 -2
  30. package/dist/svg-D0nYyMk7.cjs.map +1 -0
  31. package/dist/types/examples/importSVG.d.ts +4 -0
  32. package/dist/{algorithms → types/src/algorithms}/boolean/figureBooleans.d.ts +1 -1
  33. package/dist/{algorithms → types/src/algorithms}/boolean/loopBooleans.d.ts +1 -1
  34. package/dist/{algorithms → types/src/algorithms}/boolean/strandBoolean.d.ts +4 -4
  35. package/dist/{algorithms → types/src/algorithms}/boolean/strandsBetweenIntersections.d.ts +3 -3
  36. package/dist/{algorithms → types/src/algorithms}/distances/arcArcDistance.d.ts +1 -1
  37. package/dist/{algorithms → types/src/algorithms}/distances/genericDistance.d.ts +1 -1
  38. package/dist/{algorithms → types/src/algorithms}/distances/index.d.ts +1 -1
  39. package/dist/types/src/algorithms/distances/lineArcDistance.d.ts +3 -0
  40. package/dist/{algorithms → types/src/algorithms}/distances/lineLineDistance.d.ts +1 -1
  41. package/dist/{algorithms → types/src/algorithms}/filletSegments.d.ts +1 -1
  42. package/dist/{algorithms → types/src/algorithms}/intersections/arcArcIntersection.d.ts +2 -2
  43. package/dist/types/src/algorithms/intersections/arcEllipseArcIntersection.d.ts +3 -0
  44. package/dist/types/src/algorithms/intersections/arcsCubicBezierIntersection.d.ts +5 -0
  45. package/dist/types/src/algorithms/intersections/arcsQuadraticBezierIntersection.d.ts +5 -0
  46. package/dist/{algorithms → types/src/algorithms}/intersections/bezierClip.d.ts +3 -3
  47. package/dist/{algorithms → types/src/algorithms}/intersections/cubicBezierCubicBezierIntersection.d.ts +2 -2
  48. package/dist/{algorithms → types/src/algorithms}/intersections/ellipseArcEllipseArcIntersection.d.ts +2 -2
  49. package/dist/types/src/algorithms/intersections/ellipseEllipseIntersection.d.ts +4 -0
  50. package/dist/{algorithms → types/src/algorithms}/intersections/index.d.ts +2 -2
  51. package/dist/types/src/algorithms/intersections/lineArcIntersection.d.ts +4 -0
  52. package/dist/types/src/algorithms/intersections/lineBezierIntersection.d.ts +5 -0
  53. package/dist/types/src/algorithms/intersections/lineEllipseArcIntersection.d.ts +4 -0
  54. package/dist/{algorithms → types/src/algorithms}/intersections/lineLineIntersection.d.ts +4 -4
  55. package/dist/{algorithms → types/src/algorithms}/intersections/quadraticBezierQuadraticBezierIntersection.d.ts +2 -2
  56. package/dist/types/src/algorithms/intersections/rayIntersections.d.ts +3 -0
  57. package/dist/{algorithms → types/src/algorithms}/offsets/offsetFigure.d.ts +2 -2
  58. package/dist/{algorithms → types/src/algorithms}/offsets/offsetSegment.d.ts +4 -4
  59. package/dist/{algorithms → types/src/algorithms}/offsets/offsetStroke.d.ts +5 -5
  60. package/dist/{algorithms → types/src/algorithms}/organiseLoops.d.ts +2 -2
  61. package/dist/types/src/algorithms/simplify.d.ts +3 -0
  62. package/dist/types/src/algorithms/solvers/findZeroViaNewton.d.ts +1 -0
  63. package/dist/types/src/algorithms/solvers/zeroViaNewton.d.ts +1 -0
  64. package/dist/{algorithms → types/src/algorithms}/stitchSegments.d.ts +1 -1
  65. package/dist/types/src/api/drawShape.d.ts +2 -0
  66. package/dist/types/src/api/models.d.ts +1 -0
  67. package/dist/types/src/api/svg.d.ts +1 -0
  68. package/dist/{booleanOperations.d.ts → types/src/booleanOperations.d.ts} +5 -5
  69. package/dist/{draw.d.ts → types/src/draw.d.ts} +4 -4
  70. package/dist/{drawShape → types/src/drawShape}/drawCircle.d.ts +1 -1
  71. package/dist/types/src/drawShape/drawEllipse.d.ts +2 -0
  72. package/dist/{drawShape → types/src/drawShape}/drawRect.d.ts +1 -1
  73. package/dist/types/src/drawShape/drawSVGPath.d.ts +2 -0
  74. package/dist/types/src/drawShape/index.d.ts +4 -0
  75. package/dist/{export → types/src/export}/json/exportJSON.d.ts +94 -94
  76. package/dist/{export → types/src/export}/json/jsonDiagram.d.ts +31 -31
  77. package/dist/{export → types/src/export}/json/jsonFigure.d.ts +31 -31
  78. package/dist/{export → types/src/export}/json/jsonLoop.d.ts +16 -16
  79. package/dist/{export → types/src/export}/json/jsonSegment.d.ts +16 -16
  80. package/dist/types/src/export/svg/api.d.ts +6 -0
  81. package/dist/{export → types/src/export}/svg/exportSVG.d.ts +6 -6
  82. package/dist/{export → types/src/export}/svg/svgDiagram.d.ts +1 -1
  83. package/dist/{export → types/src/export}/svg/svgFigure.d.ts +1 -1
  84. package/dist/{export → types/src/export}/svg/svgLoop.d.ts +1 -1
  85. package/dist/{export → types/src/export}/svg/svgSegment.d.ts +1 -1
  86. package/dist/{export → types/src/export}/svg/svgStrand.d.ts +1 -1
  87. package/dist/{export → types/src/export}/svg/wrapSVG.d.ts +1 -1
  88. package/dist/types/src/import/json/importJSON.d.ts +9 -0
  89. package/dist/{main.d.ts → types/src/main.d.ts} +7 -7
  90. package/dist/{models → types/src/models}/BoundingBox.d.ts +1 -1
  91. package/dist/{models → types/src/models}/Diagram.d.ts +7 -7
  92. package/dist/{models → types/src/models}/Figure.d.ts +7 -7
  93. package/dist/{models → types/src/models}/Loop.d.ts +4 -4
  94. package/dist/{models → types/src/models}/Strand.d.ts +2 -2
  95. package/dist/{models → types/src/models}/Stroke.d.ts +5 -5
  96. package/dist/{models → types/src/models}/TransformationMatrix.d.ts +1 -1
  97. package/dist/types/src/models/exports.d.ts +15 -0
  98. package/dist/types/src/models/segments/AbstractSegment.d.ts +25 -0
  99. package/dist/{models → types/src/models}/segments/Arc.d.ts +4 -4
  100. package/dist/{models → types/src/models}/segments/CubicBezier.d.ts +4 -4
  101. package/dist/{models → types/src/models}/segments/EllipseArc.d.ts +5 -5
  102. package/dist/{models → types/src/models}/segments/Line.d.ts +4 -4
  103. package/dist/{models → types/src/models}/segments/QuadraticBezier.d.ts +4 -4
  104. package/dist/{models → types/src/models}/segments/Segment.d.ts +4 -4
  105. package/dist/{models → types/src/models}/segments/utils/deCasteljau.d.ts +1 -1
  106. package/dist/types/src/models/segments/utils/isSegment.d.ts +8 -0
  107. package/dist/{models → types/src/models}/utils/Transformable.d.ts +2 -2
  108. package/dist/{offsetOperations.d.ts → types/src/offsetOperations.d.ts} +4 -4
  109. package/dist/types/src/operations.d.ts +2 -0
  110. package/dist/types/src/utils/applyMixins.d.ts +1 -0
  111. package/dist/types/src/utils/listOfFigures.d.ts +4 -0
  112. package/dist/types/src/utils/projectPointOnLine.d.ts +3 -0
  113. package/dist/{utils → types/src/utils}/removeDuplicatePoints.d.ts +1 -1
  114. package/dist/{vectorOperations.d.ts → types/src/vectorOperations.d.ts} +1 -1
  115. package/package.json +4 -4
  116. package/dist/Diagram-2450b2e6.js.map +0 -1
  117. package/dist/Diagram-57e17509.cjs +0 -4
  118. package/dist/Diagram-57e17509.cjs.map +0 -1
  119. package/dist/QuadraticBezier-e116a2d6.js +0 -3647
  120. package/dist/QuadraticBezier-e116a2d6.js.map +0 -1
  121. package/dist/QuadraticBezier-e3d7218b.cjs +0 -9
  122. package/dist/QuadraticBezier-e3d7218b.cjs.map +0 -1
  123. package/dist/algorithms/distances/lineArcDistance.d.ts +0 -3
  124. package/dist/algorithms/intersections/arcEllipseArcIntersection.d.ts +0 -3
  125. package/dist/algorithms/intersections/arcsCubicBezierIntersection.d.ts +0 -5
  126. package/dist/algorithms/intersections/arcsQuadraticBezierIntersection.d.ts +0 -5
  127. package/dist/algorithms/intersections/ellipseEllipseIntersection.d.ts +0 -4
  128. package/dist/algorithms/intersections/lineArcIntersection.d.ts +0 -4
  129. package/dist/algorithms/intersections/lineBezierIntersection.d.ts +0 -5
  130. package/dist/algorithms/intersections/lineEllipseArcIntersection.d.ts +0 -4
  131. package/dist/algorithms/intersections/rayIntersections.d.ts +0 -3
  132. package/dist/algorithms/simplify.d.ts +0 -3
  133. package/dist/api/drawShape.d.ts +0 -2
  134. package/dist/api/models.d.ts +0 -1
  135. package/dist/api/svg.d.ts +0 -1
  136. package/dist/draw-27ac6dae.cjs +0 -2
  137. package/dist/export/svg/api.d.ts +0 -6
  138. package/dist/import/json/importJSON.d.ts +0 -9
  139. package/dist/models/exports.d.ts +0 -15
  140. package/dist/models/segments/utils/isSegment.d.ts +0 -8
  141. package/dist/operations.d.ts +0 -2
  142. package/dist/utils/listOfFigures.d.ts +0 -4
  143. package/dist/utils/projectPointOnLine.d.ts +0 -3
  144. package/dist/wrapSVG-02b823ac.cjs.map +0 -1
  145. package/dist/wrapSVG-0ec8a111.js.map +0 -1
  146. /package/dist/{algorithms → types/src/algorithms}/optimisation/Brent.d.ts +0 -0
  147. /package/dist/{algorithms → types/src/algorithms}/optimisation/DiRect.d.ts +0 -0
  148. /package/dist/{algorithms → types/src/algorithms}/solvers/solvePolynomials.d.ts +0 -0
  149. /package/dist/{definitions.d.ts → types/src/definitions.d.ts} +0 -0
  150. /package/dist/{utils → types/src/utils}/allCombinations.d.ts +0 -0
  151. /package/dist/{utils → types/src/utils}/allPairs.d.ts +0 -0
  152. /package/dist/{utils → types/src/utils}/angularDistance.d.ts +0 -0
  153. /package/dist/{utils → types/src/utils}/range.d.ts +0 -0
  154. /package/dist/{utils → types/src/utils}/removeDuplicateValues.d.ts +0 -0
  155. /package/dist/{utils → types/src/utils}/unitAngle.d.ts +0 -0
  156. /package/dist/{utils → types/src/utils}/zip.d.ts +0 -0
@@ -1,12 +1,12 @@
1
- import type { Figure } from "../../models/Figure.js";
1
+ import { Figure } from '../../models/Figure.js';
2
2
  export declare function jsonFigure(figure: Figure): {
3
3
  type: string;
4
4
  contour: {
5
5
  type: string;
6
6
  segments: ({
7
7
  type: string;
8
- firstPoint: import("../../definitions.js").Vector;
9
- lastPoint: import("../../definitions.js").Vector;
8
+ firstPoint: import('../../definitions.js').Vector;
9
+ lastPoint: import('../../definitions.js').Vector;
10
10
  center?: undefined;
11
11
  clockwise?: undefined;
12
12
  majorRadius?: undefined;
@@ -17,9 +17,9 @@ export declare function jsonFigure(figure: Figure): {
17
17
  lastControlPoint?: undefined;
18
18
  } | {
19
19
  type: string;
20
- firstPoint: import("../../definitions.js").Vector;
21
- lastPoint: import("../../definitions.js").Vector;
22
- center: import("../../definitions.js").Vector;
20
+ firstPoint: import('../../definitions.js').Vector;
21
+ lastPoint: import('../../definitions.js').Vector;
22
+ center: import('../../definitions.js').Vector;
23
23
  clockwise: boolean;
24
24
  majorRadius?: undefined;
25
25
  minorRadius?: undefined;
@@ -29,9 +29,9 @@ export declare function jsonFigure(figure: Figure): {
29
29
  lastControlPoint?: undefined;
30
30
  } | {
31
31
  type: string;
32
- firstPoint: import("../../definitions.js").Vector;
33
- lastPoint: import("../../definitions.js").Vector;
34
- center: import("../../definitions.js").Vector;
32
+ firstPoint: import('../../definitions.js').Vector;
33
+ lastPoint: import('../../definitions.js').Vector;
34
+ center: import('../../definitions.js').Vector;
35
35
  clockwise: boolean;
36
36
  majorRadius: number;
37
37
  minorRadius: number;
@@ -41,9 +41,9 @@ export declare function jsonFigure(figure: Figure): {
41
41
  lastControlPoint?: undefined;
42
42
  } | {
43
43
  type: string;
44
- firstPoint: import("../../definitions.js").Vector;
45
- lastPoint: import("../../definitions.js").Vector;
46
- controlPoint: import("../../definitions.js").Vector;
44
+ firstPoint: import('../../definitions.js').Vector;
45
+ lastPoint: import('../../definitions.js').Vector;
46
+ controlPoint: import('../../definitions.js').Vector;
47
47
  center?: undefined;
48
48
  clockwise?: undefined;
49
49
  majorRadius?: undefined;
@@ -53,10 +53,10 @@ export declare function jsonFigure(figure: Figure): {
53
53
  lastControlPoint?: undefined;
54
54
  } | {
55
55
  type: string;
56
- firstPoint: import("../../definitions.js").Vector;
57
- lastPoint: import("../../definitions.js").Vector;
58
- firstControlPoint: import("../../definitions.js").Vector;
59
- lastControlPoint: import("../../definitions.js").Vector;
56
+ firstPoint: import('../../definitions.js').Vector;
57
+ lastPoint: import('../../definitions.js').Vector;
58
+ firstControlPoint: import('../../definitions.js').Vector;
59
+ lastControlPoint: import('../../definitions.js').Vector;
60
60
  center?: undefined;
61
61
  clockwise?: undefined;
62
62
  majorRadius?: undefined;
@@ -69,8 +69,8 @@ export declare function jsonFigure(figure: Figure): {
69
69
  type: string;
70
70
  segments: ({
71
71
  type: string;
72
- firstPoint: import("../../definitions.js").Vector;
73
- lastPoint: import("../../definitions.js").Vector;
72
+ firstPoint: import('../../definitions.js').Vector;
73
+ lastPoint: import('../../definitions.js').Vector;
74
74
  center?: undefined;
75
75
  clockwise?: undefined;
76
76
  majorRadius?: undefined;
@@ -81,9 +81,9 @@ export declare function jsonFigure(figure: Figure): {
81
81
  lastControlPoint?: undefined;
82
82
  } | {
83
83
  type: string;
84
- firstPoint: import("../../definitions.js").Vector;
85
- lastPoint: import("../../definitions.js").Vector;
86
- center: import("../../definitions.js").Vector;
84
+ firstPoint: import('../../definitions.js').Vector;
85
+ lastPoint: import('../../definitions.js').Vector;
86
+ center: import('../../definitions.js').Vector;
87
87
  clockwise: boolean;
88
88
  majorRadius?: undefined;
89
89
  minorRadius?: undefined;
@@ -93,9 +93,9 @@ export declare function jsonFigure(figure: Figure): {
93
93
  lastControlPoint?: undefined;
94
94
  } | {
95
95
  type: string;
96
- firstPoint: import("../../definitions.js").Vector;
97
- lastPoint: import("../../definitions.js").Vector;
98
- center: import("../../definitions.js").Vector;
96
+ firstPoint: import('../../definitions.js').Vector;
97
+ lastPoint: import('../../definitions.js').Vector;
98
+ center: import('../../definitions.js').Vector;
99
99
  clockwise: boolean;
100
100
  majorRadius: number;
101
101
  minorRadius: number;
@@ -105,9 +105,9 @@ export declare function jsonFigure(figure: Figure): {
105
105
  lastControlPoint?: undefined;
106
106
  } | {
107
107
  type: string;
108
- firstPoint: import("../../definitions.js").Vector;
109
- lastPoint: import("../../definitions.js").Vector;
110
- controlPoint: import("../../definitions.js").Vector;
108
+ firstPoint: import('../../definitions.js').Vector;
109
+ lastPoint: import('../../definitions.js').Vector;
110
+ controlPoint: import('../../definitions.js').Vector;
111
111
  center?: undefined;
112
112
  clockwise?: undefined;
113
113
  majorRadius?: undefined;
@@ -117,10 +117,10 @@ export declare function jsonFigure(figure: Figure): {
117
117
  lastControlPoint?: undefined;
118
118
  } | {
119
119
  type: string;
120
- firstPoint: import("../../definitions.js").Vector;
121
- lastPoint: import("../../definitions.js").Vector;
122
- firstControlPoint: import("../../definitions.js").Vector;
123
- lastControlPoint: import("../../definitions.js").Vector;
120
+ firstPoint: import('../../definitions.js').Vector;
121
+ lastPoint: import('../../definitions.js').Vector;
122
+ firstControlPoint: import('../../definitions.js').Vector;
123
+ lastControlPoint: import('../../definitions.js').Vector;
124
124
  center?: undefined;
125
125
  clockwise?: undefined;
126
126
  majorRadius?: undefined;
@@ -1,10 +1,10 @@
1
- import type { Loop } from "../../models/Loop.js";
1
+ import { Loop } from '../../models/Loop.js';
2
2
  export declare function jsonLoop(loop: Loop): {
3
3
  type: string;
4
4
  segments: ({
5
5
  type: string;
6
- firstPoint: import("../../definitions.js").Vector;
7
- lastPoint: import("../../definitions.js").Vector;
6
+ firstPoint: import('../../definitions.js').Vector;
7
+ lastPoint: import('../../definitions.js').Vector;
8
8
  center?: undefined;
9
9
  clockwise?: undefined;
10
10
  majorRadius?: undefined;
@@ -15,9 +15,9 @@ export declare function jsonLoop(loop: Loop): {
15
15
  lastControlPoint?: undefined;
16
16
  } | {
17
17
  type: string;
18
- firstPoint: import("../../definitions.js").Vector;
19
- lastPoint: import("../../definitions.js").Vector;
20
- center: import("../../definitions.js").Vector;
18
+ firstPoint: import('../../definitions.js').Vector;
19
+ lastPoint: import('../../definitions.js').Vector;
20
+ center: import('../../definitions.js').Vector;
21
21
  clockwise: boolean;
22
22
  majorRadius?: undefined;
23
23
  minorRadius?: undefined;
@@ -27,9 +27,9 @@ export declare function jsonLoop(loop: Loop): {
27
27
  lastControlPoint?: undefined;
28
28
  } | {
29
29
  type: string;
30
- firstPoint: import("../../definitions.js").Vector;
31
- lastPoint: import("../../definitions.js").Vector;
32
- center: import("../../definitions.js").Vector;
30
+ firstPoint: import('../../definitions.js').Vector;
31
+ lastPoint: import('../../definitions.js').Vector;
32
+ center: import('../../definitions.js').Vector;
33
33
  clockwise: boolean;
34
34
  majorRadius: number;
35
35
  minorRadius: number;
@@ -39,9 +39,9 @@ export declare function jsonLoop(loop: Loop): {
39
39
  lastControlPoint?: undefined;
40
40
  } | {
41
41
  type: string;
42
- firstPoint: import("../../definitions.js").Vector;
43
- lastPoint: import("../../definitions.js").Vector;
44
- controlPoint: import("../../definitions.js").Vector;
42
+ firstPoint: import('../../definitions.js').Vector;
43
+ lastPoint: import('../../definitions.js').Vector;
44
+ controlPoint: import('../../definitions.js').Vector;
45
45
  center?: undefined;
46
46
  clockwise?: undefined;
47
47
  majorRadius?: undefined;
@@ -51,10 +51,10 @@ export declare function jsonLoop(loop: Loop): {
51
51
  lastControlPoint?: undefined;
52
52
  } | {
53
53
  type: string;
54
- firstPoint: import("../../definitions.js").Vector;
55
- lastPoint: import("../../definitions.js").Vector;
56
- firstControlPoint: import("../../definitions.js").Vector;
57
- lastControlPoint: import("../../definitions.js").Vector;
54
+ firstPoint: import('../../definitions.js').Vector;
55
+ lastPoint: import('../../definitions.js').Vector;
56
+ firstControlPoint: import('../../definitions.js').Vector;
57
+ lastControlPoint: import('../../definitions.js').Vector;
58
58
  center?: undefined;
59
59
  clockwise?: undefined;
60
60
  majorRadius?: undefined;
@@ -1,8 +1,8 @@
1
- import { Segment } from "../../models/segments/Segment.js";
1
+ import { Segment } from '../../models/segments/Segment.js';
2
2
  export declare function jsonSegment(segment: Segment): {
3
3
  type: string;
4
- firstPoint: import("../../definitions.js").Vector;
5
- lastPoint: import("../../definitions.js").Vector;
4
+ firstPoint: import('../../definitions.js').Vector;
5
+ lastPoint: import('../../definitions.js').Vector;
6
6
  center?: undefined;
7
7
  clockwise?: undefined;
8
8
  majorRadius?: undefined;
@@ -13,9 +13,9 @@ export declare function jsonSegment(segment: Segment): {
13
13
  lastControlPoint?: undefined;
14
14
  } | {
15
15
  type: string;
16
- firstPoint: import("../../definitions.js").Vector;
17
- lastPoint: import("../../definitions.js").Vector;
18
- center: import("../../definitions.js").Vector;
16
+ firstPoint: import('../../definitions.js').Vector;
17
+ lastPoint: import('../../definitions.js').Vector;
18
+ center: import('../../definitions.js').Vector;
19
19
  clockwise: boolean;
20
20
  majorRadius?: undefined;
21
21
  minorRadius?: undefined;
@@ -25,9 +25,9 @@ export declare function jsonSegment(segment: Segment): {
25
25
  lastControlPoint?: undefined;
26
26
  } | {
27
27
  type: string;
28
- firstPoint: import("../../definitions.js").Vector;
29
- lastPoint: import("../../definitions.js").Vector;
30
- center: import("../../definitions.js").Vector;
28
+ firstPoint: import('../../definitions.js').Vector;
29
+ lastPoint: import('../../definitions.js').Vector;
30
+ center: import('../../definitions.js').Vector;
31
31
  clockwise: boolean;
32
32
  majorRadius: number;
33
33
  minorRadius: number;
@@ -37,9 +37,9 @@ export declare function jsonSegment(segment: Segment): {
37
37
  lastControlPoint?: undefined;
38
38
  } | {
39
39
  type: string;
40
- firstPoint: import("../../definitions.js").Vector;
41
- lastPoint: import("../../definitions.js").Vector;
42
- controlPoint: import("../../definitions.js").Vector;
40
+ firstPoint: import('../../definitions.js').Vector;
41
+ lastPoint: import('../../definitions.js').Vector;
42
+ controlPoint: import('../../definitions.js').Vector;
43
43
  center?: undefined;
44
44
  clockwise?: undefined;
45
45
  majorRadius?: undefined;
@@ -49,10 +49,10 @@ export declare function jsonSegment(segment: Segment): {
49
49
  lastControlPoint?: undefined;
50
50
  } | {
51
51
  type: string;
52
- firstPoint: import("../../definitions.js").Vector;
53
- lastPoint: import("../../definitions.js").Vector;
54
- firstControlPoint: import("../../definitions.js").Vector;
55
- lastControlPoint: import("../../definitions.js").Vector;
52
+ firstPoint: import('../../definitions.js').Vector;
53
+ lastPoint: import('../../definitions.js').Vector;
54
+ firstControlPoint: import('../../definitions.js').Vector;
55
+ lastControlPoint: import('../../definitions.js').Vector;
56
56
  center?: undefined;
57
57
  clockwise?: undefined;
58
58
  majorRadius?: undefined;
@@ -0,0 +1,6 @@
1
+ export { svgDiagram } from './svgDiagram.js';
2
+ export { svgFigure } from './svgFigure.js';
3
+ export { svgLoop } from './svgLoop.js';
4
+ export { svgSegmentToPath } from './svgSegment.js';
5
+ export { svgStrand } from './svgStrand.js';
6
+ export { svgViewbox } from './wrapSVG.js';
@@ -1,9 +1,9 @@
1
- import { Diagram } from "../../models/Diagram.js";
2
- import { Figure } from "../../models/Figure.js";
3
- import { BoundingBox } from "../../models/BoundingBox.js";
4
- import { SVGUnit } from "./wrapSVG.js";
5
- import type { Stroke } from "../../models/Stroke.js";
6
- import { Segment } from "../../main.js";
1
+ import { Diagram } from '../../models/Diagram.js';
2
+ import { Figure } from '../../models/Figure.js';
3
+ import { BoundingBox } from '../../models/BoundingBox.js';
4
+ import { SVGUnit } from './wrapSVG.js';
5
+ import { Stroke } from '../../models/Stroke.js';
6
+ import { Segment } from '../../main.js';
7
7
  type Shape = Figure | Diagram | Stroke | Segment;
8
8
  export declare function svgBody(shape: Shape): string;
9
9
  type ConfiguredShape = Shape | {
@@ -1,2 +1,2 @@
1
- import { Diagram } from "../../models/Diagram.js";
1
+ import { Diagram } from '../../models/Diagram.js';
2
2
  export declare function svgDiagram(diagram: Diagram): string;
@@ -1,2 +1,2 @@
1
- import type { Figure } from "../../models/Figure.js";
1
+ import { Figure } from '../../models/Figure.js';
2
2
  export declare function svgFigure(figure: Figure): string;
@@ -1,2 +1,2 @@
1
- import type { Loop } from "../../models/Loop.js";
1
+ import { Loop } from '../../models/Loop.js';
2
2
  export declare function svgLoop(loop: Loop): string;
@@ -1,2 +1,2 @@
1
- import { Segment } from "../../models/segments/Segment.js";
1
+ import { Segment } from '../../models/segments/Segment.js';
2
2
  export declare function svgSegmentToPath(segment: Segment): string;
@@ -1,2 +1,2 @@
1
- import type { Strand } from "../../models/Strand.js";
1
+ import { Strand } from '../../models/Strand.js';
2
2
  export declare function svgStrand(strand: Strand): string;
@@ -1,4 +1,4 @@
1
- import { BoundingBox } from "../../models/BoundingBox.js";
1
+ import { BoundingBox } from '../../models/BoundingBox.js';
2
2
  export declare function svgViewbox(bbox: BoundingBox, margin?: number): string;
3
3
  export type SVGUnit = "mm" | "cm" | "in" | "pc" | "px" | "pt";
4
4
  export declare function wrapSVG(body: string, boundingBox: BoundingBox, margin: number | undefined, unit: null | SVGUnit): string;
@@ -0,0 +1,9 @@
1
+ import { Line } from '../../models/segments/Line.js';
2
+ import { Arc } from '../../models/segments/Arc.js';
3
+ import { Loop } from '../../models/Loop.js';
4
+ import { Figure } from '../../models/Figure.js';
5
+ import { Diagram } from '../../models/Diagram.js';
6
+ import { EllipseArc } from '../../models/segments/EllipseArc.js';
7
+ import { CubicBezier } from '../../models/segments/CubicBezier.js';
8
+ import { QuadraticBezier } from '../../models/segments/QuadraticBezier.js';
9
+ export declare function importJSON(json: any): Line | Arc | EllipseArc | CubicBezier | QuadraticBezier | Loop | Figure | Diagram;
@@ -1,12 +1,12 @@
1
- import type { Vector } from "./definitions.js";
1
+ import { Vector } from './definitions.js';
2
2
  export { Vector };
3
3
  export declare const DEG2RAD: number;
4
4
  export declare const RAD2DEG: number;
5
5
  export declare function polarToCartesian(r: number, theta: number): Vector;
6
6
  export declare function cartesianToPolar([x, y]: Vector): [number, number];
7
- export type { Diagram, Figure, Loop, Strand, Stroke, TransformationMatrix, BoundingBox, Segment, Line, Arc, EllipseArc, CubicBezier, } from "./models/exports.js";
8
- export { draw } from "./draw.js";
9
- export { fuseAll, fuse, cut, intersect, eraseStrand, confineStrand, offset, outlineStroke, } from "./operations.js";
10
- export { exportSVG, svgBody } from "./export/svg/exportSVG.js";
11
- export { exportJSON } from "./export/json/exportJSON.js";
12
- export { importJSON } from "./import/json/importJSON.js";
7
+ export type { Diagram, Figure, Loop, Strand, Stroke, TransformationMatrix, BoundingBox, Segment, Line, Arc, EllipseArc, CubicBezier, } from './models/exports.js';
8
+ export { draw } from './draw.js';
9
+ export { fuseAll, fuse, cut, intersect, eraseStrand, confineStrand, offset, outlineStroke, } from './operations.js';
10
+ export { exportSVG, svgBody } from './export/svg/exportSVG.js';
11
+ export { exportJSON } from './export/json/exportJSON.js';
12
+ export { importJSON } from './import/json/importJSON.js';
@@ -1,4 +1,4 @@
1
- import { Vector } from "../definitions.js";
1
+ import { Vector } from '../definitions.js';
2
2
  export declare class BoundingBox {
3
3
  readonly xMin: number;
4
4
  readonly yMin: number;
@@ -1,10 +1,10 @@
1
- import type { Vector } from "../definitions.js";
2
- import { BoundingBox } from "./BoundingBox.js";
3
- import type { Figure } from "./Figure.js";
4
- import type { TransformationMatrix } from "./TransformationMatrix.js";
5
- import { Transformable } from "./utils/Transformable.js";
6
- import { Strand } from "./Strand.js";
7
- import type { Stroke } from "./Stroke.js";
1
+ import { Vector } from '../definitions.js';
2
+ import { BoundingBox } from './BoundingBox.js';
3
+ import { Figure } from './Figure.js';
4
+ import { TransformationMatrix } from './TransformationMatrix.js';
5
+ import { Transformable } from './utils/Transformable.js';
6
+ import { Strand } from './Strand.js';
7
+ import { Stroke } from './Stroke.js';
8
8
  export declare class Diagram extends Transformable<Diagram> {
9
9
  figures: Figure[];
10
10
  constructor(figures?: Figure[], { ignoreChecks }?: {
@@ -1,10 +1,10 @@
1
- import { Vector } from "../definitions.js";
2
- import { TransformationMatrix } from "./TransformationMatrix.js";
3
- import type { BoundingBox } from "./BoundingBox.js";
4
- import { Loop } from "./Loop.js";
5
- import { Strand } from "./Strand.js";
6
- import type { Stroke } from "./Stroke.js";
7
- import { Transformable } from "./utils/Transformable.js";
1
+ import { Vector } from '../definitions.js';
2
+ import { TransformationMatrix } from './TransformationMatrix.js';
3
+ import { BoundingBox } from './BoundingBox.js';
4
+ import { Loop } from './Loop.js';
5
+ import { Strand } from './Strand.js';
6
+ import { Stroke } from './Stroke.js';
7
+ import { Transformable } from './utils/Transformable.js';
8
8
  export declare class Figure extends Transformable<Figure> {
9
9
  readonly contour: Loop;
10
10
  readonly holes: Loop[];
@@ -1,7 +1,7 @@
1
- import type { Vector } from "../definitions.js";
2
- import { AbstractStroke } from "./Stroke.js";
3
- import type { TransformationMatrix } from "./TransformationMatrix.js";
4
- import { Segment } from "./segments/Segment.js";
1
+ import { Vector } from '../definitions.js';
2
+ import { AbstractStroke } from './Stroke.js';
3
+ import { TransformationMatrix } from './TransformationMatrix.js';
4
+ import { Segment } from './segments/Segment.js';
5
5
  export declare class Loop extends AbstractStroke<Loop> {
6
6
  strokeType: string;
7
7
  constructor(segments: Segment[], { ignoreChecks }?: {
@@ -1,5 +1,5 @@
1
- import { AbstractStroke } from "./Stroke.js";
2
- import { TransformationMatrix } from "./TransformationMatrix.js";
1
+ import { AbstractStroke } from './Stroke.js';
2
+ import { TransformationMatrix } from './TransformationMatrix.js';
3
3
  export declare class Strand extends AbstractStroke<Strand> {
4
4
  strokeType: string;
5
5
  reverse(): Strand;
@@ -1,8 +1,8 @@
1
- import { BoundingBox } from "./BoundingBox.js";
2
- import { Vector } from "../definitions.js";
3
- import { Segment } from "./segments/Segment.js";
4
- import { TransformationMatrix } from "./TransformationMatrix.js";
5
- import { Transformable } from "./utils/Transformable.js";
1
+ import { BoundingBox } from './BoundingBox.js';
2
+ import { Vector } from '../definitions.js';
3
+ import { Segment } from './segments/Segment.js';
4
+ import { TransformationMatrix } from './TransformationMatrix.js';
5
+ import { Transformable } from './utils/Transformable.js';
6
6
  export type Stroke = AbstractStroke<any>;
7
7
  export declare abstract class AbstractStroke<T extends AbstractStroke<T>> extends Transformable<T> {
8
8
  readonly segments: Segment[];
@@ -1,4 +1,4 @@
1
- import { Vector } from "../definitions.js";
1
+ import { Vector } from '../definitions.js';
2
2
  type Matrix = [
3
3
  number,
4
4
  number,
@@ -0,0 +1,15 @@
1
+ export { Diagram } from './Diagram.js';
2
+ export { Figure } from './Figure.js';
3
+ export { Loop } from './Loop.js';
4
+ export { Strand } from './Strand.js';
5
+ export type { Stroke } from './Stroke.js';
6
+ export { BoundingBox } from './BoundingBox.js';
7
+ export { TransformationMatrix } from './TransformationMatrix.js';
8
+ export { Line } from './segments/Line.js';
9
+ export { Arc } from './segments/Arc.js';
10
+ export { EllipseArc } from './segments/EllipseArc.js';
11
+ export { CubicBezier } from './segments/CubicBezier.js';
12
+ export { QuadraticBezier } from './segments/QuadraticBezier.js';
13
+ export type { Segment } from './segments/Segment.js';
14
+ export { isSegment } from './segments/utils/isSegment.js';
15
+ export { Transformable } from './utils/Transformable.js';
@@ -0,0 +1,25 @@
1
+ import { Vector } from '../../definitions';
2
+ import { BoundingBox } from '../BoundingBox';
3
+ import { TransformationMatrix } from '../TransformationMatrix';
4
+ import { Transformable } from '../utils/Transformable';
5
+ export declare abstract class AbstractSegment<T extends AbstractSegment<T>> extends Transformable<T> {
6
+ firstPoint: Vector;
7
+ lastPoint: Vector;
8
+ constructor(firstPoint: Vector, lastPoint: Vector);
9
+ readonly precision: number;
10
+ abstract segmentType: string;
11
+ get repr(): string;
12
+ get info(): string;
13
+ abstract get midPoint(): Vector;
14
+ abstract get boundingBox(): BoundingBox;
15
+ abstract clone(): T;
16
+ abstract reverse(): T;
17
+ abstract isSame(other: AbstractSegment<any>): boolean;
18
+ abstract distanceFrom(element: Vector): number;
19
+ abstract isOnSegment(point: Vector): boolean;
20
+ abstract tangentAt(point: Vector): Vector;
21
+ abstract get tangentAtFirstPoint(): Vector;
22
+ abstract get tangentAtLastPoint(): Vector;
23
+ abstract splitAt(points: Vector[] | number[]): T[];
24
+ abstract transform(matrix: TransformationMatrix): T;
25
+ }
@@ -1,7 +1,7 @@
1
- import { BoundingBox } from "../BoundingBox.js";
2
- import { Vector } from "../../definitions.js";
3
- import { TransformationMatrix } from "../TransformationMatrix.js";
4
- import { Segment, AbstractSegment } from "./Segment.js";
1
+ import { BoundingBox } from '../BoundingBox.js';
2
+ import { Vector } from '../../definitions.js';
3
+ import { TransformationMatrix } from '../TransformationMatrix.js';
4
+ import { Segment, AbstractSegment } from './Segment.js';
5
5
  export declare class Arc extends AbstractSegment<Arc> {
6
6
  segmentType: string;
7
7
  readonly center: Vector;
@@ -1,7 +1,7 @@
1
- import { Vector } from "../../definitions.js";
2
- import { BoundingBox } from "../BoundingBox.js";
3
- import { TransformationMatrix } from "../TransformationMatrix.js";
4
- import { AbstractSegment } from "./Segment.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { BoundingBox } from '../BoundingBox.js';
3
+ import { TransformationMatrix } from '../TransformationMatrix.js';
4
+ import { AbstractSegment } from './Segment.js';
5
5
  export declare class CubicBezier extends AbstractSegment<CubicBezier> {
6
6
  segmentType: string;
7
7
  readonly firstControlPoint: Vector;
@@ -1,8 +1,8 @@
1
- import { BoundingBox } from "../BoundingBox.js";
2
- import { Vector } from "../../definitions.js";
3
- import { TransformationMatrix } from "../TransformationMatrix.js";
4
- import { AbstractSegment } from "./Segment.js";
5
- import { Arc } from "./Arc.js";
1
+ import { BoundingBox } from '../BoundingBox.js';
2
+ import { Vector } from '../../definitions.js';
3
+ import { TransformationMatrix } from '../TransformationMatrix.js';
4
+ import { AbstractSegment } from './Segment.js';
5
+ import { Arc } from './Arc.js';
6
6
  export declare class EllipseArc extends AbstractSegment<EllipseArc> {
7
7
  segmentType: string;
8
8
  precision: number;
@@ -1,7 +1,7 @@
1
- import { BoundingBox } from "../BoundingBox.js";
2
- import { Vector } from "../../definitions.js";
3
- import { TransformationMatrix } from "../TransformationMatrix.js";
4
- import { Segment, AbstractSegment } from "./Segment.js";
1
+ import { BoundingBox } from '../BoundingBox.js';
2
+ import { Vector } from '../../definitions.js';
3
+ import { TransformationMatrix } from '../TransformationMatrix.js';
4
+ import { Segment, AbstractSegment } from './Segment.js';
5
5
  export declare class Line extends AbstractSegment<Line> {
6
6
  segmentType: string;
7
7
  isValidParameter(t: number): boolean;
@@ -1,7 +1,7 @@
1
- import { Vector } from "../../definitions.js";
2
- import { BoundingBox } from "../BoundingBox.js";
3
- import { TransformationMatrix } from "../TransformationMatrix.js";
4
- import { AbstractSegment } from "./Segment.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { BoundingBox } from '../BoundingBox.js';
3
+ import { TransformationMatrix } from '../TransformationMatrix.js';
4
+ import { AbstractSegment } from './Segment.js';
5
5
  export declare class QuadraticBezier extends AbstractSegment<QuadraticBezier> {
6
6
  segmentType: string;
7
7
  readonly controlPoint: Vector;
@@ -1,7 +1,7 @@
1
- import type { Vector } from "../../definitions.js";
2
- import { BoundingBox } from "../BoundingBox.js";
3
- import type { TransformationMatrix } from "../TransformationMatrix.js";
4
- import { Transformable } from "../utils/Transformable.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { BoundingBox } from '../BoundingBox.js';
3
+ import { TransformationMatrix } from '../TransformationMatrix.js';
4
+ import { Transformable } from '../utils/Transformable.js';
5
5
  export type Segment = AbstractSegment<any>;
6
6
  export declare abstract class AbstractSegment<T extends AbstractSegment<T>> extends Transformable<T> {
7
7
  firstPoint: Vector;
@@ -1,3 +1,3 @@
1
- import { Vector } from "../../../definitions.js";
1
+ import { Vector } from '../../../definitions.js';
2
2
  export declare function deCasteljauWithHistory(points: Vector[], t: number): Vector[][];
3
3
  export declare function deCasteljau(points: Vector[], t: number): Vector;
@@ -0,0 +1,8 @@
1
+ import { Arc } from '../Arc.js';
2
+ import { CubicBezier } from '../CubicBezier.js';
3
+ import { EllipseArc } from '../EllipseArc.js';
4
+ import { Line } from '../Line.js';
5
+ import { QuadraticBezier } from '../QuadraticBezier.js';
6
+ import { Segment } from '../Segment.js';
7
+ export declare const ALL_SEGMENT_CLASSES: (typeof Line | typeof Arc | typeof EllipseArc | typeof CubicBezier | typeof QuadraticBezier)[];
8
+ export declare function isSegment(s: unknown): s is Segment;
@@ -1,5 +1,5 @@
1
- import { Vector } from "../../definitions.js";
2
- import { TransformationMatrix } from "../TransformationMatrix.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { TransformationMatrix } from '../TransformationMatrix.js';
3
3
  export declare abstract class Transformable<T> {
4
4
  abstract transform(matrix: TransformationMatrix): T;
5
5
  translateX(x: number): T;
@@ -1,7 +1,7 @@
1
- import { Strand } from "./models/Strand.js";
2
- import { Diagram } from "./models/Diagram.js";
3
- import { Figure } from "./models/Figure.js";
4
- import { Loop } from "./models/Loop.js";
1
+ import { Strand } from './models/Strand.js';
2
+ import { Diagram } from './models/Diagram.js';
3
+ import { Figure } from './models/Figure.js';
4
+ import { Loop } from './models/Loop.js';
5
5
  export declare function offset(shape: Diagram | Figure | Loop, offsetDistance: number): Diagram;
6
6
  export declare function outlineStroke(shape: Diagram | Figure | Loop | Strand, outlineDistance: number, { endCap }?: {
7
7
  endCap?: "butt" | "round";