pantograph2d 0.8.0 → 0.9.0

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 (167) hide show
  1. package/LICENSE +4 -658
  2. package/dist/QuadraticBezier-BKElJOgn.cjs +9 -0
  3. package/dist/QuadraticBezier-BKElJOgn.cjs.map +1 -0
  4. package/dist/QuadraticBezier-PcRS9HZK.js +4773 -0
  5. package/dist/QuadraticBezier-PcRS9HZK.js.map +1 -0
  6. package/dist/draw-L71G180-.cjs +2 -0
  7. package/dist/draw-L71G180-.cjs.map +1 -0
  8. package/dist/draw-N2ntigsw.js +417 -0
  9. package/dist/draw-N2ntigsw.js.map +1 -0
  10. package/dist/models-BXU-Gx3U.cjs +4 -0
  11. package/dist/models-BXU-Gx3U.cjs.map +1 -0
  12. package/dist/{Diagram-2450b2e6.js → models-BjaFYsN2.js} +278 -279
  13. package/dist/models-BjaFYsN2.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 +432 -400
  26. package/dist/pantograph.js.map +1 -1
  27. package/dist/{wrapSVG-02b823ac.cjs → svg-ZTvNxsWu.cjs} +2 -2
  28. package/dist/svg-ZTvNxsWu.cjs.map +1 -0
  29. package/dist/{wrapSVG-0ec8a111.js → svg-hNHYuj_r.js} +2 -2
  30. package/dist/svg-hNHYuj_r.js.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/types/src/algorithms/conversions/bezierToArcs.d.ts +7 -0
  37. package/dist/types/src/algorithms/conversions/bezierToSafeBezier.d.ts +12 -0
  38. package/dist/types/src/algorithms/conversions/ellipseToArcs.d.ts +0 -0
  39. package/dist/types/src/algorithms/conversions/ellipseToBezier.d.ts +3 -0
  40. package/dist/types/src/algorithms/conversions/helpers.d.ts +13 -0
  41. package/dist/{algorithms → types/src/algorithms}/distances/arcArcDistance.d.ts +1 -1
  42. package/dist/{algorithms → types/src/algorithms}/distances/genericDistance.d.ts +1 -1
  43. package/dist/{algorithms → types/src/algorithms}/distances/index.d.ts +1 -1
  44. package/dist/types/src/algorithms/distances/lineArcDistance.d.ts +3 -0
  45. package/dist/{algorithms → types/src/algorithms}/distances/lineLineDistance.d.ts +1 -1
  46. package/dist/{algorithms → types/src/algorithms}/filletSegments.d.ts +1 -1
  47. package/dist/{algorithms → types/src/algorithms}/intersections/arcArcIntersection.d.ts +2 -2
  48. package/dist/types/src/algorithms/intersections/arcEllipseArcIntersection.d.ts +3 -0
  49. package/dist/types/src/algorithms/intersections/arcsCubicBezierIntersection.d.ts +5 -0
  50. package/dist/types/src/algorithms/intersections/arcsQuadraticBezierIntersection.d.ts +5 -0
  51. package/dist/{algorithms → types/src/algorithms}/intersections/bezierClip.d.ts +3 -3
  52. package/dist/{algorithms → types/src/algorithms}/intersections/cubicBezierCubicBezierIntersection.d.ts +2 -2
  53. package/dist/{algorithms → types/src/algorithms}/intersections/ellipseArcEllipseArcIntersection.d.ts +2 -2
  54. package/dist/types/src/algorithms/intersections/ellipseEllipseIntersection.d.ts +4 -0
  55. package/dist/types/src/algorithms/intersections/fullLinesIntersection.d.ts +18 -0
  56. package/dist/{algorithms → types/src/algorithms}/intersections/index.d.ts +2 -2
  57. package/dist/types/src/algorithms/intersections/lineArcIntersection.d.ts +4 -0
  58. package/dist/types/src/algorithms/intersections/lineBezierIntersection.d.ts +5 -0
  59. package/dist/types/src/algorithms/intersections/lineEllipseArcIntersection.d.ts +4 -0
  60. package/dist/{algorithms → types/src/algorithms}/intersections/lineLineIntersection.d.ts +4 -4
  61. package/dist/{algorithms → types/src/algorithms}/intersections/quadraticBezierQuadraticBezierIntersection.d.ts +2 -2
  62. package/dist/types/src/algorithms/intersections/rayIntersections.d.ts +3 -0
  63. package/dist/{algorithms → types/src/algorithms}/offsets/offsetFigure.d.ts +2 -2
  64. package/dist/types/src/algorithms/offsets/offsetSegment.d.ts +15 -0
  65. package/dist/types/src/algorithms/offsets/offsetStroke.d.ts +11 -0
  66. package/dist/{algorithms → types/src/algorithms}/organiseLoops.d.ts +2 -2
  67. package/dist/types/src/algorithms/simplify.d.ts +3 -0
  68. package/dist/types/src/algorithms/solvers/findZeroViaNewton.d.ts +1 -0
  69. package/dist/{algorithms → types/src/algorithms}/stitchSegments.d.ts +1 -1
  70. package/dist/types/src/api/drawShape.d.ts +2 -0
  71. package/dist/types/src/api/models.d.ts +1 -0
  72. package/dist/types/src/api/svg.d.ts +1 -0
  73. package/dist/{booleanOperations.d.ts → types/src/booleanOperations.d.ts} +5 -5
  74. package/dist/types/src/conversionOperations.d.ts +8 -0
  75. package/dist/{draw.d.ts → types/src/draw.d.ts} +4 -4
  76. package/dist/{drawShape → types/src/drawShape}/drawCircle.d.ts +1 -1
  77. package/dist/types/src/drawShape/drawEllipse.d.ts +2 -0
  78. package/dist/{drawShape → types/src/drawShape}/drawRect.d.ts +1 -1
  79. package/dist/types/src/drawShape/drawSVGPath.d.ts +2 -0
  80. package/dist/types/src/drawShape/index.d.ts +4 -0
  81. package/dist/{export → types/src/export}/json/exportJSON.d.ts +94 -94
  82. package/dist/{export → types/src/export}/json/jsonDiagram.d.ts +31 -31
  83. package/dist/{export → types/src/export}/json/jsonFigure.d.ts +31 -31
  84. package/dist/{export → types/src/export}/json/jsonLoop.d.ts +16 -16
  85. package/dist/{export → types/src/export}/json/jsonSegment.d.ts +16 -16
  86. package/dist/types/src/export/svg/api.d.ts +6 -0
  87. package/dist/{export → types/src/export}/svg/exportSVG.d.ts +6 -6
  88. package/dist/{export → types/src/export}/svg/svgDiagram.d.ts +1 -1
  89. package/dist/{export → types/src/export}/svg/svgFigure.d.ts +1 -1
  90. package/dist/{export → types/src/export}/svg/svgLoop.d.ts +1 -1
  91. package/dist/{export → types/src/export}/svg/svgSegment.d.ts +1 -1
  92. package/dist/{export → types/src/export}/svg/svgStrand.d.ts +1 -1
  93. package/dist/{export → types/src/export}/svg/wrapSVG.d.ts +1 -1
  94. package/dist/types/src/import/json/importJSON.d.ts +9 -0
  95. package/dist/{main.d.ts → types/src/main.d.ts} +7 -7
  96. package/dist/{models → types/src/models}/BoundingBox.d.ts +1 -1
  97. package/dist/{models → types/src/models}/Diagram.d.ts +7 -7
  98. package/dist/{models → types/src/models}/Figure.d.ts +7 -7
  99. package/dist/{models → types/src/models}/Loop.d.ts +4 -4
  100. package/dist/{models → types/src/models}/Strand.d.ts +2 -2
  101. package/dist/{models → types/src/models}/Stroke.d.ts +5 -5
  102. package/dist/{models → types/src/models}/TransformationMatrix.d.ts +1 -1
  103. package/dist/types/src/models/exports.d.ts +15 -0
  104. package/dist/types/src/models/segments/AbstractSegment.d.ts +25 -0
  105. package/dist/{models → types/src/models}/segments/Arc.d.ts +5 -4
  106. package/dist/{models → types/src/models}/segments/CubicBezier.d.ts +11 -4
  107. package/dist/{models → types/src/models}/segments/EllipseArc.d.ts +5 -5
  108. package/dist/{models → types/src/models}/segments/Line.d.ts +4 -4
  109. package/dist/{models → types/src/models}/segments/QuadraticBezier.d.ts +9 -4
  110. package/dist/{models → types/src/models}/segments/Segment.d.ts +4 -4
  111. package/dist/{models → types/src/models}/segments/utils/deCasteljau.d.ts +1 -1
  112. package/dist/types/src/models/segments/utils/isSegment.d.ts +8 -0
  113. package/dist/{models → types/src/models}/utils/Transformable.d.ts +2 -2
  114. package/dist/{offsetOperations.d.ts → types/src/offsetOperations.d.ts} +4 -4
  115. package/dist/types/src/operations.d.ts +2 -0
  116. package/dist/types/src/utils/applyMixins.d.ts +1 -0
  117. package/dist/types/src/utils/listOfFigures.d.ts +4 -0
  118. package/dist/types/src/utils/projectPointOnLine.d.ts +3 -0
  119. package/dist/{utils → types/src/utils}/removeDuplicatePoints.d.ts +1 -1
  120. package/dist/{vectorOperations.d.ts → types/src/vectorOperations.d.ts} +1 -1
  121. package/package.json +4 -4
  122. package/dist/Diagram-2450b2e6.js.map +0 -1
  123. package/dist/Diagram-57e17509.cjs +0 -4
  124. package/dist/Diagram-57e17509.cjs.map +0 -1
  125. package/dist/QuadraticBezier-e116a2d6.js +0 -3647
  126. package/dist/QuadraticBezier-e116a2d6.js.map +0 -1
  127. package/dist/QuadraticBezier-e3d7218b.cjs +0 -9
  128. package/dist/QuadraticBezier-e3d7218b.cjs.map +0 -1
  129. package/dist/algorithms/distances/lineArcDistance.d.ts +0 -3
  130. package/dist/algorithms/intersections/arcEllipseArcIntersection.d.ts +0 -3
  131. package/dist/algorithms/intersections/arcsCubicBezierIntersection.d.ts +0 -5
  132. package/dist/algorithms/intersections/arcsQuadraticBezierIntersection.d.ts +0 -5
  133. package/dist/algorithms/intersections/ellipseEllipseIntersection.d.ts +0 -4
  134. package/dist/algorithms/intersections/lineArcIntersection.d.ts +0 -4
  135. package/dist/algorithms/intersections/lineBezierIntersection.d.ts +0 -5
  136. package/dist/algorithms/intersections/lineEllipseArcIntersection.d.ts +0 -4
  137. package/dist/algorithms/intersections/rayIntersections.d.ts +0 -3
  138. package/dist/algorithms/offsets/offsetSegment.d.ts +0 -12
  139. package/dist/algorithms/offsets/offsetStroke.d.ts +0 -9
  140. package/dist/algorithms/simplify.d.ts +0 -3
  141. package/dist/api/drawShape.d.ts +0 -2
  142. package/dist/api/models.d.ts +0 -1
  143. package/dist/api/svg.d.ts +0 -1
  144. package/dist/draw-27ac6dae.cjs +0 -2
  145. package/dist/draw-27ac6dae.cjs.map +0 -1
  146. package/dist/draw-c7b2705c.js +0 -344
  147. package/dist/draw-c7b2705c.js.map +0 -1
  148. package/dist/export/svg/api.d.ts +0 -6
  149. package/dist/import/json/importJSON.d.ts +0 -9
  150. package/dist/models/exports.d.ts +0 -15
  151. package/dist/models/segments/utils/isSegment.d.ts +0 -8
  152. package/dist/operations.d.ts +0 -2
  153. package/dist/utils/listOfFigures.d.ts +0 -4
  154. package/dist/utils/projectPointOnLine.d.ts +0 -3
  155. package/dist/wrapSVG-02b823ac.cjs.map +0 -1
  156. package/dist/wrapSVG-0ec8a111.js.map +0 -1
  157. /package/dist/{algorithms → types/src/algorithms}/optimisation/Brent.d.ts +0 -0
  158. /package/dist/{algorithms → types/src/algorithms}/optimisation/DiRect.d.ts +0 -0
  159. /package/dist/{algorithms → types/src/algorithms}/solvers/solvePolynomials.d.ts +0 -0
  160. /package/dist/{definitions.d.ts → types/src/definitions.d.ts} +0 -0
  161. /package/dist/{utils → types/src/utils}/allCombinations.d.ts +0 -0
  162. /package/dist/{utils → types/src/utils}/allPairs.d.ts +0 -0
  163. /package/dist/{utils → types/src/utils}/angularDistance.d.ts +0 -0
  164. /package/dist/{utils → types/src/utils}/range.d.ts +0 -0
  165. /package/dist/{utils → types/src/utils}/removeDuplicateValues.d.ts +0 -0
  166. /package/dist/{utils → types/src/utils}/unitAngle.d.ts +0 -0
  167. /package/dist/{utils → types/src/utils}/zip.d.ts +0 -0
@@ -0,0 +1,5 @@
1
+ import { EllipseArc } from '../../models/segments/EllipseArc.js';
2
+ import { Arc } from '../../models/segments/Arc.js';
3
+ import { Vector } from '../../definitions.js';
4
+ import { QuadraticBezier } from '../../models/segments/QuadraticBezier.js';
5
+ export declare function arcsQuadraticBezierIntersection(arc: EllipseArc | Arc, curve: QuadraticBezier): Vector[];
@@ -1,6 +1,6 @@
1
- import { Vector } from "../../definitions.js";
2
- import { CubicBezier } from "../../models/segments/CubicBezier.js";
3
- import { QuadraticBezier } from "../../models/segments/QuadraticBezier.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { CubicBezier } from '../../models/segments/CubicBezier.js';
3
+ import { QuadraticBezier } from '../../models/segments/QuadraticBezier.js';
4
4
  declare class FatLine {
5
5
  readonly firstPoint: Vector;
6
6
  readonly lastPoint: Vector;
@@ -1,4 +1,4 @@
1
- import { Vector } from "../../definitions.js";
2
- import { CubicBezier } from "../../models/segments/CubicBezier.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { CubicBezier } from '../../models/segments/CubicBezier.js';
3
3
  export declare function handleOverlaps(curve1: CubicBezier, curve2: CubicBezier): CubicBezier[] | null | undefined;
4
4
  export declare function cubicBezierCubicBezierIntersection(curve1: CubicBezier, curve2: CubicBezier, includeOverlaps?: boolean): Vector[] | CubicBezier[];
@@ -1,3 +1,3 @@
1
- import { Vector } from "../../definitions.js";
2
- import { EllipseArc } from "../../models/segments/EllipseArc.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { EllipseArc } from '../../models/segments/EllipseArc.js';
3
3
  export declare function ellipseArcEllipseArcIntersection(arc1: EllipseArc, arc2: EllipseArc, includeOverlaps?: boolean): Vector[] | EllipseArc[];
@@ -0,0 +1,4 @@
1
+ import { EllipseArc } from '../../models/segments/EllipseArc.js';
2
+ import { Arc } from '../../models/segments/Arc.js';
3
+ import { Vector } from '../../definitions.js';
4
+ export declare function ellipseEllipseIntersection(arc1: EllipseArc | Arc, arc2: EllipseArc): Vector[];
@@ -0,0 +1,18 @@
1
+ import { Vector } from '../../definitions';
2
+ /**
3
+ * Returns the intersection point between two full lines
4
+ *
5
+ * Note that collinear lines are not considered to intersect at all.
6
+ *
7
+ * Lines are represented by a vector V with **unit length** and a point on the line.
8
+ *
9
+ */
10
+ export declare const fullLineIntersection: (line1: {
11
+ V: Vector;
12
+ firstPoint: Vector;
13
+ precision: number;
14
+ }, line2: {
15
+ V: Vector;
16
+ firstPoint: Vector;
17
+ precision: number;
18
+ }, precision?: number) => "parallel" | Vector;
@@ -1,5 +1,5 @@
1
- import type { Vector } from "../../definitions.js";
2
- import { Segment } from "../../models/segments/Segment.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { Segment } from '../../models/segments/Segment.js';
3
3
  export declare function findIntersections(segment1: Segment, segment2: Segment, precision?: number): Vector[];
4
4
  export declare function findIntersectionsAndOverlaps(segment1: Segment, segment2: Segment, precision?: number): {
5
5
  intersections: Vector[];
@@ -0,0 +1,4 @@
1
+ import { Line } from '../../models/segments/Line.js';
2
+ import { Vector } from '../../definitions.js';
3
+ import { Arc } from '../../models/segments/Arc.js';
4
+ export declare function lineArcIntersection(line: Line, arc: Arc, precision?: number): Vector[];
@@ -0,0 +1,5 @@
1
+ import { Line } from '../../models/segments/Line.js';
2
+ import { CubicBezier } from '../../models/segments/CubicBezier.js';
3
+ import { QuadraticBezier } from '../../models/segments/QuadraticBezier.js';
4
+ import { Vector } from '../../definitions.js';
5
+ export declare function lineBezierIntersection(line: Line, curve: CubicBezier | QuadraticBezier): Vector[];
@@ -0,0 +1,4 @@
1
+ import { Line } from '../../models/segments/Line.js';
2
+ import { EllipseArc } from '../../models/segments/EllipseArc.js';
3
+ import { Vector } from '../../definitions.js';
4
+ export declare function lineEllipseArcIntersection(line: Line, arc: EllipseArc, precision?: number): Vector[];
@@ -1,5 +1,5 @@
1
- import { Line } from "../../models/segments/Line.js";
2
- import { Vector } from "../../definitions.js";
1
+ import { Line } from '../../models/segments/Line.js';
2
+ import { Vector } from '../../definitions.js';
3
3
  export declare const lineLineParams: (line1: {
4
4
  V: Vector;
5
5
  firstPoint: Vector;
@@ -8,10 +8,10 @@ export declare const lineLineParams: (line1: {
8
8
  V: Vector;
9
9
  firstPoint: Vector;
10
10
  precision: number;
11
- }, precision?: number) => {
11
+ }, precision?: number) => "parallel" | {
12
12
  intersectionParam1: number;
13
13
  intersectionParam2: number;
14
- } | "parallel";
14
+ };
15
15
  /**
16
16
  * Returns the intersection point between two segment of lines
17
17
  *
@@ -1,4 +1,4 @@
1
- import { Vector } from "../../definitions.js";
2
- import { QuadraticBezier } from "../../models/segments/QuadraticBezier.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { QuadraticBezier } from '../../models/segments/QuadraticBezier.js';
3
3
  export declare function handleOverlaps(curve1: QuadraticBezier, curve2: QuadraticBezier): QuadraticBezier[] | null | undefined;
4
4
  export declare function quadraticBezierQuadraticBezierIntersection(curve1: QuadraticBezier, curve2: QuadraticBezier, includeOverlaps?: boolean): Vector[] | QuadraticBezier[];
@@ -0,0 +1,3 @@
1
+ import { Vector } from '../../definitions.js';
2
+ import { Segment } from '../../models/segments/Segment.js';
3
+ export declare function rayIntersectionsCount(point: Vector, segment: Segment): number;
@@ -1,4 +1,4 @@
1
- import { Figure } from "../../models/Figure";
2
- import { Diagram } from "../../models/Diagram";
1
+ import { Figure } from '../../models/Figure';
2
+ import { Diagram } from '../../models/Diagram';
3
3
  export declare function offsetFigures(figures: Figure[], offsetDistance: number): Diagram;
4
4
  export declare function outlineStrokeFigures(figures: Figure[], width: number): Diagram;
@@ -0,0 +1,15 @@
1
+ import { Line } from '../../models/segments/Line.js';
2
+ import { Arc } from '../../models/segments/Arc.js';
3
+ import { Segment } from '../../models/segments/Segment.js';
4
+ import { Vector } from '../../definitions.js';
5
+ import { SafeCubicBezier, SafeQuadraticBezier } from '../conversions/bezierToSafeBezier.js';
6
+ export declare class DegenerateSegment {
7
+ readonly firstPoint: Vector;
8
+ readonly lastPoint: Vector;
9
+ constructor(firstPoint: Vector, lastPoint: Vector);
10
+ }
11
+ export type OffsettableSegment = Line | Arc | SafeCubicBezier | SafeQuadraticBezier;
12
+ export declare function offsetSegment(segment: OffsettableSegment, offset: number): Segment | DegenerateSegment;
13
+ export declare function offsetLine(line: Line, offset: number): Line;
14
+ export declare function offsetArc(arc: Arc, offset: number): Arc | DegenerateSegment;
15
+ export declare function offsetSafeBezier(curve: SafeQuadraticBezier | SafeCubicBezier, offset: number): typeof curve | DegenerateSegment;
@@ -0,0 +1,11 @@
1
+ import { Loop } from '../../models/Loop.js';
2
+ import { Segment } from '../../models/segments/Segment.js';
3
+ import { OffsettableSegment } from './offsetSegment.js';
4
+ import { Diagram } from '../../models/Diagram.js';
5
+ import { Stroke } from '../../models/Stroke.js';
6
+ import { Strand } from '../../models/Strand.js';
7
+ export declare const transformForOffset: (segments: Segment[]) => OffsettableSegment[];
8
+ export declare function rawOffsets(segmentsToOffset: OffsettableSegment[], offset: number, loop?: boolean): Segment[];
9
+ export declare function offsetLoop(loop: Loop, offset: number): Diagram;
10
+ export declare function offsetStrand(strand: Strand, offset: number): Stroke[];
11
+ export declare function outlineStrand(strand: Strand, width: number, endCap?: "round" | "butt"): Diagram;
@@ -1,5 +1,5 @@
1
- import { Figure } from "../models/Figure";
2
- import { Loop } from "../models/Loop";
1
+ import { Figure } from '../models/Figure';
2
+ import { Loop } from '../models/Loop';
3
3
  /**
4
4
  * Groups an array of loops such that loops that correspond to holes
5
5
  * in other loops are set in a Figure
@@ -0,0 +1,3 @@
1
+ import { Stroke } from '../models/Stroke.js';
2
+ import { Segment } from '../models/segments/Segment.js';
3
+ export declare function simplifySegments(stroke: Stroke): Segment[] | null;
@@ -0,0 +1 @@
1
+ export declare function findZeroViaNewton(f: (x: number) => number, fPrime: (x: number) => number, x0: number, precision?: number, maxIterations?: number): null | number;
@@ -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 stitchSegments(segments: Segment[], precision?: number): Segment[][];
@@ -0,0 +1,2 @@
1
+ export { drawCircle } from '../drawShape/drawCircle.js';
2
+ export { drawRect } from '../drawShape/drawRect.js';
@@ -0,0 +1 @@
1
+ export * from '../models/exports.js';
@@ -0,0 +1 @@
1
+ export * from '../export/svg/api.js';
@@ -1,8 +1,8 @@
1
- import { Strand } from "./models/Strand";
2
- import { Diagram } from "./models/Diagram";
3
- import { Figure } from "./models/Figure";
4
- import { Loop } from "./models/Loop";
5
- import { Stroke } from "./main";
1
+ import { Strand } from './models/Strand';
2
+ import { Diagram } from './models/Diagram';
3
+ import { Figure } from './models/Figure';
4
+ import { Loop } from './models/Loop';
5
+ import { Stroke } from './main';
6
6
  export declare function fuse(first: Diagram | Figure | Loop, second: Diagram | Figure | Loop): Diagram;
7
7
  export declare function fuseAll(shapes: (Diagram | Figure | Loop)[]): Diagram;
8
8
  export declare function cut(first: Diagram | Figure | Loop, second: Diagram | Figure | Loop): Diagram;
@@ -0,0 +1,8 @@
1
+ import { Segment } from './models/segments/Segment';
2
+ import { Diagram, Figure, Loop, Strand } from './main';
3
+ declare function convertToArcsAndLines(shape: Diagram): Diagram;
4
+ declare function convertToArcsAndLines(shape: Figure): Figure;
5
+ declare function convertToArcsAndLines(shape: Loop): Loop;
6
+ declare function convertToArcsAndLines(shape: Strand): Strand;
7
+ declare function convertToArcsAndLines(shape: Segment): Segment[];
8
+ export { convertToArcsAndLines };
@@ -1,7 +1,7 @@
1
- import { Vector } from "./definitions.js";
2
- import { Strand } from "./models/Strand.js";
3
- import { Diagram } from "./models/Diagram.js";
4
- import { Segment } from "./models/segments/Segment.js";
1
+ import { Vector } from './definitions.js';
2
+ import { Strand } from './models/Strand.js';
3
+ import { Diagram } from './models/Diagram.js';
4
+ import { Segment } from './models/segments/Segment.js';
5
5
  export declare class DrawingPen {
6
6
  pointer: Vector;
7
7
  protected firstPoint: Vector;
@@ -1,2 +1,2 @@
1
- import type { Diagram } from "../models/Diagram.js";
1
+ import { Diagram } from '../models/Diagram.js';
2
2
  export declare function drawCircle(radius: number): Diagram;
@@ -0,0 +1,2 @@
1
+ import { Diagram } from '../main.js';
2
+ export declare function drawEllipse(rx: number, ry: number): Diagram;
@@ -1,4 +1,4 @@
1
- import type { Diagram } from "../models/Diagram.js";
1
+ import { Diagram } from '../models/Diagram.js';
2
2
  export declare function drawRect(width: number, height: number, r?: number | {
3
3
  rx?: number;
4
4
  ry?: number;
@@ -0,0 +1,2 @@
1
+ export declare function drawSVGPathGenerator(SVGPath: string): Generator<import('../main.js').Strand | import('../main.js').Diagram, void, unknown>;
2
+ export declare function drawSVGPath(SVGPath: string): (import('../main.js').Strand | import('../main.js').Diagram)[];
@@ -0,0 +1,4 @@
1
+ export { drawCircle } from './drawCircle.js';
2
+ export { drawRect } from './drawRect.js';
3
+ export { drawEllipse } from './drawEllipse.js';
4
+ export { drawSVGPath } from './drawSVGPath.js';