@revideo/2d 0.2.1 → 0.2.3

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 (198) hide show
  1. package/lib/code/CodeCursor.d.ts +74 -74
  2. package/lib/code/CodeCursor.js +286 -352
  3. package/lib/code/CodeDiffer.d.ts +16 -21
  4. package/lib/code/CodeDiffer.js +41 -39
  5. package/lib/code/CodeFragment.d.ts +8 -16
  6. package/lib/code/CodeFragment.js +36 -36
  7. package/lib/code/CodeHighlighter.d.ts +59 -59
  8. package/lib/code/CodeHighlighter.js +1 -1
  9. package/lib/code/CodeMetrics.d.ts +8 -12
  10. package/lib/code/CodeMetrics.js +24 -26
  11. package/lib/code/CodeRange.d.ts +5 -21
  12. package/lib/code/CodeRange.js +124 -131
  13. package/lib/code/CodeScope.d.ts +8 -18
  14. package/lib/code/CodeScope.js +61 -59
  15. package/lib/code/CodeSelection.d.ts +4 -9
  16. package/lib/code/CodeSelection.js +8 -8
  17. package/lib/code/CodeSignal.d.ts +47 -74
  18. package/lib/code/CodeSignal.js +189 -206
  19. package/lib/code/CodeTokenizer.d.ts +1 -1
  20. package/lib/code/CodeTokenizer.js +41 -41
  21. package/lib/code/DefaultHighlightStyle.d.ts +2 -2
  22. package/lib/code/DefaultHighlightStyle.js +96 -96
  23. package/lib/code/LezerHighlighter.d.ts +19 -21
  24. package/lib/code/LezerHighlighter.js +101 -101
  25. package/lib/code/diff.d.ts +9 -12
  26. package/lib/code/diff.js +205 -218
  27. package/lib/code/extractRange.d.ts +4 -7
  28. package/lib/code/extractRange.js +71 -79
  29. package/lib/code/index.d.ts +1 -1
  30. package/lib/code/index.js +1 -1
  31. package/lib/components/Audio.d.ts +11 -11
  32. package/lib/components/Audio.js +109 -115
  33. package/lib/components/Bezier.d.ts +18 -18
  34. package/lib/components/Bezier.js +75 -86
  35. package/lib/components/Circle.d.ts +90 -95
  36. package/lib/components/Circle.js +74 -85
  37. package/lib/components/Code.d.ts +211 -244
  38. package/lib/components/Code.js +269 -317
  39. package/lib/components/CodeBlock.d.ts +67 -109
  40. package/lib/components/CodeBlock.js +373 -414
  41. package/lib/components/CubicBezier.d.ts +36 -36
  42. package/lib/components/CubicBezier.js +49 -52
  43. package/lib/components/Curve.d.ts +198 -208
  44. package/lib/components/Curve.js +269 -270
  45. package/lib/components/Grid.d.ts +42 -47
  46. package/lib/components/Grid.js +56 -63
  47. package/lib/components/Icon.d.ts +50 -55
  48. package/lib/components/Icon.js +50 -58
  49. package/lib/components/Img.d.ts +79 -86
  50. package/lib/components/Img.js +181 -193
  51. package/lib/components/Knot.d.ts +78 -97
  52. package/lib/components/Knot.js +60 -81
  53. package/lib/components/Latex.d.ts +12 -12
  54. package/lib/components/Latex.js +65 -77
  55. package/lib/components/Layout.d.ts +413 -455
  56. package/lib/components/Layout.js +681 -666
  57. package/lib/components/Line.d.ts +49 -61
  58. package/lib/components/Line.js +193 -216
  59. package/lib/components/Media.d.ts +35 -35
  60. package/lib/components/Media.js +134 -135
  61. package/lib/components/Node.d.ts +830 -875
  62. package/lib/components/Node.js +1314 -1383
  63. package/lib/components/Path.d.ts +14 -35
  64. package/lib/components/Path.js +89 -100
  65. package/lib/components/Polygon.d.ts +55 -60
  66. package/lib/components/Polygon.js +66 -71
  67. package/lib/components/QuadBezier.d.ts +29 -29
  68. package/lib/components/QuadBezier.js +45 -50
  69. package/lib/components/Ray.d.ts +28 -28
  70. package/lib/components/Ray.js +64 -71
  71. package/lib/components/Rect.d.ts +108 -115
  72. package/lib/components/Rect.js +72 -78
  73. package/lib/components/SVG.d.ts +139 -165
  74. package/lib/components/SVG.js +541 -609
  75. package/lib/components/Shape.d.ts +35 -44
  76. package/lib/components/Shape.js +127 -112
  77. package/lib/components/Spline.d.ts +40 -46
  78. package/lib/components/Spline.js +175 -190
  79. package/lib/components/Txt.d.ts +44 -55
  80. package/lib/components/Txt.js +155 -156
  81. package/lib/components/TxtLeaf.d.ts +16 -20
  82. package/lib/components/TxtLeaf.js +158 -177
  83. package/lib/components/Video.d.ts +41 -41
  84. package/lib/components/Video.js +135 -138
  85. package/lib/components/View2D.d.ts +21 -21
  86. package/lib/components/View2D.js +85 -98
  87. package/lib/components/index.d.ts +1 -1
  88. package/lib/components/index.js +1 -1
  89. package/lib/components/types.d.ts +9 -22
  90. package/lib/components/types.js +1 -1
  91. package/lib/curves/ArcSegment.d.ts +24 -36
  92. package/lib/curves/ArcSegment.js +94 -145
  93. package/lib/curves/CircleSegment.d.ts +16 -26
  94. package/lib/curves/CircleSegment.js +49 -56
  95. package/lib/curves/CubicBezierSegment.d.ts +13 -18
  96. package/lib/curves/CubicBezierSegment.js +46 -79
  97. package/lib/curves/CurveDrawingInfo.d.ts +9 -9
  98. package/lib/curves/CurveDrawingInfo.js +1 -1
  99. package/lib/curves/CurvePoint.d.ts +13 -13
  100. package/lib/curves/CurvePoint.js +1 -1
  101. package/lib/curves/CurveProfile.d.ts +5 -5
  102. package/lib/curves/CurveProfile.js +1 -1
  103. package/lib/curves/KnotInfo.d.ts +8 -8
  104. package/lib/curves/KnotInfo.js +1 -1
  105. package/lib/curves/LineSegment.d.ts +14 -19
  106. package/lib/curves/LineSegment.js +42 -42
  107. package/lib/curves/Polynomial.d.ts +110 -110
  108. package/lib/curves/Polynomial.js +239 -249
  109. package/lib/curves/Polynomial2D.d.ts +20 -20
  110. package/lib/curves/Polynomial2D.js +42 -46
  111. package/lib/curves/PolynomialSegment.d.ts +37 -42
  112. package/lib/curves/PolynomialSegment.js +81 -83
  113. package/lib/curves/QuadBezierSegment.d.ts +12 -12
  114. package/lib/curves/QuadBezierSegment.js +41 -71
  115. package/lib/curves/Segment.d.ts +7 -12
  116. package/lib/curves/Segment.js +3 -2
  117. package/lib/curves/UniformPolynomialCurveSampler.d.ts +34 -34
  118. package/lib/curves/UniformPolynomialCurveSampler.js +62 -68
  119. package/lib/curves/createCurveProfileLerp.d.ts +6 -17
  120. package/lib/curves/createCurveProfileLerp.js +208 -211
  121. package/lib/curves/getBezierSplineProfile.d.ts +4 -8
  122. package/lib/curves/getBezierSplineProfile.js +101 -145
  123. package/lib/curves/getCircleProfile.d.ts +4 -10
  124. package/lib/curves/getCircleProfile.js +40 -72
  125. package/lib/curves/getPathProfile.d.ts +2 -2
  126. package/lib/curves/getPathProfile.js +112 -135
  127. package/lib/curves/getPointAtDistance.d.ts +4 -7
  128. package/lib/curves/getPointAtDistance.js +12 -12
  129. package/lib/curves/getPolylineProfile.d.ts +4 -8
  130. package/lib/curves/getPolylineProfile.js +54 -67
  131. package/lib/curves/getRectProfile.d.ts +4 -9
  132. package/lib/curves/getRectProfile.js +52 -117
  133. package/lib/curves/index.d.ts +1 -1
  134. package/lib/curves/index.js +1 -1
  135. package/lib/decorators/canvasStyleSignal.d.ts +3 -3
  136. package/lib/decorators/canvasStyleSignal.js +10 -10
  137. package/lib/decorators/colorSignal.d.ts +1 -1
  138. package/lib/decorators/colorSignal.js +7 -7
  139. package/lib/decorators/compound.d.ts +2 -4
  140. package/lib/decorators/compound.js +23 -43
  141. package/lib/decorators/computed.d.ts +1 -1
  142. package/lib/decorators/computed.js +9 -9
  143. package/lib/decorators/defaultStyle.d.ts +2 -5
  144. package/lib/decorators/defaultStyle.js +11 -11
  145. package/lib/decorators/filtersSignal.d.ts +8 -28
  146. package/lib/decorators/filtersSignal.js +64 -87
  147. package/lib/decorators/index.d.ts +1 -1
  148. package/lib/decorators/index.js +1 -1
  149. package/lib/decorators/initializers.d.ts +2 -5
  150. package/lib/decorators/initializers.js +19 -18
  151. package/lib/decorators/nodeName.d.ts +1 -1
  152. package/lib/decorators/nodeName.js +4 -4
  153. package/lib/decorators/signal.d.ts +20 -40
  154. package/lib/decorators/signal.js +104 -113
  155. package/lib/decorators/spacingSignal.d.ts +1 -1
  156. package/lib/decorators/spacingSignal.js +13 -13
  157. package/lib/decorators/vector2Signal.d.ts +7 -13
  158. package/lib/decorators/vector2Signal.js +13 -15
  159. package/lib/index.d.ts +1 -1
  160. package/lib/index.js +1 -1
  161. package/lib/jsx-dev-runtime.d.ts +3 -3
  162. package/lib/jsx-dev-runtime.js +3 -3
  163. package/lib/jsx-runtime.d.ts +9 -19
  164. package/lib/jsx-runtime.js +18 -18
  165. package/lib/partials/Filter.d.ts +16 -24
  166. package/lib/partials/Filter.js +69 -69
  167. package/lib/partials/Gradient.d.ts +24 -30
  168. package/lib/partials/Gradient.js +58 -69
  169. package/lib/partials/Pattern.d.ts +9 -14
  170. package/lib/partials/Pattern.js +24 -30
  171. package/lib/partials/ShaderConfig.d.ts +74 -81
  172. package/lib/partials/ShaderConfig.js +23 -22
  173. package/lib/partials/index.d.ts +1 -1
  174. package/lib/partials/index.js +1 -1
  175. package/lib/partials/types.d.ts +6 -19
  176. package/lib/partials/types.js +1 -1
  177. package/lib/scenes/Scene2D.d.ts +23 -42
  178. package/lib/scenes/Scene2D.js +151 -161
  179. package/lib/scenes/index.d.ts +1 -1
  180. package/lib/scenes/index.js +1 -1
  181. package/lib/scenes/makeScene2D.d.ts +5 -7
  182. package/lib/scenes/makeScene2D.js +10 -10
  183. package/lib/scenes/useScene2D.d.ts +2 -2
  184. package/lib/scenes/useScene2D.js +3 -3
  185. package/lib/utils/CanvasUtils.d.ts +21 -93
  186. package/lib/utils/CanvasUtils.js +105 -186
  187. package/lib/utils/diff.d.ts +18 -25
  188. package/lib/utils/diff.js +87 -84
  189. package/lib/utils/index.d.ts +1 -1
  190. package/lib/utils/index.js +1 -1
  191. package/lib/utils/is.d.ts +2 -4
  192. package/lib/utils/is.js +2 -2
  193. package/lib/utils/makeSignalExtensions.d.ts +4 -11
  194. package/lib/utils/makeSignalExtensions.js +17 -17
  195. package/package.json +4 -4
  196. package/lib/components/AudioTest.d.ts +0 -99
  197. package/lib/components/AudioTest.d.ts.map +0 -1
  198. package/lib/components/AudioTest.js +0 -281
@@ -1,88 +1,55 @@
1
- var __decorate =
2
- (this && this.__decorate) ||
3
- function (decorators, target, key, desc) {
4
- var c = arguments.length,
5
- r =
6
- c < 3
7
- ? target
8
- : desc === null
9
- ? (desc = Object.getOwnPropertyDescriptor(target, key))
10
- : desc,
11
- d;
12
- if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
13
- r = Reflect.decorate(decorators, target, key, desc);
14
- else
15
- for (var i = decorators.length - 1; i >= 0; i--)
16
- if ((d = decorators[i]))
17
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- };
20
- import {Vector2, lazy} from '@revideo/core';
21
- import {bezierCurveTo} from '../utils';
22
- import {Polynomial2D} from './Polynomial2D';
23
- import {PolynomialSegment} from './PolynomialSegment';
6
+ };
7
+ import { Vector2, lazy } from '@revideo/core';
8
+ import { bezierCurveTo } from '../utils';
9
+ import { Polynomial2D } from './Polynomial2D';
10
+ import { PolynomialSegment } from './PolynomialSegment';
24
11
  /**
25
12
  * A spline segment representing a cubic Bézier curve.
26
13
  */
27
14
  export class CubicBezierSegment extends PolynomialSegment {
28
- get points() {
29
- return [this.p0, this.p1, this.p2, this.p3];
30
- }
31
- constructor(p0, p1, p2, p3) {
32
- super(
33
- new Polynomial2D(
34
- p0,
15
+ get points() {
16
+ return [this.p0, this.p1, this.p2, this.p3];
17
+ }
18
+ constructor(p0, p1, p2, p3) {
19
+ super(new Polynomial2D(p0,
35
20
  // 3*(-p0+p1)
36
- p0.flipped.add(p1).scale(3),
21
+ p0.flipped.add(p1).scale(3),
37
22
  // 3*p0-6*p1+3*p2
38
- p0.scale(3).sub(p1.scale(6)).add(p2.scale(3)),
23
+ p0.scale(3).sub(p1.scale(6)).add(p2.scale(3)),
39
24
  // -p0+3*p1-3*p2+p3
40
- p0.flipped.add(p1.scale(3)).sub(p2.scale(3)).add(p3),
41
- ),
42
- CubicBezierSegment.getLength(p0, p1, p2, p3),
43
- );
44
- this.p0 = p0;
45
- this.p1 = p1;
46
- this.p2 = p2;
47
- this.p3 = p3;
48
- }
49
- split(t) {
50
- const a = new Vector2(
51
- this.p0.x + (this.p1.x - this.p0.x) * t,
52
- this.p0.y + (this.p1.y - this.p0.y) * t,
53
- );
54
- const b = new Vector2(
55
- this.p1.x + (this.p2.x - this.p1.x) * t,
56
- this.p1.y + (this.p2.y - this.p1.y) * t,
57
- );
58
- const c = new Vector2(
59
- this.p2.x + (this.p3.x - this.p2.x) * t,
60
- this.p2.y + (this.p3.y - this.p2.y) * t,
61
- );
62
- const d = new Vector2(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t);
63
- const e = new Vector2(b.x + (c.x - b.x) * t, b.y + (c.y - b.y) * t);
64
- const p = new Vector2(d.x + (e.x - d.x) * t, d.y + (e.y - d.y) * t);
65
- const left = new CubicBezierSegment(this.p0, a, d, p);
66
- const right = new CubicBezierSegment(p, e, c, this.p3);
67
- return [left, right];
68
- }
69
- doDraw(context) {
70
- bezierCurveTo(context, this.p1, this.p2, this.p3);
71
- }
72
- static getLength(p0, p1, p2, p3) {
73
- // Let the browser do the work for us instead of calculating the arclength
74
- // manually.
75
- CubicBezierSegment.el.setAttribute(
76
- 'd',
77
- `M ${p0.x} ${p0.y} C ${p1.x} ${p1.y} ${p2.x} ${p2.y} ${p3.x} ${p3.y}`,
78
- );
79
- return CubicBezierSegment.el.getTotalLength();
80
- }
25
+ p0.flipped.add(p1.scale(3)).sub(p2.scale(3)).add(p3)), CubicBezierSegment.getLength(p0, p1, p2, p3));
26
+ this.p0 = p0;
27
+ this.p1 = p1;
28
+ this.p2 = p2;
29
+ this.p3 = p3;
30
+ }
31
+ split(t) {
32
+ const a = new Vector2(this.p0.x + (this.p1.x - this.p0.x) * t, this.p0.y + (this.p1.y - this.p0.y) * t);
33
+ const b = new Vector2(this.p1.x + (this.p2.x - this.p1.x) * t, this.p1.y + (this.p2.y - this.p1.y) * t);
34
+ const c = new Vector2(this.p2.x + (this.p3.x - this.p2.x) * t, this.p2.y + (this.p3.y - this.p2.y) * t);
35
+ const d = new Vector2(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t);
36
+ const e = new Vector2(b.x + (c.x - b.x) * t, b.y + (c.y - b.y) * t);
37
+ const p = new Vector2(d.x + (e.x - d.x) * t, d.y + (e.y - d.y) * t);
38
+ const left = new CubicBezierSegment(this.p0, a, d, p);
39
+ const right = new CubicBezierSegment(p, e, c, this.p3);
40
+ return [left, right];
41
+ }
42
+ doDraw(context) {
43
+ bezierCurveTo(context, this.p1, this.p2, this.p3);
44
+ }
45
+ static getLength(p0, p1, p2, p3) {
46
+ // Let the browser do the work for us instead of calculating the arclength
47
+ // manually.
48
+ CubicBezierSegment.el.setAttribute('d', `M ${p0.x} ${p0.y} C ${p1.x} ${p1.y} ${p2.x} ${p2.y} ${p3.x} ${p3.y}`);
49
+ return CubicBezierSegment.el.getTotalLength();
50
+ }
81
51
  }
82
- __decorate(
83
- [lazy(() => document.createElementNS('http://www.w3.org/2000/svg', 'path'))],
84
- CubicBezierSegment,
85
- 'el',
86
- void 0,
87
- );
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3ViaWNCZXppZXJTZWdtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jdXJ2ZXMvQ3ViaWNCZXppZXJTZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXREOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQUl2RCxJQUFXLE1BQU07UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUNrQixFQUFXLEVBQ1gsRUFBVyxFQUNYLEVBQVcsRUFDWCxFQUFXO1FBRTNCLEtBQUssQ0FDSCxJQUFJLFlBQVksQ0FDZCxFQUFFO1FBQ0YsYUFBYTtRQUNiLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0IsaUJBQWlCO1FBQ2pCLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QyxtQkFBbUI7UUFDbkIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUNyRCxFQUNELGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDN0MsQ0FBQztRQWhCYyxPQUFFLEdBQUYsRUFBRSxDQUFTO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBUztRQUNYLE9BQUUsR0FBRixFQUFFLENBQVM7UUFDWCxPQUFFLEdBQUYsRUFBRSxDQUFTO0lBYzdCLENBQUM7SUFFTSxLQUFLLENBQUMsQ0FBUztRQUNwQixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDdkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FDeEMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUN2QyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsTUFBTSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQ3ZDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQ3hDLENBQUM7UUFDRixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVwRSxNQUFNLElBQUksR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV2RCxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFa0IsTUFBTSxDQUFDLE9BQTBDO1FBQ2xFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRVMsTUFBTSxDQUFDLFNBQVMsQ0FDeEIsRUFBVyxFQUNYLEVBQVcsRUFDWCxFQUFXLEVBQ1gsRUFBVztRQUVYLDBFQUEwRTtRQUMxRSxZQUFZO1FBQ1osa0JBQWtCLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FDaEMsR0FBRyxFQUNILEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQ3RFLENBQUM7UUFDRixPQUFPLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFuRWdCO0lBRGQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxDQUFDLENBQUM7b0NBQ3pDIn0=
52
+ __decorate([
53
+ lazy(() => document.createElementNS('http://www.w3.org/2000/svg', 'path'))
54
+ ], CubicBezierSegment, "el", void 0);
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3ViaWNCZXppZXJTZWdtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jdXJ2ZXMvQ3ViaWNCZXppZXJTZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXREOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQUl2RCxJQUFXLE1BQU07UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUNrQixFQUFXLEVBQ1gsRUFBVyxFQUNYLEVBQVcsRUFDWCxFQUFXO1FBRTNCLEtBQUssQ0FDSCxJQUFJLFlBQVksQ0FDZCxFQUFFO1FBQ0YsYUFBYTtRQUNiLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0IsaUJBQWlCO1FBQ2pCLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QyxtQkFBbUI7UUFDbkIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUNyRCxFQUNELGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDN0MsQ0FBQztRQWhCYyxPQUFFLEdBQUYsRUFBRSxDQUFTO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBUztRQUNYLE9BQUUsR0FBRixFQUFFLENBQVM7UUFDWCxPQUFFLEdBQUYsRUFBRSxDQUFTO0lBYzdCLENBQUM7SUFFTSxLQUFLLENBQUMsQ0FBUztRQUNwQixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDdkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FDeEMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUN2QyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsTUFBTSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQ3ZDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQ3hDLENBQUM7UUFDRixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVwRSxNQUFNLElBQUksR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV2RCxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFa0IsTUFBTSxDQUFDLE9BQTBDO1FBQ2xFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRVMsTUFBTSxDQUFDLFNBQVMsQ0FDeEIsRUFBVyxFQUNYLEVBQVcsRUFDWCxFQUFXLEVBQ1gsRUFBVztRQUVYLDBFQUEwRTtRQUMxRSxZQUFZO1FBQ1osa0JBQWtCLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FDaEMsR0FBRyxFQUNILEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQ3RFLENBQUM7UUFDRixPQUFPLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFuRWdCO0lBRGQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxDQUFDLENBQUM7b0NBQ3pDIn0=
@@ -1,11 +1,11 @@
1
- import {Vector2} from '@revideo/core';
1
+ import { Vector2 } from '@revideo/core';
2
2
  export interface CurveDrawingInfo {
3
- path: Path2D;
4
- arrowSize: number;
5
- endPoint: Vector2;
6
- endTangent: Vector2;
7
- startPoint: Vector2;
8
- startTangent: Vector2;
9
- startOffset: number;
3
+ path: Path2D;
4
+ arrowSize: number;
5
+ endPoint: Vector2;
6
+ endTangent: Vector2;
7
+ startPoint: Vector2;
8
+ startTangent: Vector2;
9
+ startOffset: number;
10
10
  }
11
- //# sourceMappingURL=CurveDrawingInfo.d.ts.map
11
+ //# sourceMappingURL=CurveDrawingInfo.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVEcmF3aW5nSW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0N1cnZlRHJhd2luZ0luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVEcmF3aW5nSW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0N1cnZlRHJhd2luZ0luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,15 +1,15 @@
1
- import type {Vector2} from '@revideo/core';
1
+ import type { Vector2 } from '@revideo/core';
2
2
  export interface CurvePoint {
3
- position: Vector2;
4
- /**
5
- * @deprecated
6
- * The tangent is currently inconsistent for different types of curves and may
7
- * sometimes return the normal of the point, instead. This will be fixed in
8
- * the next major version but is kept as is for now for backwards
9
- * compatibility reasons. To always get the real tangent of the point, you can
10
- * use `normal.flipped.perpendicular`, instead.
11
- */
12
- tangent: Vector2;
13
- normal: Vector2;
3
+ position: Vector2;
4
+ /**
5
+ * @deprecated
6
+ * The tangent is currently inconsistent for different types of curves and may
7
+ * sometimes return the normal of the point, instead. This will be fixed in
8
+ * the next major version but is kept as is for now for backwards
9
+ * compatibility reasons. To always get the real tangent of the point, you can
10
+ * use `normal.flipped.perpendicular`, instead.
11
+ */
12
+ tangent: Vector2;
13
+ normal: Vector2;
14
14
  }
15
- //# sourceMappingURL=CurvePoint.d.ts.map
15
+ //# sourceMappingURL=CurvePoint.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVQb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0N1cnZlUG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVQb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0N1cnZlUG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,7 +1,7 @@
1
- import {Segment} from './Segment';
1
+ import { Segment } from './Segment';
2
2
  export interface CurveProfile {
3
- arcLength: number;
4
- segments: Segment[];
5
- minSin: number;
3
+ arcLength: number;
4
+ segments: Segment[];
5
+ minSin: number;
6
6
  }
7
- //# sourceMappingURL=CurveProfile.d.ts.map
7
+ //# sourceMappingURL=CurveProfile.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVQcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jdXJ2ZXMvQ3VydmVQcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VydmVQcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jdXJ2ZXMvQ3VydmVQcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,12 +1,12 @@
1
- import {Vector2} from '@revideo/core';
1
+ import { Vector2 } from '@revideo/core';
2
2
  export type KnotAutoHandles = {
3
- start: number;
4
- end: number;
3
+ start: number;
4
+ end: number;
5
5
  };
6
6
  export interface KnotInfo {
7
- position: Vector2;
8
- startHandle: Vector2;
9
- endHandle: Vector2;
10
- auto: KnotAutoHandles;
7
+ position: Vector2;
8
+ startHandle: Vector2;
9
+ endHandle: Vector2;
10
+ auto: KnotAutoHandles;
11
11
  }
12
- //# sourceMappingURL=KnotInfo.d.ts.map
12
+ //# sourceMappingURL=KnotInfo.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS25vdEluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2N1cnZlcy9Lbm90SW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS25vdEluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2N1cnZlcy9Lbm90SW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,21 +1,16 @@
1
- import {Vector2} from '@revideo/core';
2
- import {CurvePoint} from './CurvePoint';
3
- import {Segment} from './Segment';
1
+ import { Vector2 } from '@revideo/core';
2
+ import { CurvePoint } from './CurvePoint';
3
+ import { Segment } from './Segment';
4
4
  export declare class LineSegment extends Segment {
5
- readonly from: Vector2;
6
- readonly to: Vector2;
7
- private readonly length;
8
- private readonly vector;
9
- private readonly normal;
10
- readonly points: Vector2[];
11
- constructor(from: Vector2, to: Vector2);
12
- get arcLength(): number;
13
- draw(
14
- context: CanvasRenderingContext2D | Path2D,
15
- start?: number,
16
- end?: number,
17
- move?: boolean,
18
- ): [CurvePoint, CurvePoint];
19
- getPoint(distance: number): CurvePoint;
5
+ readonly from: Vector2;
6
+ readonly to: Vector2;
7
+ private readonly length;
8
+ private readonly vector;
9
+ private readonly normal;
10
+ readonly points: Vector2[];
11
+ constructor(from: Vector2, to: Vector2);
12
+ get arcLength(): number;
13
+ draw(context: CanvasRenderingContext2D | Path2D, start?: number, end?: number, move?: boolean): [CurvePoint, CurvePoint];
14
+ getPoint(distance: number): CurvePoint;
20
15
  }
21
- //# sourceMappingURL=LineSegment.d.ts.map
16
+ //# sourceMappingURL=LineSegment.d.ts.map
@@ -1,45 +1,45 @@
1
- import {lineTo, moveTo} from '../utils';
2
- import {Segment} from './Segment';
1
+ import { lineTo, moveTo } from '../utils';
2
+ import { Segment } from './Segment';
3
3
  export class LineSegment extends Segment {
4
- constructor(from, to) {
5
- super();
6
- this.from = from;
7
- this.to = to;
8
- this.vector = to.sub(from);
9
- this.length = this.vector.magnitude;
10
- this.normal = this.vector.perpendicular.normalized.safe;
11
- this.points = [from, to];
12
- }
13
- get arcLength() {
14
- return this.length;
15
- }
16
- draw(context, start = 0, end = 1, move = false) {
17
- const from = this.from.add(this.vector.scale(start));
18
- const to = this.from.add(this.vector.scale(end));
19
- if (move) {
20
- moveTo(context, from);
4
+ constructor(from, to) {
5
+ super();
6
+ this.from = from;
7
+ this.to = to;
8
+ this.vector = to.sub(from);
9
+ this.length = this.vector.magnitude;
10
+ this.normal = this.vector.perpendicular.normalized.safe;
11
+ this.points = [from, to];
12
+ }
13
+ get arcLength() {
14
+ return this.length;
15
+ }
16
+ draw(context, start = 0, end = 1, move = false) {
17
+ const from = this.from.add(this.vector.scale(start));
18
+ const to = this.from.add(this.vector.scale(end));
19
+ if (move) {
20
+ moveTo(context, from);
21
+ }
22
+ lineTo(context, to);
23
+ return [
24
+ {
25
+ position: from,
26
+ tangent: this.normal.flipped,
27
+ normal: this.normal,
28
+ },
29
+ {
30
+ position: to,
31
+ tangent: this.normal,
32
+ normal: this.normal,
33
+ },
34
+ ];
35
+ }
36
+ getPoint(distance) {
37
+ const point = this.from.add(this.vector.scale(distance));
38
+ return {
39
+ position: point,
40
+ tangent: this.normal.flipped,
41
+ normal: this.normal,
42
+ };
21
43
  }
22
- lineTo(context, to);
23
- return [
24
- {
25
- position: from,
26
- tangent: this.normal.flipped,
27
- normal: this.normal,
28
- },
29
- {
30
- position: to,
31
- tangent: this.normal,
32
- normal: this.normal,
33
- },
34
- ];
35
- }
36
- getPoint(distance) {
37
- const point = this.from.add(this.vector.scale(distance));
38
- return {
39
- position: point,
40
- tangent: this.normal.flipped,
41
- normal: this.normal,
42
- };
43
- }
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZVNlZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2N1cnZlcy9MaW5lU2VnbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBTztJQU10QyxZQUNrQixJQUFhLEVBQ2IsRUFBVztRQUUzQixLQUFLLEVBQUUsQ0FBQztRQUhRLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFTO1FBRzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxJQUFJLENBQ1QsT0FBMEMsRUFDMUMsS0FBSyxHQUFHLENBQUMsRUFDVCxHQUFHLEdBQUcsQ0FBQyxFQUNQLElBQUksR0FBRyxLQUFLO1FBRVosTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXBCLE9BQU87WUFDTDtnQkFDRSxRQUFRLEVBQUUsSUFBSTtnQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2dCQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7WUFDRDtnQkFDRSxRQUFRLEVBQUUsRUFBRTtnQkFDWixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUSxDQUFDLFFBQWdCO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDekQsT0FBTztZQUNMLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZVNlZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2N1cnZlcy9MaW5lU2VnbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBTztJQU10QyxZQUNrQixJQUFhLEVBQ2IsRUFBVztRQUUzQixLQUFLLEVBQUUsQ0FBQztRQUhRLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFTO1FBRzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxJQUFJLENBQ1QsT0FBMEMsRUFDMUMsS0FBSyxHQUFHLENBQUMsRUFDVCxHQUFHLEdBQUcsQ0FBQyxFQUNQLElBQUksR0FBRyxLQUFLO1FBRVosTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXBCLE9BQU87WUFDTDtnQkFDRSxRQUFRLEVBQUUsSUFBSTtnQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2dCQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7WUFDRDtnQkFDRSxRQUFRLEVBQUUsRUFBRTtnQkFDWixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUSxDQUFDLFFBQWdCO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDekQsT0FBTztZQUNMLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
@@ -5,114 +5,114 @@
5
5
  * https://github.com/FreyaHolmer/Mathfs/blob/master/Runtime/Curves/Polynomial.cs
6
6
  */
7
7
  export declare class Polynomial {
8
- readonly c0: number;
9
- readonly c1: number;
10
- readonly c2: number;
11
- readonly c3: number;
12
- /**
13
- * Constructs a constant polynomial
14
- *
15
- * @param c0 - The constant coefficient
16
- */
17
- static constant(c0: number): Polynomial;
18
- /**
19
- * Constructs a linear polynomial
20
- *
21
- * @param c0 - The constant coefficient
22
- * @param c1 - The linear coefficient
23
- */
24
- static linear(c0: number, c1: number): Polynomial;
25
- /**
26
- * Constructs a quadratic polynomial
27
- *
28
- * @param c0 - The constant coefficient
29
- * @param c1 - The linear coefficient
30
- * @param c2 - The quadratic coefficient
31
- */
32
- static quadratic(c0: number, c1: number, c2: number): Polynomial;
33
- /**
34
- * Constructs a cubic polynomial
35
- *
36
- * @param c0 - The constant coefficient
37
- * @param c1 - The linear coefficient
38
- * @param c2 - The quadratic coefficient
39
- * @param c3 - The cubic coefficient
40
- */
41
- static cubic(c0: number, c1: number, c2: number, c3: number): Polynomial;
42
- /**
43
- * The degree of the polynomial
44
- */
45
- get degree(): number;
46
- /**
47
- * @param c0 - The constant coefficient
48
- */
49
- constructor(c0: number);
50
- /**
51
- * @param c0 - The constant coefficient
52
- * @param c1 - The linear coefficient
53
- */
54
- constructor(c0: number, c1: number);
55
- /**
56
- * @param c0 - The constant coefficient
57
- * @param c1 - The linear coefficient
58
- * @param c2 - The quadratic coefficient
59
- */
60
- constructor(c0: number, c1: number, c2: number);
61
- /**
62
- * @param c0 - The constant coefficient
63
- * @param c1 - The linear coefficient
64
- * @param c2 - The quadratic coefficient
65
- * @param c3 - The cubic coefficient
66
- */
67
- constructor(c0: number, c1: number, c2: number, c3: number);
68
- /**
69
- * Return the nth derivative of the polynomial.
70
- *
71
- * @param n - The number of times to differentiate the polynomial.
72
- */
73
- differentiate(n?: number): Polynomial;
74
- /**
75
- * Evaluate the polynomial at the given value t.
76
- *
77
- * @param t - The value to sample at
78
- */
79
- eval(t: number): number;
80
- /**
81
- * Evaluate the nth derivative of the polynomial at the given value t.
82
- *
83
- * @param t - The value to sample at
84
- * @param derivative - The derivative of the polynomial to sample from
85
- */
86
- eval(t: number, derivative: number): number;
87
- /**
88
- * Split the polynomial into two polynomials of the same overall shape.
89
- *
90
- * @param u - The point at which to split the polynomial.
91
- */
92
- split(u: number): [Polynomial, Polynomial];
93
- /**
94
- * Calculate the roots (values where this polynomial = 0).
95
- *
96
- * @remarks
97
- * Depending on the degree of the polynomial, returns between 0 and 3 results.
98
- */
99
- roots(): number[];
100
- /**
101
- * Calculate the local extrema of the polynomial.
102
- */
103
- localExtrema(): number[];
104
- /**
105
- * Calculate the local extrema of the polynomial in the unit interval.
106
- */
107
- localExtrema01(): number[];
108
- /**
109
- * Return the output value range within the unit interval.
110
- */
111
- outputRange01(): number[];
112
- private solveCubicRoots;
113
- private solveDepressedCubicRoots;
114
- private solveQuadraticRoots;
115
- private solveLinearRoot;
116
- private almostZero;
8
+ readonly c0: number;
9
+ readonly c1: number;
10
+ readonly c2: number;
11
+ readonly c3: number;
12
+ /**
13
+ * Constructs a constant polynomial
14
+ *
15
+ * @param c0 - The constant coefficient
16
+ */
17
+ static constant(c0: number): Polynomial;
18
+ /**
19
+ * Constructs a linear polynomial
20
+ *
21
+ * @param c0 - The constant coefficient
22
+ * @param c1 - The linear coefficient
23
+ */
24
+ static linear(c0: number, c1: number): Polynomial;
25
+ /**
26
+ * Constructs a quadratic polynomial
27
+ *
28
+ * @param c0 - The constant coefficient
29
+ * @param c1 - The linear coefficient
30
+ * @param c2 - The quadratic coefficient
31
+ */
32
+ static quadratic(c0: number, c1: number, c2: number): Polynomial;
33
+ /**
34
+ * Constructs a cubic polynomial
35
+ *
36
+ * @param c0 - The constant coefficient
37
+ * @param c1 - The linear coefficient
38
+ * @param c2 - The quadratic coefficient
39
+ * @param c3 - The cubic coefficient
40
+ */
41
+ static cubic(c0: number, c1: number, c2: number, c3: number): Polynomial;
42
+ /**
43
+ * The degree of the polynomial
44
+ */
45
+ get degree(): number;
46
+ /**
47
+ * @param c0 - The constant coefficient
48
+ */
49
+ constructor(c0: number);
50
+ /**
51
+ * @param c0 - The constant coefficient
52
+ * @param c1 - The linear coefficient
53
+ */
54
+ constructor(c0: number, c1: number);
55
+ /**
56
+ * @param c0 - The constant coefficient
57
+ * @param c1 - The linear coefficient
58
+ * @param c2 - The quadratic coefficient
59
+ */
60
+ constructor(c0: number, c1: number, c2: number);
61
+ /**
62
+ * @param c0 - The constant coefficient
63
+ * @param c1 - The linear coefficient
64
+ * @param c2 - The quadratic coefficient
65
+ * @param c3 - The cubic coefficient
66
+ */
67
+ constructor(c0: number, c1: number, c2: number, c3: number);
68
+ /**
69
+ * Return the nth derivative of the polynomial.
70
+ *
71
+ * @param n - The number of times to differentiate the polynomial.
72
+ */
73
+ differentiate(n?: number): Polynomial;
74
+ /**
75
+ * Evaluate the polynomial at the given value t.
76
+ *
77
+ * @param t - The value to sample at
78
+ */
79
+ eval(t: number): number;
80
+ /**
81
+ * Evaluate the nth derivative of the polynomial at the given value t.
82
+ *
83
+ * @param t - The value to sample at
84
+ * @param derivative - The derivative of the polynomial to sample from
85
+ */
86
+ eval(t: number, derivative: number): number;
87
+ /**
88
+ * Split the polynomial into two polynomials of the same overall shape.
89
+ *
90
+ * @param u - The point at which to split the polynomial.
91
+ */
92
+ split(u: number): [Polynomial, Polynomial];
93
+ /**
94
+ * Calculate the roots (values where this polynomial = 0).
95
+ *
96
+ * @remarks
97
+ * Depending on the degree of the polynomial, returns between 0 and 3 results.
98
+ */
99
+ roots(): number[];
100
+ /**
101
+ * Calculate the local extrema of the polynomial.
102
+ */
103
+ localExtrema(): number[];
104
+ /**
105
+ * Calculate the local extrema of the polynomial in the unit interval.
106
+ */
107
+ localExtrema01(): number[];
108
+ /**
109
+ * Return the output value range within the unit interval.
110
+ */
111
+ outputRange01(): number[];
112
+ private solveCubicRoots;
113
+ private solveDepressedCubicRoots;
114
+ private solveQuadraticRoots;
115
+ private solveLinearRoot;
116
+ private almostZero;
117
117
  }
118
- //# sourceMappingURL=Polynomial.d.ts.map
118
+ //# sourceMappingURL=Polynomial.d.ts.map