@woosh/meep-engine 2.108.0 → 2.108.2

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 (102) hide show
  1. package/build/meep.cjs +178 -127
  2. package/build/meep.min.js +1 -1
  3. package/build/meep.module.js +178 -127
  4. package/editor/tools/paint/TerrainHeightPaintTool.js +5 -5
  5. package/package.json +1 -1
  6. package/src/core/binary/float_to_uint8.d.ts +7 -0
  7. package/src/core/binary/float_to_uint8.d.ts.map +1 -0
  8. package/src/core/binary/{float2uint8.js → float_to_uint8.js} +1 -1
  9. package/src/core/binary/uint8_to_float.d.ts +7 -0
  10. package/src/core/binary/uint8_to_float.d.ts.map +1 -0
  11. package/src/core/binary/{uint82float.js → uint8_to_float.js} +1 -1
  12. package/src/core/binary/uint8_to_float.spec.d.ts +2 -0
  13. package/src/core/binary/uint8_to_float.spec.d.ts.map +1 -0
  14. package/src/core/binary/uint8_to_float.spec.js +7 -0
  15. package/src/core/codegen/codeToBlob.d.ts +8 -0
  16. package/src/core/codegen/codeToBlob.d.ts.map +1 -0
  17. package/src/core/codegen/codeToBlob.js +36 -0
  18. package/src/core/codegen/codeToURL.d.ts +8 -0
  19. package/src/core/codegen/codeToURL.d.ts.map +1 -0
  20. package/src/core/codegen/codeToURL.js +22 -0
  21. package/src/core/collection/array/array_shuffle.d.ts +8 -0
  22. package/src/core/collection/array/array_shuffle.d.ts.map +1 -0
  23. package/src/core/collection/array/array_shuffle.js +22 -0
  24. package/src/core/collection/array/array_shuffle.spec.d.ts +2 -0
  25. package/src/core/collection/array/array_shuffle.spec.d.ts.map +1 -0
  26. package/src/core/collection/array/{randomizeArrayElementOrder.spec.js → array_shuffle.spec.js} +4 -4
  27. package/src/core/collection/array/iterator/ArrayIteratorRandom.js +2 -2
  28. package/src/core/collection/array/randomMultipleFromArray.js +2 -2
  29. package/src/core/color/Color.js +9 -9
  30. package/src/core/color/hsv/hsv2rgb.js +4 -4
  31. package/src/core/color/rgb2uint24.js +4 -4
  32. package/src/core/color/sRGB/linear_to_sRGB.d.ts +1 -0
  33. package/src/core/color/sRGB/linear_to_sRGB.d.ts.map +1 -1
  34. package/src/core/color/sRGB/linear_to_sRGB.js +4 -4
  35. package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
  36. package/src/core/geom/3d/aabb/AABB3.js +4 -1
  37. package/src/core/geom/3d/aabb/aabb3_intersects_ray.js +3 -3
  38. package/src/core/geom/3d/shape/UnitSphereShape3D.d.ts.map +1 -1
  39. package/src/core/geom/3d/shape/UnitSphereShape3D.js +14 -14
  40. package/src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.d.ts.map +1 -1
  41. package/src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.js +2 -0
  42. package/src/core/geom/Vector3.js +3 -3
  43. package/src/core/geom/random/randomPointInSphere.d.ts +1 -1
  44. package/src/core/geom/random/randomPointInSphere.js +2 -2
  45. package/src/core/geom/random/randomPointOnSphere.d.ts +3 -3
  46. package/src/core/geom/random/randomPointOnSphere.d.ts.map +1 -1
  47. package/src/core/geom/random/randomPointOnSphere.js +5 -9
  48. package/src/core/process/task/util/randomCountTask.js +3 -3
  49. package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
  50. package/src/core/process/worker/WorkerBuilder.js +5 -35
  51. package/src/engine/EngineHarness.d.ts.map +1 -1
  52. package/src/engine/EngineHarness.js +7 -1
  53. package/src/engine/asset/loaders/ArrayBufferLoader.d.ts.map +1 -1
  54. package/src/engine/asset/loaders/ArrayBufferLoader.js +17 -10
  55. package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.d.ts.map +1 -1
  56. package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.js +3 -0
  57. package/src/engine/ecs/terrain/overlay/TerrainOverlay.js +4 -4
  58. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
  59. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +4 -0
  60. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +1 -1
  61. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +7 -7
  62. package/src/engine/graphics/impostors/octahedral/bake/prepare_bake_material.js +3 -3
  63. package/src/engine/graphics/sh3/SH3VisualisationMaterial.d.ts.map +1 -1
  64. package/src/engine/graphics/sh3/SH3VisualisationMaterial.js +9 -6
  65. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts.map +1 -1
  66. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +4 -5
  67. package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +14 -6
  68. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples.d.ts +10 -0
  69. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples.d.ts.map +1 -0
  70. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples.js +20 -0
  71. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples_2d.d.ts +10 -0
  72. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples_2d.d.ts.map +1 -0
  73. package/src/engine/graphics/sh3/path_tracer/sampling/generate_stratified_samples_2d.js +31 -0
  74. package/src/engine/graphics/sh3/path_tracer/sampling/make_stratified_sample.d.ts +9 -0
  75. package/src/engine/graphics/sh3/path_tracer/sampling/make_stratified_sample.d.ts.map +1 -0
  76. package/src/engine/graphics/sh3/path_tracer/sampling/make_stratified_sample.js +21 -0
  77. package/src/engine/graphics/sh3/path_tracer/texture/sample_material.js +1 -1
  78. package/src/engine/graphics/sh3/path_tracer/texture/sample_texture.d.ts.map +1 -1
  79. package/src/engine/graphics/sh3/path_tracer/texture/sample_texture.js +2 -3
  80. package/src/engine/graphics/sh3/path_tracer/vec3_uint8_to_float.js +4 -4
  81. package/src/engine/graphics/sh3/prototypeSH3Probe.js +74 -6
  82. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  83. package/src/engine/graphics/texture/sampler/Sampler2D.js +2 -2
  84. package/src/engine/network/convertPathToURL.d.ts +3 -1
  85. package/src/engine/network/convertPathToURL.d.ts.map +1 -1
  86. package/src/engine/network/convertPathToURL.js +68 -51
  87. package/src/engine/physics/fluid/SliceVisualiser.d.ts.map +1 -1
  88. package/src/engine/physics/fluid/SliceVisualiser.js +4 -4
  89. package/src/generation/filtering/numeric/CellFilterCache.d.ts.map +1 -1
  90. package/src/generation/filtering/numeric/CellFilterCache.js +1 -0
  91. package/src/core/binary/float2uint8.d.ts +0 -7
  92. package/src/core/binary/float2uint8.d.ts.map +0 -1
  93. package/src/core/binary/uint82float.d.ts +0 -7
  94. package/src/core/binary/uint82float.d.ts.map +0 -1
  95. package/src/core/binary/uint82float.spec.d.ts +0 -2
  96. package/src/core/binary/uint82float.spec.d.ts.map +0 -1
  97. package/src/core/binary/uint82float.spec.js +0 -7
  98. package/src/core/collection/array/randomizeArrayElementOrder.d.ts +0 -8
  99. package/src/core/collection/array/randomizeArrayElementOrder.d.ts.map +0 -1
  100. package/src/core/collection/array/randomizeArrayElementOrder.js +0 -24
  101. package/src/core/collection/array/randomizeArrayElementOrder.spec.d.ts +0 -2
  102. package/src/core/collection/array/randomizeArrayElementOrder.spec.d.ts.map +0 -1
@@ -0,0 +1,36 @@
1
+ import { assert } from "../assert.js";
2
+
3
+ /**
4
+ *
5
+ * @param {string} code
6
+ * @param {string} [mime_type]
7
+ * @return {Blob}
8
+ */
9
+ export function codeToBlob(code, mime_type = 'application/javascript') {
10
+ assert.isString(code, 'code');
11
+ assert.isString(mime_type, 'mime_type');
12
+
13
+ let blob;
14
+
15
+ if (typeof globalThis.Blob !== "undefined") {
16
+ blob = new Blob([code], { type: mime_type });
17
+ } else {
18
+ // Backwards-compatibility
19
+ const BlobBuilder = globalThis.BlobBuilder
20
+ || globalThis.BlobBuilder
21
+ || globalThis.WebKitBlobBuilder
22
+ || globalThis.MozBlobBuilder;
23
+
24
+ if (BlobBuilder !== undefined) {
25
+ blob = new BlobBuilder();
26
+ blob.append(code);
27
+ blob = blob.getBlob();
28
+ } else {
29
+ throw new Error(`No BlobBuilder interface supported in current context`);
30
+ }
31
+
32
+ }
33
+
34
+
35
+ return blob;
36
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ *
3
+ * @param {string} code
4
+ * @param {string} [mime_type]
5
+ * @return {string}
6
+ */
7
+ export function codeToURL(code: string, mime_type?: string): string;
8
+ //# sourceMappingURL=codeToURL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeToURL.d.ts","sourceRoot":"","sources":["../../../../src/core/codegen/codeToURL.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,gCAJW,MAAM,cACN,MAAM,GACL,MAAM,CAcjB"}
@@ -0,0 +1,22 @@
1
+ import { assert } from "../assert.js";
2
+ import { codeToBlob } from "./codeToBlob.js";
3
+
4
+ /**
5
+ *
6
+ * @param {string} code
7
+ * @param {string} [mime_type]
8
+ * @return {string}
9
+ */
10
+ export function codeToURL(code, mime_type = 'application/javascript') {
11
+ assert.isString(code, 'code');
12
+ assert.isString(mime_type, 'mime_type');
13
+
14
+ const blob = codeToBlob(code, mime_type);
15
+
16
+ if (blob !== undefined && URL.createObjectURL !== undefined) {
17
+ return URL.createObjectURL(blob);
18
+ } else {
19
+ // build data URL in a slowest way possible
20
+ return `data:${mime_type},${encodeURIComponent(code)}`;
21
+ }
22
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Randomly re-orders items in-place
3
+ * @template T
4
+ * @param {function} random
5
+ * @param {T[]} array
6
+ */
7
+ export function array_shuffle<T>(random: Function, array: T[]): void;
8
+ //# sourceMappingURL=array_shuffle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array_shuffle.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/array/array_shuffle.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,qEAYC"}
@@ -0,0 +1,22 @@
1
+ import { randomIntegerBetween } from "../../math/random/randomIntegerBetween.js";
2
+ import { array_swap_one } from "./array_swap_one.js";
3
+
4
+ /**
5
+ * Randomly re-orders items in-place
6
+ * @template T
7
+ * @param {function} random
8
+ * @param {T[]} array
9
+ */
10
+ export function array_shuffle(random, array) {
11
+ const n = array.length;
12
+
13
+ for (let source_index = 0; source_index < n; source_index++) {
14
+ const target_index = randomIntegerBetween(random, 0, n - (source_index + 1));
15
+
16
+ if (target_index === source_index) {
17
+ continue;
18
+ }
19
+
20
+ array_swap_one(array, source_index, target_index);
21
+ }
22
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=array_shuffle.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array_shuffle.spec.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/array/array_shuffle.spec.js"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { randomizeArrayElementOrder } from "./randomizeArrayElementOrder.js";
1
+ import { array_shuffle } from "./array_shuffle.js";
2
2
 
3
3
  test("sanity", () => {
4
4
 
@@ -6,19 +6,19 @@ test("sanity", () => {
6
6
 
7
7
  const a = [];
8
8
 
9
- randomizeArrayElementOrder(random, a);
9
+ array_shuffle(random, a);
10
10
 
11
11
  expect(a).toEqual([]);
12
12
 
13
13
  const b = [1];
14
14
 
15
- randomizeArrayElementOrder(random, b);
15
+ array_shuffle(random, b);
16
16
 
17
17
  expect(b).toEqual([1]);
18
18
 
19
19
  const c = [1, 2, 3];
20
20
 
21
- randomizeArrayElementOrder(random, c);
21
+ array_shuffle(random, c);
22
22
 
23
23
  expect(c.length).toBe(3);
24
24
  expect(c).toContain(1);
@@ -1,5 +1,5 @@
1
1
  import { seededRandom } from "../../../math/random/seededRandom.js";
2
- import { randomizeArrayElementOrder } from "../randomizeArrayElementOrder.js";
2
+ import { array_shuffle } from "../array_shuffle.js";
3
3
  import { AbstractArrayIterator } from "./AbstractArrayIterator.js";
4
4
 
5
5
  export class ArrayIteratorRandom extends AbstractArrayIterator {
@@ -29,7 +29,7 @@ export class ArrayIteratorRandom extends AbstractArrayIterator {
29
29
  this.__sequence[i] = i;
30
30
  }
31
31
 
32
- randomizeArrayElementOrder(this.__random, this.__sequence);
32
+ array_shuffle(this.__random, this.__sequence);
33
33
 
34
34
  this.__i = 0;
35
35
  }
@@ -1,5 +1,5 @@
1
- import { randomizeArrayElementOrder } from "./randomizeArrayElementOrder.js";
2
1
  import { min2 } from "../../math/min2.js";
2
+ import { array_shuffle } from "./array_shuffle.js";
3
3
 
4
4
  /**
5
5
  * Pick multiple random items from an array
@@ -20,7 +20,7 @@ export function randomMultipleFromArray(random, source, target, count) {
20
20
  order[i] = i;
21
21
  }
22
22
 
23
- randomizeArrayElementOrder(random, order);
23
+ array_shuffle(random, order);
24
24
 
25
25
  const target_length = min2(source_length, count);
26
26
 
@@ -1,6 +1,6 @@
1
1
  import { assert } from "../assert.js";
2
- import { float2uint8 } from "../binary/float2uint8.js";
3
- import { uint82float } from "../binary/uint82float.js";
2
+ import { float_to_uint8 } from "../binary/float_to_uint8.js";
3
+ import { uint8_to_float } from "../binary/uint8_to_float.js";
4
4
  import Signal from "../events/signal/Signal.js";
5
5
  import { clamp01 } from "../math/clamp01.js";
6
6
  import { lerp } from "../math/lerp.js";
@@ -152,9 +152,9 @@ export class Color {
152
152
  */
153
153
  setRGBUint8(r, g, b) {
154
154
  this.setRGB(
155
- uint82float(r),
156
- uint82float(g),
157
- uint82float(b),
155
+ uint8_to_float(r),
156
+ uint8_to_float(g),
157
+ uint8_to_float(b),
158
158
  )
159
159
  }
160
160
 
@@ -462,9 +462,9 @@ export class Color {
462
462
  */
463
463
  toHex() {
464
464
  return '#' + rgb2hex(
465
- float2uint8(this.r),
466
- float2uint8(this.g),
467
- float2uint8(this.b)
465
+ float_to_uint8(this.r),
466
+ float_to_uint8(this.g),
467
+ float_to_uint8(this.b)
468
468
  );
469
469
  }
470
470
 
@@ -473,7 +473,7 @@ export class Color {
473
473
  * @returns {string}
474
474
  */
475
475
  toCssRGBAString() {
476
- return `rgba(${float2uint8(this.r)},${float2uint8(this.g)},${float2uint8(this.b)},${this.a})`;
476
+ return `rgba(${float_to_uint8(this.r)},${float_to_uint8(this.g)},${float_to_uint8(this.b)},${this.a})`;
477
477
  }
478
478
 
479
479
  /**
@@ -1,5 +1,5 @@
1
+ import { float_to_uint8 } from "../../binary/float_to_uint8.js";
1
2
  import { clamp01 } from "../../math/clamp01.js";
2
- import { float2uint8 } from "../../binary/float2uint8.js";
3
3
 
4
4
  /**
5
5
  *
@@ -52,9 +52,9 @@ export function hsv2rgb(h, s, v) {
52
52
  break;
53
53
  }
54
54
  return {
55
- r: float2uint8(r),
56
- g: float2uint8(g),
57
- b: float2uint8(b)
55
+ r: float_to_uint8(r),
56
+ g: float_to_uint8(g),
57
+ b: float_to_uint8(b)
58
58
  };
59
59
  }
60
60
 
@@ -1,4 +1,4 @@
1
- import { float2uint8 } from "../binary/float2uint8.js";
1
+ import { float_to_uint8 } from "../binary/float_to_uint8.js";
2
2
 
3
3
  /**
4
4
  *
@@ -8,9 +8,9 @@ import { float2uint8 } from "../binary/float2uint8.js";
8
8
  * @returns {number}
9
9
  */
10
10
  export function rgb2uint24(r, g, b) {
11
- const _r = float2uint8(r);
12
- const _g = float2uint8(g);
13
- const _b = float2uint8(b);
11
+ const _r = float_to_uint8(r);
12
+ const _g = float_to_uint8(g);
13
+ const _b = float_to_uint8(b);
14
14
 
15
15
  return (_b & 0xFF)
16
16
  | (_g & 0xFF) << 8
@@ -1,3 +1,4 @@
1
+ export function convert_channel_linear_to_sRGB(c: any): number;
1
2
  /**
2
3
  *
3
4
  * @param {number[]|ArrayLike<number>} output
@@ -1 +1 @@
1
- {"version":3,"file":"linear_to_sRGB.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/sRGB/linear_to_sRGB.js"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,uCALW,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,iBAC1B,MAAM,SACN,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,gBAC1B,MAAM,QAahB"}
1
+ {"version":3,"file":"linear_to_sRGB.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/sRGB/linear_to_sRGB.js"],"names":[],"mappings":"AAAA,+DAMC;AAED;;;;;;GAMG;AACH,uCALW,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,iBAC1B,MAAM,SACN,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,gBAC1B,MAAM,QAahB"}
@@ -1,4 +1,4 @@
1
- function convert(c) {
1
+ export function convert_channel_linear_to_sRGB(c) {
2
2
  if (c < 0.0031308) {
3
3
  return c * 12.92;
4
4
  } else {
@@ -21,7 +21,7 @@ export function linear_to_sRGB(
21
21
  const g = input[input_offset + 1];
22
22
  const b = input[input_offset + 2];
23
23
 
24
- output[output_offset] = convert(r);
25
- output[output_offset + 1] = convert(g);
26
- output[output_offset + 2] = convert(b);
24
+ output[output_offset] = convert_channel_linear_to_sRGB(r);
25
+ output[output_offset + 1] = convert_channel_linear_to_sRGB(g);
26
+ output[output_offset + 2] = convert_channel_linear_to_sRGB(b);
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AABB3.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/aabb/AABB3.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AABB3.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/aabb/AABB3.js"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { assert } from "../../../assert.js";
2
+ import Vector3 from "../../Vector3.js";
2
3
  import computeMortonCode from "../morton/Morton.js";
3
4
  import { aabb3_array_intersects_point } from "./aabb3_array_intersects_point.js";
4
5
  import { aabb3_build_corners } from "./aabb3_build_corners.js";
@@ -630,11 +631,13 @@ export class AABB3 {
630
631
  * Get center position of the box
631
632
  * @param {Vector3} target where to write result
632
633
  */
633
- getCenter(target) {
634
+ getCenter(target = new Vector3()) {
634
635
  const x = this.getCenterX();
635
636
  const y = this.getCenterY();
636
637
  const z = this.getCenterZ();
637
638
  target.set(x, y, z);
639
+
640
+ return target;
638
641
  }
639
642
 
640
643
 
@@ -35,7 +35,7 @@ export function aabb3_intersects_ray(
35
35
  const diff_x = origin_x - center_x;
36
36
 
37
37
 
38
- if (diff_x * direction_x >= 0.0 && abs(diff_x) > extents_x) {
38
+ if (diff_x * direction_x >= 0 && abs(diff_x) > extents_x) {
39
39
  return false;
40
40
  }
41
41
 
@@ -47,7 +47,7 @@ export function aabb3_intersects_ray(
47
47
  const diff_y = origin_y - center_y;
48
48
 
49
49
 
50
- if (diff_y * direction_y >= 0.0 && abs(diff_y) > extents_y) {
50
+ if (diff_y * direction_y >= 0 && abs(diff_y) > extents_y) {
51
51
  return false;
52
52
  }
53
53
 
@@ -59,7 +59,7 @@ export function aabb3_intersects_ray(
59
59
  const diff_z = origin_z - center_z;
60
60
 
61
61
 
62
- if (diff_z * direction_z >= 0.0 && abs(diff_z) > extents_z) {
62
+ if (diff_z * direction_z >= 0 && abs(diff_z) > extents_z) {
63
63
  return false;
64
64
  }
65
65
 
@@ -1 +1 @@
1
- {"version":3,"file":"UnitSphereShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/UnitSphereShape3D.js"],"names":[],"mappings":"AAKA;;GAEG;AACH;IACI,qBAEC;IAED,2BAEC;IAED,wCAQC;IAED,4DAYC;IAED,mEAEC;IAED,6CAMC;IAED,oCAMC;IAED,kFAEC;IAED,eAEC;CACJ;;;;gCApE+B,sBAAsB"}
1
+ {"version":3,"file":"UnitSphereShape3D.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/shape/UnitSphereShape3D.js"],"names":[],"mappings":"AAKA;;GAEG;AACH;IACI,qBAEC;IAED,2BAEC;IAED,wCAQC;IAED,4DAYC;IAED,mEAEC;IAED,6CAMC;IAED,oCAMC;IAED,kFAEC;IAED,eAEC;CACJ;;;;gCAlE+B,sBAAsB"}
@@ -1,28 +1,28 @@
1
- import { AbstractShape3D } from "./AbstractShape3D.js";
2
1
  import { randomPointInSphere } from "../../random/randomPointInSphere.js";
3
2
  import { v3_length } from "../../vec3/v3_length.js";
3
+ import { AbstractShape3D } from "./AbstractShape3D.js";
4
4
  import { compute_signed_distance_gradient_by_sampling } from "./util/compute_signed_distance_gradient_by_sampling.js";
5
5
 
6
6
  /**
7
- * Sphere with diameter of 1 (radius = 0.5)
7
+ * Sphere with diameter of 2 (radius = 1)
8
8
  */
9
9
  export class UnitSphereShape3D extends AbstractShape3D {
10
10
  get volume() {
11
- return 0.523598776;
11
+ return (4 / 3) * Math.PI;
12
12
  }
13
13
 
14
14
  get surface_area() {
15
- return 3.14159265;
15
+ return Math.PI * 4;
16
16
  }
17
17
 
18
18
  compute_bounding_box(result) {
19
- result[0] = -0.5;
20
- result[1] = -0.5;
21
- result[2] = -0.5;
19
+ result[0] = -1;
20
+ result[1] = -1;
21
+ result[2] = -1;
22
22
 
23
- result[3] = 0.5;
24
- result[4] = 0.5;
25
- result[5] = 0.5;
23
+ result[3] = 1;
24
+ result[4] = 1;
25
+ result[5] = 1;
26
26
  }
27
27
 
28
28
  nearest_point_on_surface(result, reference) {
@@ -31,8 +31,8 @@ export class UnitSphereShape3D extends AbstractShape3D {
31
31
  const r_y = reference[1];
32
32
  const r_z = reference[2];
33
33
 
34
- // normalize vector to 0.5 radius
35
- const d = 0.5 / Math.hypot(r_x, r_y, r_z);
34
+ // normalize vector to 1 radius
35
+ const d = 1 / Math.hypot(r_x, r_y, r_z);
36
36
 
37
37
  result[0] = r_x * d;
38
38
  result[1] = r_y * d;
@@ -48,7 +48,7 @@ export class UnitSphereShape3D extends AbstractShape3D {
48
48
  point[0],
49
49
  point[1],
50
50
  point[2]
51
- ) - 0.5;
51
+ ) - 1;
52
52
  }
53
53
 
54
54
  contains_point(point) {
@@ -56,7 +56,7 @@ export class UnitSphereShape3D extends AbstractShape3D {
56
56
  const y = point[1];
57
57
  const z = point[2];
58
58
 
59
- return (x * x + y * y + z * z) < 0.25;
59
+ return (x * x + y * y + z * z) < 1;
60
60
  }
61
61
 
62
62
  sample_random_point_in_volume(result, result_offset, random) {
@@ -1 +1 @@
1
- {"version":3,"file":"SH3_COEFFICIENTS.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,+BAFU,YAAY,CAYnB"}
1
+ {"version":3,"file":"SH3_COEFFICIENTS.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/geom/3d/sphere/harmonics/SH3_COEFFICIENTS.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,+BAFU,YAAY,CAcnB"}
@@ -4,9 +4,11 @@
4
4
  */
5
5
  export const SH3_COEFFICIENTS = new Float32Array([
6
6
  0.28209479177387814, // 0: 0 0
7
+
7
8
  -0.4886025119029199, // 1: 1 -1
8
9
  0.4886025119029199, // 2: 1 0
9
10
  -0.4886025119029199, // 3: 1 1
11
+
10
12
  1.0925484305920792, // 4: 2 -2
11
13
  -1.0925484305920792, // 5: 2 -1
12
14
  0.31539156525252005, // 6: 2 0
@@ -796,10 +796,10 @@ class Vector3 {
796
796
  }
797
797
 
798
798
  /**
799
- *
799
+ * Convert spherical coordinates to cartesian
800
800
  * @param {number} radius
801
- * @param {number} phi
802
- * @param {number} theta
801
+ * @param {number} phi Also known as Azimuth
802
+ * @param {number} theta Also known as Elevation
803
803
  */
804
804
  setFromSphericalCoords(radius, phi, theta) {
805
805
  assert.isNumber(radius, 'radius');
@@ -1,5 +1,5 @@
1
1
  /**
2
- *
2
+ * Unit sphere with Radius = 1
3
3
  * @see based on python code suggested here: https://stackoverflow.com/questions/5408276/sampling-uniformly-distributed-random-points-inside-a-spherical-volume
4
4
  * @param {function} random
5
5
  * @param {number[]} result
@@ -1,7 +1,7 @@
1
1
  import { PI2 } from "../../math/PI2.js";
2
2
 
3
3
  /**
4
- *
4
+ * Unit sphere with Radius = 1
5
5
  * @see based on python code suggested here: https://stackoverflow.com/questions/5408276/sampling-uniformly-distributed-random-points-inside-a-spherical-volume
6
6
  * @param {function} random
7
7
  * @param {number[]} result
@@ -17,7 +17,7 @@ export function randomPointInSphere(random, result, result_offset) {
17
17
  const theta = Math.acos(cosTheta);
18
18
 
19
19
  // compute radius
20
- const r = Math.cbrt(u) * 0.5;
20
+ const r = Math.cbrt(u);
21
21
 
22
22
  const sinTheta = Math.sin(theta);
23
23
 
@@ -1,9 +1,9 @@
1
1
  /**
2
- *
2
+ * Unit sphere sampling
3
3
  * @see based on python code suggested here: https://stackoverflow.com/questions/5408276/sampling-uniformly-distributed-random-points-inside-a-spherical-volume
4
4
  * @param {function} random
5
- * @param {number[]} result
5
+ * @param {number[]|Float32Array} result
6
6
  * @param {number} result_offset
7
7
  */
8
- export function randomPointOnSphere(random: Function, result: number[], result_offset: number): void;
8
+ export function randomPointOnSphere(random: Function, result: number[] | Float32Array, result_offset: number): void;
9
9
  //# sourceMappingURL=randomPointOnSphere.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"randomPointOnSphere.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/random/randomPointOnSphere.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,8DAHW,MAAM,EAAE,iBACR,MAAM,QAwBhB"}
1
+ {"version":3,"file":"randomPointOnSphere.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/random/randomPointOnSphere.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,8DAHW,MAAM,EAAE,GAAC,YAAY,iBACrB,MAAM,QAoBhB"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- *
2
+ * Unit sphere sampling
3
3
  * @see based on python code suggested here: https://stackoverflow.com/questions/5408276/sampling-uniformly-distributed-random-points-inside-a-spherical-volume
4
4
  * @param {function} random
5
- * @param {number[]} result
5
+ * @param {number[]|Float32Array} result
6
6
  * @param {number} result_offset
7
7
  */
8
8
  export function randomPointOnSphere(random, result, result_offset) {
@@ -14,14 +14,10 @@ export function randomPointOnSphere(random, result, result_offset) {
14
14
 
15
15
  const sinTheta = Math.sin(theta);
16
16
 
17
- const r = 0.5;
18
-
19
17
  //compute coordinates
20
- const rst = r * sinTheta;
21
-
22
- const x = rst * Math.cos(phi);
23
- const y = rst * Math.sin(phi);
24
- const z = r * cosTheta;
18
+ const x = sinTheta * Math.cos(phi);
19
+ const y = sinTheta * Math.sin(phi);
20
+ const z = cosTheta;
25
21
 
26
22
  //write the result
27
23
  result[result_offset] = x;
@@ -1,7 +1,7 @@
1
+ import { array_shuffle } from "../../../collection/array/array_shuffle.js";
1
2
  import { seededRandom } from "../../../math/random/seededRandom.js";
2
- import { TaskSignal } from "../TaskSignal.js";
3
3
  import Task from "../Task.js";
4
- import { randomizeArrayElementOrder } from "../../../collection/array/randomizeArrayElementOrder.js";
4
+ import { TaskSignal } from "../TaskSignal.js";
5
5
 
6
6
  /**
7
7
  *
@@ -49,7 +49,7 @@ export function randomCountTask(seed, initial, limit, callback) {
49
49
  }
50
50
 
51
51
  //shuffle
52
- randomizeArrayElementOrder(random, sequence);
52
+ array_shuffle(random, sequence);
53
53
  },
54
54
  cycleFunction: cycle,
55
55
  computeProgress: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/worker/WorkerBuilder.js"],"names":[],"mappings":";AAMA;IAEI,eAAa;IACb,YAAa;IACb,iBAAe;IACf,sBAA6B;IAE7B;;;OAGG;IACH,cAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,UACN,WAAS,MAAM,QAIzB;IAED;;;;;OAKG;IACH,6CAKC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,SAFa,WAAW,CAyGvB;CACJ;wBAhKuB,8BAA8B;wBAC9B,kBAAkB"}
1
+ {"version":3,"file":"WorkerBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/worker/WorkerBuilder.js"],"names":[],"mappings":";AAQA;IAEI,eAAa;IACb,YAAa;IACb,iBAAe;IACf,sBAA6B;IAE7B;;;OAGG;IACH,cAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,UACN,WAAS,MAAM,QAIzB;IAED;;;;;OAKG;IACH,6CAKC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,SAFa,WAAW,CAyGvB;CACJ;wBAjKuB,8BAA8B;wBAC9B,kBAAkB"}
@@ -1,9 +1,11 @@
1
1
  import { convertPathToURL } from "../../../engine/network/convertPathToURL.js";
2
+ import { codeToURL } from "../../codegen/codeToURL.js";
2
3
  import LineBuilder from "../../codegen/LineBuilder.js";
3
4
  import WorkerProxy from "./WorkerProxy.js";
4
5
 
5
6
  const RxMatchFunctionName = /(function\s*)([a-zA-Z0-9_]+)?(\s*\([^\]]*\)\s*\{.*)/g;
6
7
 
8
+
7
9
  class WorkerBuilder {
8
10
 
9
11
  imports = [];
@@ -46,9 +48,9 @@ class WorkerBuilder {
46
48
  * @param {string} path
47
49
  */
48
50
  importScript(path) {
49
- path = convertPathToURL(path);
51
+ const qualified_path = convertPathToURL(path);
50
52
 
51
- this.imports.push(path);
53
+ this.imports.push(qualified_path);
52
54
  }
53
55
 
54
56
  /**
@@ -58,7 +60,7 @@ class WorkerBuilder {
58
60
  build() {
59
61
  const codeLines = [];
60
62
 
61
- codeLines.push('var globalScope = this;');
63
+ codeLines.push('var globalScope = globalThis;');
62
64
 
63
65
  //handle imports
64
66
  this.imports.forEach(function (url) {
@@ -161,36 +163,4 @@ class WorkerBuilder {
161
163
  }
162
164
  };
163
165
 
164
- /**
165
- *
166
- * @param {string} code
167
- * @return {string}
168
- */
169
- function codeToURL(code) {
170
- const js_mime = 'application/javascript';
171
-
172
- let blob;
173
-
174
- if (typeof window === 'object') {
175
- if (typeof window.Blob !== "undefined") {
176
- blob = new Blob([code], {type: js_mime});
177
- } else {
178
- // Backwards-compatibility
179
- const BlobBuilder = window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
180
- if (BlobBuilder !== undefined) {
181
- blob = new BlobBuilder();
182
- blob.append(code);
183
- blob = blob.getBlob();
184
- }
185
- }
186
- }
187
-
188
- if (blob !== undefined && URL.createObjectURL !== undefined) {
189
- return URL.createObjectURL(blob);
190
- } else {
191
- // build data URL in a slowest way possible
192
- return `data:${js_mime},${encodeURIComponent(code)}`;
193
- }
194
- }
195
-
196
166
  export default WorkerBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"EngineHarness.d.ts","sourceRoot":"","sources":["../../../src/engine/EngineHarness.js"],"names":[],"mappings":"AAuDA;IAmBI;;;OAGG;IACH,6BAFW,MAAM,QAYhB;IAkED;;;;;;;;;;;;;OAaG;IACH;QAZyB,MAAM,EAApB,MAAM;QACyB,GAAG;QAClB,MAAM,GAAtB,OAAO;QACQ,QAAQ,GAAvB,MAAM;QACS,KAAK,GAApB,MAAM;QACS,GAAG,GAAlB,MAAM;QACU,QAAQ,GAAxB,OAAO;QACQ,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACJ,MAAM,CA+DlB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,oQAnBW,MAAM,iBAmFhB;IAGD;;;;;;;;;;OAUG;IACH;QATyB,MAAM,EAApB,MAAM;QACyB,GAAG;QACnB,mBAAmB,GAAlC,MAAM;QACU,UAAU,GAA1B,OAAO;QACO,GAAG,GAAjB,KAAK;QACU,YAAY,GAA3B,MAAM;QACQ,OAAO,GAArB,KAAK;QACU,gBAAgB,GAA/B,MAAM;sBAqDhB;IAED;;;;;;;OAOG;IACH;QAN0B,YAAY,GAA3B,MAAM;QACQ,MAAM,EAApB,MAAM;QACS,WAAW,GAA1B,MAAM;QACyB,GAAG;QAChC,MAAM,CA2ClB;IAGD;;;;;;;;;;;OAWG;IACH,mGAVW,MAAM,GAQJ,OAAO,CAuDnB;IA3bG;;;OAGG;IACH,QAFU,MAAM,CAEiC;IAMjD;;;OAGG;IACH,YAFU,eAAQ,IAAI,CAET;IAmBjB;;;;OAIG;IACH,8DAJmB,mBAAmB,UAAQ,MAAM,WAEvC,QAAQ,MAAM,CAAC,CA2D3B;CA6VJ;;IAID;;;OAGG;IACH,uCAMC;;mBApfkB,aAAa;oCACI,0BAA0B;oBAX1C,yBAAyB;mBAK1B,iBAAiB;sBATd,wBAAwB;oBAW1B,8BAA8B"}
1
+ {"version":3,"file":"EngineHarness.d.ts","sourceRoot":"","sources":["../../../src/engine/EngineHarness.js"],"names":[],"mappings":"AA6DA;IAmBI;;;OAGG;IACH,6BAFW,MAAM,QAYhB;IAkED;;;;;;;;;;;;;OAaG;IACH;QAZyB,MAAM,EAApB,MAAM;QACyB,GAAG;QAClB,MAAM,GAAtB,OAAO;QACQ,QAAQ,GAAvB,MAAM;QACS,KAAK,GAApB,MAAM;QACS,GAAG,GAAlB,MAAM;QACU,QAAQ,GAAxB,OAAO;QACQ,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACJ,MAAM,CA+DlB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,oQAnBW,MAAM,iBAmFhB;IAGD;;;;;;;;;;OAUG;IACH;QATyB,MAAM,EAApB,MAAM;QACyB,GAAG;QACnB,mBAAmB,GAAlC,MAAM;QACU,UAAU,GAA1B,OAAO;QACO,GAAG,GAAjB,KAAK;QACU,YAAY,GAA3B,MAAM;QACQ,OAAO,GAArB,KAAK;QACU,gBAAgB,GAA/B,MAAM;sBAqDhB;IAED;;;;;;;OAOG;IACH;QAN0B,YAAY,GAA3B,MAAM;QACQ,MAAM,EAApB,MAAM;QACS,WAAW,GAA1B,MAAM;QACyB,GAAG;QAChC,MAAM,CA2ClB;IAGD;;;;;;;;;;;OAWG;IACH,mGAVW,MAAM,GAQJ,OAAO,CAuDnB;IA3bG;;;OAGG;IACH,QAFU,MAAM,CAEiC;IAMjD;;;OAGG;IACH,YAFU,eAAQ,IAAI,CAET;IAmBjB;;;;OAIG;IACH,8DAJmB,mBAAmB,UAAQ,MAAM,WAEvC,QAAQ,MAAM,CAAC,CA2D3B;CA6VJ;;IAID;;;OAGG;IACH,uCAMC;;mBA1fkB,aAAa;oCACI,0BAA0B;oBAX1C,yBAAyB;mBAK1B,iBAAiB;sBATd,wBAAwB;oBAW1B,8BAA8B"}