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
@@ -0,0 +1,4 @@
1
+ import { Diagram, Strand } from '../src/main.js';
2
+ export declare function importSVG(svg: string, { width }?: {
3
+ width?: number;
4
+ }): (Strand | Diagram)[];
@@ -1,4 +1,4 @@
1
- import { Figure } from "../../models/Figure";
1
+ import { Figure } from '../../models/Figure';
2
2
  export declare function fuseIntersectingFigures(figures: Figure[]): Figure[];
3
3
  export declare function fuseFigures(first: Figure, second: Figure): Figure[];
4
4
  export declare function cutFigures(first: Figure, second: Figure): Figure[];
@@ -1,4 +1,4 @@
1
- import { Loop } from "../../models/Loop";
1
+ import { Loop } from '../../models/Loop';
2
2
  export declare function loopBooleanOperation(first: Loop, second: Loop, { firstInside, secondInside, }: {
3
3
  firstInside: "keep" | "remove";
4
4
  secondInside: "keep" | "remove";
@@ -1,7 +1,7 @@
1
- import { Loop } from "../../models/Loop";
2
- import { Strand } from "../../models/Strand";
3
- import type { Figure } from "../../models/Figure";
4
- import type { Stroke } from "../../models/Stroke";
1
+ import { Loop } from '../../models/Loop';
2
+ import { Strand } from '../../models/Strand';
3
+ import { Figure } from '../../models/Figure';
4
+ import { Stroke } from '../../models/Stroke';
5
5
  export declare function eraseStrandWithinLoop(strand: Stroke, loop: Loop, eraseOnBorder?: boolean): Strand[];
6
6
  export declare function eraseStrandOutsideLoop(strand: Stroke, loop: Loop, eraseOnBorder?: boolean): Strand[];
7
7
  export declare function eraseStrandWithinFigure(strand: Stroke, figure: Figure, eraseOnBorder?: boolean): Strand[];
@@ -1,4 +1,4 @@
1
- import { Vector } from "../../definitions";
2
- import { Segment } from "../../models/segments/Segment";
3
- import { Strand } from "../../models/Strand";
1
+ import { Vector } from '../../definitions';
2
+ import { Segment } from '../../models/segments/Segment';
3
+ import { Strand } from '../../models/Strand';
4
4
  export declare function strandsBetweenIntersections(segments: Segment[], allIntersections: Vector[], allCommonSegments: Segment[]): Generator<Strand>;
@@ -1,2 +1,2 @@
1
- import type { Arc } from "../../models/segments/Arc.js";
1
+ import { Arc } from '../../models/segments/Arc.js';
2
2
  export declare function arcArcDistance(arc1: Arc, arc2: Arc): number;
@@ -1,4 +1,4 @@
1
- import { Vector } from "../../definitions.js";
1
+ import { Vector } from '../../definitions.js';
2
2
  interface WithParamPoint {
3
3
  paramPoint(t: number): Vector;
4
4
  }
@@ -1,2 +1,2 @@
1
- import type { Segment } from "../../models/segments/Segment.js";
1
+ import { Segment } from '../../models/segments/Segment.js';
2
2
  export declare function distance(segment1: Segment, segment2: Segment): number;
@@ -0,0 +1,3 @@
1
+ import { Line } from '../../models/segments/Line.js';
2
+ import { Arc } from '../../models/segments/Arc.js';
3
+ export declare function lineArcDistance(line: Line, arc: Arc): number;
@@ -1,2 +1,2 @@
1
- import type { Line } from "../../models/segments/Line.js";
1
+ import { Line } from '../../models/segments/Line.js';
2
2
  export declare function lineLineDistance(line1: Line, line2: Line): number;
@@ -1,3 +1,3 @@
1
- import type { Segment } from "../models/segments/Segment.js";
1
+ import { Segment } from '../models/segments/Segment.js';
2
2
  export declare function filletSegments(firstSegment: Segment, secondSegment: Segment, radius: number): any[];
3
3
  export declare function chamferSegments(firstSegment: Segment, secondSegment: Segment, radius: number): any[];
@@ -1,3 +1,3 @@
1
- import { Vector } from "../../definitions.js";
2
- import { Arc } from "../../models/segments/Arc.js";
1
+ import { Vector } from '../../definitions.js';
2
+ import { Arc } from '../../models/segments/Arc.js';
3
3
  export declare function arcArcIntersection(arc1: Arc, arc2: Arc, includeOverlaps?: boolean, precision?: number): Vector[] | Arc[];
@@ -0,0 +1,3 @@
1
+ import { EllipseArc } from '../../models/segments/EllipseArc.js';
2
+ import { Arc } from '../../models/segments/Arc.js';
3
+ export declare function arcEllipseArcIntersection(arc: Arc, ellipseArc: EllipseArc): import('../../definitions.js').Vector[];
@@ -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 { CubicBezier } from '../../models/segments/CubicBezier.js';
5
+ export declare function arcsCubicBezierIntersection(arc: EllipseArc | Arc, curve: CubicBezier): Vector[];
@@ -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[];
@@ -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;
@@ -1,7 +1,7 @@
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";
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
5
  export declare class DegenerateSegment {
6
6
  readonly firstPoint: Vector;
7
7
  readonly lastPoint: Vector;
@@ -1,8 +1,8 @@
1
- import { Loop } from "../../models/Loop.js";
2
- import { Segment } from "../../models/segments/Segment.js";
3
- import { Diagram } from "../../models/Diagram.js";
4
- import { Stroke } from "../../models/Stroke.js";
5
- import { Strand } from "../../models/Strand.js";
1
+ import { Loop } from '../../models/Loop.js';
2
+ import { Segment } from '../../models/segments/Segment.js';
3
+ import { Diagram } from '../../models/Diagram.js';
4
+ import { Stroke } from '../../models/Stroke.js';
5
+ import { Strand } from '../../models/Strand.js';
6
6
  export declare function rawOffsets(segmentsToOffset: Segment[], offset: number, loop?: boolean): Segment[];
7
7
  export declare function offsetLoop(loop: Loop, offset: number): Diagram;
8
8
  export declare function offsetStrand(strand: Strand, offset: number): Stroke[];
@@ -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;
@@ -0,0 +1 @@
1
+ export declare function findZeroViaNewton(): any;
@@ -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;
@@ -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';