@woosh/meep-engine 2.120.4 → 2.121.0

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 (68) hide show
  1. package/README.md +36 -9
  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/color/oklab/find_cusp.d.ts.map +1 -1
  13. package/src/core/color/oklab/find_cusp.js +4 -1
  14. package/src/core/color/oklab/oklab_to_linear_srgb.d.ts.map +1 -1
  15. package/src/core/color/oklab/oklab_to_linear_srgb.js +1 -0
  16. package/src/core/color/operations/color_lighten.d.ts +1 -1
  17. package/src/core/color/operations/color_lighten.d.ts.map +1 -1
  18. package/src/core/color/operations/color_lighten.js +6 -1
  19. package/src/core/geom/Vector1.d.ts.map +1 -1
  20. package/src/core/geom/Vector1.js +15 -2
  21. package/src/core/process/action/AsynchronousDelayAction.js +1 -1
  22. package/src/engine/EntityCreator.js +1 -1
  23. package/src/engine/achievements/AchievementManager.js +1 -1
  24. package/src/engine/animation/AnimationUtils.js +1 -1
  25. package/src/engine/animation/async/prototypeAsyncAnimation.js +2 -2
  26. package/src/engine/animation/behavior/animateProperty.js +1 -1
  27. package/src/engine/animation/playTrackRealTime.js +1 -1
  28. package/src/engine/ecs/Entity.d.ts.map +1 -1
  29. package/src/engine/ecs/Entity.js +18 -7
  30. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  31. package/src/engine/ecs/EntityComponentDataset.js +14 -7
  32. package/src/engine/ecs/EntityReference.d.ts +4 -4
  33. package/src/engine/ecs/EntityReference.js +4 -4
  34. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.js +1 -1
  35. package/src/engine/ecs/speaker/VoiceSystem.d.ts +8 -2
  36. package/src/engine/ecs/speaker/VoiceSystem.d.ts.map +1 -1
  37. package/src/engine/ecs/speaker/VoiceSystem.js +1 -1
  38. package/src/engine/ecs/util/hideEntityGracefully.js +3 -3
  39. package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.d.ts.map +1 -1
  40. package/src/engine/graphics/ecs/camera/filter/setup_filtered_camera_controller.js +6 -6
  41. package/src/engine/graphics/ecs/decal/v2/prototypeDecalSystem.js +1 -1
  42. package/src/engine/graphics/ecs/mesh-v2/aggregate/prototypeSGMesh.js +1 -1
  43. package/src/engine/graphics/ecs/mesh-v2/sample/prototypeShadedGeometry.js +2 -2
  44. package/src/engine/graphics/ecs/mesh-v2/sample/prototype_sg_raycast.js +1 -1
  45. package/src/engine/graphics/ecs/path/tube/prototypeAnimatedPathMask.js +1 -1
  46. package/src/engine/graphics/ecs/trail2d/prototypeTrail2D.js +1 -1
  47. package/src/engine/graphics/impostors/octahedral/prototypeBaker.js +1 -1
  48. package/src/engine/graphics/particles/particular/engine/utils/volume/prototypeParticleVolume.js +2 -2
  49. package/src/engine/graphics/render/forward_plus/plugin/ptototypeFPPlugin.js +4 -4
  50. package/src/engine/graphics/sh3/path_tracer/make_one_vector3.d.ts.map +1 -1
  51. package/src/engine/graphics/sh3/path_tracer/make_sky_hosek.d.ts.map +1 -1
  52. package/src/engine/graphics/sh3/path_tracer/make_sky_rtiw.d.ts.map +1 -1
  53. package/src/engine/graphics/sh3/path_tracer/make_zero_vector3.d.ts.map +1 -1
  54. package/src/engine/input/devices/PointerDevice.js +1 -1
  55. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +79 -3
  56. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
  57. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.js +24 -8
  58. package/src/engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.d.ts.map +1 -1
  59. package/src/engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js +2 -2
  60. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts +33 -7
  61. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +3 -2
  62. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  63. package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +7 -5
  64. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts +10 -9
  65. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts.map +1 -1
  66. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.js +19 -20
  67. package/src/engine/physics/fluid/prototype.js +1 -1
  68. package/src/engine/physics/inverse_kinematics/fabrik/prototype.js +1 -1
@@ -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