@woosh/meep-engine 2.118.5 → 2.118.6

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 (135) hide show
  1. package/build/meep.cjs +520 -479
  2. package/build/meep.min.js +1 -1
  3. package/build/meep.module.js +520 -479
  4. package/package.json +4 -4
  5. package/src/core/binary/BitSet.d.ts +0 -5
  6. package/src/core/binary/BitSet.d.ts.map +1 -1
  7. package/src/core/binary/BitSet.js +2 -10
  8. package/src/core/binary/base64/Base64.d.ts.map +1 -0
  9. package/src/core/binary/largest_common_alignment_uint32.d.ts.map +1 -0
  10. package/src/core/{collection/array/typed → binary}/largest_common_alignment_uint32.js +1 -1
  11. package/src/core/collection/CuckooFilter.d.ts +34 -8
  12. package/src/core/collection/CuckooFilter.d.ts.map +1 -1
  13. package/src/core/collection/CuckooFilter.js +29 -1
  14. package/src/core/collection/array/typed/array_buffer_copy.d.ts.map +1 -1
  15. package/src/core/collection/array/typed/array_buffer_copy.js +3 -1
  16. package/src/core/collection/array/typed/is_array_buffer_equals.js +1 -1
  17. package/src/core/collection/array/typed/is_typed_array_equals.js +1 -1
  18. package/src/core/collection/map/HashMap.js +7 -7
  19. package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
  20. package/src/core/geom/2d/aabb/AABB2.js +43 -22
  21. package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.d.ts.map +1 -1
  22. package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.js +6 -1
  23. package/src/core/geom/2d/quad-tree/QuadTreeDatum.d.ts +3 -5
  24. package/src/core/geom/2d/quad-tree/QuadTreeDatum.d.ts.map +1 -1
  25. package/src/core/geom/2d/quad-tree/QuadTreeDatum.js +9 -19
  26. package/src/core/geom/2d/rectangle_to_aabb.d.ts +8 -0
  27. package/src/core/geom/2d/rectangle_to_aabb.d.ts.map +1 -0
  28. package/src/core/geom/2d/rectangle_to_aabb.js +29 -0
  29. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.js +1 -1
  30. package/src/core/graph/graph_compute_distance_matrix.d.ts +1 -1
  31. package/src/core/graph/graph_compute_distance_matrix.d.ts.map +1 -1
  32. package/src/core/graph/graph_compute_distance_matrix.js +1 -1
  33. package/src/core/graph/graph_compute_laplacian_matrix.d.ts +1 -1
  34. package/src/core/graph/graph_compute_laplacian_matrix.d.ts.map +1 -1
  35. package/src/core/graph/graph_compute_laplacian_matrix.js +1 -1
  36. package/src/core/graph/layout/CircleLayout.js +2 -2
  37. package/src/core/graph/layout/box/BoxLayouter.d.ts.map +1 -1
  38. package/src/core/graph/layout/box/BoxLayouter.js +11 -5
  39. package/src/core/graph/layout/box/aabb2_force_into_container.d.ts +7 -0
  40. package/src/core/graph/layout/box/aabb2_force_into_container.d.ts.map +1 -0
  41. package/src/core/graph/layout/box/aabb2_force_into_container.js +56 -0
  42. package/src/core/graph/layout/box/applyCentralGravityAABB2.d.ts.map +1 -1
  43. package/src/core/graph/layout/box/applyCentralGravityAABB2.js +2 -8
  44. package/src/core/graph/layout/box/forceIntoBox.d.ts +4 -2
  45. package/src/core/graph/layout/box/forceIntoBox.d.ts.map +1 -1
  46. package/src/core/graph/layout/box/forceIntoBox.js +5 -31
  47. package/src/core/graph/layout/box/position_box_next_to_box.d.ts +10 -0
  48. package/src/core/graph/layout/box/position_box_next_to_box.d.ts.map +1 -0
  49. package/src/core/graph/layout/box/position_box_next_to_box.js +218 -0
  50. package/src/core/graph/layout/box/pullBoxTowardsPoint.d.ts.map +1 -1
  51. package/src/core/graph/layout/box/pullBoxTowardsPoint.js +8 -3
  52. package/src/core/graph/layout/box/resolveAABB2Overlap.d.ts +2 -2
  53. package/src/core/graph/layout/box/resolveAABB2Overlap.d.ts.map +1 -1
  54. package/src/core/graph/layout/box/resolveAABB2Overlap.js +12 -4
  55. package/src/core/graph/layout/box/resolveBoxOverlapUsingForce.d.ts +1 -0
  56. package/src/core/graph/layout/box/resolveBoxOverlapUsingForce.d.ts.map +1 -1
  57. package/src/core/graph/layout/box/resolveBoxOverlapUsingForce.js +1 -0
  58. package/src/core/math/matrix/SquareMatrix.d.ts.map +1 -0
  59. package/src/core/{graph → math/matrix}/SquareMatrix.js +3 -3
  60. package/src/core/math/spline/cubicCurve.d.ts +3 -8
  61. package/src/core/math/spline/cubicCurve.d.ts.map +1 -1
  62. package/src/core/math/spline/cubicCurve.js +4 -32
  63. package/src/core/model/reactive/js/compileReactiveToJS.d.ts.map +1 -1
  64. package/src/core/model/reactive/js/compileReactiveToJS.js +56 -1
  65. package/src/core/model/reactive/model/terminal/ReactiveReference.d.ts.map +1 -1
  66. package/src/core/model/reactive/model/terminal/ReactiveReference.js +2 -2
  67. package/src/core/model/reactive/trigger/ReactiveTrigger.d.ts +2 -2
  68. package/src/core/model/reactive/trigger/ReactiveTrigger.d.ts.map +1 -1
  69. package/src/core/model/reactive/trigger/ReactiveTrigger.js +1 -1
  70. package/src/core/process/BaseProcess.d.ts.map +1 -1
  71. package/src/core/process/BaseProcess.js +8 -7
  72. package/src/core/process/SimpleLifecycle.d.ts +5 -0
  73. package/src/core/process/SimpleLifecycle.d.ts.map +1 -1
  74. package/src/core/process/SimpleLifecycle.js +8 -0
  75. package/src/core/process/task/Task.js +1 -1
  76. package/src/engine/animation/clip/AnimationClip.d.ts.map +1 -1
  77. package/src/engine/animation/clip/AnimationClip.js +50 -8
  78. package/src/engine/animation/clip/AnimationClipBinding.js +1 -1
  79. package/src/engine/animation/clip/AnimationTrack.d.ts +11 -1
  80. package/src/engine/animation/clip/AnimationTrack.d.ts.map +1 -1
  81. package/src/engine/animation/clip/AnimationTrack.js +50 -7
  82. package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts +8 -0
  83. package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts.map +1 -0
  84. package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.js +16 -0
  85. package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
  86. package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts.map +1 -1
  87. package/src/engine/ecs/terrain/ecs/splat/SplatMapping.js +6 -6
  88. package/src/engine/graphics/texture/sampler/Sampler2D.js +1 -1
  89. package/src/generation/filtering/numeric/complex/CellFilterSimplexNoise.d.ts +3 -3
  90. package/src/generation/filtering/numeric/complex/CellFilterSimplexNoise.d.ts.map +1 -1
  91. package/src/generation/filtering/numeric/complex/CellFilterSimplexNoise.js +6 -6
  92. package/src/generation/grid/generation/discrete/GridTaskCellularAutomata.d.ts.map +1 -1
  93. package/src/generation/grid/generation/discrete/GridTaskCellularAutomata.js +35 -31
  94. package/src/generation/grid/generation/grid/GridTaskAddNodesFixed.d.ts.map +1 -1
  95. package/src/generation/grid/generation/grid/GridTaskAddNodesFixed.js +8 -11
  96. package/src/generation/grid/generation/road/RoadConnectionNetwork.d.ts +6 -2
  97. package/src/generation/grid/generation/road/RoadConnectionNetwork.d.ts.map +1 -1
  98. package/src/generation/grid/generation/road/RoadConnectionNetwork.js +36 -30
  99. package/src/generation/placement/action/GridCellAction.js +1 -1
  100. package/src/generation/theme/AreaTheme.d.ts.map +1 -1
  101. package/src/generation/theme/AreaTheme.js +0 -1
  102. package/src/generation/theme/TerrainLayerRule.d.ts.map +1 -1
  103. package/src/generation/theme/TerrainLayerRule.js +2 -1
  104. package/src/generation/theme/TerrainLayerRuleAggregator.d.ts +5 -1
  105. package/src/generation/theme/TerrainLayerRuleAggregator.d.ts.map +1 -1
  106. package/src/generation/theme/TerrainLayerRuleAggregator.js +7 -2
  107. package/src/generation/theme/ThemeEngine.d.ts +2 -2
  108. package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
  109. package/src/generation/theme/ThemeEngine.js +1 -4
  110. package/src/generation/theme/cell/CellProcessingRule.d.ts.map +1 -1
  111. package/src/generation/theme/cell/CellProcessingRule.js +10 -13
  112. package/src/generation/theme/cell/CellProcessingRuleSet.d.ts.map +1 -1
  113. package/src/generation/theme/cell/CellProcessingRuleSet.js +6 -7
  114. package/src/view/SVG.d.ts.map +1 -1
  115. package/src/view/SVG.js +0 -15
  116. package/src/view/html_element_to_aabb.d.ts +8 -0
  117. package/src/view/html_element_to_aabb.d.ts.map +1 -0
  118. package/src/view/html_element_to_aabb.js +29 -0
  119. package/src/view/tooltip/TooltipManager.d.ts.map +1 -1
  120. package/src/view/tooltip/TooltipManager.js +7 -9
  121. package/src/view/tooltip/TooltipView.d.ts +0 -1
  122. package/src/view/tooltip/TooltipView.d.ts.map +1 -1
  123. package/src/view/tooltip/TooltipView.js +10 -280
  124. package/src/view/tooltip/gml/TooltipParser.d.ts.map +1 -1
  125. package/src/view/tooltip/gml/TooltipParser.js +1 -13
  126. package/src/core/binary/Base64.d.ts.map +0 -1
  127. package/src/core/collection/array/typed/largest_common_alignment_uint32.d.ts.map +0 -1
  128. package/src/core/graph/SquareMatrix.d.ts.map +0 -1
  129. package/src/engine/simulation/DormandPrince.d.ts +0 -19
  130. package/src/engine/simulation/DormandPrince.d.ts.map +0 -1
  131. package/src/engine/simulation/DormandPrince.js +0 -242
  132. /package/src/core/binary/{Base64.d.ts → base64/Base64.d.ts} +0 -0
  133. /package/src/core/binary/{Base64.js → base64/Base64.js} +0 -0
  134. /package/src/core/{collection/array/typed → binary}/largest_common_alignment_uint32.d.ts +0 -0
  135. /package/src/core/{graph → math/matrix}/SquareMatrix.d.ts +0 -0
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Fully featured ECS game engine written in JavaScript",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.118.5",
8
+ "version": "2.118.6",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -62,9 +62,9 @@
62
62
  "@rollup/plugin-terser": "0.4.3",
63
63
  "@types/jest": "29.5.12",
64
64
  "@types/three": "^0.135.0",
65
- "babel-jest": "29.5.0",
66
- "jest": "29.6.4",
67
- "jest-environment-jsdom": "29.6.4",
65
+ "babel-jest": "29.7.0",
66
+ "jest": "29.7.0",
67
+ "jest-environment-jsdom": "29.7.0",
68
68
  "jest-junit": "16.0.0",
69
69
  "rollup": "3.26.2",
70
70
  "typescript": "5.2.2"
@@ -108,11 +108,6 @@ export class BitSet {
108
108
  * @param {number} endIndex clear up to here, excluding this position
109
109
  */
110
110
  clearRange(startIndex: number, endIndex: number): void;
111
- /**
112
- *
113
- * @param {BitSet} set
114
- */
115
- and(set: BitSet): void;
116
111
  /**
117
112
  * Returns the value of the bit with the specified index.
118
113
  * @param {int} bitIndex
@@ -1 +1 @@
1
- {"version":3,"file":"BitSet.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/BitSet.js"],"names":[],"mappings":"AAgCA;IAyiBI;;;;OAIG;IACH,oBAHW,MAAM,GACJ,MAAM,CASlB;IApjBD;;;;OAIG;IACH,+BAFW,MAAM,EA8BhB;IAzBG;;;;OAIG;IACH,iBAAiB;IAEjB;;;;OAIG;IACH,mBAA4C;IAE5C;;;;OAIG;IACH,sBAA0D;IAE1D;;OAEG;IACH,gBAFU,MAAM,CAEmB;IAGvC,sBAEC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAOhB;IAED;;;OAGG;IACH,uBAFW,MAAM,QAUhB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAsBC;IAED,uBAMC;IAED;;;;OAIG;IACH,oBAyBC;IAED;;;;OAIG;IACH,oCAqCC;IAED;;;;OAIG;IACH,4BAFa,MAAM,CAuDlB;IAED;;;;OAIG;IACH,8BAFa,MAAM,CAkDlB;IAED;;;;OAIG;IACH,2BAFW,OAAO,QAmCjB;IAED;;;OAGG;IACH,2BAEC;IAED;;;;OAIG;IACH,qBAHW,MAAM,YACN,MAAM,QAWhB;IAED;;;;OAIG;IACH,uBAHW,MAAM,YACN,MAAM,QAShB;IAED;;;OAGG;IACH,SAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,oBAFa,OAAO,CAkBnB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,OAAO,CAUnB;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,OAAO,CAUnB;IAED;;;;;OAKG;IACH,sBAJW,MAAM,eACN,MAAM,aACN,MAAM,QAShB;IAED;;;;;OAKG;IACH,qBAJW,MAAM,eACN,MAAM,aACN,MAAM,QAShB;IAED;;;;;OAKG;IACH,gBAJW,MAAM,eACN,MAAM,aACN,MAAM,QAQhB;IAED;;OAEG;IACH,cAgBC;IAED;;;OAGG;IACH,YAFW,MAAM,QAoChB;CAeJ"}
1
+ {"version":3,"file":"BitSet.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/BitSet.js"],"names":[],"mappings":"AAgCA;IAiiBI;;;;OAIG;IACH,oBAHW,MAAM,GACJ,MAAM,CASlB;IA5iBD;;;;OAIG;IACH,+BAFW,MAAM,EA8BhB;IAzBG;;;;OAIG;IACH,iBAAiB;IAEjB;;;;OAIG;IACH,mBAA4C;IAE5C;;;;OAIG;IACH,sBAA0D;IAE1D;;OAEG;IACH,gBAFU,MAAM,CAE2B;IAG/C,sBAEC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAOhB;IAED;;;OAGG;IACH,uBAFW,MAAM,QAUhB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAsBC;IAED,uBAMC;IAED;;;;OAIG;IACH,oBAyBC;IAED;;;;OAIG;IACH,oCAqCC;IAED;;;;OAIG;IACH,4BAFa,MAAM,CAuDlB;IAED;;;;OAIG;IACH,8BAFa,MAAM,CAkDlB;IAED;;;;OAIG;IACH,2BAFW,OAAO,QAmCjB;IAED;;;OAGG;IACH,2BAEC;IAED;;;;OAIG;IACH,qBAHW,MAAM,YACN,MAAM,QAWhB;IAED;;;;OAIG;IACH,uBAHW,MAAM,YACN,MAAM,QAShB;IAED;;;;OAIG;IACH,oBAFa,OAAO,CAkBnB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,OAAO,CAUnB;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,OAAO,CAUnB;IAED;;;;;OAKG;IACH,sBAJW,MAAM,eACN,MAAM,aACN,MAAM,QAShB;IAED;;;;;OAKG;IACH,qBAJW,MAAM,eACN,MAAM,aACN,MAAM,QAShB;IAED;;;;;OAKG;IACH,gBAJW,MAAM,eACN,MAAM,aACN,MAAM,QAQhB;IAED;;OAEG;IACH,cAgBC;IAED;;;OAGG;IACH,YAFW,MAAM,QAoChB;CAeJ"}
@@ -16,7 +16,7 @@ const GROW_FACTOR = 1.3;
16
16
  * @constant
17
17
  * @type {number}
18
18
  */
19
- const SHRINK_FACTOR = 0.5;
19
+ const DEFAULT_SHRINK_FACTOR = 0.5;
20
20
 
21
21
  /**
22
22
  * Minimum number of bits to increase the capacity by
@@ -63,7 +63,7 @@ export class BitSet {
63
63
  /**
64
64
  * @type {number}
65
65
  */
66
- this.__shrinkFactor = SHRINK_FACTOR;
66
+ this.__shrinkFactor = DEFAULT_SHRINK_FACTOR;
67
67
  }
68
68
 
69
69
  preventShrink() {
@@ -417,14 +417,6 @@ export class BitSet {
417
417
  }
418
418
  }
419
419
 
420
- /**
421
- *
422
- * @param {BitSet} set
423
- */
424
- and(set) {
425
- throw new Error("NIY");
426
- }
427
-
428
420
  /**
429
421
  * Returns the value of the bit with the specified index.
430
422
  * @param {int} bitIndex
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base64.d.ts","sourceRoot":"","sources":["../../../../../src/core/binary/base64/Base64.js"],"names":[],"mappings":"AAgOA;IACI;;;;OAIG;IACH,qBAHW,WAAW,GACT,MAAM,CAOlB;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACJ,WAAW,CAUvB;CACJ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"largest_common_alignment_uint32.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/largest_common_alignment_uint32.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,0DALW,MAAM,YACN,MAAM,eACN,MAAM,GACJ,MAAM,CAoBlB"}
@@ -1,4 +1,4 @@
1
- import { assert } from "../../../assert.js";
1
+ import { assert } from "../assert.js";
2
2
 
3
3
  /**
4
4
  *
@@ -13,28 +13,54 @@ export class CuckooFilter {
13
13
  constructor({ fpp, maxKeys }?: number);
14
14
  /**
15
15
  * how many bits are needed per tag
16
+ * @readonly
16
17
  * @type {number}
17
18
  */
18
- bits_per_tag: number;
19
- tag_hash_mask: number;
19
+ readonly bits_per_tag: number;
20
+ /**
21
+ * @readonly
22
+ * @type {number}
23
+ */
24
+ readonly tag_hash_mask: number;
20
25
  /**
21
26
  * compute how many buckets we'll need
27
+ * @readonly
22
28
  * @type {number}
23
29
  */
24
- bucket_count: number;
30
+ readonly bucket_count: number;
25
31
  /**
26
32
  * Actual data storage
33
+ * @readonly
27
34
  * @type {BitSet}
28
35
  */
29
- data: BitSet;
36
+ readonly data: BitSet;
37
+ /**
38
+ * @private
39
+ * @type {number}
40
+ */
41
+ private __count;
42
+ /**
43
+ *
44
+ * @type {boolean}
45
+ * @private
46
+ */
47
+ private __victim_exists;
30
48
  /**
31
49
  *
32
50
  * @type {number}
51
+ * @private
52
+ */
53
+ private __victim_tag;
54
+ /**
55
+ *
56
+ * @type {number}
57
+ * @private
58
+ */
59
+ private __victim_index;
60
+ /**
61
+ *
62
+ * @returns {number}
33
63
  */
34
- __count: number;
35
- __victim_exists: boolean;
36
- __victim_tag: number;
37
- __victim_index: number;
38
64
  get count(): number;
39
65
  /**
40
66
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CuckooFilter.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/CuckooFilter.js"],"names":[],"mappings":"AAqDA;;;;;GAKG;AACH;IACI;;;;OAIG;IACH,+BAHW,MAAM,EA2ChB;IA5BG;;;OAGG;IACH,cAFU,MAAM,CAEgC;IAChD,sBAA8D;IAE9D;;;OAGG;IACH,cAFU,MAAM,CAE8C;IAE9D;;;OAGG;IACH,MAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,SAFU,MAAM,CAEA;IAEhB,yBAA4B;IAC5B,qBAAqB;IACrB,uBAAuB;IAG3B,oBAEC;IAED;;;;;;OAMG;IACH,uBAEC;IAED;;;;;;;;;OASG;IACH,mBAkBC;IAED;;;;;;OAMG;IACH,yBASC;IAED;;;;;;OAMG;IACH,0BAUC;IAED;;;;;OAKG;IACH,oBAIC;IAED;;;;;;OAMG;IACH,2BAUC;IAED;;;;;;;OAOG;IACH,2BALW,MAAM,kBACN,MAAM,OACN,MAAM,GACJ,MAAM,CAelB;IAED;;;;;;OAMG;IACH,0BALW,MAAM,kBACN,MAAM,OACN,MAAM,GACJ,OAAO,CAanB;IAED;;;;;;;;OAQG;IACH,wBAsBC;IAED;;;;;;;OAOG;IACH,gCAaC;IAED;;;;;OAKG;IACH,yCASC;IAED;;;;;;;;;;OAUG;IACH,mCAIC;IAED;;;;;OAKG;IACH,gCAWC;IAED;;;;;;;;;;;;;;;OAeG;IACH,aAJW,MAAM,GACJ,OAAO,CA8CnB;IAED,+BAcC;IAED;;;;;;;OAOG;IACH,sBAMC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAJW,MAAM,GACJ,OAAO,CA6BnB;IAGD;;;;;;OAMG;IACH,mBAHW,MAAM,GACJ,OAAO,CAUnB;CACJ;uBA/gBsB,qBAAqB"}
1
+ {"version":3,"file":"CuckooFilter.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/CuckooFilter.js"],"names":[],"mappings":"AAqDA;;;;;GAKG;AACH;IACI;;;;OAIG;IACH,+BAHW,MAAM,EAmEhB;IApDG;;;;OAIG;IACH,uBAFU,MAAM,CAEgC;IAEhD;;;OAGG;IACH,wBAFU,MAAM,CAE8C;IAE9D;;;;OAIG;IACH,uBAFU,MAAM,CAE8C;IAE9D;;;;OAIG;IACH,eAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,gBAAgB;IAEhB;;;;OAIG;IACH,wBAA4B;IAC5B;;;;OAIG;IACH,qBAAqB;IAErB;;;;OAIG;IACH,uBAAuB;IAG3B;;;OAGG;IACH,oBAEC;IAED;;;;;;OAMG;IACH,uBAEC;IAED;;;;;;;;;OASG;IACH,mBAkBC;IAED;;;;;;OAMG;IACH,yBASC;IAED;;;;;;OAMG;IACH,0BAUC;IAED;;;;;OAKG;IACH,oBAIC;IAED;;;;;;OAMG;IACH,2BAUC;IAED;;;;;;;OAOG;IACH,2BALW,MAAM,kBACN,MAAM,OACN,MAAM,GACJ,MAAM,CAelB;IAED;;;;;;OAMG;IACH,0BALW,MAAM,kBACN,MAAM,OACN,MAAM,GACJ,OAAO,CAanB;IAED;;;;;;;;OAQG;IACH,wBAsBC;IAED;;;;;;;OAOG;IACH,gCAaC;IAED;;;;;OAKG;IACH,yCASC;IAED;;;;;;;;;;OAUG;IACH,mCAIC;IAED;;;;;OAKG;IACH,gCAWC;IAED;;;;;;;;;;;;;;;OAeG;IACH,aAJW,MAAM,GACJ,OAAO,CA8CnB;IAED,+BAcC;IAED;;;;;;;OAOG;IACH,sBAMC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAJW,MAAM,GACJ,OAAO,CA6BnB;IAGD;;;;;;OAMG;IACH,mBAHW,MAAM,GACJ,OAAO,CAUnB;CACJ;uBA3iBsB,qBAAqB"}
@@ -77,34 +77,62 @@ export class CuckooFilter {
77
77
 
78
78
  /**
79
79
  * how many bits are needed per tag
80
+ * @readonly
80
81
  * @type {number}
81
82
  */
82
83
  this.bits_per_tag = computeBitsPerTagForFPP(fpp);
84
+
85
+ /**
86
+ * @readonly
87
+ * @type {number}
88
+ */
83
89
  this.tag_hash_mask = createMaskFromBitCount(this.bits_per_tag);
84
90
 
85
91
  /**
86
92
  * compute how many buckets we'll need
93
+ * @readonly
87
94
  * @type {number}
88
95
  */
89
96
  this.bucket_count = computeBucketsNeeded(maxKeys, BUCKET_SIZE);
90
97
 
91
98
  /**
92
99
  * Actual data storage
100
+ * @readonly
93
101
  * @type {BitSet}
94
102
  */
95
103
  this.data = new BitSet();
96
104
 
97
105
  /**
98
- *
106
+ * @private
99
107
  * @type {number}
100
108
  */
101
109
  this.__count = 0;
102
110
 
111
+ /**
112
+ *
113
+ * @type {boolean}
114
+ * @private
115
+ */
103
116
  this.__victim_exists = false;
117
+ /**
118
+ *
119
+ * @type {number}
120
+ * @private
121
+ */
104
122
  this.__victim_tag = 0;
123
+
124
+ /**
125
+ *
126
+ * @type {number}
127
+ * @private
128
+ */
105
129
  this.__victim_index = 0;
106
130
  }
107
131
 
132
+ /**
133
+ *
134
+ * @returns {number}
135
+ */
108
136
  get count() {
109
137
  return this.__count;
110
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"array_buffer_copy.d.ts","sourceRoot":"","sources":["../../../../../../src/core/collection/array/typed/array_buffer_copy.js"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,0CANW,WAAW,iBACX,MAAM,UACN,WAAW,iBACX,MAAM,eACN,MAAM,QA2ChB"}
1
+ {"version":3,"file":"array_buffer_copy.d.ts","sourceRoot":"","sources":["../../../../../../src/core/collection/array/typed/array_buffer_copy.js"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,0CANW,WAAW,iBACX,MAAM,UACN,WAAW,iBACX,MAAM,eACN,MAAM,QA6ChB"}
@@ -1,5 +1,5 @@
1
1
  import { assert } from "../../../assert.js";
2
- import { largest_common_alignment_uint32 } from "./largest_common_alignment_uint32.js";
2
+ import { largest_common_alignment_uint32 } from "../../../binary/largest_common_alignment_uint32.js";
3
3
 
4
4
  /**
5
5
  * This is essentially a {@link memcopy} implementation for ArrayBuffers
@@ -18,6 +18,8 @@ export function array_buffer_copy(
18
18
  assert.isNonNegativeInteger(source_offset, 'source_offset');
19
19
  assert.isNonNegativeInteger(target_offset, 'target_offset');
20
20
  assert.isNonNegativeInteger(byte_length, 'byte_length');
21
+ assert.ok(source instanceof ArrayBuffer || source instanceof SharedArrayBuffer,'source is not an ArrayBuffer');
22
+ assert.ok(target instanceof ArrayBuffer || target instanceof SharedArrayBuffer,'source is not an ArrayBuffer');
21
23
 
22
24
  /**
23
25
  * @type {Uint8Array|Uint16Array|Uint32Array}
@@ -1,6 +1,6 @@
1
1
  import { assert } from "../../../assert.js";
2
+ import { largest_common_alignment_uint32 } from "../../../binary/largest_common_alignment_uint32.js";
2
3
  import { isArrayEqualStrict } from "../isArrayEqualStrict.js";
3
- import { largest_common_alignment_uint32 } from "./largest_common_alignment_uint32.js";
4
4
 
5
5
  /**
6
6
  *
@@ -1,6 +1,6 @@
1
1
  //
2
+ import { largest_common_alignment_uint32 } from "../../../binary/largest_common_alignment_uint32.js";
2
3
  import { isArrayEqualStrict } from "../isArrayEqualStrict.js";
3
- import { largest_common_alignment_uint32 } from "./largest_common_alignment_uint32.js";
4
4
 
5
5
  /**
6
6
  * Optimized equality method for typed arrays, typically significantly faster than `isArrayEqualStrict`, especially for larger arrays
@@ -358,17 +358,17 @@ export class HashMap {
358
358
 
359
359
  this.__entries_bound++;
360
360
 
361
- if (this.__entries[i] !== undefined) {
361
+ const existing_entry = this.__entries[i];
362
362
 
363
- // entry exists, let's reuse it
363
+ if (existing_entry !== undefined) {
364
364
 
365
- const entry = this.__entries[i];
365
+ // entry exists, let's reuse it
366
366
 
367
- assert.equal(entry.hash, RESERVED_HASH, 'Entry is occupied');
367
+ assert.equal(existing_entry.hash, RESERVED_HASH, 'Entry is occupied');
368
368
 
369
- entry.hash = hash;
370
- entry.key = k;
371
- entry.value = v;
369
+ existing_entry.hash = hash;
370
+ existing_entry.key = k;
371
+ existing_entry.value = v;
372
372
 
373
373
  } else {
374
374
 
@@ -1 +1 @@
1
- {"version":3,"file":"AABB2.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/aabb/AABB2.js"],"names":[],"mappings":";AAYA;;;GAGG;AACH;IACI;;;;;;OAMG;IACH,gEA+BC;IApBG;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IAGhB;;;OAGG;IACH,gBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,iBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,WAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,aAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QA8BlB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,sBAJW,KAAK,UACL,KAAK,GACH,OAAO,CAcnB;IAED;;;;OAIG;IACH,qBAHW,KAAK,GACH,OAAO,CAcnB;IAED;;;;;;;OAOG;IACH,0EAMC;IAED;;;;OAIG;IACH,qBAHW,MAAM,KACN,MAAM,QAKhB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,QAFa,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,0BALW,OAAO,MACP,OAAO,UACP,OAAO,GACL,OAAO,CA0BnB;IAED;;;;OAIG;IACH,kCAHW,OAAO,UACP,OAAO,QAmBjB;IAED;;;;OAIG;IACH,wBAHW,KAAK,GACH,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,sBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CA4BlB;IAED;;;OAGG;IACH,eAFa,MAAM,CASlB;IAED;;;OAGG;IACH,sBAFY,MAAM,CAYjB;IAED;;;;;OAKG;IACH,iBAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAFW,KAAK,QAIf;IAED;;;OAGG;IACH,mBAFW,OAAO,WAMjB;IAED;;;OAGG;IACH,sBAEC;IAED;;;OAGG;IACH,sBAGC;IAED;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,aAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,qBAEC;IAED;;;;;;;OAOG;IACH,0DAiBC;IAED;;;;OAIG;IACH,eAHW,MAAM,KACN,MAAM,QAOhB;IAED;;;;OAIG;IACH,aAHW,MAAM,UACN,MAAM,QAIhB;IAED;;;OAGG;IACH,SAFa,KAAK,CAIjB;IAED;;;;OAIG;IACH,YAHW,KAAK,GACH,KAAK,CAIjB;IAED;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,CAOnB;IAED;;;;;;OAMG;IACH,UALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAQhB;IAED;;;;;;OAMG;IACH,uBALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAsBhB;IAED;;OAEG;IACH,oCAEC;IAED,mBAEC;IAED;;;;;MAOC;IAED,0BAEC;CACJ;;;qBAqCS,KAAK;qBAML,KAAK;;oBA1mBK,kBAAkB;AAkkBtC;;;;;;;GAOG;AACH,gDANW,KAAK,MACL,KAAK,MACL,OAAO,MACP,OAAO,GACL,OAAO,CAsBnB"}
1
+ {"version":3,"file":"AABB2.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/aabb/AABB2.js"],"names":[],"mappings":";AAYA;;;GAGG;AACH;IACI;;;;;;OAMG;IACH,gEA+BC;IApBG;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IAGhB;;;OAGG;IACH,gBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,iBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,WAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,aAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QA8BlB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,sBAJW,KAAK,UACL,KAAK,GACH,OAAO,CAcnB;IAED;;;;OAIG;IACH,qBAHW,KAAK,GACH,OAAO,CAcnB;IAED;;;;;;;OAOG;IACH,0EAMC;IAED;;;;OAIG;IACH,qBAHW,MAAM,KACN,MAAM,QAKhB;IAED;;;;;;OAMG;IACH,0BALW,OAAO,MACP,OAAO,UACP,OAAO,GACL,OAAO,CA0BnB;IAED;;;;OAIG;IACH,kCAHW,OAAO,UACP,OAAO,QAmBjB;IAED;;;;OAIG;IACH,wBAHW,KAAK,GACH,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,sBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CA4BlB;IAED;;;OAGG;IACH,eAFa,MAAM,CASlB;IAED;;;OAGG;IACH,sBAFY,MAAM,CAYjB;IAED;;;;;OAKG;IACH,iBAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAFW,KAAK,QAIf;IAED;;;OAGG;IACH,mBAFW,OAAO,WAOjB;IAED;;;;OAIG;IACH,QAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,QAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,sBAEC;IAED;;;OAGG;IACH,sBAGC;IAED;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,aAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,qBAEC;IAED;;;;;;;OAOG;IACH,0DAiBC;IAED;;;;OAIG;IACH,eAHW,MAAM,KACN,MAAM,QAOhB;IAED;;;;OAIG;IACH,aAHW,MAAM,UACN,MAAM,QAOhB;IAED;;;OAGG;IACH,SAFa,KAAK,CAIjB;IAED;;;;OAIG;IACH,YAHW,KAAK,GACH,KAAK,CAIjB;IAED;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,CAOnB;IAED;;;;;;OAMG;IACH,UALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAQhB;IAED;;;;;;OAMG;IACH,uBALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAsBhB;IAED;;OAEG;IACH,oCAEC;IAED,mBAEC;IAED;;;;;MAOC;IAED,0BAEC;IAED;;;;OAIG;IACH,iBAJW,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,GACJ,MAAM,EAAE,GAAC,YAAY,CAUjC;CACJ;;;qBAqCS,KAAK;qBAML,KAAK;;oBA/nBK,kBAAkB;AAulBtC;;;;;;;GAOG;AACH,gDANW,KAAK,MACL,KAAK,MACL,OAAO,MACP,OAAO,GACL,OAAO,CAsBnB"}
@@ -209,22 +209,6 @@ class AABB2 {
209
209
  this._expandToFit(x, y, x, y);
210
210
  }
211
211
 
212
- /**
213
- * retrieve midpoint of AABB along X axis
214
- * @returns {number}
215
- */
216
- midX() {
217
- return (this.x1 + this.x0) / 2;
218
- }
219
-
220
- /**
221
- * retrieve midpoint of AABB along Y axis
222
- * @returns {number}
223
- */
224
- midY() {
225
- return (this.y1 + this.y0) / 2;
226
- }
227
-
228
212
  /**
229
213
  * NOTE: only 1 intersection point is produced
230
214
  * @param {Vector2} p0
@@ -376,16 +360,35 @@ class AABB2 {
376
360
 
377
361
  /**
378
362
  *
379
- * @param {Vector2} result
363
+ * @param {Vector2} [result]
380
364
  */
381
365
  getCenter(result = new Vector2()) {
366
+
382
367
  result.set(this.centerX, this.centerY);
383
368
 
384
369
  return result;
385
370
  }
386
371
 
387
372
  /**
388
- *
373
+ * retrieve midpoint of AABB along X axis
374
+ * @deprecated use {@link centerX} instead
375
+ * @returns {number}
376
+ */
377
+ midX() {
378
+ return this.centerX;
379
+ }
380
+
381
+ /**
382
+ * retrieve midpoint of AABB along Y axis
383
+ * @deprecated use {@link centerY} instead
384
+ * @returns {number}
385
+ */
386
+ midY() {
387
+ return this.centerY;
388
+ }
389
+
390
+ /**
391
+ * midpoint along X axis
389
392
  * @return {number}
390
393
  */
391
394
  get centerX() {
@@ -393,7 +396,7 @@ class AABB2 {
393
396
  }
394
397
 
395
398
  /**
396
- *
399
+ * midpoint along Y axis
397
400
  * @return {number}
398
401
  */
399
402
  get centerY() {
@@ -478,7 +481,10 @@ class AABB2 {
478
481
  * @param {number} deltaY
479
482
  */
480
483
  move(deltaX, deltaY) {
481
- this.set(this.x0 + deltaX, this.y0 + deltaY, this.x1 + deltaX, this.y1 + deltaY);
484
+ this.set(
485
+ this.x0 + deltaX, this.y0 + deltaY,
486
+ this.x1 + deltaX, this.y1 + deltaY
487
+ );
482
488
  }
483
489
 
484
490
  /**
@@ -577,6 +583,21 @@ class AABB2 {
577
583
  fromJSON(json) {
578
584
  this.set(json.x0, json.y0, json.x1, json.y1);
579
585
  }
586
+
587
+ /**
588
+ * @param {number[]|Float32Array} target
589
+ * @param {number} offset
590
+ * @returns {number[]|Float32Array}
591
+ */
592
+ toArray(target=[], offset=0){
593
+
594
+ target[offset] = this.x0;
595
+ target[offset+1] = this.y0;
596
+ target[offset+2] = this.x1;
597
+ target[offset+3] = this.y1;
598
+
599
+ return target;
600
+ }
580
601
  }
581
602
 
582
603
 
@@ -590,8 +611,8 @@ class AABB2 {
590
611
  */
591
612
  function computeLineBetweenTwoBoxes(b0, b1, p0, p1) {
592
613
  //compute box centers
593
- const c0 = new Vector2(b0.midX(), b0.midY());
594
- const c1 = new Vector2(b1.midX(), b1.midY());
614
+ const c0 = new Vector2(b0.centerX, b0.centerY);
615
+ const c1 = new Vector2(b1.centerX, b1.centerY);
595
616
 
596
617
  const i0 = b0.lineIntersectionPoint(c0, c1, p0);
597
618
 
@@ -1 +1 @@
1
- {"version":3,"file":"aabb2_compute_center_from_multiple.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,0DAHW,YAAa,GACX,OAAO,CAanB;oBAlBmB,kBAAkB"}
1
+ {"version":3,"file":"aabb2_compute_center_from_multiple.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,0DAHW,YAAa,GACX,OAAO,CAkBnB;oBAvBmB,kBAAkB"}
@@ -9,10 +9,15 @@ export function aabb2_compute_center_from_multiple(boxes) {
9
9
  const numBoxes = boxes.length;
10
10
 
11
11
  const center = new Vector2();
12
+
12
13
  for (let i = 0; i < numBoxes; i++) {
14
+
13
15
  const box = boxes[i];
14
- center._add(box.midX(), box.midY());
16
+
17
+ center._add(box.centerX, box.centerY);
18
+
15
19
  }
20
+
16
21
  center.multiplyScalar(1 / numBoxes);
17
22
 
18
23
  return center;
@@ -5,12 +5,10 @@
5
5
  export class QuadTreeDatum<D> extends AABB2 {
6
6
  /**
7
7
  *
8
- * @param {Number} [x0=0]
9
- * @param {Number} [y0=0]
10
- * @param {Number} [x1=0]
11
- * @param {Number} [y1=0]
8
+ * @type {QuadTreeNode|null}
12
9
  */
13
- constructor(x0?: number, y0?: number, x1?: number, y1?: number);
10
+ constructor(x0: number, y0: number, x1: number, y1: number);
11
+ constructor();
14
12
  /**
15
13
  *
16
14
  * @type {D|null}
@@ -1 +1 @@
1
- {"version":3,"file":"QuadTreeDatum.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/quad-tree/QuadTreeDatum.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH;IACI;;;;;;OAMG;IACH,gEAcC;IAXG;;;OAGG;IACH,MAFU,CAAC,GAAC,IAAI,CAEA;IAEhB;;;OAGG;IACH,YAFU,eAAa,IAAI,CAEL;IAG1B,mBA2BC;IAED;;;;;;OAMG;IACH,WALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QA8BhB;IAED;;;;OAIG;IACH,SAHW,MAAM,MACN,MAAM,QAUhB;IAGL,yBAAuC;CAFtC;kBA9GiB,wBAAwB"}
1
+ {"version":3,"file":"QuadTreeDatum.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/quad-tree/QuadTreeDatum.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH;IAQI;;;OAGG;IACH,4DAAD;IAAC,cACJ;IAXI;;;OAGG;IACH,MAFU,CAAC,GAAC,IAAI,CAEJ;IAEZ;;;OAGG;IACH,YAFU,eAAa,IAAI,CAET;IAElB,mBA2BC;IAED;;;;;;OAMG;IACH,WALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QA8BhB;IAED;;;;OAIG;IACH,SAHW,MAAM,MACN,MAAM,QAUhB;IAGL,yBAAuC;CAFtC;kBApGiB,wBAAwB"}
@@ -6,28 +6,18 @@ import AABB2 from "../../2d/aabb/AABB2.js";
6
6
  * @extends {AABB2}
7
7
  */
8
8
  export class QuadTreeDatum extends AABB2 {
9
+
9
10
  /**
10
11
  *
11
- * @param {Number} [x0=0]
12
- * @param {Number} [y0=0]
13
- * @param {Number} [x1=0]
14
- * @param {Number} [y1=0]
12
+ * @type {D|null}
15
13
  */
16
- constructor(x0, y0, x1, y1) {
17
- super(x0, y0, x1, y1);
18
-
19
- /**
20
- *
21
- * @type {D|null}
22
- */
23
- this.data = null;
24
-
25
- /**
26
- *
27
- * @type {QuadTreeNode|null}
28
- */
29
- this.parentNode = null;
30
- }
14
+ data = null;
15
+
16
+ /**
17
+ *
18
+ * @type {QuadTreeNode|null}
19
+ */
20
+ parentNode = null;
31
21
 
32
22
  disconnect() {
33
23
  const parentNode = this.parentNode;
@@ -0,0 +1,8 @@
1
+ /**
2
+ *
3
+ * @param {Rectangle} rect
4
+ * @returns {AABB2}
5
+ */
6
+ export function rectangle_to_aabb(rect: Rectangle): AABB2;
7
+ import AABB2 from "./aabb/AABB2.js";
8
+ //# sourceMappingURL=rectangle_to_aabb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rectangle_to_aabb.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/2d/rectangle_to_aabb.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,oDAFa,KAAK,CAuBjB;kBA5BiB,iBAAiB"}
@@ -0,0 +1,29 @@
1
+ import AABB2 from "./aabb/AABB2.js";
2
+
3
+ /**
4
+ *
5
+ * @param {Rectangle} rect
6
+ * @returns {AABB2}
7
+ */
8
+ export function rectangle_to_aabb(rect) {
9
+ const position = rect.position;
10
+
11
+ const x0 = position.x;
12
+ const y0 = position.y;
13
+
14
+ const size = rect.size;
15
+
16
+ let x1 = x0;
17
+ let y1 = y0;
18
+
19
+ // sanitize bounds
20
+ if (size.x > 0) {
21
+ x1 += size.x;
22
+ }
23
+
24
+ if (size.y > 0) {
25
+ y1 += size.y;
26
+ }
27
+
28
+ return new AABB2(x0, y0, x1, y1);
29
+ }
@@ -1,6 +1,6 @@
1
1
  import { orient3d } from "robust-predicates";
2
2
  import { assert } from "../../../assert.js";
3
- import { Base64 } from "../../../binary/Base64.js";
3
+ import { Base64 } from "../../../binary/base64/Base64.js";
4
4
  import { BinaryBuffer } from "../../../binary/BinaryBuffer.js";
5
5
  import { EndianType } from "../../../binary/EndianType.js";
6
6
  import { array_copy } from "../../../collection/array/array_copy.js";
@@ -9,5 +9,5 @@
9
9
  * @returns {SquareMatrix}
10
10
  */
11
11
  export function graph_compute_distance_matrix<T>(graph: Graph<T>, node_array: T[], targets: number[], node_index_map: Map<T, number>): SquareMatrix;
12
- import { SquareMatrix } from "./SquareMatrix.js";
12
+ import { SquareMatrix } from "../math/matrix/SquareMatrix.js";
13
13
  //# sourceMappingURL=graph_compute_distance_matrix.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph_compute_distance_matrix.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/graph_compute_distance_matrix.js"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,4FAJW,MAAM,EAAE,mCAEN,YAAY,CAyFxB;6BAnG4B,mBAAmB"}
1
+ {"version":3,"file":"graph_compute_distance_matrix.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/graph_compute_distance_matrix.js"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,4FAJW,MAAM,EAAE,mCAEN,YAAY,CAyFxB;6BAnG4B,gCAAgC"}
@@ -1,7 +1,7 @@
1
1
  import { BitSet } from "../binary/BitSet.js";
2
2
  import { BinaryDataType } from "../binary/type/BinaryDataType.js";
3
3
  import BinaryHeap from "../collection/heap/BinaryHeap.js";
4
- import { SquareMatrix } from "./SquareMatrix.js";
4
+ import { SquareMatrix } from "../math/matrix/SquareMatrix.js";
5
5
 
6
6
  /**
7
7
  * Produce a distance matrix from an input graph, tracing distances from each node to every node specified in target vector
@@ -7,5 +7,5 @@
7
7
  * @param {Map<T,number>} node_indices
8
8
  */
9
9
  export function graph_compute_laplacian_matrix<T>(graph: Graph<T>, result: SquareMatrix, node_indices: Map<T, number>): void;
10
- import { SquareMatrix } from "./SquareMatrix.js";
10
+ import { SquareMatrix } from "../math/matrix/SquareMatrix.js";
11
11
  //# sourceMappingURL=graph_compute_laplacian_matrix.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph_compute_laplacian_matrix.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/graph_compute_laplacian_matrix.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,2EAHW,YAAY,sCAWtB;6BAlB4B,mBAAmB"}
1
+ {"version":3,"file":"graph_compute_laplacian_matrix.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/graph_compute_laplacian_matrix.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,2EAHW,YAAY,sCAWtB;6BApB4B,gCAAgC"}
@@ -1,7 +1,7 @@
1
1
  import { BinaryDataType } from "../binary/type/BinaryDataType.js";
2
+ import { SquareMatrix } from "../math/matrix/SquareMatrix.js";
2
3
  import { graph_compute_adjacency_matrix } from "./graph_compute_adjacency_matrix.js";
3
4
  import { graph_compute_degree_matrix } from "./graph_compute_degree_matrix.js";
4
- import { SquareMatrix } from "./SquareMatrix.js";
5
5
 
6
6
  /**
7
7
  * Laplacian matrix (graph Laplacian)
@@ -249,8 +249,8 @@ function computeBoundingBox(circles) {
249
249
  */
250
250
  export function centerCircleCollectionOn(circles, center) {
251
251
  const bBox = computeBoundingBox(circles);
252
- const dX = bBox.midX() - center.x;
253
- const dY = bBox.midY() - center.y;
252
+ const dX = bBox.centerX - center.x;
253
+ const dY = bBox.centerY - center.y;
254
254
  circles.forEach(function (b) {
255
255
  if (b.locked) {
256
256
  //node is locked and can't be moved
@@ -1 +1 @@
1
- {"version":3,"file":"BoxLayouter.d.ts","sourceRoot":"","sources":["../../../../../../src/core/graph/layout/box/BoxLayouter.js"],"names":[],"mappings":"AAmaA;;;;GAIG;AACH,+CAHW,KAAK,EAAE,UACP,OAAO,QASjB;kBAzaiB,gCAAgC;oBAC9B,0BAA0B;AAib9C;;;;;GAKG;AACH,mCAJW,MAAO,KAAK,CAAC,yBAEb,OAAO,QA0FjB;AArGD,gDAKC"}
1
+ {"version":3,"file":"BoxLayouter.d.ts","sourceRoot":"","sources":["../../../../../../src/core/graph/layout/box/BoxLayouter.js"],"names":[],"mappings":"AAyaA;;;;GAIG;AACH,+CAHW,KAAK,EAAE,UACP,OAAO,QASjB;kBA/aiB,gCAAgC;oBAC9B,0BAA0B;AAub9C;;;;;GAKG;AACH,mCAJW,MAAO,KAAK,CAAC,yBAEb,OAAO,QA0FjB;AArGD,gDAKC"}