@needle-tools/engine 4.3.0-alpha → 4.3.0-alpha.3

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 (122) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/needle-engine.bundle.js +6683 -5393
  3. package/dist/needle-engine.bundle.light.js +6687 -5397
  4. package/dist/needle-engine.bundle.light.min.js +121 -118
  5. package/dist/needle-engine.bundle.light.umd.cjs +128 -125
  6. package/dist/needle-engine.bundle.min.js +119 -116
  7. package/dist/needle-engine.bundle.umd.cjs +124 -121
  8. package/dist/needle-engine.d.ts +9 -9
  9. package/dist/needle-engine.light.d.ts +9 -9
  10. package/lib/engine/engine_context.js +1 -1
  11. package/lib/engine/engine_context.js.map +1 -1
  12. package/lib/engine/engine_mainloop_utils.js +2 -4
  13. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  14. package/lib/engine/engine_serialization_core.js +1 -1
  15. package/lib/engine/engine_serialization_core.js.map +1 -1
  16. package/lib/engine/engine_types.d.ts +162 -17
  17. package/lib/engine/xr/NeedleXRSession.d.ts +6 -1
  18. package/lib/engine/xr/NeedleXRSession.js +6 -1
  19. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  20. package/lib/engine-components/Animator.d.ts +129 -21
  21. package/lib/engine-components/Animator.js +115 -21
  22. package/lib/engine-components/Animator.js.map +1 -1
  23. package/lib/engine-components/AnimatorController.d.ts +161 -32
  24. package/lib/engine-components/AnimatorController.js +176 -29
  25. package/lib/engine-components/AnimatorController.js.map +1 -1
  26. package/lib/engine-components/AudioListener.d.ts +16 -5
  27. package/lib/engine-components/AudioListener.js +16 -5
  28. package/lib/engine-components/AudioListener.js.map +1 -1
  29. package/lib/engine-components/AudioSource.d.ts +120 -28
  30. package/lib/engine-components/AudioSource.js +121 -40
  31. package/lib/engine-components/AudioSource.js.map +1 -1
  32. package/lib/engine-components/AvatarLoader.d.ts +61 -0
  33. package/lib/engine-components/AvatarLoader.js +61 -1
  34. package/lib/engine-components/AvatarLoader.js.map +1 -1
  35. package/lib/engine-components/AxesHelper.d.ts +19 -1
  36. package/lib/engine-components/AxesHelper.js +19 -1
  37. package/lib/engine-components/AxesHelper.js.map +1 -1
  38. package/lib/engine-components/BoxHelperComponent.d.ts +26 -0
  39. package/lib/engine-components/BoxHelperComponent.js +26 -0
  40. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  41. package/lib/engine-components/Camera.d.ts +126 -37
  42. package/lib/engine-components/Camera.js +139 -37
  43. package/lib/engine-components/Camera.js.map +1 -1
  44. package/lib/engine-components/CameraUtils.js +20 -0
  45. package/lib/engine-components/CameraUtils.js.map +1 -1
  46. package/lib/engine-components/Collider.d.ts +95 -21
  47. package/lib/engine-components/Collider.js +100 -23
  48. package/lib/engine-components/Collider.js.map +1 -1
  49. package/lib/engine-components/Component.d.ts +554 -106
  50. package/lib/engine-components/Component.js +352 -81
  51. package/lib/engine-components/Component.js.map +1 -1
  52. package/lib/engine-components/DragControls.d.ts +95 -21
  53. package/lib/engine-components/DragControls.js +126 -32
  54. package/lib/engine-components/DragControls.js.map +1 -1
  55. package/lib/engine-components/DropListener.d.ts +99 -16
  56. package/lib/engine-components/DropListener.js +119 -14
  57. package/lib/engine-components/DropListener.js.map +1 -1
  58. package/lib/engine-components/Light.d.ts +102 -5
  59. package/lib/engine-components/Light.js +102 -44
  60. package/lib/engine-components/Light.js.map +1 -1
  61. package/lib/engine-components/NeedleMenu.d.ts +28 -11
  62. package/lib/engine-components/NeedleMenu.js +28 -11
  63. package/lib/engine-components/NeedleMenu.js.map +1 -1
  64. package/lib/engine-components/Networking.d.ts +37 -5
  65. package/lib/engine-components/Networking.js +37 -5
  66. package/lib/engine-components/Networking.js.map +1 -1
  67. package/lib/engine-components/SceneSwitcher.js +44 -0
  68. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  69. package/lib/engine-components/SpatialTrigger.d.ts +66 -1
  70. package/lib/engine-components/SpatialTrigger.js +74 -2
  71. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  72. package/lib/engine-components/SpectatorCamera.d.ts +66 -4
  73. package/lib/engine-components/SpectatorCamera.js +132 -6
  74. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  75. package/lib/engine-components/SyncedTransform.d.ts +45 -6
  76. package/lib/engine-components/SyncedTransform.js +45 -6
  77. package/lib/engine-components/SyncedTransform.js.map +1 -1
  78. package/lib/engine-components/TransformGizmo.d.ts +49 -3
  79. package/lib/engine-components/TransformGizmo.js +49 -3
  80. package/lib/engine-components/TransformGizmo.js.map +1 -1
  81. package/lib/engine-components/particlesystem/ParticleSystem.js +1 -1
  82. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  83. package/lib/engine-components/webxr/WebARSessionRoot.d.ts +8 -3
  84. package/lib/engine-components/webxr/WebARSessionRoot.js +30 -9
  85. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
  86. package/lib/engine-components/webxr/WebXR.d.ts +156 -25
  87. package/lib/engine-components/webxr/WebXR.js +160 -26
  88. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  89. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +82 -9
  90. package/lib/engine-components-experimental/networking/PlayerSync.js +76 -11
  91. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  92. package/package.json +1 -1
  93. package/src/engine/engine_context.ts +1 -1
  94. package/src/engine/engine_mainloop_utils.ts +2 -4
  95. package/src/engine/engine_serialization_core.ts +1 -1
  96. package/src/engine/engine_types.ts +179 -18
  97. package/src/engine/xr/NeedleXRSession.ts +7 -1
  98. package/src/engine-components/Animator.ts +142 -22
  99. package/src/engine-components/AnimatorController.ts +184 -34
  100. package/src/engine-components/AudioListener.ts +16 -5
  101. package/src/engine-components/AudioSource.ts +127 -39
  102. package/src/engine-components/AvatarLoader.ts +61 -2
  103. package/src/engine-components/AxesHelper.ts +21 -1
  104. package/src/engine-components/BoxHelperComponent.ts +26 -0
  105. package/src/engine-components/Camera.ts +147 -41
  106. package/src/engine-components/CameraUtils.ts +20 -0
  107. package/src/engine-components/Collider.ts +102 -27
  108. package/src/engine-components/Component.ts +605 -129
  109. package/src/engine-components/DragControls.ts +134 -38
  110. package/src/engine-components/DropListener.ts +143 -23
  111. package/src/engine-components/Light.ts +105 -44
  112. package/src/engine-components/NeedleMenu.ts +29 -11
  113. package/src/engine-components/Networking.ts +37 -6
  114. package/src/engine-components/SceneSwitcher.ts +48 -1
  115. package/src/engine-components/SpatialTrigger.ts +80 -3
  116. package/src/engine-components/SpectatorCamera.ts +136 -18
  117. package/src/engine-components/SyncedTransform.ts +50 -7
  118. package/src/engine-components/TransformGizmo.ts +49 -4
  119. package/src/engine-components/particlesystem/ParticleSystem.ts +2 -2
  120. package/src/engine-components/webxr/WebARSessionRoot.ts +31 -8
  121. package/src/engine-components/webxr/WebXR.ts +173 -29
  122. package/src/engine-components-experimental/networking/PlayerSync.ts +85 -13
@@ -15,71 +15,105 @@ import { AudioListener } from "./AudioListener.js";
15
15
  import { Behaviour, GameObject } from "./Component.js";
16
16
  const debug = getParam("debugaudio");
17
17
  /**
18
- * The AudioRolloffMode enum describes different ways that audio can attenuate with distance.
18
+ * Defines how audio volume attenuates over distance from the listener.
19
19
  */
20
20
  export var AudioRolloffMode;
21
21
  (function (AudioRolloffMode) {
22
- /// <summary>
23
- /// <para>Use this mode when you want a real-world rolloff.</para>
24
- /// </summary>
22
+ /**
23
+ * Logarithmic rolloff provides a natural, real-world attenuation where volume decreases
24
+ * exponentially with distance.
25
+ */
25
26
  AudioRolloffMode[AudioRolloffMode["Logarithmic"] = 0] = "Logarithmic";
26
- /// <summary>
27
- /// <para>Use this mode when you want to lower the volume of your sound over the distance.</para>
28
- /// </summary>
27
+ /**
28
+ * Linear rolloff provides a straightforward volume reduction that decreases at a constant
29
+ * rate with distance.
30
+ */
29
31
  AudioRolloffMode[AudioRolloffMode["Linear"] = 1] = "Linear";
30
- /// <summary>
31
- /// <para>Use this when you want to use a custom rolloff.</para>
32
- /// </summary>
32
+ /**
33
+ * Custom rolloff allows for defining specialized distance-based attenuation curves.
34
+ * Note: Custom rolloff is not fully implemented in this version.
35
+ */
33
36
  AudioRolloffMode[AudioRolloffMode["Custom"] = 2] = "Custom";
34
37
  })(AudioRolloffMode || (AudioRolloffMode = {}));
35
- /** The AudioSource can be used to play audio in the scene.
36
- * Use `clip` to set the audio file to play.
38
+ /**
39
+ * Plays audio clips in the scene, with support for spatial positioning.
40
+ *
41
+ * The AudioSource component can play audio files or media streams with
42
+ * options for spatial blending, volume control, looping, and more.
43
+ *
44
+ * When a page loses visibility (tab becomes inactive), audio will automatically
45
+ * pause unless {@link playInBackground} is set to true. On mobile devices, audio always
46
+ * pauses regardless of this setting. When the page becomes visible again,
47
+ * previously playing audio will resume.
48
+ *
49
+ * AudioSource also responds to application mute state changes. When the application
50
+ * is muted, the volume is set to 0. When unmuted, the volume
51
+ * returns to its previous value.
52
+ *
37
53
  * @category Multimedia
38
54
  * @group Components
39
55
  */
40
56
  export class AudioSource extends Behaviour {
41
- /** Check if the user has interacted with the page to allow audio playback.
42
- * Internally calling {@link Application.userInteractionRegistered}
57
+ /**
58
+ * Checks if the user has interacted with the page to allow audio playback.
59
+ * Audio playback often requires a user gesture first due to browser autoplay policies.
60
+ * This is the same as calling {@link Application.userInteractionRegistered}.
61
+ *
62
+ * @returns Whether user interaction has been registered to allow audio playback
43
63
  */
44
64
  static get userInteractionRegistered() {
45
65
  return Application.userInteractionRegistered;
46
66
  }
47
- /** Register a callback that is called when the user has interacted with the page to allow audio playback.
48
- * Internally calling {@link Application.registerWaitForInteraction}
67
+ /**
68
+ * Registers a callback that will be executed once the user has interacted with the page,
69
+ * allowing audio playback to begin.
70
+ * This is the same as calling {@link Application.registerWaitForInteraction}.
71
+ *
72
+ * @param cb - The callback function to execute when user interaction is registered
49
73
  */
50
74
  static registerWaitForAllowAudio(cb) {
51
75
  Application.registerWaitForInteraction(cb);
52
76
  }
53
77
  /**
54
- * The audio clip to play. Can be a string (URL) or a MediaStream.
78
+ * The audio clip to play. Can be a URL string pointing to an audio file or a {@link MediaStream} object.
55
79
  */
56
80
  clip = "";
57
81
  /**
58
- * If true, the audio source will start playing as soon as the scene starts.
59
- * If false, you can call play() to start the audio.
82
+ * When true, the audio will automatically start playing when the component is enabled.
83
+ * When false, you must call play() manually to start audio playback.
60
84
  * @default false
61
- */
85
+ */
62
86
  playOnAwake = false;
63
87
  /**
64
- * If true, the audio source will start loading the audio clip as soon as the scene starts.
65
- * If false, the audio clip will be loaded when play() is called.
88
+ * When true, the audio clip will be loaded during initialization rather than when play() is called.
89
+ * This can reduce playback delay but increases initial loading time.
66
90
  * @default false
67
91
  */
68
92
  preload = false;
69
93
  /**
70
- * When true, the audio will play in the background. This means it will continue playing if the browser tab is not focused/active or minimized
94
+ * When true, audio will continue playing when the browser tab loses focus.
95
+ * When false, audio will pause when the tab is minimized or not active.
71
96
  * @default true
72
97
  */
73
98
  playInBackground = true;
74
99
  /**
75
- * If true, the audio is currently playing.
100
+ * Indicates whether the audio is currently playing.
101
+ *
102
+ * @returns True if the audio is playing, false otherwise
76
103
  */
77
104
  get isPlaying() { return this.sound?.isPlaying ?? false; }
78
- /** The duration of the audio clip in seconds. */
105
+ /**
106
+ * The total duration of the current audio clip in seconds.
107
+ *
108
+ * @returns Duration in seconds or undefined if no clip is loaded
109
+ */
79
110
  get duration() {
80
111
  return this.sound?.buffer?.duration;
81
112
  }
82
- /** The current time of the audio clip in 0-1 range. */
113
+ /**
114
+ * The current playback position as a normalized value between 0 and 1.
115
+ * Can be set to seek to a specific position in the audio.
116
+ */
83
117
  get time01() {
84
118
  const duration = this.duration;
85
119
  if (duration && this.sound) {
@@ -94,7 +128,8 @@ export class AudioSource extends Behaviour {
94
128
  }
95
129
  }
96
130
  /**
97
- * The current time of the audio clip in seconds.
131
+ * The current playback position in seconds.
132
+ * Can be set to seek to a specific time in the audio.
98
133
  */
99
134
  get time() { return this.sound?.source ? (this.sound.source?.context.currentTime - this._lastContextTime + this.sound.offset) : 0; }
100
135
  set time(val) {
@@ -109,8 +144,8 @@ export class AudioSource extends Behaviour {
109
144
  }
110
145
  }
111
146
  /**
112
- * If true, the audio source will loop the audio clip.
113
- * If false, the audio clip will play once.
147
+ * When true, the audio will repeat after reaching the end.
148
+ * When false, audio will play once and stop.
114
149
  * @default false
115
150
  */
116
151
  get loop() {
@@ -123,10 +158,11 @@ export class AudioSource extends Behaviour {
123
158
  if (this.sound)
124
159
  this.sound.setLoop(val);
125
160
  }
126
- /** Can be used to play the audio clip in 2D or 3D space.
127
- * 2D Playback is currently not fully supported.
128
- * 0 = 2D, 1 = 3D
129
- * */
161
+ /**
162
+ * Controls how the audio is positioned in space.
163
+ * Values range from 0 (2D, non-positional) to 1 (fully 3D positioned).
164
+ * Note: 2D playback is not fully supported in the current implementation.
165
+ */
130
166
  get spatialBlend() {
131
167
  return this._spatialBlend;
132
168
  }
@@ -136,6 +172,10 @@ export class AudioSource extends Behaviour {
136
172
  this._spatialBlend = val;
137
173
  this._needUpdateSpatialDistanceSettings = true;
138
174
  }
175
+ /**
176
+ * The minimum distance from the audio source at which the volume starts to attenuate.
177
+ * Within this radius, the audio plays at full volume regardless of distance.
178
+ */
139
179
  get minDistance() {
140
180
  return this._minDistance;
141
181
  }
@@ -145,6 +185,10 @@ export class AudioSource extends Behaviour {
145
185
  this._minDistance = val;
146
186
  this._needUpdateSpatialDistanceSettings = true;
147
187
  }
188
+ /**
189
+ * The maximum distance from the audio source beyond which the volume no longer decreases.
190
+ * This defines the outer limit of the attenuation curve.
191
+ */
148
192
  get maxDistance() {
149
193
  return this._maxDistance;
150
194
  }
@@ -157,6 +201,11 @@ export class AudioSource extends Behaviour {
157
201
  _spatialBlend = 0;
158
202
  _minDistance = 1;
159
203
  _maxDistance = 100;
204
+ /**
205
+ * Controls the overall volume/loudness of the audio.
206
+ * Values range from 0 (silent) to 1 (full volume).
207
+ * @default 1
208
+ */
160
209
  get volume() { return this._volume; }
161
210
  set volume(val) {
162
211
  this._volume = val;
@@ -167,6 +216,12 @@ export class AudioSource extends Behaviour {
167
216
  }
168
217
  }
169
218
  _volume = 1;
219
+ /**
220
+ * Controls the playback rate (speed) of the audio.
221
+ * Values greater than 1 increase speed, values less than 1 decrease it.
222
+ * This affects both speed and pitch of the audio.
223
+ * @default 1
224
+ */
170
225
  set pitch(val) {
171
226
  if (this.sound)
172
227
  this.sound.setPlaybackRate(val);
@@ -174,6 +229,11 @@ export class AudioSource extends Behaviour {
174
229
  get pitch() {
175
230
  return this.sound ? this.sound.getPlaybackRate() : 1;
176
231
  }
232
+ /**
233
+ * Determines how audio volume decreases with distance from the listener.
234
+ * @default AudioRolloffMode.Logarithmic
235
+ * @see {@link AudioRolloffMode}
236
+ */
177
237
  rollOffMode = 0;
178
238
  _loop = false;
179
239
  sound = null;
@@ -185,11 +245,15 @@ export class AudioSource extends Behaviour {
185
245
  // there is maybe a better way to set a audio clip current time?!
186
246
  _lastClipStartedLoading = null;
187
247
  _audioElement = null;
248
+ /**
249
+ * Returns the underlying {@link PositionalAudio} object, creating it if necessary.
250
+ * The audio source needs a user interaction to be initialized due to browser autoplay policies.
251
+ *
252
+ * @returns The three.js PositionalAudio object or null if unavailable
253
+ */
188
254
  get Sound() {
189
255
  if (!this.sound && AudioSource.userInteractionRegistered) {
190
- let listener = GameObject.getComponent(this.context.mainCamera, AudioListener) ?? GameObject.findObjectOfType(AudioListener, this.context);
191
- if (!listener && this.context.mainCamera)
192
- listener = GameObject.addComponent(this.context.mainCamera, AudioListener);
256
+ const listener = GameObject.getOrAddComponent(this.gameObject, AudioListener);
193
257
  if (listener?.listener) {
194
258
  this.sound = new PositionalAudio(listener.listener);
195
259
  this.gameObject?.add(this.sound);
@@ -230,8 +294,18 @@ export class AudioSource extends Behaviour {
230
294
  // }
231
295
  // }
232
296
  // }
297
+ /**
298
+ * Indicates whether the audio source is queued to play when possible.
299
+ * This may be true before user interaction has been registered.
300
+ *
301
+ * @returns Whether the audio source intends to play
302
+ */
233
303
  get ShouldPlay() { return this.shouldPlay; }
234
- /** Get the audio context from the Sound */
304
+ /**
305
+ * Returns the Web Audio API context associated with this audio source.
306
+ *
307
+ * @returns The {@link AudioContext} or null if not available
308
+ */
235
309
  get audioContext() {
236
310
  return this.sound?.context;
237
311
  }
@@ -396,7 +470,12 @@ export class AudioSource extends Behaviour {
396
470
  this.createAudio();
397
471
  }
398
472
  }
399
- /** Play a audioclip or mediastream */
473
+ /**
474
+ * Plays the audio clip or media stream.
475
+ * If no argument is provided, plays the currently assigned clip.
476
+ *
477
+ * @param clip - Optional audio clip or {@link MediaStream} to play
478
+ */
400
479
  play(clip = undefined) {
401
480
  // use audio source's clip when no clip is passed in
402
481
  if (!clip && this.clip)
@@ -450,7 +529,8 @@ export class AudioSource extends Behaviour {
450
529
  }
451
530
  }
452
531
  /**
453
- * Pause the audio
532
+ * Pauses audio playback while maintaining the current position.
533
+ * Use play() to resume from the paused position.
454
534
  */
455
535
  pause() {
456
536
  if (debug)
@@ -464,7 +544,8 @@ export class AudioSource extends Behaviour {
464
544
  this._audioElement?.remove();
465
545
  }
466
546
  /**
467
- * Stop the audio and reset the time to 0
547
+ * Stops audio playback completely and resets the playback position to the beginning.
548
+ * Unlike pause(), calling play() after stop() will start from the beginning.
468
549
  */
469
550
  stop() {
470
551
  if (debug)
@@ -1 +1 @@
1
- {"version":3,"file":"AudioSource.js","sourceRoot":"","sources":["../../src/engine-components/AudioSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AudioSource.js","sourceRoot":"","sources":["../../src/engine-components/AudioSource.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,80 @@
1
1
  import { Object3D } from "three";
2
2
  import { Context } from "../engine/engine_setup.js";
3
+ /**
4
+ * Represents an avatar model with head and hands references.
5
+ * Used for representing characters in 3D space.
6
+ */
3
7
  export declare class AvatarModel {
8
+ /** The root object of the avatar model */
4
9
  root: Object3D;
10
+ /** The head object of the avatar model */
5
11
  head: Object3D;
12
+ /** The left hand object of the avatar model, if available */
6
13
  leftHand: Object3D | null;
14
+ /** The right hand object of the avatar model, if available */
7
15
  rigthHand: Object3D | null;
16
+ /**
17
+ * Checks if the avatar model has a valid configuration.
18
+ * An avatar is considered valid if it has a head.
19
+ * @returns Whether the avatar has a valid setup
20
+ */
8
21
  get isValid(): boolean;
22
+ /**
23
+ * Creates a new avatar model.
24
+ * @param root The root object of the avatar
25
+ * @param head The head object of the avatar
26
+ * @param leftHand The left hand object of the avatar
27
+ * @param rigthHand The right hand object of the avatar
28
+ */
9
29
  constructor(root: Object3D, head: Object3D, leftHand: Object3D | null, rigthHand: Object3D | null);
10
30
  }
31
+ /**
32
+ * Handles loading and instantiating avatar models from various sources.
33
+ * Provides functionality to find and extract important parts of an avatar (head, hands).
34
+ *
35
+ * Debug mode can be enabled with the URL parameter `?debugavatar`,
36
+ * which will log detailed information about avatar loading and configuration.
37
+ */
11
38
  export declare class AvatarLoader {
12
39
  private readonly avatarRegistryUrl;
40
+ /**
41
+ * Retrieves or creates a new avatar instance from an ID or existing Object3D.
42
+ * @param context The application context
43
+ * @param avatarId Either a string ID to load an avatar or an existing Object3D to use as avatar
44
+ * @returns Promise resolving to an AvatarModel if successful, or null if failed
45
+ */
13
46
  getOrCreateNewAvatarInstance(context: Context, avatarId: string | Object3D): Promise<AvatarModel | null>;
47
+ /**
48
+ * Loads an avatar model from a file or registry using the provided ID.
49
+ * @param context The engine context
50
+ * @param avatarId The ID of the avatar to load
51
+ * @returns Promise resolving to the loaded avatar's Object3D, or null if failed
52
+ */
14
53
  private loadAvatar;
54
+ /**
55
+ * Caches an avatar model for reuse.
56
+ * @param _id The ID to associate with the model
57
+ * @param _model The avatar model to cache
58
+ */
15
59
  private cacheModel;
60
+ /**
61
+ * Analyzes an Object3D to find avatar parts (head, hands) based on naming conventions.
62
+ * @param obj The Object3D to search for avatar parts
63
+ * @returns A structured AvatarModel with references to found parts
64
+ */
16
65
  private findAvatar;
66
+ /**
67
+ * Recursively searches for an avatar part by name within an Object3D hierarchy.
68
+ * @param obj The Object3D to search within
69
+ * @param searchString Array of strings that should all be present in the object name
70
+ * @returns The found Object3D part or null if not found
71
+ */
17
72
  private findAvatarPart;
73
+ /**
74
+ * Handles HTTP response errors from avatar loading operations.
75
+ * @param response The fetch API response to check
76
+ * @returns The response if it was ok
77
+ * @throws Error with status text if response was not ok
78
+ */
18
79
  private handleCustomAvatarErrors;
19
80
  }
@@ -6,14 +6,34 @@ import * as loaders from "../engine/engine_loaders.js";
6
6
  import * as utils from "../engine/engine_utils.js";
7
7
  import { GameObject } from "./Component.js";
8
8
  const debug = utils.getParam("debugavatar");
9
+ /**
10
+ * Represents an avatar model with head and hands references.
11
+ * Used for representing characters in 3D space.
12
+ */
9
13
  export class AvatarModel {
14
+ /** The root object of the avatar model */
10
15
  root;
16
+ /** The head object of the avatar model */
11
17
  head;
18
+ /** The left hand object of the avatar model, if available */
12
19
  leftHand;
20
+ /** The right hand object of the avatar model, if available */
13
21
  rigthHand;
22
+ /**
23
+ * Checks if the avatar model has a valid configuration.
24
+ * An avatar is considered valid if it has a head.
25
+ * @returns Whether the avatar has a valid setup
26
+ */
14
27
  get isValid() {
15
28
  return this.head !== null && this.head !== undefined;
16
29
  }
30
+ /**
31
+ * Creates a new avatar model.
32
+ * @param root The root object of the avatar
33
+ * @param head The head object of the avatar
34
+ * @param leftHand The left hand object of the avatar
35
+ * @param rigthHand The right hand object of the avatar
36
+ */
17
37
  constructor(root, head, leftHand, rigthHand) {
18
38
  this.root = root;
19
39
  this.head = head;
@@ -25,10 +45,23 @@ export class AvatarModel {
25
45
  // this.rigthHand?.traverse(h => h.layers.set(2));
26
46
  }
27
47
  }
48
+ /**
49
+ * Handles loading and instantiating avatar models from various sources.
50
+ * Provides functionality to find and extract important parts of an avatar (head, hands).
51
+ *
52
+ * Debug mode can be enabled with the URL parameter `?debugavatar`,
53
+ * which will log detailed information about avatar loading and configuration.
54
+ */
28
55
  export class AvatarLoader {
29
56
  avatarRegistryUrl = null;
30
57
  // private loader: GLTFLoader | null;
31
58
  // private avatarModelCache: Map<string, AvatarModel | null> = new Map<string, AvatarModel | null>();
59
+ /**
60
+ * Retrieves or creates a new avatar instance from an ID or existing Object3D.
61
+ * @param context The application context
62
+ * @param avatarId Either a string ID to load an avatar or an existing Object3D to use as avatar
63
+ * @returns Promise resolving to an AvatarModel if successful, or null if failed
64
+ */
32
65
  async getOrCreateNewAvatarInstance(context, avatarId) {
33
66
  if (!avatarId) {
34
67
  console.error("Can not create avatar: failed to provide id or root object");
@@ -61,6 +94,12 @@ export class AvatarLoader {
61
94
  return null;
62
95
  }
63
96
  }
97
+ /**
98
+ * Loads an avatar model from a file or registry using the provided ID.
99
+ * @param context The engine context
100
+ * @param avatarId The ID of the avatar to load
101
+ * @returns Promise resolving to the loaded avatar's Object3D, or null if failed
102
+ */
64
103
  async loadAvatar(context, avatarId) {
65
104
  console.assert(avatarId !== undefined && avatarId !== null && typeof avatarId === "string", "Avatar id must not be null");
66
105
  if (avatarId.length <= 0)
@@ -114,10 +153,19 @@ export class AvatarLoader {
114
153
  });
115
154
  });
116
155
  }
156
+ /**
157
+ * Caches an avatar model for reuse.
158
+ * @param _id The ID to associate with the model
159
+ * @param _model The avatar model to cache
160
+ */
117
161
  cacheModel(_id, _model) {
118
162
  // this.avatarModelCache.set(id, model);
119
163
  }
120
- // TODO this should be burned to the ground once 🤞 we have proper extras that define object relations.
164
+ /**
165
+ * Analyzes an Object3D to find avatar parts (head, hands) based on naming conventions.
166
+ * @param obj The Object3D to search for avatar parts
167
+ * @returns A structured AvatarModel with references to found parts
168
+ */
121
169
  findAvatar(obj) {
122
170
  const root = obj;
123
171
  let searchIn = root;
@@ -142,6 +190,12 @@ export class AvatarLoader {
142
190
  const model = new AvatarModel(root, head, leftHand, rightHand);
143
191
  return model;
144
192
  }
193
+ /**
194
+ * Recursively searches for an avatar part by name within an Object3D hierarchy.
195
+ * @param obj The Object3D to search within
196
+ * @param searchString Array of strings that should all be present in the object name
197
+ * @returns The found Object3D part or null if not found
198
+ */
145
199
  findAvatarPart(obj, searchString) {
146
200
  const name = obj.name.toLowerCase();
147
201
  let matchesAll = true;
@@ -162,6 +216,12 @@ export class AvatarLoader {
162
216
  }
163
217
  return null;
164
218
  }
219
+ /**
220
+ * Handles HTTP response errors from avatar loading operations.
221
+ * @param response The fetch API response to check
222
+ * @returns The response if it was ok
223
+ * @throws Error with status text if response was not ok
224
+ */
165
225
  handleCustomAvatarErrors(response) {
166
226
  if (!response.ok) {
167
227
  throw Error(response.statusText);
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarLoader.js","sourceRoot":"","sources":["../../src/engine-components/AvatarLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AvatarLoader.js","sourceRoot":"","sources":["../../src/engine-components/AvatarLoader.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,32 @@
1
1
  import { Behaviour } from "./Component.js";
2
2
  /**
3
- * AxesHelper is a component that displays the axes of the object in the scene.
3
+ * Component that visualizes the axes of an object in the scene.
4
+ * Renders colored lines representing the X (red), Y (green) and Z (blue) axes.
4
5
  * @category Helpers
5
6
  * @group Components
6
7
  */
7
8
  export declare class AxesHelper extends Behaviour {
9
+ /**
10
+ * The length of each axis line in scene units.
11
+ */
8
12
  length: number;
13
+ /**
14
+ * Whether the axes should be occluded by objects in the scene.
15
+ * When set to false, axes will always appear on top regardless of their depth.
16
+ */
9
17
  depthTest: boolean;
18
+ /**
19
+ * When true, this helper will only be visible if the debug flag `?gizmos` is enabled.
20
+ */
10
21
  isGizmo: boolean;
11
22
  private _axes;
23
+ /**
24
+ * Creates and adds the axes visualization to the scene when the component is enabled.
25
+ * If marked as a gizmo, it will only be shown when gizmos are enabled in the global parameters.
26
+ */
12
27
  onEnable(): void;
28
+ /**
29
+ * Removes the axes visualization from the scene when the component is disabled.
30
+ */
13
31
  onDisable(): void;
14
32
  }