toosoon-utils 4.0.5 → 4.1.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 (45) hide show
  1. package/README.md +716 -88
  2. package/lib/constants.d.ts +2 -0
  3. package/lib/constants.js +5 -3
  4. package/lib/extras/_wip/pool.d.ts +56 -0
  5. package/lib/extras/_wip/pool.js +67 -0
  6. package/lib/{classes/color-scale.d.ts → extras/color-scale/ColorScale.d.ts} +1 -1
  7. package/lib/{classes/color-scale.js → extras/color-scale/ColorScale.js} +2 -2
  8. package/lib/extras/curves/ArcCurve.d.ts +19 -0
  9. package/lib/extras/curves/ArcCurve.js +21 -0
  10. package/lib/extras/curves/CatmulRomCurve.d.ts +62 -0
  11. package/lib/extras/curves/CatmulRomCurve.js +75 -0
  12. package/lib/extras/curves/CubicBezierCurve.d.ts +62 -0
  13. package/lib/extras/curves/CubicBezierCurve.js +75 -0
  14. package/lib/extras/curves/Curve.d.ts +95 -0
  15. package/lib/extras/curves/Curve.js +174 -0
  16. package/lib/extras/curves/EllipseCurve.d.ts +63 -0
  17. package/lib/extras/curves/EllipseCurve.js +76 -0
  18. package/lib/extras/curves/LineCurve.d.ts +51 -0
  19. package/lib/extras/curves/LineCurve.js +71 -0
  20. package/lib/extras/curves/Path.d.ts +164 -0
  21. package/lib/extras/curves/Path.js +367 -0
  22. package/lib/extras/curves/PathCurve.d.ts +69 -0
  23. package/lib/extras/curves/PathCurve.js +148 -0
  24. package/lib/extras/curves/PathSVG.d.ts +41 -0
  25. package/lib/extras/curves/PathSVG.js +135 -0
  26. package/lib/extras/curves/PolylineCurve.d.ts +27 -0
  27. package/lib/extras/curves/PolylineCurve.js +39 -0
  28. package/lib/extras/curves/QuadraticBezierCurve.d.ts +52 -0
  29. package/lib/extras/curves/QuadraticBezierCurve.js +63 -0
  30. package/lib/extras/curves/SplineCurve.d.ts +24 -0
  31. package/lib/extras/curves/SplineCurve.js +38 -0
  32. package/lib/extras/curves/index.d.ts +12 -0
  33. package/lib/extras/curves/index.js +12 -0
  34. package/lib/{classes/frame-rate.js → extras/frame-rate/FrameRate.js} +1 -1
  35. package/lib/geometry.d.ts +91 -31
  36. package/lib/geometry.js +154 -72
  37. package/lib/prng.js +2 -1
  38. package/lib/random.d.ts +13 -13
  39. package/lib/random.js +14 -14
  40. package/lib/tsconfig.tsbuildinfo +1 -1
  41. package/lib/types.d.ts +3 -10
  42. package/package.json +4 -3
  43. /package/lib/{classes/_pool.d.ts → extras/_/pool.d.ts} +0 -0
  44. /package/lib/{classes/_pool.js → extras/_/pool.js} +0 -0
  45. /package/lib/{classes/frame-rate.d.ts → extras/frame-rate/FrameRate.d.ts} +0 -0
package/lib/geometry.js CHANGED
@@ -1,4 +1,5 @@
1
- import { PI } from './constants';
1
+ import { EPSILON, PI, TWO_PI } from './constants';
2
+ import { lerp } from './maths';
2
3
  /**
3
4
  * Convert a radians value into degrees
4
5
  *
@@ -32,8 +33,8 @@ export function angle(x1, y1, x2, y2) {
32
33
  /**
33
34
  * Find the closest angle between to angles
34
35
  *
35
- * @param {number} source Source angle in radians
36
- * @param {number} target Target angle in radians
36
+ * @param {number} source Source angle (in radians)
37
+ * @param {number} target Target angle (in radians)
37
38
  * @returns {number} Closest angle
38
39
  */
39
40
  export function closestAngle(source, target) {
@@ -70,112 +71,193 @@ export function diagonal(width, height) {
70
71
  * @param {number} radius Radius of the sphere
71
72
  * @param {number} phi Polar angle from the y (up) axis : [0, PI]
72
73
  * @param {number} theta Equator angle around the y (up) axis : [0, 2*PI]
73
- * @param {Vector3} target Target vector
74
- * @returns {Vector3}
74
+ * @param {Point3} target Target 3D point
75
+ * @returns {Point3}
75
76
  */
76
- export function radToSphere(radius, phi, theta, target = { x: 0, y: 0, z: 0 }) {
77
- target.x = radius * Math.sin(phi) * Math.sin(theta);
78
- target.y = radius * Math.cos(phi);
79
- target.z = radius * Math.sin(phi) * Math.cos(theta);
77
+ export function radToSphere(radius, phi, theta, target = [0, 0, 0]) {
78
+ target[0] = radius * Math.sin(phi) * Math.sin(theta);
79
+ target[1] = radius * Math.cos(phi);
80
+ target[2] = radius * Math.sin(phi) * Math.cos(theta);
80
81
  return target;
81
82
  }
82
83
  // *********************
83
84
  // Curves
84
85
  // *********************
85
86
  /**
86
- * Interpolate a point on an elliptical arc Cubic Bézier curve
87
+ * Interpolate a point on a line
88
+ *
89
+ * @param {number} t Normalized time value to interpolate
90
+ * @param {number} x1 X-axis coordinate of the start point
91
+ * @param {number} y1 Y-axis coordinate of the start point
92
+ * @param {number} x2 X-axis coordinate of the end point
93
+ * @param {number} y2 Y-axis coordinate of the end point
94
+ * @returns {Point} Interpolated coordinates on the line
95
+ */
96
+ export function line(t, x1, y1, x2, y2) {
97
+ const x = lerp(t, x1, x2);
98
+ const y = lerp(t, y1, y2);
99
+ return [x, y];
100
+ }
101
+ /**
102
+ * Interpolate a point on a Quadratic Bézier curve
103
+ *
104
+ * @param {number} t Normalized time value to interpolate
105
+ * @param {number} x1 X-axis coordinate of the start point
106
+ * @param {number} y1 Y-axis coordinate of the start point
107
+ * @param {number} cpx X-axis coordinate of the control point
108
+ * @param {number} cpy Y-axis coordinate of the control point
109
+ * @param {number} x2 X-axis coordinate of the end point
110
+ * @param {number} y2 Y-axis coordinate of the end point
111
+ * @returns {Point} Interpolated coordinates on the curve
112
+ */
113
+ export function quadraticBezier(t, x1, y1, cpx, cpy, x2, y2) {
114
+ const t2 = t * t;
115
+ const k = 1 - t;
116
+ const k2 = k * k;
117
+ const x = k2 * x1 + 2 * k * t * cpx + t2 * x2;
118
+ const y = k2 * y1 + 2 * k * t * cpy + t2 * y2;
119
+ return [x, y];
120
+ }
121
+ /**
122
+ * Interpolate a point on a Cubic Bézier curve
87
123
  *
88
124
  * @param {number} t Normalized time value to interpolate
89
125
  * @param {number} x1 X-axis coordinate of the start point
90
126
  * @param {number} y1 Y-axis coordinate of the start point
91
- * @param {number} cpx1 X-axis coordinate of the first control point
92
- * @param {number} cpy1 Y-axis coordinate of the first control point
93
- * @param {number} cpx2 X-axis coordinate of the second control point
94
- * @param {number} cpy2 Y-axis coordinate of the second control point
127
+ * @param {number} cp1x X-axis coordinate of the first control point
128
+ * @param {number} cp1y Y-axis coordinate of the first control point
129
+ * @param {number} cp2x X-axis coordinate of the second control point
130
+ * @param {number} cp2y Y-axis coordinate of the second control point
95
131
  * @param {number} x2 X-axis coordinate of the end point
96
132
  * @param {number} y2 Y-axis coordinate of the end point
97
- * @returns {[number, number]} Interpolated coordinates on the curve
133
+ * @returns {Point} Interpolated coordinates on the curve
98
134
  */
99
- export function cubicBezier(t, x1, y1, cpx1, cpy1, cpx2, cpy2, x2, y2) {
135
+ export function cubicBezier(t, x1, y1, cp1x, cp1y, cp2x, cp2y, x2, y2) {
100
136
  const t2 = t * t;
101
137
  const t3 = t2 * t;
102
- const T = 1 - t;
103
- const T2 = T * T;
104
- const T3 = T2 * T;
105
- const x = T3 * x1 + 3 * T2 * t * cpx1 + 3 * T * t2 * cpx2 + t3 * x2;
106
- const y = T3 * y1 + 3 * T2 * t * cpy1 + 3 * T * t2 * cpy2 + t3 * y2;
138
+ const k = 1 - t;
139
+ const k2 = k * k;
140
+ const k3 = k2 * k;
141
+ const x = k3 * x1 + 3 * k2 * t * cp1x + 3 * k * t2 * cp2x + t3 * x2;
142
+ const y = k3 * y1 + 3 * k2 * t * cp1y + 3 * k * t2 * cp2y + t3 * y2;
107
143
  return [x, y];
108
144
  }
109
145
  /**
110
- * Interpolate a point on an elliptical arc Quadratic Bézier curve
146
+ * Interpolate a point on a Catmull-Rom spline
111
147
  *
112
148
  * @param {number} t Normalized time value to interpolate
113
149
  * @param {number} x1 X-axis coordinate of the start point
114
150
  * @param {number} y1 Y-axis coordinate of the start point
115
- * @param {number} cpx X-axis coordinate of the control point
116
- * @param {number} cpy Y-axis coordinate of the control point
151
+ * @param {number} cp1x X-axis coordinate of the first control point
152
+ * @param {number} cp1y Y-axis coordinate of the first control point
153
+ * @param {number} cp2x X-axis coordinate of the second control point
154
+ * @param {number} cp2y Y-axis coordinate of the second control point
117
155
  * @param {number} x2 X-axis coordinate of the end point
118
156
  * @param {number} y2 Y-axis coordinate of the end point
119
- * @returns {[number, number]} Interpolated coordinates on the curve
157
+ * @returns {Point} Interpolated coordinates on the spline
120
158
  */
121
- export function quadraticBesier(t, x1, y1, cpx, cpy, x2, y2) {
159
+ export function catmullRom(t, x1, y1, cp1x, cp1y, cp2x, cp2y, x2, y2) {
122
160
  const t2 = t * t;
123
- const T = 1 - t;
124
- const T2 = T * T;
125
- const x = T2 * x1 + 2 * T * t * cpx + t2 * x2;
126
- const y = T2 * y1 + 2 * T * t * cpy + t2 * y2;
161
+ const t3 = t2 * t;
162
+ const vx1 = (cp2x - x1) * 0.5;
163
+ const vy1 = (cp2y - y1) * 0.5;
164
+ const vx2 = (x2 - cp1x) * 0.5;
165
+ const vy2 = (y2 - cp1y) * 0.5;
166
+ const x = (2 * cp1x - 2 * cp2x + vx1 + vx2) * t3 + (-3 * cp1x + 3 * cp2x - 2 * vx1 - vx2) * t2 + vx1 * t + cp1x;
167
+ const y = (2 * cp1y - 2 * cp2y + vy1 + vy2) * t3 + (-3 * cp1y + 3 * cp2y - 2 * vy1 - vy2) * t2 + vy1 * t + cp1y;
127
168
  return [x, y];
128
169
  }
129
170
  /**
130
171
  * Interpolate a point on an elliptical arc
131
172
  *
132
- * @param {number} t Normalized time value to interpolate
133
- * @param {number} x1 X-axis coordinate of the starting point of the arc
134
- * @param {number} y1 Y-axis coordinate of the starting point of the arc
135
- * @param {number} x2 X-axis coordinate of the ending point of the arc
136
- * @param {number} y2 Y-axis coordinate of the ending point of the arc
137
- * @param {number} rx X-radius of the ellipse
138
- * @param {number} ry Y-radius of the ellipse
139
- * @param {number} angle Rotation angle of the ellipse (in radians)
140
- * @param {boolean} [largeArc=true] Flag indicating whether to draw the larger of the two possible arcs
141
- * @param {boolean} [clockwise=true] Flag indicating the direction of the arc
142
- * @returns {[number, number]} Interpolated coordinates on the arc
143
- */
144
- export function arc(t, x1, y1, x2, y2, rx, ry, angle, largeArc = true, clockwise = true) {
145
- const centerX = (x1 - x2) / 2;
146
- const centerY = (y1 - y2) / 2;
147
- const cosAngle = Math.cos(angle);
148
- const sinAngle = Math.sin(angle);
149
- const x1p = cosAngle * centerX + sinAngle * centerY;
150
- const y1p = -sinAngle * centerX + cosAngle * centerY;
151
- rx = Math.abs(rx);
152
- ry = Math.abs(ry);
153
- const lambda = x1p ** 2 / rx ** 2 + y1p ** 2 / ry ** 2;
154
- if (lambda > 1) {
155
- rx *= Math.sqrt(lambda);
156
- ry *= Math.sqrt(lambda);
157
- }
158
- const sign = largeArc !== clockwise ? 1 : -1;
159
- const factor = sign *
160
- Math.sqrt(Math.max(0, (rx ** 2 * ry ** 2 - rx ** 2 * y1p ** 2 - ry ** 2 * x1p ** 2) / (rx ** 2 * y1p ** 2 + ry ** 2 * x1p ** 2)));
161
- const cxp = (factor * rx * y1p) / ry;
162
- const cyp = (-factor * ry * x1p) / rx;
163
- const cx = cosAngle * cxp - sinAngle * cyp + (x1 + x2) / 2;
164
- const cy = sinAngle * cxp + cosAngle * cyp + (y1 + y2) / 2;
165
- const startAngle = Math.atan2((y1p - cyp) / ry, (x1p - cxp) / rx);
166
- const endAngle = Math.atan2((-y1p - cyp) / ry, (-x1p - cxp) / rx);
173
+ * @param {number} t Normalized time value to interpolate
174
+ * @param {number} cx X-axis coordinate of the center of the ellipse
175
+ * @param {number} cy Y-axis coordinate of the center of the ellipse
176
+ * @param {number} rx X-radius of the ellipse
177
+ * @param {number} ry Y-radius of the ellipse
178
+ * @param {number} [rotation=0] Rotation angle of the ellipse (in radians), counterclockwise from the positive X-axis
179
+ * @param {number} [startAngle=0] Start angle of the arc (in radians)
180
+ * @param {number} [endAngle=2*PI] End angle of the arc (in radians)
181
+ * @param {boolean} [counterclockwise=false] Flag indicating the direction of the arc
182
+ * @returns {Point} Interpolated coordinates on the arc
183
+ */
184
+ export function ellipse(t, cx, cy, rx, ry, rotation = 0, startAngle = 0, endAngle = TWO_PI, counterclockwise = false) {
167
185
  let deltaAngle = endAngle - startAngle;
168
- if (clockwise === false && deltaAngle > 0) {
169
- deltaAngle -= 2 * PI;
186
+ const isEmpty = Math.abs(deltaAngle) <= EPSILON;
187
+ while (deltaAngle < 0)
188
+ deltaAngle += TWO_PI;
189
+ while (deltaAngle > TWO_PI)
190
+ deltaAngle -= TWO_PI;
191
+ if (deltaAngle <= EPSILON) {
192
+ if (isEmpty) {
193
+ deltaAngle = 0;
194
+ }
195
+ else {
196
+ deltaAngle = TWO_PI;
197
+ }
198
+ }
199
+ if (counterclockwise === false && !isEmpty) {
200
+ if (deltaAngle === TWO_PI) {
201
+ deltaAngle = -TWO_PI;
202
+ }
203
+ else {
204
+ deltaAngle = deltaAngle - TWO_PI;
205
+ }
170
206
  }
171
- else if (clockwise === true && deltaAngle < 0) {
172
- deltaAngle += 2 * PI;
207
+ const angle = startAngle + t * deltaAngle;
208
+ let x = cx + rx * Math.cos(angle);
209
+ let y = cy + ry * Math.sin(angle);
210
+ if (rotation !== 0) {
211
+ const cos = Math.cos(rotation);
212
+ const sin = Math.sin(rotation);
213
+ const deltaX = x - cx;
214
+ const deltaY = y - cy;
215
+ x = deltaX * cos - deltaY * sin + cx;
216
+ y = deltaX * sin + deltaY * cos + cy;
173
217
  }
174
- const theta = startAngle + t * deltaAngle;
175
- const x = cx + rx * Math.cos(theta) * cosAngle - ry * Math.sin(theta) * sinAngle;
176
- const y = cy + rx * Math.cos(theta) * sinAngle + ry * Math.sin(theta) * cosAngle;
177
218
  return [x, y];
178
219
  }
220
+ /**
221
+ * Interpolate a point on a circular arc
222
+ *
223
+ * @param {number} t Normalized time value to interpolate
224
+ * @param {number} cx X-axis coordinate of the center of the circle
225
+ * @param {number} cy Y-axis coordinate of the center of the circle
226
+ * @param {number} radius Radius of the circle
227
+ * @param {number} [startAngle] Start angle of the arc (in radians)
228
+ * @param {number} [endAngle] End angle of the arc (in radians)
229
+ * @param {boolean} [counterclockwise=false] Flag indicating the direction of the arc
230
+ * @returns {Point} Interpolated coordinates on the arc
231
+ */
232
+ export function arc(t, cx, cy, radius, startAngle, endAngle, counterclockwise) {
233
+ return ellipse(t, cx, cy, radius, radius, 0, startAngle, endAngle, counterclockwise);
234
+ }
235
+ /**
236
+ * Check if two points are coincident
237
+ *
238
+ * @param {number} x1 X-axis coordinate of the first point
239
+ * @param {number} y1 Y-axis coordinate of the first point
240
+ * @param {number} x2 X-axis coordinate of the second point
241
+ * @param {number} y2 Y-axis coordinate of the second point
242
+ * @returns {boolean} True if the two are coincident, false otherwise
243
+ */
244
+ export function isCoincident(x1, y1, x2, y2) {
245
+ return distance(x1, y1, x2, y2) <= EPSILON;
246
+ }
247
+ /**
248
+ * Check if three points are collinear (aligned on the same line)
249
+ *
250
+ * @param {number} x1 X-axis coordinate of the first point
251
+ * @param {number} y1 Y-axis coordinate of the first point
252
+ * @param {number} x2 X-axis coordinate of the second point
253
+ * @param {number} y2 Y-axis coordinate of the second point
254
+ * @param {number} x3 X-axis coordinate of the third point
255
+ * @param {number} y3 Y-axis coordinate of the third point
256
+ * @returns {boolean} True if the three points are collinear, false otherwise
257
+ */
258
+ export function isCollinear(x1, y1, x2, y2, x3, y3) {
259
+ return Math.abs((x2 - x1) * (y3 - y2) - (y2 - y1) * (x3 - x2)) <= EPSILON;
260
+ }
179
261
  /**
180
262
  * Make a target fit a container
181
263
  *
package/lib/prng.js CHANGED
@@ -216,8 +216,9 @@ export function randomIndex(prng, weights) {
216
216
  for (let weight of weights) {
217
217
  totalWeight += weight;
218
218
  }
219
- if (totalWeight <= 0)
219
+ if (totalWeight <= 0) {
220
220
  console.warn('PRNG randomIndex()', 'Weights must sum to > 0', totalWeight);
221
+ }
221
222
  let weight = random(prng) * totalWeight;
222
223
  for (let i = 0; i < weights.length; i++) {
223
224
  if (weight < weights[i])
package/lib/random.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Vector2, Vector3 } from './types';
1
+ import type { Point, Point3 } from './types';
2
2
  /**
3
3
  * Generate a random boolean (true or false)
4
4
  *
@@ -69,31 +69,31 @@ export declare function randomGaussian(mean?: number, spread?: number): number;
69
69
  * Produce a random 2D point around the perimiter of a unit circle
70
70
  *
71
71
  * @param {number} [radius=1] Radius of the circle
72
- * @param {Vector2} [target] Target vector
73
- * @returns {Vector2} Random 2D point on circle
72
+ * @param {Point} [target] Target point
73
+ * @returns {Point} Random 2D point on circle
74
74
  */
75
- export declare function onCircle(radius?: number, target?: Vector2): Vector2;
75
+ export declare function onCircle(radius?: number, target?: Point): Point;
76
76
  /**
77
77
  * Produce a random 2D point inside a unit circle
78
78
  *
79
79
  * @param {number} [radius=1] Radius of the circle
80
- * @param {Vector2} [target] Target vector
81
- * @returns {Vector2} Random 2D point inside circle
80
+ * @param {Point} [target] Target vector
81
+ * @returns {Point} Random 2D point inside circle
82
82
  */
83
- export declare function insideCircle(radius?: number, target?: Vector2): Vector2;
83
+ export declare function insideCircle(radius?: number, target?: Point): Point;
84
84
  /**
85
85
  * Produce a random 3D point on the surface of a unit sphere
86
86
  *
87
87
  * @param {number} [radius=1] Radius of the sphere
88
- * @param {Vector3} [target] Target vector
89
- * @returns {Vector3} Random 3D point on sphere
88
+ * @param {Point3} [target] Target vector
89
+ * @returns {Point3} Random 3D point on sphere
90
90
  */
91
- export declare function onSphere(radius?: number, target?: Vector3): Vector3;
91
+ export declare function onSphere(radius?: number, target?: Point3): Point3;
92
92
  /**
93
93
  * Produce a random 3D point inside a unit sphere
94
94
  *
95
95
  * @param {number} [radius=1] Radius of the sphere
96
- * @param {Vector3} [target] Target vector
97
- * @returns {Vector3} Random 3D point inside sphere
96
+ * @param {Point3} [target] Target vector
97
+ * @returns {Point3} Random 3D point inside sphere
98
98
  */
99
- export declare function insideSphere(radius?: number, target?: Vector3): Vector3;
99
+ export declare function insideSphere(radius?: number, target?: Point3): Point3;
package/lib/random.js CHANGED
@@ -114,23 +114,23 @@ export function randomGaussian(mean = 0, spread = 1) {
114
114
  * Produce a random 2D point around the perimiter of a unit circle
115
115
  *
116
116
  * @param {number} [radius=1] Radius of the circle
117
- * @param {Vector2} [target] Target vector
118
- * @returns {Vector2} Random 2D point on circle
117
+ * @param {Point} [target] Target point
118
+ * @returns {Point} Random 2D point on circle
119
119
  */
120
- export function onCircle(radius = 1, target = { x: 0, y: 0 }) {
120
+ export function onCircle(radius = 1, target = [0, 0]) {
121
121
  const angle = Math.random() * 2.0 * Math.PI;
122
- target.x = radius * Math.cos(angle);
123
- target.y = radius * Math.sin(angle);
122
+ target[0] = radius * Math.cos(angle);
123
+ target[1] = radius * Math.sin(angle);
124
124
  return target;
125
125
  }
126
126
  /**
127
127
  * Produce a random 2D point inside a unit circle
128
128
  *
129
129
  * @param {number} [radius=1] Radius of the circle
130
- * @param {Vector2} [target] Target vector
131
- * @returns {Vector2} Random 2D point inside circle
130
+ * @param {Point} [target] Target vector
131
+ * @returns {Point} Random 2D point inside circle
132
132
  */
133
- export function insideCircle(radius = 1, target = { x: 0, y: 0 }) {
133
+ export function insideCircle(radius = 1, target = [0, 0]) {
134
134
  radius *= Math.random();
135
135
  return onCircle(radius, target);
136
136
  }
@@ -138,10 +138,10 @@ export function insideCircle(radius = 1, target = { x: 0, y: 0 }) {
138
138
  * Produce a random 3D point on the surface of a unit sphere
139
139
  *
140
140
  * @param {number} [radius=1] Radius of the sphere
141
- * @param {Vector3} [target] Target vector
142
- * @returns {Vector3} Random 3D point on sphere
141
+ * @param {Point3} [target] Target vector
142
+ * @returns {Point3} Random 3D point on sphere
143
143
  */
144
- export function onSphere(radius = 1, target = { x: 0, y: 0, z: 0 }) {
144
+ export function onSphere(radius = 1, target = [0, 0, 0]) {
145
145
  const u = Math.random() * Math.PI * 2;
146
146
  const v = Math.random() * 2 - 1;
147
147
  const phi = u;
@@ -152,10 +152,10 @@ export function onSphere(radius = 1, target = { x: 0, y: 0, z: 0 }) {
152
152
  * Produce a random 3D point inside a unit sphere
153
153
  *
154
154
  * @param {number} [radius=1] Radius of the sphere
155
- * @param {Vector3} [target] Target vector
156
- * @returns {Vector3} Random 3D point inside sphere
155
+ * @param {Point3} [target] Target vector
156
+ * @returns {Point3} Random 3D point inside sphere
157
157
  */
158
- export function insideSphere(radius = 1, target = { x: 0, y: 0, z: 0 }) {
158
+ export function insideSphere(radius = 1, target = [0, 0, 0]) {
159
159
  radius *= Math.random();
160
160
  return onSphere(radius, target);
161
161
  }
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.object.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/constants.ts","../src/types.ts","../src/geometry.ts","../src/maths.ts","../src/colors.ts","../src/dom.ts","../src/files.ts","../src/functions.ts","../src/prng.ts","../src/query.ts","../src/random.ts","../src/strings.ts","../src/classes/_pool.ts","../src/classes/color-scale.ts","../src/classes/frame-rate.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"45cf2eb6cd6d7189ff80c87564aaa4fea53eb4c3da65d5e641127373de571cd9","signature":"0b4eec0a8599d6713095e0af18ab7e6204b675cd9fe8b2d02d04d66746e586e1"},{"version":"4081f0b74378ad72b7d0437cc085790616e863a2237409408b4ebfefb1dcb565","signature":"b10a0e63e1d8780944a62d94f79acf7b71b07bccd70934be176a31bb44328e16"},{"version":"6b72071c318f9d58e578adb9b1fc7e8efbcd97ac06d7a5ebe664aaeb7203ea89","signature":"8ca64610bb38e31a24b92d1cbaa1fed6150bc3ea77a43b1bbda8478a356eaf8b"},{"version":"df8f01a1ba4f3369c8b15d38fb6a9f0fd839e34ef76904deab2aaf996740aac8","signature":"b91d086d99300009fd42a09c07971ccbdc42d8ad2f92e6991fe16dc6a59a20f5"},{"version":"72cb034a46d7ab7bc377e5492915bd65baceac0fa3f960861c52e5a166818f7d","signature":"f050bc3aefd3841cd01f8ae29fa09bf78246975c5983da82a5d34a35bc342e84"},{"version":"2319a6f113ef4cc739b0144f40434149fc6b681af1c7a0868c347c167cf21285","signature":"309de51e4d0b348939ba9d776c0ba208b4d4b8347de072a8af7ea43d6339233a"},{"version":"d52ff004bb7cd1c00d0a179f4b0893ddf84cdafc6830b2ceafc814804dfff9a5","signature":"4d71e33886aa72fef5fe425d76a3557f6553ee0b08863733656d58b91b8a6e77"},{"version":"c7b93e1b93c8a738763ad4faa9c78302ccd8a06641037582bd935b8eb1aacce3","signature":"d2951601eea48e682032e8c5bd5e7a70c64abe03a57a0573abdea62100e38f82"},{"version":"abf157af4c9f3385a2f62d2fd751d67e868bd66bde489ca17d8bea83bfe0e9e5","signature":"3244739232ed0f77eb4aa4cd9af4feddcf5c3eabdf4f6c3388a5a75569935adb"},{"version":"10264fe1de3f0382802714f56b647344e758d682320b9605b0cd133a5322b7eb","signature":"027a0b75ecc4aca51f293dab58d070cd0d844e64c1557fcefa3581617f0b9733"},{"version":"3f4f97806466e0c4f906c8acbdd8f272362a2f6ccd18bbfdbb0886b4f44a9015","signature":"fb0ac8ea5e50c65d0a51af06faa24b82ce90fdbd2ef6ce6db5d773433e4c1b1a"},{"version":"fb82dc4ee7474b17ee18f8f486c72dc08d4a4a58de1fa5bd848f605dc35aea56","signature":"4dfc999d370f6f4e1172db031360eb34235ed377f9556010e0abba18df13a4be"},{"version":"7bc4d01db2f1ddfa2e7df8296e45b5f4403acb4acc46b8fd9a558308c58ede73","signature":"ed5b0fb47fcfa158461fd0d3dad57a8c0ddc976112798b8cfbfcf68e43550a35"},{"version":"1595db0c3abc543ff883ee0aa1b929aa8e86c03a5f19c5448a54f179064cc239","signature":"261ef4a665f5a6e9e28dfee9c2937d46b3b4958aad127d1d21b22b38a5a21449"},{"version":"1bb614fee833c30ffdc7ccac0743f50bc58ad8da274759973b1f8ee223a5f482","signature":"658f275e39f25ec9655c143d4604e7aca92cbd4725466976160f1b1d82e22096"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[70,84]],"options":{"allowJs":true,"checkJs":true,"declaration":true,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[85],[120],[121,126,154],[122,133,134,141,151,162],[122,123,133,141],[124,163],[125,126,134,142],[126,151,159],[127,129,133,141],[120,128],[129,130],[133],[131,133],[120,133],[133,134,135,151,162],[133,134,135,148,151,154],[118,121,167],[129,133,136,141,151,162],[133,134,136,137,141,151,159,162],[136,138,151,159,162],[85,86,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[133,139],[140,162,167],[129,133,141,151],[142],[143],[120,144],[145,161,167],[146],[147],[133,148,149],[148,150,163,165],[121,133,151,152,153,154],[121,151,153],[151,152],[154],[155],[120,151],[133,157,158],[157,158],[126,141,151,159],[160],[141,161],[121,136,147,162],[126,163],[151,164],[140,165],[166],[121,126,133,135,144,151,162,165,167],[151,168],[95,99,162],[95,151,162],[90],[92,95,159,162],[141,159],[170],[90,170],[92,95,141,162],[87,88,91,94,121,133,151,162],[87,93],[91,95,121,154,162,170],[121,170],[111,121,170],[89,90,170],[95],[89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117],[95,102,103],[93,95,103,104],[94],[87,90,95],[95,99,103,104],[99],[93,95,98,162],[87,92,93,95,99,102],[121,151],[90,95,111,121,167,170],[71,73,74],[77],[70,71,72,73],[71],[70,71],[71,72],[70]],"referencedMap":[[85,1],[86,1],[120,2],[121,3],[122,4],[123,5],[124,6],[125,7],[126,8],[127,9],[128,10],[129,11],[130,11],[132,12],[131,13],[133,14],[134,15],[135,16],[119,17],[136,18],[137,19],[138,20],[170,21],[139,22],[140,23],[141,24],[142,25],[143,26],[144,27],[145,28],[146,29],[147,30],[148,31],[149,31],[150,32],[151,33],[153,34],[152,35],[154,36],[155,37],[156,38],[157,39],[158,40],[159,41],[160,42],[161,43],[162,44],[163,45],[164,46],[165,47],[166,48],[167,49],[168,50],[102,51],[109,52],[101,51],[116,53],[93,54],[92,55],[115,56],[110,57],[113,58],[95,59],[94,60],[90,61],[89,62],[112,63],[91,64],[96,65],[100,65],[118,66],[117,65],[104,67],[105,68],[107,69],[103,70],[106,71],[111,56],[98,72],[99,73],[108,74],[88,75],[114,76],[83,77],[84,78],[74,79],[77,80],[72,81],[80,82],[71,83]],"exportedModulesMap":[[85,1],[86,1],[120,2],[121,3],[122,4],[123,5],[124,6],[125,7],[126,8],[127,9],[128,10],[129,11],[130,11],[132,12],[131,13],[133,14],[134,15],[135,16],[119,17],[136,18],[137,19],[138,20],[170,21],[139,22],[140,23],[141,24],[142,25],[143,26],[144,27],[145,28],[146,29],[147,30],[148,31],[149,31],[150,32],[151,33],[153,34],[152,35],[154,36],[155,37],[156,38],[157,39],[158,40],[159,41],[160,42],[161,43],[162,44],[163,45],[164,46],[165,47],[166,48],[167,49],[168,50],[102,51],[109,52],[101,51],[116,53],[93,54],[92,55],[115,56],[110,57],[113,58],[95,59],[94,60],[90,61],[89,62],[112,63],[91,64],[96,65],[100,65],[118,66],[117,65],[104,67],[105,68],[107,69],[103,70],[106,71],[111,56],[98,72],[99,73],[108,74],[88,75],[114,76],[83,80],[74,80],[77,80],[72,80],[80,80],[71,83]],"semanticDiagnosticsPerFile":[85,86,120,121,122,123,124,125,126,127,128,129,130,132,131,133,134,135,119,169,136,137,138,170,139,140,141,142,143,144,145,146,147,148,149,150,151,153,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,68,69,12,13,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,11,66,64,63,67,65,102,109,101,116,93,92,115,110,113,95,94,90,89,112,91,96,97,100,87,118,117,104,105,107,103,106,111,98,99,108,88,114,82,83,84,74,70,75,76,77,72,73,78,79,80,81,71]},"version":"5.4.2"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.object.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/constants.ts","../src/maths.ts","../src/types.ts","../src/geometry.ts","../src/colors.ts","../src/dom.ts","../src/files.ts","../src/functions.ts","../src/prng.ts","../src/query.ts","../src/random.ts","../src/strings.ts","../src/extras/_/pool.ts","../src/extras/color-scale/colorscale.ts","../src/extras/curves/curve.ts","../src/extras/curves/ellipsecurve.ts","../src/extras/curves/arccurve.ts","../src/extras/curves/catmulromcurve.ts","../src/extras/curves/cubicbeziercurve.ts","../src/extras/curves/linecurve.ts","../src/extras/curves/polylinecurve.ts","../src/extras/curves/quadraticbeziercurve.ts","../src/extras/curves/splinecurve.ts","../src/extras/curves/pathcurve.ts","../src/extras/curves/path.ts","../src/extras/curves/pathsvg.ts","../src/extras/curves/index.ts","../src/extras/frame-rate/framerate.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"0b5543efa3708890037db1c498348480750da585aa68de14cc274b3fb2450fdf","signature":"b09b7483b49137f8227014171e19edd1727f2f1cc79b0cb0881653fcbace37d2"},{"version":"df8f01a1ba4f3369c8b15d38fb6a9f0fd839e34ef76904deab2aaf996740aac8","signature":"b91d086d99300009fd42a09c07971ccbdc42d8ad2f92e6991fe16dc6a59a20f5"},{"version":"5d8887330d5dff8802b2e4b23e589a1a34c924a04009124cbe5cca5e91b28148","signature":"72268e5532c2ea61f4eabbeb5daacddb75a33532828bbb7b9f20adec0bc84104"},{"version":"005142ff7f4717c16d95a6c19a376998ba8204bd4315be7086fb5ff434c3252a","signature":"6a35db261adeaa4aa547f92ab6da3c2b1626b31c589127c553ef0cddce9110be"},{"version":"72cb034a46d7ab7bc377e5492915bd65baceac0fa3f960861c52e5a166818f7d","signature":"f050bc3aefd3841cd01f8ae29fa09bf78246975c5983da82a5d34a35bc342e84"},{"version":"2319a6f113ef4cc739b0144f40434149fc6b681af1c7a0868c347c167cf21285","signature":"309de51e4d0b348939ba9d776c0ba208b4d4b8347de072a8af7ea43d6339233a"},{"version":"d52ff004bb7cd1c00d0a179f4b0893ddf84cdafc6830b2ceafc814804dfff9a5","signature":"4d71e33886aa72fef5fe425d76a3557f6553ee0b08863733656d58b91b8a6e77"},{"version":"c7b93e1b93c8a738763ad4faa9c78302ccd8a06641037582bd935b8eb1aacce3","signature":"d2951601eea48e682032e8c5bd5e7a70c64abe03a57a0573abdea62100e38f82"},{"version":"9bdbd8a6f0544b0b5559ca7f9628a6a27738fa40ba2af87844ecd6c7e44db273","signature":"3244739232ed0f77eb4aa4cd9af4feddcf5c3eabdf4f6c3388a5a75569935adb"},{"version":"10264fe1de3f0382802714f56b647344e758d682320b9605b0cd133a5322b7eb","signature":"027a0b75ecc4aca51f293dab58d070cd0d844e64c1557fcefa3581617f0b9733"},{"version":"4e0794fad0af9321fb78d7efe85562bd53191d89a9af1e673f5d4080d38db786","signature":"39b7bfe60081eb877c88b1609522e4ebeef98e8a6b992984c09e1b03a69d3968"},{"version":"fb82dc4ee7474b17ee18f8f486c72dc08d4a4a58de1fa5bd848f605dc35aea56","signature":"4dfc999d370f6f4e1172db031360eb34235ed377f9556010e0abba18df13a4be"},{"version":"7bc4d01db2f1ddfa2e7df8296e45b5f4403acb4acc46b8fd9a558308c58ede73","signature":"ed5b0fb47fcfa158461fd0d3dad57a8c0ddc976112798b8cfbfcf68e43550a35"},{"version":"f5ca66f95a3e693ff8a7bc64922f29b98d9fec6121a7eebae6eabdff7cea67c7","signature":"173710da8446bfa5fa769e326a38fd82af379f5e0edc094261de8f78c798c602"},{"version":"7e662d1e5a1e9d683f5b12198fadfd01a2a70d3fa96d096d934cd75de286c1bc","signature":"921ab578608bbb40afe99f9348ce1cbd3c06cb8a377f48088b458b25586f7b04"},{"version":"7214c093eb9d765dcaf2a19c0a37f49b8fc60f9311c3247db4d3cffcb796d411","signature":"e44bc3ea2df5e6c68c5169ce3abbdef697bd8a415cecefbb8065f6da147dd6c7"},{"version":"7724031617de700cd1fe194cee07033f5e710f310c2cdc375095faab0ec07623","signature":"9a6808b8984e8683b1ba3a3df120dea2e27663ea28f699af635944781406a128"},{"version":"2a538ed8278da9c25b3a375eec2cf61267988e7c57db55526bc1ec04a656ff1a","signature":"20367b3c9a5946dbc49b24985b77bed14ff43bc2dea00e1d90af43f426944e0b"},{"version":"4bc86c567a3a945d0c4c8fa978e777d0289f994af2752dcbf62d0486f2baf1e8","signature":"3b476317ea1a2ee70f2e2ba52f18f97e9a98422fbac50d9b5a96fb4094937a86"},{"version":"fea4c6f3a7a08edd472535f6cf312fb8fdb3f10fcc5fd063ffb35fb67694126f","signature":"279cd80defc8ac640d6f5fad9de6a156b76a3e9138f053b1085ade4d918dde1c"},{"version":"cb01b9cc15977b7df3a53c463ba9bab800719b9ca85a6dfd324372850ee51f14","signature":"8af8fadad2b5837ccfb43e97868c3cab16dd21d99c0119251908fa4cf534a4f7"},{"version":"fe051da3e060d0a41d2acbf729c997348e9cef0a7903d254b3c85d9e44275af7","signature":"94a901cc3abc952b539f23c05c039de7414a0779e7f67e879922ca6d1de9d59e"},{"version":"f311e1ae3666cd395d39a2b91ce9f3ae49a5cce569e59919e8989a5241cfbbb6","signature":"162341fe9f2a0618a53a102a59e6740cfd6eb194402e73d966134822f487e594"},{"version":"4b05fc2ac880f919c44151444b4c6fa07e490ba60e11837504a1e5b667b93f4c","signature":"08641d416a2c27da61df94583c712942d2ab0ff46810f98150d92fdb5ca0917b"},{"version":"038e6a70452dc62892fd3ec8880b2f520b1cc368d6408b0007f3da7a6e9ef71d","signature":"93f3aac13c4584105180b0857c93a1b871526d6ff464498b4ed30c0e9076541d"},{"version":"ad6d291ea630054608301af06dedf4857338fa8dd3437169eb30fc7a250543ea","signature":"e87c18bd126fb1c5151375d1c08fd033e98b5d591e17fd3d6d84498b232a0ad9"},{"version":"f55165a03af30e59d87bce7fb399a994cdc5c3d5af7e747730591254f1a97662","signature":"3d84f3fc1c75db463d56ee0270d06f4c35f1d2c524c5683375897a331fa2e326"},{"version":"e83cc6f6705227b746d902395a6a8c24f7de864a0f156b3924bfbb901969dc3b","signature":"658f275e39f25ec9655c143d4604e7aca92cbd4725466976160f1b1d82e22096"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[70,97]],"options":{"allowJs":true,"checkJs":true,"declaration":true,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[98],[133],[134,139,167],[135,146,147,154,164,175],[135,136,146,154],[137,176],[138,139,147,155],[139,164,172],[140,142,146,154],[133,141],[142,143],[146],[144,146],[133,146],[146,147,148,164,175],[146,147,148,161,164,167],[131,134,180],[142,146,149,154,164,175],[146,147,149,150,154,164,172,175],[149,151,164,172,175],[98,99,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182],[146,152],[153,175,180],[142,146,154,164],[155],[156],[133,157],[158,174,180],[159],[160],[146,161,162],[161,163,176,178],[134,146,164,165,166,167],[134,164,166],[164,165],[167],[168],[133,164],[146,170,171],[170,171],[139,154,164,172],[173],[154,174],[134,149,160,175],[139,176],[164,177],[153,178],[179],[134,139,146,148,157,164,175,178,180],[164,181],[108,112,175],[108,164,175],[103],[105,108,172,175],[154,172],[183],[103,183],[105,108,154,175],[100,101,104,107,134,146,164,175],[100,106],[104,108,134,167,175,183],[134,183],[124,134,183],[102,103,183],[108],[102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,125,126,127,128,129,130],[108,115,116],[106,108,116,117],[107],[100,103,108],[108,112,116,117],[112],[106,108,111,175],[100,105,106,108,112,115],[134,164],[103,108,124,134,180,183],[70,71,72,73],[71,72,74],[85],[72,73,84],[72,73],[84,85,86,87,88,89,90,91,92,93,94,95],[70,72,73,85,86,87,88,89,90,91,92,93],[72,73,84,89,92],[70,72,73,85,86,87,90,92,94],[77],[72],[70,71,72],[70],[72,84],[72,93],[72,94]],"referencedMap":[[98,1],[99,1],[133,2],[134,3],[135,4],[136,5],[137,6],[138,7],[139,8],[140,9],[141,10],[142,11],[143,11],[145,12],[144,13],[146,14],[147,15],[148,16],[132,17],[149,18],[150,19],[151,20],[183,21],[152,22],[153,23],[154,24],[155,25],[156,26],[157,27],[158,28],[159,29],[160,30],[161,31],[162,31],[163,32],[164,33],[166,34],[165,35],[167,36],[168,37],[169,38],[170,39],[171,40],[172,41],[173,42],[174,43],[175,44],[176,45],[177,46],[178,47],[179,48],[180,49],[181,50],[115,51],[122,52],[114,51],[129,53],[106,54],[105,55],[128,56],[123,57],[126,58],[108,59],[107,60],[103,61],[102,62],[125,63],[104,64],[109,65],[113,65],[131,66],[130,65],[117,67],[118,68],[120,69],[116,70],[119,71],[124,56],[111,72],[112,73],[121,74],[101,75],[127,76],[74,77],[83,78],[86,79],[87,80],[88,80],[84,81],[85,80],[96,82],[89,80],[94,83],[93,84],[95,85],[90,80],[91,80],[92,80],[97,86],[77,87],[73,88],[80,81],[72,89]],"exportedModulesMap":[[98,1],[99,1],[133,2],[134,3],[135,4],[136,5],[137,6],[138,7],[139,8],[140,9],[141,10],[142,11],[143,11],[145,12],[144,13],[146,14],[147,15],[148,16],[132,17],[149,18],[150,19],[151,20],[183,21],[152,22],[153,23],[154,24],[155,25],[156,26],[157,27],[158,28],[159,29],[160,30],[161,31],[162,31],[163,32],[164,33],[166,34],[165,35],[167,36],[168,37],[169,38],[170,39],[171,40],[172,41],[173,42],[174,43],[175,44],[176,45],[177,46],[178,47],[179,48],[180,49],[181,50],[115,51],[122,52],[114,51],[129,53],[106,54],[105,55],[128,56],[123,57],[126,58],[108,59],[107,60],[103,61],[102,62],[125,63],[104,64],[109,65],[113,65],[131,66],[130,65],[117,67],[118,68],[120,69],[116,70],[119,71],[124,56],[111,72],[112,73],[121,74],[101,75],[127,76],[74,87],[83,87],[86,79],[87,90],[88,90],[84,87],[85,90],[96,82],[89,90],[94,91],[93,90],[95,92],[90,90],[91,90],[92,90],[77,87],[73,87],[80,87],[72,89]],"semanticDiagnosticsPerFile":[98,99,133,134,135,136,137,138,139,140,141,142,143,145,144,146,147,148,132,182,149,150,151,183,152,153,154,155,156,157,158,159,160,161,162,163,164,166,165,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,68,69,12,13,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,11,66,64,63,67,65,115,122,114,129,106,105,128,123,126,108,107,103,102,125,104,109,110,113,100,131,130,117,118,120,116,119,124,111,112,121,101,127,74,70,75,82,83,86,87,88,84,85,96,89,94,93,95,90,91,92,97,76,77,73,71,78,79,80,81,72]},"version":"5.4.2"}
package/lib/types.d.ts CHANGED
@@ -6,13 +6,6 @@ export interface Deferred<T> {
6
6
  resolve: (value: T | PromiseLike<T>) => void;
7
7
  reject: (reason?: unknown) => void;
8
8
  }
9
- export type Vector2 = {
10
- x: number;
11
- y: number;
12
- };
13
- export type Vector3 = Vector2 & {
14
- z: number;
15
- };
16
- export type Vector4 = Vector3 & {
17
- w: number;
18
- };
9
+ export type Point = [number, number];
10
+ export type Point2 = [number, number];
11
+ export type Point3 = [number, number, number];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toosoon-utils",
3
- "version": "4.0.5",
3
+ "version": "4.1.0",
4
4
  "description": "Utility functions & classes",
5
5
  "type": "module",
6
6
  "engines": {
@@ -20,8 +20,9 @@
20
20
  "./random": "./lib/random.js",
21
21
  "./strings": "./lib/strings.js",
22
22
  "./constants": "./lib/constants.js",
23
- "./color-scale": "./lib/classes/color-scale.js",
24
- "./frame-rate": "./lib/classes/frame-rate.js"
23
+ "./extras/curves": "./lib/extras/curves/index.js",
24
+ "./extras/color-scale": "./lib/extras/color-scale/ColorScale.js",
25
+ "./extras/frame-rate": "./lib/extras/frame-rate/FrameRate.js"
25
26
  },
26
27
  "scripts": {
27
28
  "build": "npx tsc",
File without changes
File without changes