@woosh/meep-engine 2.109.0 → 2.109.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/build/meep.cjs +28 -13
  2. package/build/meep.min.js +1 -1
  3. package/build/meep.module.js +28 -13
  4. package/package.json +1 -1
  5. package/src/core/binary/BitSet.d.ts +6 -0
  6. package/src/core/binary/BitSet.d.ts.map +1 -1
  7. package/src/core/binary/BitSet.js +14 -42
  8. package/src/core/binary/align_32.d.ts +7 -0
  9. package/src/core/binary/align_32.d.ts.map +1 -0
  10. package/src/core/binary/align_32.js +8 -0
  11. package/src/core/binary/align_32.spec.d.ts +2 -0
  12. package/src/core/binary/align_32.spec.d.ts.map +1 -0
  13. package/src/core/binary/align_32.spec.js +11 -0
  14. package/src/core/binary/align_4.js +2 -1
  15. package/src/core/binary/lsb_32.d.ts +9 -0
  16. package/src/core/binary/lsb_32.d.ts.map +1 -0
  17. package/src/core/binary/lsb_32.js +12 -0
  18. package/src/core/binary/msb_32.d.ts +2 -0
  19. package/src/core/binary/msb_32.d.ts.map +1 -0
  20. package/src/core/binary/msb_32.js +20 -0
  21. package/src/core/binary/msb_lut_de_bruijn.d.ts +7 -0
  22. package/src/core/binary/msb_lut_de_bruijn.d.ts.map +1 -0
  23. package/src/core/binary/msb_lut_de_bruijn.js +9 -0
  24. package/src/core/geom/3d/sphere/harmonics/sh3_convolve_with_cosine_kernel.js +2 -1
  25. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.d.ts +12 -0
  26. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.d.ts.map +1 -0
  27. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.js +40 -0
  28. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.spec.d.ts +2 -0
  29. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.spec.d.ts.map +1 -0
  30. package/src/core/geom/3d/sphere/harmonics/sh3_vector_accumulate.spec.js +27 -0
  31. package/src/core/geom/vec/vector_copy.d.ts +10 -0
  32. package/src/core/geom/vec/vector_copy.d.ts.map +1 -0
  33. package/src/core/geom/vec/vector_copy.js +13 -0
  34. package/src/core/{math/vector_nd_dot.d.ts → geom/vec/vector_dot.d.ts} +2 -2
  35. package/src/core/geom/vec/vector_dot.d.ts.map +1 -0
  36. package/src/core/{math/vector_nd_dot.js → geom/vec/vector_dot.js} +1 -1
  37. package/src/core/{math/vector_nd_normalize.d.ts → geom/vec/vector_normalize.d.ts} +2 -2
  38. package/src/core/geom/vec/vector_normalize.d.ts.map +1 -0
  39. package/src/core/{math/vector_nd_normalize.js → geom/vec/vector_normalize.js} +1 -1
  40. package/src/core/geom/vec/vector_normalize.spec.d.ts +2 -0
  41. package/src/core/geom/vec/vector_normalize.spec.d.ts.map +1 -0
  42. package/src/core/{math/vector_nd_normalize.spec.js → geom/vec/vector_normalize.spec.js} +3 -3
  43. package/src/core/geom/vec/vector_scale_array.d.ts +11 -0
  44. package/src/core/geom/vec/vector_scale_array.d.ts.map +1 -0
  45. package/src/core/geom/vec/vector_scale_array.js +31 -0
  46. package/src/core/geom/vec3/v3_dot_array_array.js +2 -0
  47. package/src/core/model/node-graph/node/NodeInstance.d.ts.map +1 -1
  48. package/src/core/model/node-graph/node/NodeInstance.js +18 -0
  49. package/src/engine/graphics/sh3/fromCubeRenderTarget.d.ts.map +1 -1
  50. package/src/engine/graphics/sh3/fromCubeRenderTarget.js +14 -17
  51. package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts +3 -2
  52. package/src/engine/graphics/sh3/lpv/LightProbeVolume.d.ts.map +1 -1
  53. package/src/engine/graphics/sh3/lpv/LightProbeVolume.js +21 -11
  54. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts.map +1 -1
  55. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +8 -15
  56. package/src/engine/graphics/sh3/prototypeSH3Probe.js +19 -3
  57. package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.d.ts +11 -1
  58. package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.d.ts.map +1 -1
  59. package/src/engine/graphics/sh3/visualise_spherical_harmonic_sphere.js +33 -16
  60. package/src/engine/sound/material/detector/terrain/TerrainSoundMaterialSurfaceDetector.d.ts.map +1 -1
  61. package/src/engine/sound/material/detector/terrain/TerrainSoundMaterialSurfaceDetector.js +6 -6
  62. package/src/core/math/vector_nd_dot.d.ts.map +0 -1
  63. package/src/core/math/vector_nd_normalize.d.ts.map +0 -1
  64. package/src/core/math/vector_nd_normalize.spec.d.ts +0 -2
  65. package/src/core/math/vector_nd_normalize.spec.d.ts.map +0 -1
package/build/meep.cjs CHANGED
@@ -59955,7 +59955,7 @@ const DEFAULT_INITIAL_CAPACITY_POWER = 4;
59955
59955
  * @readonly
59956
59956
  * @type {number}
59957
59957
  */
59958
- const DEFAULT_INITIAL_CAPACITY = 2 ** DEFAULT_INITIAL_CAPACITY_POWER;
59958
+ const DEFAULT_INITIAL_CAPACITY$1 = 2 ** DEFAULT_INITIAL_CAPACITY_POWER;
59959
59959
 
59960
59960
  /**
59961
59961
  * @readonly
@@ -60084,7 +60084,7 @@ class HashMap {
60084
60084
  constructor({
60085
60085
  keyHashFunction = invokeObjectHash,
60086
60086
  keyEqualityFunction = invokeObjectEquals,
60087
- capacity = DEFAULT_INITIAL_CAPACITY,
60087
+ capacity = DEFAULT_INITIAL_CAPACITY$1,
60088
60088
  loadFactor = DEFAULT_LOAD_FACTOR
60089
60089
  } = {}) {
60090
60090
 
@@ -70777,16 +70777,25 @@ const EntityFlags = {
70777
70777
  WatchDestruction: 4
70778
70778
  };
70779
70779
 
70780
+ /**
70781
+ * Align to the nearest number divisible by 32, rounding up
70782
+ * @param {number} n
70783
+ * @returns {number}
70784
+ */
70785
+ function align_32(n) {
70786
+ return ((n + 31) >>> 5) << 5
70787
+ }
70788
+
70780
70789
  /**
70781
70790
  * de Bruijn sequence
70782
70791
  * @see https://graphics.stanford.edu/~seander/bithacks.html
70783
70792
  * @type {Uint8Array}
70784
70793
  */
70785
- const msb_lut = new Uint8Array([
70794
+ const msb_lut_de_bruijn = new Uint8Array([
70786
70795
  0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8,
70787
70796
  31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9
70788
- ]);
70789
-
70797
+ ]);
70798
+
70790
70799
  /**
70791
70800
  * Get index of the least significant set bit
70792
70801
  * Also known as ctz32 or "count trailing zeroes"
@@ -70795,9 +70804,9 @@ const msb_lut = new Uint8Array([
70795
70804
  * @returns {number}
70796
70805
  */
70797
70806
  function lsb_32(v) {
70798
- return msb_lut[((v & -v) * 0x077CB531) >>> 27];
70799
- }
70800
-
70807
+ return msb_lut_de_bruijn[((v & -v) * 0x077CB531) >>> 27];
70808
+ }
70809
+
70801
70810
  /**
70802
70811
  * Used for overallocating space when bit set needs to grow
70803
70812
  * @constant
@@ -70818,12 +70827,20 @@ const SHRINK_FACTOR$1 = 0.5;
70818
70827
  */
70819
70828
  const RESIZE_COUNT_THRESHOLD = 128;
70820
70829
 
70830
+ /**
70831
+ * @readonly
70832
+ * @type {number}
70833
+ */
70834
+ const DEFAULT_INITIAL_CAPACITY = 64;
70835
+
70821
70836
  class BitSet {
70822
70837
  /**
70823
70838
  * Dynamically sized bit field
70824
70839
  * @constructor
70840
+ * @param {number} [initial_capacity]
70825
70841
  */
70826
- constructor() {
70842
+ constructor(initial_capacity = DEFAULT_INITIAL_CAPACITY) {
70843
+
70827
70844
  /**
70828
70845
  * Number of bits currently in use
70829
70846
  * @private
@@ -70836,7 +70853,7 @@ class BitSet {
70836
70853
  * @private
70837
70854
  * @type {number}
70838
70855
  */
70839
- this.__capacity = 64;
70856
+ this.__capacity = align_32(initial_capacity);
70840
70857
 
70841
70858
  /**
70842
70859
  * Uint32-backed storage
@@ -71362,9 +71379,7 @@ class BitSet {
71362
71379
  * @returns {BitSet}
71363
71380
  */
71364
71381
  static fixedSize(x) {
71365
- const r = new BitSet();
71366
-
71367
- r.setCapacity(x);
71382
+ const r = new BitSet(x);
71368
71383
 
71369
71384
  //prevent resizing
71370
71385
  r.__shrinkFactor = 0;