@woosh/meep-engine 2.59.0 → 2.59.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 (67) hide show
  1. package/build/meep.cjs +710 -644
  2. package/build/meep.min.js +1 -1
  3. package/build/meep.module.js +710 -644
  4. package/editor/process/symbolic/SymbolicDisplayInternalAPI.js +3 -3
  5. package/editor/process/symbolic/makeParticleEmitterSymbolicDisplay.js +1 -1
  6. package/editor/process/symbolic/makePathSymbolicDisplay.js +1 -1
  7. package/editor/process/symbolic/makeSoundEmitterSymbolicDisplay.js +1 -1
  8. package/editor/tools/TopDownCameraControlTool.js +2 -2
  9. package/editor/tools/v2/TransformControls.js +1 -1
  10. package/editor/tools/v2/prototypeTransformControls.js +1 -1
  11. package/package.json +1 -1
  12. package/samples/generation/main.js +1 -1
  13. package/samples/terrain/editor.js +1 -1
  14. package/src/core/collection/array/arraySetDiff.js +11 -7
  15. package/src/core/geom/3d/aabb/aabb3_array_intersects_point.spec.js +48 -0
  16. package/src/core/geom/3d/aabb/aabb3_array_intersects_ray.js +5 -1
  17. package/src/core/geom/3d/aabb/aabb3_expand_array.spec.js +16 -0
  18. package/src/core/geom/3d/aabb/aabb3_raycast.spec.js +37 -0
  19. package/src/core/geom/3d/aabb/aabb3_score_boxes_SAH.js +11 -12
  20. package/src/core/geom/3d/aabb/aabb3_score_boxes_SAH.spec.js +14 -0
  21. package/src/core/geom/3d/aabb/aabb3_transformed_compute_plane_side.js +6 -4
  22. package/src/core/geom/3d/aabb/compute_aabb_from_points.js +6 -3
  23. package/src/core/geom/3d/matrix/m4_multiply.spec.js +24 -0
  24. package/src/core/geom/3d/matrix/m4_multiply_alphatensor.js +56 -40
  25. package/src/core/geom/3d/matrix/m4_multiply_alphatensor.spec.js +24 -0
  26. package/src/core/geom/3d/shape/util/shape_to_visual_entity.js +2 -2
  27. package/src/core/geom/Vector3.spec.js +24 -14
  28. package/src/engine/EngineHarness.js +1 -1
  29. package/src/engine/control/ControlContext.js +1 -1
  30. package/src/engine/ecs/Entity.d.ts +2 -0
  31. package/src/engine/ecs/Entity.js +40 -37
  32. package/src/engine/ecs/Entity.spec.js +2 -2
  33. package/src/engine/ecs/EntityBuilderUtils.js +2 -2
  34. package/src/engine/ecs/EntityComponentDataset.js +91 -89
  35. package/src/engine/ecs/EntityFlags.js +4 -4
  36. package/src/engine/ecs/attachment/Attachment.js +5 -2
  37. package/src/engine/ecs/binding/ComponentPropertyBinding.js +13 -13
  38. package/src/engine/ecs/dynamic_actions/RuleExecution.js +1 -1
  39. package/src/engine/ecs/parent/EntityNode.js +2 -2
  40. package/src/engine/ecs/parent/EntityNode.spec.js +2 -2
  41. package/src/engine/ecs/tooltip/testTooltipComponentSystem.js +1 -1
  42. package/src/engine/ecs/util/hideEntityGracefully.js +6 -6
  43. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +1 -0
  44. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts +3 -0
  45. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.js +69 -28
  46. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.js +21 -15
  47. package/src/engine/graphics/ecs/mesh-v2/render/SGThreeObjectCache.js +30 -7
  48. package/src/engine/graphics/ecs/mesh-v2/sample/load_gltf.js +1 -1
  49. package/src/engine/graphics/ecs/mesh-v2/sample/prototypeShadedGeometry.js +71 -34
  50. package/src/engine/graphics/ecs/mesh-v2/sample/prototype_sg_raycast.js +1 -1
  51. package/src/engine/graphics/ecs/path/PathDisplaySystem.js +4 -4
  52. package/src/engine/graphics/ecs/path/entity/EntityPathMarker.js +1 -1
  53. package/src/engine/graphics/ecs/path/highlight/PathDisplayHighlightSystem.js +3 -3
  54. package/src/engine/graphics/render/buffer/buffers/prototypeNormalFrameBuffer.js +5 -5
  55. package/src/engine/graphics/render/forward_plus/plugin/ptototypeFPPlugin.js +2 -2
  56. package/src/engine/graphics/render/visibility/hiz/prototypeHiZ.js +1 -1
  57. package/src/engine/graphics/sh3/prototypeSH3Probe.js +2 -2
  58. package/src/engine/intelligence/behavior/ecs/EntityBehavior.js +14 -17
  59. package/src/engine/intelligence/behavior/util/DelayBehavior.js +6 -6
  60. package/src/engine/ui/GUIEngine.js +368 -371
  61. package/src/engine/ui/notification/NotificationManager.js +1 -1
  62. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessor.js +1 -1
  63. package/src/view/tooltip/gml/TooltipParser.js +21 -28
  64. package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.js +3 -2
  65. package/src/core/geom/3d/aabb/aabb3_intersects_ray_branchless.js +0 -52
  66. package/src/core/geom/3d/aabb/aabb3_intersects_ray_fast.js +0 -176
  67. package/src/core/geom/3d/aabb/aabb3_intersects_ray_slab.js +0 -91
@@ -549,7 +549,7 @@ function setup_scene_3(engine, ecd) {
549
549
  // key_light_transform.position.set(10, 10, 0);
550
550
  // key_light_transform.lookAt(new Vector3(0, 0, 0));
551
551
  //
552
- // new EntityBuilder()
552
+ // new Entity()
553
553
  // .add(light_key)
554
554
  // .add(key_light_transform)
555
555
  // .build(ecd);
@@ -1150,7 +1150,7 @@ function main(engine) {
1150
1150
  // pointerEvents: 'auto'
1151
1151
  // });
1152
1152
 
1153
- // new EntityBuilder()
1153
+ // new Entity()
1154
1154
  // .add(ViewportPosition.fromJSON({
1155
1155
  // anchor: Vector2.one,
1156
1156
  // offset: new Vector2(-0, -0),
@@ -367,7 +367,7 @@ function main(engine) {
367
367
  // for (let i = 0; i < 10; i++) {
368
368
  // for (let j = 0; j < 10; j++) {
369
369
  //
370
- // new EntityBuilder()
370
+ // new Entity()
371
371
  // .add(Transform.fromJSON({
372
372
  // position: {
373
373
  // x: 60 + i * 10,
@@ -284,7 +284,7 @@ async function main(engine) {
284
284
  ];
285
285
 
286
286
  //
287
- // new EntityBuilder()
287
+ // new Entity()
288
288
  // .add(Transform.fromJSON({
289
289
  // position: {
290
290
  // x: mesh_asset.boundingBox.x0,
@@ -300,7 +300,7 @@ async function main(engine) {
300
300
  // }))
301
301
  // .build(ecd);
302
302
  //
303
- // new EntityBuilder()
303
+ // new Entity()
304
304
  // .add(Transform.fromJSON({
305
305
  // position: {
306
306
  // x: mesh_asset.boundingBox.x1,
@@ -1,28 +1,25 @@
1
- import { Behavior } from "../Behavior.js";
2
- import { assert } from "../../../../core/assert.js";
1
+ import {Behavior} from "../Behavior.js";
2
+ import {assert} from "../../../../core/assert.js";
3
3
 
4
4
  export class EntityBehavior extends Behavior {
5
5
 
6
- constructor() {
7
- super();
8
6
 
9
- /**
10
- * Entity ID
11
- * @type {number}
12
- */
13
- this.entity = -1;
7
+ /**
8
+ * Entity ID
9
+ * @type {number}
10
+ */
11
+ entity = -1;
14
12
 
15
- /**
16
- *
17
- * @type {EntityComponentDataset}
18
- */
19
- this.ecd = null;
20
- }
13
+ /**
14
+ *
15
+ * @type {EntityComponentDataset}
16
+ */
17
+ ecd = null;
21
18
 
22
19
  initialize(context) {
23
- const { entity, ecd, engine } = context;
20
+ const {entity, ecd, engine} = context;
24
21
 
25
- assert.typeOf(entity, 'number', 'entity');
22
+ assert.isNumber(entity, 'entity');
26
23
  assert.defined(ecd);
27
24
  assert.defined(engine);
28
25
 
@@ -41,17 +41,17 @@ export class DelayBehavior extends Behavior {
41
41
 
42
42
  /**
43
43
  *
44
- * @param {number} value in seconds
44
+ * @param {number} seconds in seconds
45
45
  * @return {DelayBehavior}
46
46
  */
47
- static from(value) {
48
- assert.isNumber(value, 'value');
49
- assert.notNaN(value, 'value');
50
- assert.isFiniteNumber(value, 'value');
47
+ static from(seconds) {
48
+ assert.isNumber(seconds, 'value');
49
+ assert.notNaN(seconds, 'value');
50
+ assert.isFiniteNumber(seconds, 'value');
51
51
 
52
52
  const r = new DelayBehavior();
53
53
 
54
- r.value = value;
54
+ r.value = seconds;
55
55
 
56
56
  return r;
57
57
  }