@woosh/meep-engine 2.120.5 → 2.121.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 (112) hide show
  1. package/README.md +1 -1
  2. package/editor/view/node-graph/NodeGraphEditorView.d.ts.map +1 -1
  3. package/editor/view/node-graph/NodeGraphView.d.ts.map +1 -1
  4. package/editor/view/node-graph/NodeView.d.ts.map +1 -1
  5. package/editor/view/node-graph/PortView.d.ts.map +1 -1
  6. package/package.json +1 -1
  7. package/src/core/codegen/LineBuilder.d.ts +2 -2
  8. package/src/core/codegen/LineBuilder.d.ts.map +1 -1
  9. package/src/core/codegen/LineBuilder.js +14 -9
  10. package/src/core/collection/array/array_set_diff_sorting.d.ts +1 -1
  11. package/src/core/collection/array/array_set_diff_sorting.js +1 -1
  12. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  13. package/src/core/collection/map/HashMap.js +29 -2
  14. package/src/core/color/oklab/find_cusp.d.ts.map +1 -1
  15. package/src/core/color/oklab/find_cusp.js +4 -1
  16. package/src/core/color/oklab/oklab_to_linear_srgb.d.ts.map +1 -1
  17. package/src/core/color/oklab/oklab_to_linear_srgb.js +1 -0
  18. package/src/core/color/operations/color_lighten.d.ts +1 -1
  19. package/src/core/color/operations/color_lighten.d.ts.map +1 -1
  20. package/src/core/color/operations/color_lighten.js +6 -1
  21. package/src/core/geom/2d/aabb/aabb2_intersects_point.d.ts +12 -0
  22. package/src/core/geom/2d/aabb/aabb2_intersects_point.d.ts.map +1 -0
  23. package/src/core/geom/2d/aabb/aabb2_intersects_point.js +17 -0
  24. package/src/core/geom/2d/quad-tree/QuadTreeNode.d.ts +17 -6
  25. package/src/core/geom/2d/quad-tree/QuadTreeNode.d.ts.map +1 -1
  26. package/src/core/geom/2d/quad-tree/QuadTreeNode.js +59 -98
  27. package/src/core/geom/2d/quad-tree/qt_collect_by_box.d.ts +14 -0
  28. package/src/core/geom/2d/quad-tree/qt_collect_by_box.d.ts.map +1 -0
  29. package/src/core/geom/2d/quad-tree/qt_collect_by_box.js +90 -0
  30. package/src/core/geom/2d/quad-tree/qt_collect_by_point.d.ts +11 -0
  31. package/src/core/geom/2d/quad-tree/qt_collect_by_point.d.ts.map +1 -0
  32. package/src/core/geom/2d/quad-tree/qt_collect_by_point.js +85 -0
  33. package/src/core/geom/3d/ray/ray3_distance_to_point.d.ts +14 -1
  34. package/src/core/geom/3d/ray/ray3_distance_to_point.d.ts.map +1 -1
  35. package/src/core/geom/3d/ray/ray3_distance_to_point.js +18 -1
  36. package/src/core/geom/3d/shape/UnionShape3D.d.ts.map +1 -1
  37. package/src/core/geom/3d/shape/UnionShape3D.js +4 -0
  38. package/src/core/geom/3d/shape/UnitCubeShape3D.d.ts.map +1 -1
  39. package/src/core/geom/3d/shape/UnitCubeShape3D.js +4 -0
  40. package/src/core/geom/ConicRay.d.ts +5 -1
  41. package/src/core/geom/ConicRay.d.ts.map +1 -1
  42. package/src/core/geom/ConicRay.js +5 -1
  43. package/src/core/geom/Vector1.d.ts.map +1 -1
  44. package/src/core/geom/Vector1.js +15 -2
  45. package/src/core/geom/Vector3.d.ts.map +1 -1
  46. package/src/core/geom/Vector3.js +10 -2
  47. package/src/core/geom/packing/max-rect/MaxRectanglesPacker.d.ts.map +1 -1
  48. package/src/core/geom/packing/max-rect/MaxRectanglesPacker.js +3 -0
  49. package/src/core/geom/packing/max-rect/cutArea.d.ts.map +1 -1
  50. package/src/core/geom/packing/max-rect/cutArea.js +8 -1
  51. package/src/core/geom/packing/max-rect/findBestContainer.d.ts +4 -4
  52. package/src/core/geom/packing/max-rect/findBestContainer.d.ts.map +1 -1
  53. package/src/core/geom/packing/max-rect/findBestContainer.js +30 -8
  54. package/src/core/geom/packing/max-rect/packOneBox.d.ts.map +1 -1
  55. package/src/core/geom/packing/max-rect/packOneBox.js +7 -2
  56. package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.d.ts.map +1 -1
  57. package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.js +13 -7
  58. package/src/core/geom/packing/miniball/Miniball.d.ts.map +1 -1
  59. package/src/core/geom/packing/miniball/Miniball.js +27 -1
  60. package/src/core/geom/packing/miniball/PointSet.d.ts.map +1 -1
  61. package/src/core/geom/packing/miniball/PointSet.js +25 -4
  62. package/src/core/geom/packing/miniball/Quality.js +1 -3
  63. package/src/core/process/action/AsynchronousDelayAction.js +1 -1
  64. package/src/engine/EntityCreator.js +1 -1
  65. package/src/engine/achievements/AchievementManager.js +1 -1
  66. package/src/engine/animation/AnimationUtils.js +1 -1
  67. package/src/engine/animation/async/prototypeAsyncAnimation.js +2 -2
  68. package/src/engine/animation/behavior/animateProperty.js +1 -1
  69. package/src/engine/animation/playTrackRealTime.js +1 -1
  70. package/src/engine/ecs/Entity.d.ts.map +1 -1
  71. package/src/engine/ecs/Entity.js +12 -7
  72. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  73. package/src/engine/ecs/EntityComponentDataset.js +14 -7
  74. package/src/engine/ecs/EntityReference.d.ts +4 -4
  75. package/src/engine/ecs/EntityReference.js +4 -4
  76. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.js +1 -1
  77. package/src/engine/ecs/speaker/VoiceSystem.d.ts +8 -2
  78. package/src/engine/ecs/speaker/VoiceSystem.d.ts.map +1 -1
  79. package/src/engine/ecs/speaker/VoiceSystem.js +1 -1
  80. package/src/engine/ecs/util/hideEntityGracefully.js +3 -3
  81. package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.d.ts.map +1 -1
  82. package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.js +6 -6
  83. package/src/engine/graphics/ecs/decal/v2/prototypeDecalSystem.js +1 -1
  84. package/src/engine/graphics/ecs/mesh-v2/aggregate/prototypeSGMesh.js +1 -1
  85. package/src/engine/graphics/ecs/mesh-v2/sample/prototypeShadedGeometry.js +2 -2
  86. package/src/engine/graphics/ecs/mesh-v2/sample/prototype_sg_raycast.js +1 -1
  87. package/src/engine/graphics/ecs/path/tube/prototypeAnimatedPathMask.js +1 -1
  88. package/src/engine/graphics/ecs/trail2d/prototypeTrail2D.js +1 -1
  89. package/src/engine/graphics/impostors/octahedral/prototypeBaker.js +1 -1
  90. package/src/engine/graphics/particles/particular/engine/utils/volume/prototypeParticleVolume.js +2 -2
  91. package/src/engine/graphics/render/forward_plus/plugin/ptototypeFPPlugin.js +4 -4
  92. package/src/engine/graphics/sh3/path_tracer/make_one_vector3.d.ts.map +1 -1
  93. package/src/engine/graphics/sh3/path_tracer/make_sky_hosek.d.ts.map +1 -1
  94. package/src/engine/graphics/sh3/path_tracer/make_sky_rtiw.d.ts.map +1 -1
  95. package/src/engine/graphics/sh3/path_tracer/make_zero_vector3.d.ts.map +1 -1
  96. package/src/engine/input/devices/PointerDevice.js +1 -1
  97. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +79 -3
  98. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
  99. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.js +24 -8
  100. package/src/engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.d.ts.map +1 -1
  101. package/src/engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js +2 -2
  102. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts +33 -7
  103. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +3 -2
  104. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  105. package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +7 -5
  106. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts +10 -9
  107. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts.map +1 -1
  108. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.js +19 -20
  109. package/src/engine/physics/fluid/prototype.js +1 -1
  110. package/src/engine/physics/inverse_kinematics/fabrik/prototype.js +1 -1
  111. package/src/view/View.d.ts.map +1 -1
  112. package/src/view/View.js +14 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/ActionBehavior.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,4BAHa,GAAG;IAIZ;;;;OAIG;IACH,iCAFW,GAAC,EAcX;IAPG,cAAoB;IAGhB,eAAqB;IAM7B,uEAcC;CACJ;yBA3CwB,gBAAgB;+BACV,sBAAsB"}
1
+ {"version":3,"file":"ActionBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/ActionBehavior.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,4BAHa,GAAG;IAIZ;;;;OAIG;IACH,mCAFW,GAAC,EAeX;IARG,cAAsB;IAIlB,eAAqB;IAM7B,uEAcC;CACJ;yBA5CwB,gBAAgB;+BACV,sBAAsB"}
@@ -1,25 +1,27 @@
1
+ import { assert } from "../../../../core/assert.js";
1
2
  import { Behavior } from "../Behavior.js";
2
3
  import { BehaviorStatus } from "../BehaviorStatus.js";
3
- import { assert } from "../../../../core/assert.js";
4
4
 
5
5
  /**
6
+ * Single-shot behavior that executes the given function and resolves {@link BehaviorStatus.SUCCESS}
6
7
  * @template CTX
7
8
  * @extends {Behavior<CTX>}
8
9
  */
9
10
  export class ActionBehavior extends Behavior {
10
11
  /**
11
12
  *
12
- * @param {function(timeDelta:number, context:CTX)} func
13
+ * @param {function(timeDelta:number, context:CTX)} action
13
14
  * @param {*} [thisArg] defaults to behavior itself if not specified
14
15
  */
15
- constructor(func, thisArg) {
16
+ constructor(action, thisArg) {
16
17
  super();
17
18
 
18
- assert.typeOf(func, 'function', "action");
19
+ assert.isFunction(action, "action");
19
20
 
20
- this.__action = func;
21
+ this.__action = action;
21
22
 
22
23
  if (thisArg === undefined) {
24
+ // if thisArg is not supplied, will bind to behavior instead
23
25
  this.__context = this;
24
26
  } else {
25
27
  this.__context = thisArg;
@@ -1,21 +1,22 @@
1
1
  /**
2
- * Behavior that always succeeds
2
+ * Behavior that always succeeds.
3
+ * Useful when you need to specify a behavior to fulfill the API, but you don't actually want to perform any action.
4
+ * You usually want to use {@link INSTANCE} singleton
3
5
  */
4
6
  export class SucceedingBehavior extends Behavior<any> {
5
7
  /**
6
8
  * @deprecated use static INSTANCE instead
7
- * @param {number} delayTicks
8
9
  * @return {SucceedingBehavior}
9
10
  */
10
- static from(delayTicks?: number): SucceedingBehavior;
11
- static INSTANCE: SucceedingBehavior;
12
- constructor(delayTicks?: number);
11
+ static from(): SucceedingBehavior;
13
12
  /**
14
- * @deprecated
15
- * @type {number}
13
+ * @readonly
14
+ * @type {SucceedingBehavior}
16
15
  */
17
- delayTicks: number;
18
- tick(timeDelta: any): BehaviorStatus.Running | BehaviorStatus.Succeeded;
16
+ static readonly INSTANCE: SucceedingBehavior;
17
+ constructor();
18
+ initialize(context: any): void;
19
+ tick(timeDelta: any): BehaviorStatus;
19
20
  }
20
21
  export namespace SucceedingBehavior {
21
22
  let typeName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SucceedingBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/SucceedingBehavior.js"],"names":[],"mappings":"AAGA;;GAEG;AACH;IAeI;;;;OAIG;IACH,yBAHW,MAAM,GACL,kBAAkB,CAI7B;IAWD,oCAA2C;IAhC3C,iCAYC;IALG;;;OAGG;IACH,YAFU,MAAM,CAEY;IAYhC,wEAOC;CAGJ;;;;yBAxCwB,gBAAgB;+BACV,sBAAsB"}
1
+ {"version":3,"file":"SucceedingBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/intelligence/behavior/primitive/SucceedingBehavior.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH;IAcI;;;OAGG;IACH,eAFY,kBAAkB,CAI7B;IAMD;;;OAGG;IACH,0BAFU,kBAAkB,CAE8B;IA5B1D,cAEC;IAED,+BAEC;IAcD,qCAEC;CAOJ;;;;yBAvCwB,gBAAgB;+BACV,sBAAsB"}
@@ -2,42 +2,41 @@ import { Behavior } from "../Behavior.js";
2
2
  import { BehaviorStatus } from "../BehaviorStatus.js";
3
3
 
4
4
  /**
5
- * Behavior that always succeeds
5
+ * Behavior that always succeeds.
6
+ * Useful when you need to specify a behavior to fulfill the API, but you don't actually want to perform any action.
7
+ * You usually want to use {@link INSTANCE} singleton
6
8
  */
7
9
  export class SucceedingBehavior extends Behavior {
8
- constructor(delayTicks = 0) {
10
+
11
+ constructor() {
9
12
  super();
13
+ }
10
14
 
11
- if (delayTicks !== 0) {
12
- console.warn('delayTicks mechanic has been deprecated and will be removed in the future, if you need this functionality, please consider using RepeatBehavior.from(SucceedingBehavior.INSTANCE, delayTicks+1)');
13
- }
15
+ initialize(context) {
16
+ this.onInitialized.send2(this, context);
17
+ }
14
18
 
15
- /**
16
- * @deprecated
17
- * @type {number}
18
- */
19
- this.delayTicks = delayTicks;
19
+ finalize() {
20
+ this.onFinalized.send1(this);
20
21
  }
21
22
 
22
23
  /**
23
24
  * @deprecated use static INSTANCE instead
24
- * @param {number} delayTicks
25
25
  * @return {SucceedingBehavior}
26
26
  */
27
- static from(delayTicks = 0) {
28
- return new SucceedingBehavior(delayTicks);
27
+ static from() {
28
+ throw new Error(`Deprecated, use INSTANCE instead`)
29
29
  }
30
30
 
31
31
  tick(timeDelta) {
32
- if (this.delayTicks === 0) {
33
- return BehaviorStatus.Succeeded;
34
- } else {
35
- this.delayTicks--;
36
- return BehaviorStatus.Running;
37
- }
32
+ return BehaviorStatus.Succeeded;
38
33
  }
39
34
 
40
- static INSTANCE = new SucceedingBehavior();
35
+ /**
36
+ * @readonly
37
+ * @type {SucceedingBehavior}
38
+ */
39
+ static INSTANCE = Object.freeze(new SucceedingBehavior());
41
40
  }
42
41
 
43
42
  SucceedingBehavior.typeName = "SucceedingBehavior";
@@ -60,7 +60,7 @@ function main(engine) {
60
60
 
61
61
 
62
62
  new Entity()
63
- .add(BehaviorComponent.looping_function(time_delta => {
63
+ .add(BehaviorComponent.loop(time_delta => {
64
64
 
65
65
  const t0 = performance.now();
66
66
 
@@ -70,7 +70,7 @@ EngineHarness.bootstrap({
70
70
  const lengths = chain.map(x => 0.1);
71
71
 
72
72
  new Entity()
73
- .add(BehaviorComponent.looping_function(timeDelta => {
73
+ .add(BehaviorComponent.loop(timeDelta => {
74
74
  const last = joints[joints.length - 1];
75
75
  const target = last.position.clone();
76
76
 
@@ -1 +1 @@
1
- {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../src/view/View.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../src/view/View.js"],"names":[],"mappings":"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"}
package/src/view/View.js CHANGED
@@ -35,7 +35,9 @@ export const ViewFlags = {
35
35
  const INITIAL_FLAGS = ViewFlags.Visible;
36
36
 
37
37
  /**
38
- * Base View class
38
+ * Building block for UI elements.
39
+ * Implements a DOM model, built around HTML elements (svg and XML is allowed as well)
40
+ * Base View class.
39
41
  * @class
40
42
  */
41
43
  class View {
@@ -43,6 +45,7 @@ class View {
43
45
  /**
44
46
  * Signal bindings, these will be linked and unlinked along with the view
45
47
  * @private
48
+ * @readonly
46
49
  * @type {SignalBinding[]}
47
50
  */
48
51
  bindings = [];
@@ -84,14 +87,24 @@ class View {
84
87
  */
85
88
  transformOrigin = new Vector2(0.5, 0.5);
86
89
 
90
+ /**
91
+ * @readonly
92
+ */
87
93
  on = {
94
+ /**
95
+ * @readonly
96
+ */
88
97
  linked: new Signal(),
98
+ /**
99
+ * @readonly
100
+ */
89
101
  unlinked: new Signal()
90
102
  };
91
103
 
92
104
  /**
93
105
  *
94
106
  * @type {View[]}
107
+ * @readonly
95
108
  */
96
109
  children = [];
97
110