@needle-tools/engine 4.3.0-alpha → 4.3.0-alpha.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 (101) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/needle-engine.bundle.js +1467 -222
  3. package/dist/needle-engine.bundle.light.js +1467 -222
  4. package/dist/needle-engine.bundle.light.min.js +32 -32
  5. package/dist/needle-engine.bundle.light.umd.cjs +3 -3
  6. package/dist/needle-engine.bundle.min.js +3 -3
  7. package/dist/needle-engine.bundle.umd.cjs +3 -3
  8. package/dist/needle-engine.light.d.ts +9 -9
  9. package/lib/engine/engine_types.d.ts +162 -17
  10. package/lib/engine-components/Animator.d.ts +129 -21
  11. package/lib/engine-components/Animator.js +115 -21
  12. package/lib/engine-components/Animator.js.map +1 -1
  13. package/lib/engine-components/AnimatorController.d.ts +161 -32
  14. package/lib/engine-components/AnimatorController.js +176 -29
  15. package/lib/engine-components/AnimatorController.js.map +1 -1
  16. package/lib/engine-components/AudioListener.d.ts +16 -5
  17. package/lib/engine-components/AudioListener.js +16 -5
  18. package/lib/engine-components/AudioListener.js.map +1 -1
  19. package/lib/engine-components/AudioSource.d.ts +120 -28
  20. package/lib/engine-components/AudioSource.js +120 -37
  21. package/lib/engine-components/AudioSource.js.map +1 -1
  22. package/lib/engine-components/AvatarLoader.d.ts +61 -0
  23. package/lib/engine-components/AvatarLoader.js +61 -1
  24. package/lib/engine-components/AvatarLoader.js.map +1 -1
  25. package/lib/engine-components/AxesHelper.d.ts +19 -1
  26. package/lib/engine-components/AxesHelper.js +19 -1
  27. package/lib/engine-components/AxesHelper.js.map +1 -1
  28. package/lib/engine-components/BoxHelperComponent.d.ts +26 -0
  29. package/lib/engine-components/BoxHelperComponent.js +26 -0
  30. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  31. package/lib/engine-components/Camera.d.ts +126 -37
  32. package/lib/engine-components/Camera.js +139 -37
  33. package/lib/engine-components/Camera.js.map +1 -1
  34. package/lib/engine-components/CameraUtils.js +20 -0
  35. package/lib/engine-components/CameraUtils.js.map +1 -1
  36. package/lib/engine-components/Collider.d.ts +95 -21
  37. package/lib/engine-components/Collider.js +100 -23
  38. package/lib/engine-components/Collider.js.map +1 -1
  39. package/lib/engine-components/Component.d.ts +554 -106
  40. package/lib/engine-components/Component.js +352 -81
  41. package/lib/engine-components/Component.js.map +1 -1
  42. package/lib/engine-components/DragControls.d.ts +95 -21
  43. package/lib/engine-components/DragControls.js +126 -32
  44. package/lib/engine-components/DragControls.js.map +1 -1
  45. package/lib/engine-components/DropListener.d.ts +99 -16
  46. package/lib/engine-components/DropListener.js +119 -14
  47. package/lib/engine-components/DropListener.js.map +1 -1
  48. package/lib/engine-components/Light.d.ts +102 -5
  49. package/lib/engine-components/Light.js +102 -44
  50. package/lib/engine-components/Light.js.map +1 -1
  51. package/lib/engine-components/NeedleMenu.d.ts +28 -11
  52. package/lib/engine-components/NeedleMenu.js +28 -11
  53. package/lib/engine-components/NeedleMenu.js.map +1 -1
  54. package/lib/engine-components/Networking.d.ts +37 -5
  55. package/lib/engine-components/Networking.js +37 -5
  56. package/lib/engine-components/Networking.js.map +1 -1
  57. package/lib/engine-components/SceneSwitcher.js +44 -0
  58. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  59. package/lib/engine-components/SpatialTrigger.d.ts +66 -1
  60. package/lib/engine-components/SpatialTrigger.js +74 -2
  61. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  62. package/lib/engine-components/SpectatorCamera.d.ts +66 -4
  63. package/lib/engine-components/SpectatorCamera.js +132 -6
  64. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  65. package/lib/engine-components/SyncedTransform.d.ts +45 -6
  66. package/lib/engine-components/SyncedTransform.js +45 -6
  67. package/lib/engine-components/SyncedTransform.js.map +1 -1
  68. package/lib/engine-components/TransformGizmo.d.ts +49 -3
  69. package/lib/engine-components/TransformGizmo.js +49 -3
  70. package/lib/engine-components/TransformGizmo.js.map +1 -1
  71. package/lib/engine-components/webxr/WebXR.d.ts +131 -22
  72. package/lib/engine-components/webxr/WebXR.js +132 -23
  73. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  74. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +82 -9
  75. package/lib/engine-components-experimental/networking/PlayerSync.js +76 -11
  76. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  77. package/package.json +1 -1
  78. package/src/engine/engine_types.ts +179 -18
  79. package/src/engine-components/Animator.ts +142 -22
  80. package/src/engine-components/AnimatorController.ts +184 -34
  81. package/src/engine-components/AudioListener.ts +16 -5
  82. package/src/engine-components/AudioSource.ts +126 -37
  83. package/src/engine-components/AvatarLoader.ts +61 -2
  84. package/src/engine-components/AxesHelper.ts +21 -1
  85. package/src/engine-components/BoxHelperComponent.ts +26 -0
  86. package/src/engine-components/Camera.ts +147 -41
  87. package/src/engine-components/CameraUtils.ts +20 -0
  88. package/src/engine-components/Collider.ts +102 -27
  89. package/src/engine-components/Component.ts +605 -129
  90. package/src/engine-components/DragControls.ts +134 -38
  91. package/src/engine-components/DropListener.ts +143 -23
  92. package/src/engine-components/Light.ts +105 -44
  93. package/src/engine-components/NeedleMenu.ts +29 -11
  94. package/src/engine-components/Networking.ts +37 -6
  95. package/src/engine-components/SceneSwitcher.ts +48 -1
  96. package/src/engine-components/SpatialTrigger.ts +80 -3
  97. package/src/engine-components/SpectatorCamera.ts +136 -18
  98. package/src/engine-components/SyncedTransform.ts +50 -7
  99. package/src/engine-components/TransformGizmo.ts +49 -4
  100. package/src/engine-components/webxr/WebXR.ts +144 -27
  101. package/src/engine-components-experimental/networking/PlayerSync.ts +85 -13
@@ -9,6 +9,11 @@ import { deepClone, getParam } from "../engine/engine_utils.js";
9
9
  import { AnimatorConditionMode, AnimatorControllerParameterType, AnimatorStateInfo, createMotion } from "../engine/extensions/NEEDLE_animator_controller_model.js";
10
10
  const debug = getParam("debuganimatorcontroller");
11
11
  const debugRootMotion = getParam("debugrootmotion");
12
+ /**
13
+ * Generates a hash code for a string
14
+ * @param str - The string to hash
15
+ * @returns A numeric hash value
16
+ */
12
17
  function stringToHash(str) {
13
18
  let hash = 0;
14
19
  for (let i = 0; i < str.length; i++) {
@@ -19,16 +24,24 @@ function stringToHash(str) {
19
24
  return hash;
20
25
  }
21
26
  /**
22
- * The AnimatorController is used to control the playback of animations. It is used by the {@link Animator} component.
23
- * It is using a state machine to control the playback of animations.
24
- * To create an animator controller use the static method `AnimatorController.createFromClips(clips: AnimationClip[], options: CreateAnimatorControllerOptions)`
25
- */
27
+ * Controls the playback of animations using a state machine architecture.
28
+ *
29
+ * The AnimatorController manages animation states, transitions between states,
30
+ * and parameters that affect those transitions. It is used by the {@link Animator}
31
+ * component to control animation behavior on 3D models.
32
+ *
33
+ * Use the static method {@link AnimatorController.createFromClips} to create
34
+ * an animator controller from a set of animation clips.
35
+ */
26
36
  export class AnimatorController {
27
- /** Create an animatorcontroller. States are created from the clips array.
28
- * @param clips the clips to assign to the controller
29
- * @param options options to control the creation of the controller.
30
- * @returns the created animator controller
31
- */
37
+ /**
38
+ * Creates an AnimatorController from a set of animation clips.
39
+ * Each clip becomes a state in the controller's state machine.
40
+ *
41
+ * @param clips - The animation clips to use for creating states
42
+ * @param options - Configuration options for the controller including looping behavior and transitions
43
+ * @returns A new AnimatorController instance
44
+ */
32
45
  static createFromClips(clips, options = { looping: false, autoTransition: true, transitionDuration: 0 }) {
33
46
  const states = [];
34
47
  for (let i = 0; i < clips.length; i++) {
@@ -79,6 +92,14 @@ export class AnimatorController {
79
92
  const controller = new AnimatorController(model);
80
93
  return controller;
81
94
  }
95
+ /**
96
+ * Plays an animation state by name or hash.
97
+ *
98
+ * @param name - The name or hash identifier of the state to play
99
+ * @param layerIndex - The layer index (defaults to 0)
100
+ * @param normalizedTime - The normalized time to start the animation from (0-1)
101
+ * @param durationInSec - Transition duration in seconds
102
+ */
82
103
  play(name, layerIndex = -1, normalizedTime = Number.NEGATIVE_INFINITY, durationInSec = 0) {
83
104
  if (layerIndex < 0)
84
105
  layerIndex = 0;
@@ -98,49 +119,111 @@ export class AnimatorController {
98
119
  }
99
120
  console.warn("Could not find " + name + " to play");
100
121
  }
122
+ /**
123
+ * Resets the controller to its initial state.
124
+ */
101
125
  reset() {
102
126
  this.setStartTransition();
103
127
  }
128
+ /**
129
+ * Sets a boolean parameter value by name or hash.
130
+ *
131
+ * @param name - The name or hash identifier of the parameter
132
+ * @param value - The boolean value to set
133
+ */
104
134
  setBool(name, value) {
105
135
  const key = typeof name === "string" ? "name" : "hash";
106
136
  return this.model?.parameters?.filter(p => p[key] === name).forEach(p => p.value = value);
107
137
  }
138
+ /**
139
+ * Gets a boolean parameter value by name or hash.
140
+ *
141
+ * @param name - The name or hash identifier of the parameter
142
+ * @returns The boolean value of the parameter, or false if not found
143
+ */
108
144
  getBool(name) {
109
145
  const key = typeof name === "string" ? "name" : "hash";
110
146
  return this.model?.parameters?.find(p => p[key] === name)?.value ?? false;
111
147
  }
148
+ /**
149
+ * Sets a float parameter value by name or hash.
150
+ *
151
+ * @param name - The name or hash identifier of the parameter
152
+ * @param val - The float value to set
153
+ * @returns True if the parameter was found and set, false otherwise
154
+ */
112
155
  setFloat(name, val) {
113
156
  const key = typeof name === "string" ? "name" : "hash";
114
157
  const filtered = this.model?.parameters?.filter(p => p[key] === name);
115
158
  filtered.forEach(p => p.value = val);
116
159
  return filtered?.length > 0;
117
160
  }
161
+ /**
162
+ * Gets a float parameter value by name or hash.
163
+ *
164
+ * @param name - The name or hash identifier of the parameter
165
+ * @returns The float value of the parameter, or 0 if not found
166
+ */
118
167
  getFloat(name) {
119
168
  const key = typeof name === "string" ? "name" : "hash";
120
169
  return this.model?.parameters?.find(p => p[key] === name)?.value ?? 0;
121
170
  }
171
+ /**
172
+ * Sets an integer parameter value by name or hash.
173
+ *
174
+ * @param name - The name or hash identifier of the parameter
175
+ * @param val - The integer value to set
176
+ */
122
177
  setInteger(name, val) {
123
178
  const key = typeof name === "string" ? "name" : "hash";
124
179
  return this.model?.parameters?.filter(p => p[key] === name).forEach(p => p.value = val);
125
180
  }
181
+ /**
182
+ * Gets an integer parameter value by name or hash.
183
+ *
184
+ * @param name - The name or hash identifier of the parameter
185
+ * @returns The integer value of the parameter, or 0 if not found
186
+ */
126
187
  getInteger(name) {
127
188
  const key = typeof name === "string" ? "name" : "hash";
128
189
  return this.model?.parameters?.find(p => p[key] === name)?.value ?? 0;
129
190
  }
191
+ /**
192
+ * Sets a trigger parameter to active (true).
193
+ * Trigger parameters are automatically reset after they are consumed by a transition.
194
+ *
195
+ * @param name - The name or hash identifier of the trigger parameter
196
+ */
130
197
  setTrigger(name) {
131
198
  if (debug)
132
199
  console.log("SET TRIGGER", name);
133
200
  const key = typeof name === "string" ? "name" : "hash";
134
201
  return this.model?.parameters?.filter(p => p[key] === name).forEach(p => p.value = true);
135
202
  }
203
+ /**
204
+ * Resets a trigger parameter to inactive (false).
205
+ *
206
+ * @param name - The name or hash identifier of the trigger parameter
207
+ */
136
208
  resetTrigger(name) {
137
209
  const key = typeof name === "string" ? "name" : "hash";
138
210
  return this.model?.parameters?.filter(p => p[key] === name).forEach(p => p.value = false);
139
211
  }
212
+ /**
213
+ * Gets the current state of a trigger parameter.
214
+ *
215
+ * @param name - The name or hash identifier of the trigger parameter
216
+ * @returns The boolean state of the trigger, or false if not found
217
+ */
140
218
  getTrigger(name) {
141
219
  const key = typeof name === "string" ? "name" : "hash";
142
220
  return this.model?.parameters?.find(p => p[key] === name)?.value ?? false;
143
221
  }
222
+ /**
223
+ * Checks if the controller is currently in a transition between states.
224
+ *
225
+ * @returns True if a transition is in progress, false otherwise
226
+ */
144
227
  isInTransition() {
145
228
  return this._activeStates.length > 1;
146
229
  }
@@ -149,8 +232,20 @@ export class AnimatorController {
149
232
  this._speed = speed;
150
233
  }
151
234
  _speed = 1;
152
- /**@deprecated use findState */
235
+ /**
236
+ * Finds an animation state by name or hash.
237
+ * @deprecated Use findState instead
238
+ *
239
+ * @param name - The name or hash identifier of the state to find
240
+ * @returns The found state or null if not found
241
+ */
153
242
  FindState(name) { return this.findState(name); }
243
+ /**
244
+ * Finds an animation state by name or hash.
245
+ *
246
+ * @param name - The name or hash identifier of the state to find
247
+ * @returns The found state or null if not found
248
+ */
154
249
  findState(name) {
155
250
  if (!name)
156
251
  return null;
@@ -164,9 +259,11 @@ export class AnimatorController {
164
259
  }
165
260
  return null;
166
261
  }
167
- /** Get the current state info
168
- * @returns the current state info or null if no state is active
169
- */
262
+ /**
263
+ * Gets information about the current playing animation state.
264
+ *
265
+ * @returns An AnimatorStateInfo object with data about the current state, or null if no state is active
266
+ */
170
267
  getCurrentStateInfo() {
171
268
  if (!this._activeState)
172
269
  return null;
@@ -177,10 +274,11 @@ export class AnimatorController {
177
274
  const normalizedTime = dur <= 0 ? 0 : Math.abs(action.time / dur);
178
275
  return new AnimatorStateInfo(this._activeState, normalizedTime, dur, this._speed);
179
276
  }
180
- /** Get the current action (shorthand for activeState.motion.action)
181
- * @returns the current action that is playing. This is the action that is currently transitioning to or playing.
182
- * If no action is playing null is returned.
183
- **/
277
+ /**
278
+ * Gets the animation action currently playing.
279
+ *
280
+ * @returns The current animation action, or null if no action is playing
281
+ */
184
282
  get currentAction() {
185
283
  if (!this._activeState)
186
284
  return null;
@@ -189,20 +287,32 @@ export class AnimatorController {
189
287
  return null;
190
288
  return action;
191
289
  }
192
- /** The normalized time of the start state. This is used to determine the start time of the first state. */
290
+ /**
291
+ * The normalized time (0-1) to start playing the first state at.
292
+ * This affects the initial state when the animator is first enabled.
293
+ */
193
294
  normalizedStartOffset = 0;
194
- /** the animator that this controller is bound to */
295
+ /**
296
+ * The Animator component this controller is bound to.
297
+ */
195
298
  animator;
196
- /** the model that this controller is based on */
299
+ /**
300
+ * The data model describing the animation states and transitions.
301
+ */
197
302
  model;
198
- /** Get the context of the animator */
303
+ /**
304
+ * Gets the engine context from the bound animator.
305
+ */
199
306
  get context() { return this.animator?.context; }
200
- /** Get the animation mixer that is used to play the animations */
307
+ /**
308
+ * Gets the animation mixer used by this controller.
309
+ */
201
310
  get mixer() {
202
311
  return this._mixer;
203
312
  }
204
313
  /**
205
- * Clears the animation mixer and unregisters it from the context.
314
+ * Cleans up resources used by this controller.
315
+ * Stops all animations and unregisters the mixer from the animation system.
206
316
  */
207
317
  dispose() {
208
318
  this._mixer.stopAllAction();
@@ -218,7 +328,12 @@ export class AnimatorController {
218
328
  // applyRootMotion(obj: Object3D) {
219
329
  // // this.internalApplyRootMotion(obj);
220
330
  // }
221
- /** Bind the animator to the controller. Only one animator can be bound to a controller at a time. */
331
+ /**
332
+ * Binds this controller to an animator component.
333
+ * Creates a new animation mixer and sets up animation actions.
334
+ *
335
+ * @param animator - The animator to bind this controller to
336
+ */
222
337
  bind(animator) {
223
338
  if (!animator)
224
339
  console.error("AnimatorController.bind: animator is null");
@@ -233,7 +348,12 @@ export class AnimatorController {
233
348
  this.createActions(this.animator);
234
349
  }
235
350
  }
236
- /** Create a clone of the controller. This will clone the model but not the runtime state. */
351
+ /**
352
+ * Creates a deep copy of this controller.
353
+ * Clones the model data but does not copy runtime state.
354
+ *
355
+ * @returns A new AnimatorController instance with the same configuration
356
+ */
237
357
  clone() {
238
358
  if (typeof this.model === "string") {
239
359
  console.warn("AnimatorController has not been resolved, can not create model from string", this.model);
@@ -265,7 +385,12 @@ export class AnimatorController {
265
385
  const controller = new AnimatorController(clonedModel);
266
386
  return controller;
267
387
  }
268
- /** Called by the animator. This will update the active states and transitions as well as the animation mixer. */
388
+ /**
389
+ * Updates the controller's state machine and animations.
390
+ * Called each frame by the animator component.
391
+ *
392
+ * @param weight - The weight to apply to the animations (for blending)
393
+ */
269
394
  update(weight) {
270
395
  if (!this.animator)
271
396
  return;
@@ -284,9 +409,11 @@ export class AnimatorController {
284
409
  }
285
410
  _mixer;
286
411
  _activeState;
287
- /** Get the currently active state playing
288
- * @returns the currently active state or undefined if no state is active
289
- **/
412
+ /**
413
+ * Gets the currently active animation state.
414
+ *
415
+ * @returns The active state or undefined if no state is active
416
+ */
290
417
  get activeState() { return this._activeState; }
291
418
  constructor(model) {
292
419
  this.model = model;
@@ -706,6 +833,10 @@ export class AnimatorController {
706
833
  }
707
834
  }
708
835
  }
836
+ /**
837
+ * Yields all animation actions managed by this controller.
838
+ * Iterates through all states in all layers and returns their actions.
839
+ */
709
840
  *enumerateActions() {
710
841
  if (!this.model.layers)
711
842
  return;
@@ -725,6 +856,10 @@ export class AnimatorController {
725
856
  // https://docs.unity3d.com/Manual/RootMotion.html
726
857
  rootMotionHandler;
727
858
  }
859
+ /**
860
+ * Wraps a KeyframeTrack to allow custom evaluation of animation values.
861
+ * Used internally to modify animation behavior without changing the original data.
862
+ */
728
863
  class TrackEvaluationWrapper {
729
864
  track;
730
865
  createdInterpolant;
@@ -759,6 +894,10 @@ class TrackEvaluationWrapper {
759
894
  this.customEvaluate = undefined;
760
895
  }
761
896
  }
897
+ /**
898
+ * Handles root motion extraction from animation tracks.
899
+ * Captures movement from animations and applies it to the root object.
900
+ */
762
901
  class RootMotionAction {
763
902
  static lastObjPosition = {};
764
903
  static lastObjRotation = {};
@@ -922,6 +1061,10 @@ class RootMotionAction {
922
1061
  return true;
923
1062
  }
924
1063
  }
1064
+ /**
1065
+ * Manages root motion for a character.
1066
+ * Extracts motion from animation tracks and applies it to the character's transform.
1067
+ */
925
1068
  class RootMotionHandler {
926
1069
  controller;
927
1070
  handler = [];
@@ -993,6 +1136,10 @@ class RootMotionHandler {
993
1136
  return null;
994
1137
  }
995
1138
  }
1139
+ /**
1140
+ * Serialization handler for AnimatorController instances.
1141
+ * Handles conversion between serialized data and runtime objects.
1142
+ */
996
1143
  class AnimatorControllerSerializator extends TypeSerializer {
997
1144
  onSerialize(_, _context) {
998
1145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatorController.js","sourceRoot":"","sources":["../../src/engine-components/AnimatorController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnimatorController.js","sourceRoot":"","sources":["../../src/engine-components/AnimatorController.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,31 @@
1
1
  import { AudioListener as ThreeAudioListener } from "three";
2
2
  import { Behaviour } from "./Component.js";
3
3
  /**
4
- * AudioListener represents a listener that can be attached to a GameObject to listen to audio sources in the scene.
4
+ * AudioListener represents a listener that can hear audio sources in the scene.
5
+ * This component creates and manages a Three.js {@link three#AudioListener}, automatically connecting it
6
+ * to the main camera or a Camera in the parent hierarchy.
5
7
  * @category Multimedia
6
8
  * @group Components
7
9
  */
8
10
  export declare class AudioListener extends Behaviour {
9
11
  /**
10
- * Gets the existing or creates a new {@link ThreeAudioListener} instance
11
- * @returns The {@link ThreeAudioListener} instance
12
+ * Gets the existing Three.js {@link three#AudioListener} instance or creates a new one if it doesn't exist.
13
+ * This listener is responsible for capturing audio in the 3D scene.
14
+ * @returns The {@link three#AudioListener} instance
12
15
  */
13
16
  get listener(): ThreeAudioListener;
14
17
  private _listener;
15
- /** @internal */
18
+ /**
19
+ * Registers for interaction events and initializes the audio listener
20
+ * when this component is enabled.
21
+ * @internal
22
+ */
16
23
  onEnable(): void;
17
- /** @internal */
24
+ /**
25
+ * Cleans up event registrations and removes the audio listener
26
+ * when this component is disabled.
27
+ * @internal
28
+ */
18
29
  onDisable(): void;
19
30
  private onInteraction;
20
31
  private addListenerIfItExists;
@@ -3,14 +3,17 @@ import { Application } from "../engine/engine_application.js";
3
3
  import { Camera } from "./Camera.js";
4
4
  import { Behaviour, GameObject } from "./Component.js";
5
5
  /**
6
- * AudioListener represents a listener that can be attached to a GameObject to listen to audio sources in the scene.
6
+ * AudioListener represents a listener that can hear audio sources in the scene.
7
+ * This component creates and manages a Three.js {@link three#AudioListener}, automatically connecting it
8
+ * to the main camera or a Camera in the parent hierarchy.
7
9
  * @category Multimedia
8
10
  * @group Components
9
11
  */
10
12
  export class AudioListener extends Behaviour {
11
13
  /**
12
- * Gets the existing or creates a new {@link ThreeAudioListener} instance
13
- * @returns The {@link ThreeAudioListener} instance
14
+ * Gets the existing Three.js {@link three#AudioListener} instance or creates a new one if it doesn't exist.
15
+ * This listener is responsible for capturing audio in the 3D scene.
16
+ * @returns The {@link three#AudioListener} instance
14
17
  */
15
18
  get listener() {
16
19
  if (this._listener == null)
@@ -18,12 +21,20 @@ export class AudioListener extends Behaviour {
18
21
  return this._listener;
19
22
  }
20
23
  _listener = null;
21
- /** @internal */
24
+ /**
25
+ * Registers for interaction events and initializes the audio listener
26
+ * when this component is enabled.
27
+ * @internal
28
+ */
22
29
  onEnable() {
23
30
  Application.registerWaitForInteraction(this.onInteraction);
24
31
  this.addListenerIfItExists();
25
32
  }
26
- /** @internal */
33
+ /**
34
+ * Cleans up event registrations and removes the audio listener
35
+ * when this component is disabled.
36
+ * @internal
37
+ */
27
38
  onDisable() {
28
39
  Application.unregisterWaitForInteraction(this.onInteraction);
29
40
  this.removeListenerIfItExists();
@@ -1 +1 @@
1
- {"version":3,"file":"AudioListener.js","sourceRoot":"","sources":["../../src/engine-components/AudioListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAExC;;;OAGG;IACH,IAAI,QAAQ;QACR,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEO,SAAS,GAA8B,IAAI,CAAC;IAEpD,gBAAgB;IAChB,QAAQ;QACJ,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED,gBAAgB;IAChB,SAAS;QACL,WAAW,CAAC,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAEO,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO;QAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC,CAAA;IAEO,qBAAqB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,oEAAoE;QACpE,IAAI,QAAQ,EAAE,MAAM;YAAE,OAAO;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACzG,IAAI,GAAG,EAAE,WAAW,EAAE;YAClB,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACjC;aACI;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACjC;QAED,oCAAoC;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACvD;aACI;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACzD;IACL,CAAC;IAEO,wBAAwB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAE5B,uCAAuC;QACvC,IAAI,QAAQ,CAAC,MAAM,EAAE;YACjB,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SAChC;QACD,IAAI,QAAQ,CAAC,IAAI,EAAE;YACf,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;SAC9B;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"AudioListener.js","sourceRoot":"","sources":["../../src/engine-components/AudioListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAExC;;;;OAIG;IACH,IAAI,QAAQ;QACR,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEO,SAAS,GAA8B,IAAI,CAAC;IAEpD;;;;OAIG;IACH,QAAQ;QACJ,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,SAAS;QACL,WAAW,CAAC,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAEO,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO;QAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC,CAAA;IAEO,qBAAqB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,oEAAoE;QACpE,IAAI,QAAQ,EAAE,MAAM;YAAE,OAAO;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACzG,IAAI,GAAG,EAAE,WAAW,EAAE;YAClB,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACjC;aACI;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACjC;QAED,oCAAoC;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACvD;aACI;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACzD;IACL,CAAC;IAEO,wBAAwB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAE5B,uCAAuC;QACvC,IAAI,QAAQ,CAAC,MAAM,EAAE;YACjB,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SAChC;QACD,IAAI,QAAQ,CAAC,IAAI,EAAE;YACf,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;SAC9B;IACL,CAAC;CACJ"}