@needle-tools/engine 5.0.2 → 5.1.0-canary.87c4c44

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 (165) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +6 -7
  3. package/SKILL.md +39 -21
  4. package/components.needle.json +1 -1
  5. package/dist/needle-engine.bundle-BlVD1I5a.min.js +1656 -0
  6. package/dist/{needle-engine.bundle-BoTyA-Le.js → needle-engine.bundle-CFOipCo_.js} +8519 -7920
  7. package/dist/needle-engine.bundle-DX2Y-SQF.umd.cjs +1656 -0
  8. package/dist/needle-engine.d.ts +628 -61
  9. package/dist/needle-engine.js +575 -565
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/dist/{vendor-vHLk8sXu.js → vendor-CAcsI0eU.js} +116 -115
  13. package/dist/{vendor-CntUvmJu.umd.cjs → vendor-CEM38hLE.umd.cjs} +2 -2
  14. package/dist/{vendor-DPbfJJ4d.min.js → vendor-HRlxIBga.min.js} +2 -2
  15. package/lib/engine/api.d.ts +2 -0
  16. package/lib/engine/api.js +2 -0
  17. package/lib/engine/api.js.map +1 -1
  18. package/lib/engine/engine_addressables.js +5 -1
  19. package/lib/engine/engine_addressables.js.map +1 -1
  20. package/lib/engine/engine_animation.d.ts +14 -7
  21. package/lib/engine/engine_animation.js +49 -9
  22. package/lib/engine/engine_animation.js.map +1 -1
  23. package/lib/engine/engine_components.js +33 -4
  24. package/lib/engine/engine_components.js.map +1 -1
  25. package/lib/engine/engine_context.d.ts +7 -2
  26. package/lib/engine/engine_context.js +10 -2
  27. package/lib/engine/engine_context.js.map +1 -1
  28. package/lib/engine/engine_gameobject.d.ts +4 -0
  29. package/lib/engine/engine_gameobject.js.map +1 -1
  30. package/lib/engine/engine_init.js +2 -0
  31. package/lib/engine/engine_init.js.map +1 -1
  32. package/lib/engine/engine_input.js +4 -1
  33. package/lib/engine/engine_input.js.map +1 -1
  34. package/lib/engine/engine_materialpropertyblock.js +1 -20
  35. package/lib/engine/engine_materialpropertyblock.js.map +1 -1
  36. package/lib/engine/engine_networking.d.ts +11 -8
  37. package/lib/engine/engine_networking.js +43 -26
  38. package/lib/engine/engine_networking.js.map +1 -1
  39. package/lib/engine/engine_networking_instantiate.d.ts +100 -5
  40. package/lib/engine/engine_networking_instantiate.js +150 -16
  41. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  42. package/lib/engine/engine_networking_prefabs.d.ts +59 -0
  43. package/lib/engine/engine_networking_prefabs.js +67 -0
  44. package/lib/engine/engine_networking_prefabs.js.map +1 -0
  45. package/lib/engine/postprocessing/api.d.ts +2 -0
  46. package/lib/engine/postprocessing/api.js +2 -0
  47. package/lib/engine/postprocessing/api.js.map +1 -0
  48. package/lib/engine/postprocessing/index.d.ts +2 -0
  49. package/lib/engine/postprocessing/index.js +2 -0
  50. package/lib/engine/postprocessing/index.js.map +1 -0
  51. package/lib/engine/postprocessing/postprocessing.d.ts +83 -0
  52. package/lib/engine/postprocessing/postprocessing.js +280 -0
  53. package/lib/engine/postprocessing/postprocessing.js.map +1 -0
  54. package/lib/engine/postprocessing/types.d.ts +39 -0
  55. package/lib/engine/postprocessing/types.js +2 -0
  56. package/lib/engine/postprocessing/types.js.map +1 -0
  57. package/lib/engine/webcomponents/WebXRButtons.js +17 -3
  58. package/lib/engine/webcomponents/WebXRButtons.js.map +1 -1
  59. package/lib/engine/webcomponents/icons.js +3 -1
  60. package/lib/engine/webcomponents/icons.js.map +1 -1
  61. package/lib/engine/xr/NeedleXRSession.d.ts +1 -0
  62. package/lib/engine/xr/NeedleXRSession.js +43 -10
  63. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  64. package/lib/engine/xr/init.d.ts +4 -0
  65. package/lib/engine/xr/init.js +49 -0
  66. package/lib/engine/xr/init.js.map +1 -0
  67. package/lib/engine-components/AnimationUtils.d.ts +4 -1
  68. package/lib/engine-components/AnimationUtils.js +7 -19
  69. package/lib/engine-components/AnimationUtils.js.map +1 -1
  70. package/lib/engine-components/AnimatorController.d.ts +135 -2
  71. package/lib/engine-components/AnimatorController.js +216 -13
  72. package/lib/engine-components/AnimatorController.js.map +1 -1
  73. package/lib/engine-components/OrbitControls.d.ts +4 -0
  74. package/lib/engine-components/OrbitControls.js +5 -1
  75. package/lib/engine-components/OrbitControls.js.map +1 -1
  76. package/lib/engine-components/SeeThrough.d.ts +0 -2
  77. package/lib/engine-components/SeeThrough.js +0 -89
  78. package/lib/engine-components/SeeThrough.js.map +1 -1
  79. package/lib/engine-components/SyncedRoom.d.ts +4 -0
  80. package/lib/engine-components/SyncedRoom.js +23 -8
  81. package/lib/engine-components/SyncedRoom.js.map +1 -1
  82. package/lib/engine-components/SyncedTransform.js +5 -5
  83. package/lib/engine-components/SyncedTransform.js.map +1 -1
  84. package/lib/engine-components/Voip.d.ts +46 -0
  85. package/lib/engine-components/Voip.js +126 -2
  86. package/lib/engine-components/Voip.js.map +1 -1
  87. package/lib/engine-components/api.d.ts +1 -0
  88. package/lib/engine-components/api.js +1 -0
  89. package/lib/engine-components/api.js.map +1 -1
  90. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +5 -2
  91. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +11 -18
  92. package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
  93. package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +3 -4
  94. package/lib/engine-components/postprocessing/PostProcessingEffect.js +6 -15
  95. package/lib/engine-components/postprocessing/PostProcessingEffect.js.map +1 -1
  96. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +2 -1
  97. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  98. package/lib/engine-components/postprocessing/Volume.d.ts +18 -11
  99. package/lib/engine-components/postprocessing/Volume.js +61 -140
  100. package/lib/engine-components/postprocessing/Volume.js.map +1 -1
  101. package/lib/engine-components/postprocessing/index.d.ts +1 -0
  102. package/lib/engine-components/postprocessing/index.js +1 -0
  103. package/lib/engine-components/postprocessing/index.js.map +1 -1
  104. package/lib/engine-components/postprocessing/utils.d.ts +2 -0
  105. package/lib/engine-components/postprocessing/utils.js +2 -0
  106. package/lib/engine-components/postprocessing/utils.js.map +1 -1
  107. package/lib/engine-components/ui/Canvas.js +2 -2
  108. package/lib/engine-components/ui/Canvas.js.map +1 -1
  109. package/lib/engine-components/ui/Graphic.d.ts +3 -3
  110. package/lib/engine-components/ui/Graphic.js +6 -2
  111. package/lib/engine-components/ui/Graphic.js.map +1 -1
  112. package/lib/engine-components/ui/Text.d.ts +64 -11
  113. package/lib/engine-components/ui/Text.js +154 -45
  114. package/lib/engine-components/ui/Text.js.map +1 -1
  115. package/lib/engine-components/ui/index.d.ts +1 -0
  116. package/lib/engine-components/ui/index.js +1 -0
  117. package/lib/engine-components/ui/index.js.map +1 -1
  118. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +25 -3
  119. package/lib/engine-components-experimental/networking/PlayerSync.js +60 -11
  120. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  121. package/package.json +6 -5
  122. package/plugins/vite/ai.d.ts +11 -10
  123. package/plugins/vite/ai.js +305 -31
  124. package/plugins/vite/dependencies.js +5 -0
  125. package/src/engine/api.ts +3 -0
  126. package/src/engine/engine_addressables.ts +4 -1
  127. package/src/engine/engine_animation.ts +47 -9
  128. package/src/engine/engine_components.ts +36 -7
  129. package/src/engine/engine_context.ts +11 -2
  130. package/src/engine/engine_gameobject.ts +5 -0
  131. package/src/engine/engine_init.ts +2 -0
  132. package/src/engine/engine_input.ts +2 -1
  133. package/src/engine/engine_materialpropertyblock.ts +1 -20
  134. package/src/engine/engine_networking.ts +46 -23
  135. package/src/engine/engine_networking_instantiate.ts +160 -18
  136. package/src/engine/engine_networking_prefabs.ts +80 -0
  137. package/src/engine/postprocessing/api.ts +2 -0
  138. package/src/engine/postprocessing/index.ts +2 -0
  139. package/src/engine/postprocessing/postprocessing.ts +322 -0
  140. package/src/engine/postprocessing/types.ts +43 -0
  141. package/src/engine/webcomponents/WebXRButtons.ts +21 -4
  142. package/src/engine/webcomponents/icons.ts +5 -3
  143. package/src/engine/xr/NeedleXRSession.ts +50 -15
  144. package/src/engine/xr/init.ts +56 -0
  145. package/src/engine-components/AnimationUtils.ts +7 -17
  146. package/src/engine-components/AnimatorController.ts +288 -18
  147. package/src/engine-components/OrbitControls.ts +5 -1
  148. package/src/engine-components/SeeThrough.ts +0 -116
  149. package/src/engine-components/SyncedRoom.ts +28 -9
  150. package/src/engine-components/SyncedTransform.ts +5 -5
  151. package/src/engine-components/Voip.ts +129 -2
  152. package/src/engine-components/api.ts +1 -0
  153. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +16 -24
  154. package/src/engine-components/postprocessing/PostProcessingEffect.ts +9 -16
  155. package/src/engine-components/postprocessing/PostProcessingHandler.ts +2 -1
  156. package/src/engine-components/postprocessing/Volume.ts +72 -163
  157. package/src/engine-components/postprocessing/index.ts +1 -0
  158. package/src/engine-components/postprocessing/utils.ts +2 -0
  159. package/src/engine-components/ui/Canvas.ts +2 -2
  160. package/src/engine-components/ui/Graphic.ts +7 -3
  161. package/src/engine-components/ui/Text.ts +170 -52
  162. package/src/engine-components/ui/index.ts +2 -1
  163. package/src/engine-components-experimental/networking/PlayerSync.ts +64 -11
  164. package/dist/needle-engine.bundle-B3ywqx5o.min.js +0 -1654
  165. package/dist/needle-engine.bundle-CzOPcOui.umd.cjs +0 -1654
@@ -121,8 +121,6 @@ export declare class SeeThrough extends Behaviour {
121
121
  private _id;
122
122
  /** * @internal */
123
123
  onEnable(): void;
124
- /** @internal */
125
- onDisable(): void;
126
124
  /**
127
125
  * @internal
128
126
  */
@@ -155,24 +155,6 @@ export class SeeThrough extends Behaviour {
155
155
  onEnable() {
156
156
  this._needsUpdate = true;
157
157
  this._renderer = null;
158
- // SeeThroughUsdzExporterPlugin.components.push(this);
159
- }
160
- /** @internal */
161
- onDisable() {
162
- // this._renderer?.forEach(r => {
163
- // const original = this.rendererMaterialsOriginal.get(r);
164
- // for (let i = 0; i < r.sharedMaterials.length; i++) {
165
- // const mat = r.sharedMaterials[i];
166
- // if (!mat) continue;
167
- // if (original && original[i]) {
168
- // r.sharedMaterials[i] = original[i];
169
- // }
170
- // }
171
- // this.rendererMaterials.delete(r);
172
- // this.rendererMaterialsOriginal.delete(r);
173
- // });
174
- // const index = SeeThroughUsdzExporterPlugin.components.indexOf(this);
175
- // if (index !== -1) SeeThroughUsdzExporterPlugin.components.splice(index, 1);
176
158
  }
177
159
  /**
178
160
  * @internal
@@ -232,30 +214,6 @@ export class SeeThrough extends Behaviour {
232
214
  else {
233
215
  renderer.gameObject.raycastAllowed = true;
234
216
  }
235
- // if (!this.rendererMaterials.has(renderer)) {
236
- // const originalMaterials = new Array<Material>();
237
- // const clonedMaterials = new Array<MaterialWithState>();
238
- // // We clone the materials once and store them, so we can modify the opacity without affecting other objects using the same material. This could potentially be optimized further to re-use materials between renderers if multiple renderers use the same material.
239
- // for (let i = 0; i < renderer.sharedMaterials.length; i++) {
240
- // const mat = renderer.sharedMaterials[i];
241
- // if (!mat) continue;
242
- // originalMaterials.push(mat);
243
- // const matClone = mat.clone() as MaterialWithState;
244
- // // @ts-ignore
245
- // matClone.userData = mat.userData || {};
246
- // matClone.userData.seeThrough = {
247
- // initial: {
248
- // opacity: matClone.opacity,
249
- // transparent: matClone.transparent,
250
- // alphaHash: matClone.alphaHash
251
- // }
252
- // }
253
- // clonedMaterials.push(matClone);
254
- // // renderer.sharedMaterials[i] = matClone;
255
- // }
256
- // this.rendererMaterials.set(renderer, clonedMaterials);
257
- // this.rendererMaterialsOriginal.set(renderer, originalMaterials);
258
- // }
259
217
  const materials = renderer.sharedMaterials; // : this.rendererMaterials.get(renderer);
260
218
  if (!materials)
261
219
  return;
@@ -271,30 +229,6 @@ export class SeeThrough extends Behaviour {
271
229
  block.setOverride("alphaHash", this.useAlphaHash);
272
230
  block.setOverride("opacity", newAlpha);
273
231
  block.setOverride("transparent", newAlpha >= 0.99999 ? false : !this.useAlphaHash);
274
- // for (const mat of materials) {
275
- // if (!mat) continue;
276
- // let newAlpha = Mathf.lerp(mat.opacity, targetAlpha, duration <= 0 ? 1 : this.context.time.deltaTime / duration);;
277
- // if (newAlpha >= 0.99) newAlpha = 1;
278
- // else if (newAlpha <= 0.01) newAlpha = 0;
279
- // const wasTransparent = mat.transparent;
280
- // const wasAlphaHash = mat.alphaHash;
281
- // const previousOpacity = mat.opacity;
282
- // mat.alphaHash = this.useAlphaHash;
283
- // if (mat.userData && "seeThrough" in mat.userData) {
284
- // const initial = mat.userData.seeThrough.initial as MaterialState;
285
- // mat.opacity = initial.opacity * newAlpha;
286
- // mat.transparent = mat.opacity >= 1 ? initial.transparent : !this.useAlphaHash;
287
- // }
288
- // else {
289
- // mat.transparent = mat.opacity >= 1 ? false : !this.useAlphaHash;
290
- // }
291
- // if (wasTransparent !== mat.transparent
292
- // || wasAlphaHash !== mat.alphaHash
293
- // || mat.opacity !== previousOpacity // MeshPhysicsMaterial needs that and maybe other materials too...
294
- // ) {
295
- // mat.needsUpdate = true;
296
- // }
297
- // }
298
232
  });
299
233
  }
300
234
  }
@@ -316,27 +250,4 @@ __decorate([
316
250
  __decorate([
317
251
  serializable()
318
252
  ], SeeThrough.prototype, "autoUpdate", void 0);
319
- ;
320
- // class SeeThroughUsdzExporterPlugin implements IUSDExporterExtension {
321
- // static readonly components: SeeThrough[] = [];
322
- // get extensionName() {
323
- // return "SeeThrough";
324
- // }
325
- // // onExportObject(object: Object3D<Object3DEventMap>, model: USDObject, context: USDZExporterContext) {
326
- // // const component = SeeThroughUsdzExporterPlugin.components.find(c => c.gameObject === object);
327
- // // if(!component) return;
328
- // // console.log("OH MY GOD SEE THROUGH USDZ EXPORTER", component, model);
329
- // // model.materialName = "AlphaHashMaterialInstance"; // we could make this unique per object if needed
330
- // // model.addEventListener("serialize", (writer, context) => {
331
- // // writer.appendLine(`# SeeThrough component on ${object.name}`);
332
- // // });
333
- // // }
334
- // }
335
- // const seeThroughUsdzExporterPlugin = new SeeThroughUsdzExporterPlugin();
336
- // USDZExporter.beforeExport.addEventListener(args => {
337
- // if (SeeThroughUsdzExporterPlugin.components.length === 0) return;
338
- // if (args.exporter.extensions.includes(seeThroughUsdzExporterPlugin) === false) {
339
- // args.exporter.extensions.push(seeThroughUsdzExporterPlugin);
340
- // }
341
- // });
342
253
  //# sourceMappingURL=SeeThrough.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SeeThrough.js","sourceRoot":"","sources":["../../src/engine-components/SeeThrough.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SeeThrough.js","sourceRoot":"","sources":["../../src/engine-components/SeeThrough.ts"],"names":[],"mappings":"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"}
@@ -80,9 +80,13 @@ export declare class SyncedRoom extends Behaviour {
80
80
  private _roomPrefix;
81
81
  /** @internal */
82
82
  awake(): void;
83
+ private _hasConnectedBefore;
83
84
  /** @internal */
84
85
  onEnable(): void;
85
86
  /** @internal */
87
+ start(): void;
88
+ private _connectToRoom;
89
+ /** @internal */
86
90
  onDisable(): void;
87
91
  /** @internal */
88
92
  onDestroy(): void;
@@ -109,8 +109,31 @@ export class SyncedRoom extends Behaviour {
109
109
  if (debug)
110
110
  console.log(`SyncedRoom roomName:${this.roomName}, urlParamName:${this.urlParameterName}, joinRandomRoom:${this.joinRandomRoom}`);
111
111
  }
112
+ _hasConnectedBefore = false;
112
113
  /** @internal */
113
114
  onEnable() {
115
+ if (this.createJoinButton) {
116
+ const button = this.createRoomButton();
117
+ this.context.menu.appendChild(button);
118
+ }
119
+ if (this.createViewOnlyButton) {
120
+ this.onEnableViewOnlyButton();
121
+ }
122
+ // On re-enable (after disable), reconnect immediately
123
+ if (this._hasConnectedBefore) {
124
+ this._connectToRoom();
125
+ }
126
+ }
127
+ /** @internal */
128
+ start() {
129
+ // Defer initial connection to start() so other components added in the same frame
130
+ // have time to register their listeners in awake/onEnable (e.g. PlayerSync)
131
+ if (!this._hasConnectedBefore) {
132
+ this._connectToRoom();
133
+ }
134
+ }
135
+ _connectToRoom() {
136
+ this._hasConnectedBefore = true;
114
137
  // if the url contains a view parameter override room and join in view mode
115
138
  const viewId = utils.getParam(viewParamName);
116
139
  if (viewId && typeof viewId === "string" && viewId.length > 0) {
@@ -118,15 +141,7 @@ export class SyncedRoom extends Behaviour {
118
141
  this.context.connection.joinRoom(viewId, true);
119
142
  return;
120
143
  }
121
- // If setup to join a random room
122
144
  this.tryJoinRoom();
123
- if (this.createJoinButton) {
124
- const button = this.createRoomButton();
125
- this.context.menu.appendChild(button);
126
- }
127
- if (this.createViewOnlyButton) {
128
- this.onEnableViewOnlyButton();
129
- }
130
145
  }
131
146
  /** @internal */
132
147
  onDisable() {
@@ -1 +1 @@
1
- {"version":3,"file":"SyncedRoom.js","sourceRoot":"","sources":["../../src/engine-components/SyncedRoom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncedRoom.js","sourceRoot":"","sources":["../../src/engine-components/SyncedRoom.ts"],"names":[],"mappings":"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"}
@@ -129,7 +129,7 @@ export class SyncedTransform extends Behaviour {
129
129
  */
130
130
  requestOwnership() {
131
131
  if (debug)
132
- console.log("Request ownership");
132
+ console.log("[SyncedTransform] Request ownership");
133
133
  if (!this._model) {
134
134
  this._shouldRequestOwnership = true;
135
135
  this._needsUpdate = true;
@@ -168,7 +168,7 @@ export class SyncedTransform extends Behaviour {
168
168
  /** @internal */
169
169
  awake() {
170
170
  if (debug)
171
- console.log("new instance", this.guid, this);
171
+ console.log("[SyncedTransform] new instance", this.guid, this);
172
172
  this._receivedDataBefore = false;
173
173
  this._targetPosition = new Vector3();
174
174
  this._targetRotation = new Quaternion();
@@ -218,7 +218,7 @@ export class SyncedTransform extends Behaviour {
218
218
  return;
219
219
  if (typeof data.guid === "function" && data.guid() === this.guid) {
220
220
  if (debug)
221
- console.log("new data", this.context.connection.connectionId, this.context.time.frameCount, this.guid, data);
221
+ console.log("[SyncedTransform] new data", this.context.connection.connectionId, this.context.time.frameCount, this.guid, data);
222
222
  this.receivedUpdate = true;
223
223
  this._receivedFastUpdate = data.fast();
224
224
  const transform = data.transform();
@@ -288,7 +288,7 @@ export class SyncedTransform extends Behaviour {
288
288
  // console.log("BEFORE RENDER", this.destroyed, this.guid, this._model?.isOwned, this.name, this.gameObject);
289
289
  if (!this.context.connection.isInRoom || !this._model) {
290
290
  if (debug)
291
- console.log("no model or room", this.name, this.guid, this.context.connection.isInRoom);
291
+ console.log("[SyncedTransform] no model or room", this.name, this.guid, this.context.connection.isInRoom);
292
292
  return;
293
293
  }
294
294
  if (this._shouldRequestOwnership) {
@@ -360,7 +360,7 @@ export class SyncedTransform extends Behaviour {
360
360
  if (this.rb && this.overridePhysics) {
361
361
  if (this._wasKinematic !== undefined) {
362
362
  if (debug)
363
- console.log("reset kinematic", this.rb.name, this._wasKinematic);
363
+ console.log("[SyncedTransform] reset kinematic", this.rb.name, this._wasKinematic);
364
364
  this.rb.isKinematic = this._wasKinematic;
365
365
  }
366
366
  // TODO: if the SyncedTransform has a dynamic rigidbody we should probably synchronize the Rigidbody's properties (velocity etc)
@@ -1 +1 @@
1
- {"version":3,"file":"SyncedTransform.js","sourceRoot":"","sources":["../../src/engine-components/SyncedTransform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncedTransform.js","sourceRoot":"","sources":["../../src/engine-components/SyncedTransform.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Behaviour } from "./Component.js";
2
+ import { EventList } from "./EventList.js";
2
3
  export declare const noVoip = "noVoip";
3
4
  /**
4
5
  * [Voip](https://engine.needle.tools/docs/api/Voip) Voice over IP (VoIP) component for real-time audio communication between users.
@@ -56,6 +57,47 @@ export declare class Voip extends Behaviour {
56
57
  * When enabled debug messages will be printed to the console. This is useful for debugging audio issues. You can also append ?debugvoip to the URL to enable this.
57
58
  */
58
59
  debug: boolean;
60
+ private _volume;
61
+ /**
62
+ * Volume for incoming audio streams (0 = silent, 1 = full volume).
63
+ * Changes apply immediately to all active incoming streams.
64
+ */
65
+ get volume(): number;
66
+ set volume(val: number);
67
+ /**
68
+ * Get the incoming audio element for a specific user.
69
+ * Use this to route audio through the Web Audio API for spatial audio, effects, or analysis.
70
+ * @param userId The connection ID of the remote user
71
+ * @returns The HTMLAudioElement for this user's stream, or undefined if not connected
72
+ * @example
73
+ * ```ts
74
+ * const audioEl = voip.getAudioElement(userId);
75
+ * if (audioEl) {
76
+ * const audioCtx = new AudioContext();
77
+ * const source = audioCtx.createMediaElementSource(audioEl);
78
+ * const panner = audioCtx.createPanner();
79
+ * source.connect(panner).connect(audioCtx.destination);
80
+ * }
81
+ * ```
82
+ */
83
+ getAudioElement(userId: string): HTMLAudioElement | undefined;
84
+ /**
85
+ * Get all active incoming audio streams as a Map of userId → HTMLAudioElement.
86
+ * Useful for iterating over all connected voice users.
87
+ */
88
+ get incomingStreams(): ReadonlyMap<string, HTMLAudioElement>;
89
+ /**
90
+ * Threshold for speaking detection (0–255). When a user's audio amplitude exceeds this,
91
+ * they are considered "speaking". Default is 30.
92
+ */
93
+ speakingThreshold: number;
94
+ /**
95
+ * Event fired when a user's speaking state changes.
96
+ * Passes `{ userId: string, isSpeaking: boolean, volume: number }`.
97
+ */
98
+ onSpeakingChanged: EventList;
99
+ private _speakingStates;
100
+ private _analysers;
59
101
  private _net?;
60
102
  private _menubutton?;
61
103
  /** @internal */
@@ -92,6 +134,10 @@ export declare class Voip extends Behaviour {
92
134
  private onJoinedRoom;
93
135
  private onLeftRoom;
94
136
  private _incomingStreams;
137
+ /** @internal */
138
+ update(): void;
139
+ private setupAnalyser;
140
+ private cleanupAnalyser;
95
141
  private onReceiveStream;
96
142
  private onStreamEnded;
97
143
  private onEnabledChanged;
@@ -9,10 +9,10 @@ import { Application } from "../engine/engine_application.js";
9
9
  import { RoomEvents } from "../engine/engine_networking.js";
10
10
  import { disposeStream, NetworkedStreamEvents, NetworkedStreams } from "../engine/engine_networking_streams.js";
11
11
  import { serializable } from "../engine/engine_serialization_decorator.js";
12
- import { DeviceUtilities, getParam } from "../engine/engine_utils.js";
13
- import { delay } from "../engine/engine_utils.js";
12
+ import { delay, DeviceUtilities, getParam } from "../engine/engine_utils.js";
14
13
  import { getIconElement } from "../engine/webcomponents/icons.js";
15
14
  import { Behaviour } from "./Component.js";
15
+ import { EventList } from "./EventList.js";
16
16
  export const noVoip = "noVoip";
17
17
  const debugParam = getParam("debugvoip");
18
18
  /**
@@ -71,6 +71,56 @@ export class Voip extends Behaviour {
71
71
  * When enabled debug messages will be printed to the console. This is useful for debugging audio issues. You can also append ?debugvoip to the URL to enable this.
72
72
  */
73
73
  debug = false;
74
+ _volume = 1;
75
+ /**
76
+ * Volume for incoming audio streams (0 = silent, 1 = full volume).
77
+ * Changes apply immediately to all active incoming streams.
78
+ */
79
+ get volume() { return this._volume; }
80
+ set volume(val) {
81
+ this._volume = val;
82
+ for (const audio of this._incomingStreams.values()) {
83
+ audio.volume = val;
84
+ }
85
+ }
86
+ /**
87
+ * Get the incoming audio element for a specific user.
88
+ * Use this to route audio through the Web Audio API for spatial audio, effects, or analysis.
89
+ * @param userId The connection ID of the remote user
90
+ * @returns The HTMLAudioElement for this user's stream, or undefined if not connected
91
+ * @example
92
+ * ```ts
93
+ * const audioEl = voip.getAudioElement(userId);
94
+ * if (audioEl) {
95
+ * const audioCtx = new AudioContext();
96
+ * const source = audioCtx.createMediaElementSource(audioEl);
97
+ * const panner = audioCtx.createPanner();
98
+ * source.connect(panner).connect(audioCtx.destination);
99
+ * }
100
+ * ```
101
+ */
102
+ getAudioElement(userId) {
103
+ return this._incomingStreams.get(userId);
104
+ }
105
+ /**
106
+ * Get all active incoming audio streams as a Map of userId → HTMLAudioElement.
107
+ * Useful for iterating over all connected voice users.
108
+ */
109
+ get incomingStreams() {
110
+ return this._incomingStreams;
111
+ }
112
+ /**
113
+ * Threshold for speaking detection (0–255). When a user's audio amplitude exceeds this,
114
+ * they are considered "speaking". Default is 30.
115
+ */
116
+ speakingThreshold = 30;
117
+ /**
118
+ * Event fired when a user's speaking state changes.
119
+ * Passes `{ userId: string, isSpeaking: boolean, volume: number }`.
120
+ */
121
+ onSpeakingChanged = new EventList();
122
+ _speakingStates = new Map();
123
+ _analysers = new Map();
74
124
  _net;
75
125
  _menubutton;
76
126
  /** @internal */
@@ -139,11 +189,24 @@ export class Voip extends Behaviour {
139
189
  this.onEnabledChanged();
140
190
  this.updateButton();
141
191
  window.removeEventListener("visibilitychange", this.onVisibilityChanged);
192
+ // Clean up analysers
193
+ for (const userId of [...this._analysers.keys()]) {
194
+ this.cleanupAnalyser(userId);
195
+ }
142
196
  }
143
197
  /** @internal */
144
198
  onDestroy() {
145
199
  this._menubutton?.remove();
146
200
  this._menubutton = undefined;
201
+ // Clean up all streams and analysers
202
+ for (const userId of [...this._analysers.keys()]) {
203
+ this.cleanupAnalyser(userId);
204
+ }
205
+ for (const incoming of this._incomingStreams.values()) {
206
+ disposeStream(incoming.srcObject);
207
+ }
208
+ this._incomingStreams.clear();
209
+ this._speakingStates.clear();
147
210
  }
148
211
  /** Set via the mic button (e.g. when the websocket connection closes and rejoins but the user was muted before we don't want to enable VOIP again automatically) */
149
212
  _allowSending = true;
@@ -339,8 +402,57 @@ export class Voip extends Behaviour {
339
402
  disposeStream(incoming.srcObject);
340
403
  }
341
404
  this._incomingStreams.clear();
405
+ for (const userId of this._analysers.keys()) {
406
+ this.cleanupAnalyser(userId);
407
+ }
342
408
  };
343
409
  _incomingStreams = new Map();
410
+ /** @internal */
411
+ update() {
412
+ // Only run speaking detection if someone is listening
413
+ if (!this.onSpeakingChanged || this.onSpeakingChanged.listenerCount <= 0)
414
+ return;
415
+ for (const [userId, info] of this._analysers) {
416
+ info.analyser.getByteFrequencyData(info.data);
417
+ // Average amplitude
418
+ let sum = 0;
419
+ for (let i = 0; i < info.data.length; i++)
420
+ sum += info.data[i];
421
+ const avg = sum / info.data.length;
422
+ const wasSpeaking = this._speakingStates.get(userId) ?? false;
423
+ const isSpeaking = avg > this.speakingThreshold;
424
+ if (isSpeaking !== wasSpeaking) {
425
+ this._speakingStates.set(userId, isSpeaking);
426
+ this.onSpeakingChanged.invoke({ userId, isSpeaking, volume: avg / 255 });
427
+ }
428
+ }
429
+ }
430
+ setupAnalyser(userId, _audioElement, stream) {
431
+ // Only set up if someone is listening or might listen
432
+ if (this._analysers.has(userId))
433
+ return;
434
+ try {
435
+ const audioCtx = new AudioContext();
436
+ const source = audioCtx.createMediaStreamSource(stream);
437
+ const analyser = audioCtx.createAnalyser();
438
+ analyser.fftSize = 256;
439
+ source.connect(analyser);
440
+ const data = new Uint8Array(analyser.frequencyBinCount);
441
+ this._analysers.set(userId, { analyser, data, context: audioCtx });
442
+ }
443
+ catch (err) {
444
+ if (this.debug)
445
+ console.warn("VOIP: Failed to create analyser for", userId, err);
446
+ }
447
+ }
448
+ cleanupAnalyser(userId) {
449
+ const info = this._analysers.get(userId);
450
+ if (info) {
451
+ info.context.close();
452
+ this._analysers.delete(userId);
453
+ }
454
+ this._speakingStates.delete(userId);
455
+ }
344
456
  onReceiveStream = (evt) => {
345
457
  const userId = evt.target.userId;
346
458
  const stream = evt.stream;
@@ -350,7 +462,9 @@ export class Voip extends Behaviour {
350
462
  this._incomingStreams.set(userId, audioElement);
351
463
  }
352
464
  audioElement.srcObject = stream;
465
+ audioElement.volume = this._volume;
353
466
  audioElement.setAttribute("autoplay", "true");
467
+ this.setupAnalyser(userId, audioElement, stream);
354
468
  // for mobile we need to wait for user interaction to play audio. Auto play doesnt work on android when the page is refreshed
355
469
  Application.registerWaitForInteraction(() => {
356
470
  audioElement?.play().catch((err) => {
@@ -362,6 +476,7 @@ export class Voip extends Behaviour {
362
476
  const existing = this._incomingStreams.get(evt.userId);
363
477
  disposeStream(existing?.srcObject);
364
478
  this._incomingStreams.delete(evt.userId);
479
+ this.cleanupAnalyser(evt.userId);
365
480
  };
366
481
  onEnabledChanged = () => {
367
482
  for (const key of this._incomingStreams) {
@@ -390,4 +505,13 @@ __decorate([
390
505
  __decorate([
391
506
  serializable()
392
507
  ], Voip.prototype, "createMenuButton", void 0);
508
+ __decorate([
509
+ serializable()
510
+ ], Voip.prototype, "volume", null);
511
+ __decorate([
512
+ serializable()
513
+ ], Voip.prototype, "speakingThreshold", void 0);
514
+ __decorate([
515
+ serializable(EventList)
516
+ ], Voip.prototype, "onSpeakingChanged", void 0);
393
517
  //# sourceMappingURL=Voip.js.map