@needle-tools/engine 5.1.14 → 5.1.16

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 (81) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/gltf-progressive-4EjGCbsd.umd.cjs +10 -0
  3. package/dist/{gltf-progressive-DaeP5KBr.js → gltf-progressive-BidVoP6g.js} +205 -198
  4. package/dist/gltf-progressive-JsCmImqa.min.js +10 -0
  5. package/dist/{needle-engine.bundle-y1_E7Ovt.umd.cjs → needle-engine.bundle-CFnhozXr.umd.cjs} +141 -141
  6. package/dist/{needle-engine.bundle-BEa7CABw.js → needle-engine.bundle-Ccvgzl3v.js} +6552 -6534
  7. package/dist/{needle-engine.bundle-mkmiuKZB.min.js → needle-engine.bundle-DBXustN8.min.js} +143 -143
  8. package/dist/needle-engine.d.ts +29 -27
  9. package/dist/needle-engine.js +8 -8
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/lib/engine/api.d.ts +1 -1
  13. package/lib/engine/api.js +1 -1
  14. package/lib/engine/api.js.map +1 -1
  15. package/lib/engine/debug/debug_overlay.js +5 -8
  16. package/lib/engine/debug/debug_overlay.js.map +1 -1
  17. package/lib/engine/engine_context.js +3 -0
  18. package/lib/engine/engine_context.js.map +1 -1
  19. package/lib/engine/engine_context_registry.js +3 -1
  20. package/lib/engine/engine_context_registry.js.map +1 -1
  21. package/lib/engine/engine_init.js +2 -2
  22. package/lib/engine/engine_init.js.map +1 -1
  23. package/lib/engine/engine_license.d.ts +7 -7
  24. package/lib/engine/engine_license.js +87 -77
  25. package/lib/engine/engine_license.js.map +1 -1
  26. package/lib/engine/engine_loaders.gltf.d.ts +3 -1
  27. package/lib/engine/engine_loaders.gltf.js +6 -1
  28. package/lib/engine/engine_loaders.gltf.js.map +1 -1
  29. package/lib/engine/engine_networking_blob.js +3 -3
  30. package/lib/engine/engine_networking_blob.js.map +1 -1
  31. package/lib/engine/engine_physics.d.ts +2 -0
  32. package/lib/engine/engine_physics.js +23 -1
  33. package/lib/engine/engine_physics.js.map +1 -1
  34. package/lib/engine/engine_utils.js +2 -0
  35. package/lib/engine/engine_utils.js.map +1 -1
  36. package/lib/engine/engine_utils_qrcode.js +2 -2
  37. package/lib/engine/engine_utils_qrcode.js.map +1 -1
  38. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  39. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  40. package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
  41. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  42. package/lib/engine/webcomponents/needle-engine.js +2 -2
  43. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  44. package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
  45. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  46. package/lib/engine/xr/TempXRContext.js +2 -2
  47. package/lib/engine/xr/TempXRContext.js.map +1 -1
  48. package/lib/engine-components/Skybox.js +11 -7
  49. package/lib/engine-components/Skybox.js.map +1 -1
  50. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  51. package/lib/engine-components/web/Clickthrough.d.ts +1 -0
  52. package/lib/engine-components/web/Clickthrough.js +7 -2
  53. package/lib/engine-components/web/Clickthrough.js.map +1 -1
  54. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +1 -2
  55. package/lib/engine-components-experimental/networking/PlayerSync.js +10 -13
  56. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  57. package/package.json +2 -2
  58. package/plugins/common/license.js +4 -4
  59. package/plugins/vite/license.js +4 -4
  60. package/src/engine/api.ts +1 -1
  61. package/src/engine/debug/debug_overlay.ts +6 -9
  62. package/src/engine/engine_context.ts +3 -0
  63. package/src/engine/engine_context_registry.ts +4 -2
  64. package/src/engine/engine_init.ts +2 -2
  65. package/src/engine/engine_license.ts +83 -74
  66. package/src/engine/engine_loaders.gltf.ts +8 -2
  67. package/src/engine/engine_networking_blob.ts +3 -3
  68. package/src/engine/engine_physics.ts +22 -1
  69. package/src/engine/engine_utils.ts +2 -0
  70. package/src/engine/engine_utils_qrcode.ts +2 -2
  71. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  72. package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
  73. package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
  74. package/src/engine/webcomponents/needle-engine.ts +2 -2
  75. package/src/engine/xr/TempXRContext.ts +2 -2
  76. package/src/engine-components/Skybox.ts +12 -9
  77. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  78. package/src/engine-components/web/Clickthrough.ts +8 -2
  79. package/src/engine-components-experimental/networking/PlayerSync.ts +11 -15
  80. package/dist/gltf-progressive-BnLTsXZw.umd.cjs +0 -10
  81. package/dist/gltf-progressive-D6RT9IkB.min.js +0 -10
@@ -8,7 +8,7 @@ import { NEEDLE_progressive } from "@needle-tools/gltf-progressive";
8
8
  import { Euler, Matrix4, Object3D, Quaternion, Vector3 } from "three";
9
9
  import { isDevEnvironment, showBalloonMessage, showBalloonWarning } from "../../../engine/debug/index.js";
10
10
  import { findObjectOfType } from "../../../engine/engine_components.js";
11
- import { _$xBhfh } from "../../../engine/engine_license.js";
11
+ import { _$RTXoT } from "../../../engine/engine_license.js";
12
12
  import { serializable } from "../../../engine/engine_serialization.js";
13
13
  import { getFormattedDate, Progress } from "../../../engine/engine_time_utils.js";
14
14
  import { DeviceUtilities, getParam } from "../../../engine/engine_utils.js";
@@ -227,7 +227,7 @@ export class USDZExporter extends Behaviour {
227
227
  async exportAndOpen() {
228
228
  let name = this.exportFileName ?? this.objectToExport?.name ?? this.name;
229
229
  name += "-" + getFormattedDate(); // seems iOS caches the file in some cases, this ensures we always have a fresh file
230
- if (!_$xBhfh()) {
230
+ if (!_$RTXoT()) {
231
231
  if (name !== "")
232
232
  name += "-";
233
233
  name += "MadeWithNeedle";
@@ -596,7 +596,7 @@ export class USDZExporter extends Behaviour {
596
596
  if (debug)
597
597
  showBalloonMessage("Quicklook url: " + callToActionURL);
598
598
  if (callToActionURL) {
599
- if (!_$xBhfh()) {
599
+ if (!_$RTXoT()) {
600
600
  console.warn("Quicklook closed: custom redirects require a Needle Engine Pro license: https://needle.tools/pricing", callToActionURL);
601
601
  }
602
602
  else {
@@ -611,7 +611,7 @@ export class USDZExporter extends Behaviour {
611
611
  const obj = {};
612
612
  if (this.customBranding)
613
613
  Object.assign(obj, this.customBranding);
614
- if (!_$xBhfh()) {
614
+ if (!_$RTXoT()) {
615
615
  console.log("Custom Quicklook banner text requires pro license: https://needle.tools/pricing");
616
616
  obj.callToAction = "Close";
617
617
  obj.checkoutTitle = "🌵 Made with Needle";
@@ -127,6 +127,7 @@ export declare class ClickThrough extends Behaviour {
127
127
  private _previousPointerEvents;
128
128
  onEnable(): void;
129
129
  onDisable(): void;
130
+ onDestroy(): void;
130
131
  onPointerEnter(): void;
131
132
  private onPointerEvent;
132
133
  private _touchDidHitAnything;
@@ -2,15 +2,16 @@ import { Vector2 } from "three";
2
2
  import { onStart } from "../../engine/engine_lifecycle_api.js";
3
3
  import { addAttributeChangeCallback } from "../../engine/engine_utils.js";
4
4
  import { Behaviour } from "../Component.js";
5
+ const attributeUnsubscribers = new WeakMap();
5
6
  // Automatically add ClickThrough component if "clickthrough" attribute is present on the needle-engine element
6
7
  onStart(ctx => {
7
8
  const attribute = ctx.domElement.getAttribute("clickthrough");
8
9
  if (clickthroughEnabled(attribute)) {
9
10
  const comp = ctx.scene.addComponent(ClickThrough);
10
- addAttributeChangeCallback(ctx.domElement, "clickthrough", () => {
11
+ attributeUnsubscribers.set(comp, addAttributeChangeCallback(ctx.domElement, "clickthrough", () => {
11
12
  const attribute = ctx.domElement.getAttribute("clickthrough");
12
13
  comp.enabled = clickthroughEnabled(attribute);
13
- });
14
+ }));
14
15
  }
15
16
  function clickthroughEnabled(val) {
16
17
  return val !== null && val !== "0" && val !== "false";
@@ -159,6 +160,10 @@ export class ClickThrough extends Behaviour {
159
160
  window.removeEventListener("touchend", this.onTouchEnd);
160
161
  this.context.domElement.style.pointerEvents = this._previousPointerEvents;
161
162
  }
163
+ onDestroy() {
164
+ attributeUnsubscribers.get(this)?.();
165
+ attributeUnsubscribers.delete(this);
166
+ }
162
167
  onPointerEnter() {
163
168
  /** do nothing, necessary to raycast children */
164
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Clickthrough.js","sourceRoot":"","sources":["../../../src/engine-components/web/Clickthrough.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Clickthrough.js","sourceRoot":"","sources":["../../../src/engine-components/web/Clickthrough.ts"],"names":[],"mappings":"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"}
@@ -64,7 +64,6 @@ export declare class PlayerSync extends Behaviour {
64
64
  private _localInstance?;
65
65
  private _unsubSyncInstantiate?;
66
66
  constructor();
67
- awake(): void;
68
67
  onEnable(): void;
69
68
  onDisable(): void;
70
69
  private onJoinedRoom;
@@ -80,7 +79,7 @@ export declare class PlayerSync extends Behaviour {
80
79
  /**
81
80
  * Sets up visibility change listeners to handle player cleanup when browser tab visibility changes
82
81
  */
83
- private watchTabVisible;
82
+ private onVisibilityChange;
84
83
  }
85
84
  /**
86
85
  * Enum defining events that can be triggered by PlayerState
@@ -102,10 +102,8 @@ export class PlayerSync extends Behaviour {
102
102
  super();
103
103
  this.onPlayerSpawned = new EventList();
104
104
  }
105
- awake() {
106
- this.watchTabVisible();
107
- }
108
105
  onEnable() {
106
+ document.addEventListener("visibilitychange", this.onVisibilityChange);
109
107
  this.context.connection.beginListen(RoomEvents.RoomStateSent, this.onJoinedRoom);
110
108
  this.context.connection.beginListen(RoomEvents.JoinedRoom, this.onJoinedRoom);
111
109
  this.context.connection.beginListen(RoomEvents.LeftRoom, this.destroyInstance);
@@ -127,6 +125,7 @@ export class PlayerSync extends Behaviour {
127
125
  }
128
126
  }
129
127
  onDisable() {
128
+ document.removeEventListener("visibilitychange", this.onVisibilityChange);
130
129
  this.context.connection.stopListen(RoomEvents.RoomStateSent, this.onJoinedRoom);
131
130
  this.context.connection.stopListen(RoomEvents.JoinedRoom, this.onJoinedRoom);
132
131
  this.context.connection.stopListen(RoomEvents.LeftRoom, this.destroyInstance);
@@ -191,18 +190,16 @@ export class PlayerSync extends Behaviour {
191
190
  /**
192
191
  * Sets up visibility change listeners to handle player cleanup when browser tab visibility changes
193
192
  */
194
- watchTabVisible() {
195
- window.addEventListener("visibilitychange", _ => {
196
- if (document.visibilityState === "visible") {
197
- for (let i = PlayerState.all.length - 1; i >= 0; i--) {
198
- const pl = PlayerState.all[i];
199
- if (!pl.owner || !this.context.connection.userIsInRoom(pl.owner)) {
200
- pl.doDestroy();
201
- }
193
+ onVisibilityChange = () => {
194
+ if (document.visibilityState === "visible") {
195
+ for (let i = PlayerState.all.length - 1; i >= 0; i--) {
196
+ const pl = PlayerState.all[i];
197
+ if (!pl.owner || !this.context.connection.userIsInRoom(pl.owner)) {
198
+ pl.doDestroy();
202
199
  }
203
200
  }
204
- });
205
- }
201
+ }
202
+ };
206
203
  }
207
204
  __decorate([
208
205
  serializable()
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerSync.js","sourceRoot":"","sources":["../../../src/engine-components-experimental/networking/PlayerSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlayerSync.js","sourceRoot":"","sources":["../../../src/engine-components-experimental/networking/PlayerSync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "5.1.14",
3
+ "version": "5.1.16",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
5
5
  "main": "dist/needle-engine.min.js",
6
6
  "exports": {
@@ -99,7 +99,7 @@
99
99
  ],
100
100
  "dependencies": {
101
101
  "@dimforge/rapier3d-compat": "0.19.3",
102
- "@needle-tools/gltf-progressive": "3.6.1",
102
+ "@needle-tools/gltf-progressive": "3.6.2",
103
103
  "@needle-tools/materialx": "1.7.4",
104
104
  "@needle-tools/three-animation-pointer": "1.1.2",
105
105
  "@webxr-input-profiles/motion-controllers": "1.0.0",
@@ -127,7 +127,7 @@ async function requestNeedleCloud(path, options) {
127
127
  * @param {DefaultOptions & {accessToken?:string, team:string|undefined}} opts
128
128
  */
129
129
  export async function replaceLicense(code, opts) {
130
- const index = code?.indexOf("_QsjWa");
130
+ const index = code?.indexOf("_$awngvTM");
131
131
  if (index >= 0) {
132
132
  const licenseResult = await resolveLicense(opts);
133
133
  if (!licenseResult) {
@@ -136,18 +136,18 @@ export async function replaceLicense(code, opts) {
136
136
  const end = code.indexOf(";", index);
137
137
  if (end >= 0) {
138
138
  const line = code.substring(index, end);
139
- const replaced = "_QsjWa = \"" + licenseResult.type + "\"";
139
+ const replaced = "_$awngvTM = \"" + licenseResult.type + "\"";
140
140
  code = code.replace(line, replaced);
141
141
  }
142
142
 
143
143
  // Also inject JWT if available
144
144
  if (licenseResult.jwt) {
145
- const jwtIndex = code.indexOf("_puYWsjJC");
145
+ const jwtIndex = code.indexOf("_SWHZG");
146
146
  if (jwtIndex >= 0) {
147
147
  const jwtEnd = code.indexOf(";", jwtIndex);
148
148
  if (jwtEnd >= 0) {
149
149
  const jwtLine = code.substring(jwtIndex, jwtEnd);
150
- const jwtReplaced = "_puYWsjJC = \"" + licenseResult.jwt + "\"";
150
+ const jwtReplaced = "_SWHZG = \"" + licenseResult.jwt + "\"";
151
151
  code = code.replace(jwtLine, jwtReplaced);
152
152
  }
153
153
  }
@@ -49,12 +49,12 @@ export function needleLicense(command, config, userSettings) {
49
49
  let modified = false;
50
50
 
51
51
  // Replace license type
52
- const index = src.indexOf("_QsjWa");
52
+ const index = src.indexOf("_$awngvTM");
53
53
  if (index >= 0) {
54
54
  const end = src.indexOf(";", index);
55
55
  if (end >= 0) {
56
56
  const line = src.substring(index, end);
57
- const replaced = "_QsjWa = \"" + licenseResult.type + "\"";
57
+ const replaced = "_$awngvTM = \"" + licenseResult.type + "\"";
58
58
  src = src.replace(line, replaced);
59
59
  modified = true;
60
60
  }
@@ -62,12 +62,12 @@ export function needleLicense(command, config, userSettings) {
62
62
 
63
63
  // Replace license JWT (same pattern)
64
64
  if (licenseResult.jwt) {
65
- const jwtIndex = src.indexOf("_puYWsjJC");
65
+ const jwtIndex = src.indexOf("_SWHZG");
66
66
  if (jwtIndex >= 0) {
67
67
  const jwtEnd = src.indexOf(";", jwtIndex);
68
68
  if (jwtEnd >= 0) {
69
69
  const jwtLine = src.substring(jwtIndex, jwtEnd);
70
- const jwtReplaced = "_puYWsjJC = \"" + licenseResult.jwt + "\"";
70
+ const jwtReplaced = "_SWHZG = \"" + licenseResult.jwt + "\"";
71
71
  src = src.replace(jwtLine, jwtReplaced);
72
72
  modified = true;
73
73
  }
package/src/engine/api.ts CHANGED
@@ -232,7 +232,7 @@ export * from "./engine_input.js";
232
232
  export { InstancingUtil } from "./engine_instancing.js";
233
233
 
234
234
  /** License checking utilities */
235
- export { __alnviAJA, __YFTdTh, _$xBhfh } from "./engine_license.js";
235
+ export { __zggva, __IBw, _$RTXoT } from "./engine_license.js";
236
236
 
237
237
 
238
238
  // ============================================================================
@@ -6,7 +6,7 @@ const debug = getParam("debugdebug");
6
6
  let hide = false;
7
7
  if (getParam("noerrors") || getParam("nooverlaymessages")) hide = true;
8
8
 
9
- const globalErrorContainerKey = "needle_engine_global_error_container";
9
+ const logsContainers = new WeakMap<HTMLElement, HTMLElement>();
10
10
 
11
11
  export enum LogType {
12
12
  Log,
@@ -285,15 +285,12 @@ div[data-needle_engine_debug_overlay] .error strong {
285
285
  `;
286
286
 
287
287
  function getLogsContainer(domElement: HTMLElement): HTMLElement {
288
- if (!globalThis[globalErrorContainerKey]) {
289
- globalThis[globalErrorContainerKey] = new Map<HTMLElement, HTMLElement>();
290
- }
291
- const errorsMap = globalThis[globalErrorContainerKey] as Map<HTMLElement, HTMLElement>;
292
- if (errorsMap.has(domElement)) {
293
- return errorsMap.get(domElement)!;
288
+ const existing = logsContainers.get(domElement);
289
+ if (existing) {
290
+ return existing;
294
291
  } else {
295
292
  const container = document.createElement("div");
296
- errorsMap.set(domElement, container);
293
+ logsContainers.set(domElement, container);
297
294
  container.setAttribute("data-needle_engine_debug_overlay", "");
298
295
  container.classList.add("debug-container");
299
296
  container.style.cssText = `
@@ -402,4 +399,4 @@ function getMessageContainer(type: LogType, msg: string): HTMLElement {
402
399
  element.innerHTML = msg;
403
400
 
404
401
  return element;
405
- }
402
+ }
@@ -34,6 +34,7 @@ import { Input } from './engine_input.js';
34
34
  import { Telemetry } from './engine_license.js';
35
35
  import { invokeLifecycleFunctions } from './engine_lifecycle_functions_internal.js';
36
36
  import { type ILightDataRegistry, LightDataRegistry } from './engine_lightdata.js';
37
+ import { disposeGLTFLoaders } from './engine_loaders.gltf.js';
37
38
  import { LODsManager } from "./engine_lods.js";
38
39
  import * as looputils from './engine_mainloop_utils.js';
39
40
  import { NetworkConnection } from './engine_networking.js';
@@ -986,6 +987,8 @@ export class Context implements IContext {
986
987
  // this they are never emptied: a SPA that repeatedly creates and destroys <needle-engine>
987
988
  // elements keeps every loaded file and image alive for the lifetime of the document.
988
989
  if (ContextRegistry.Registered.length === 0) {
990
+ Physics.disposeMeshBVHWorkers();
991
+ disposeGLTFLoaders();
989
992
  clearAssetCaches();
990
993
  // Geometry promises in this shared cache retain resource users and their textures.
991
994
  NEEDLE_progressive.dispose();
@@ -110,7 +110,9 @@ export class ContextRegistry {
110
110
  }
111
111
  }
112
112
  const promises = new Array<Promise<any>>();
113
- this._callbacks[evt].forEach(cb => {
113
+ // Callbacks can unregister themselves during destruction. Iterate a snapshot so
114
+ // removing one callback does not skip the next cleanup callback.
115
+ [...this._callbacks[evt]].forEach(cb => {
114
116
  const res = cb(cbArgs)
115
117
  if (res instanceof Promise) promises.push(res);
116
118
  });
@@ -131,4 +133,4 @@ export class ContextRegistry {
131
133
  }
132
134
  }
133
135
 
134
- export { ContextRegistry as NeedleEngine };
136
+ export { ContextRegistry as NeedleEngine };
@@ -8,7 +8,7 @@ import { initBuiltinTypes } from "./codegen/register_types.js";
8
8
  import { initSpatialConsole } from "./debug/debug_spatial_console.js";
9
9
  import { initAddressableSerializers } from "./engine_addressables.js";
10
10
  import { ensureAudioContextIsResumed } from "./engine_audio.js";
11
- import { $tbhNjEbR } from "./engine_license.js";
11
+ import { __RzSXX } from "./engine_license.js";
12
12
  import { initNeedleLoader } from "./engine_loaders.js";
13
13
  import { initPhysics } from "./engine_physics_rapier.js";
14
14
  import { initBuiltinSerializers } from "./engine_serialization_builtin_serializer.js";
@@ -59,7 +59,7 @@ export function initEngine() {
59
59
  initPhysics();
60
60
  initXR();
61
61
  initSpatialConsole();
62
- $tbhNjEbR();
62
+ __RzSXX();
63
63
 
64
64
  // Must be last. customElements.define() upgrades existing <needle-engine>
65
65
  // elements synchronously, which can trigger context.create() and dispatch