@needle-tools/engine 4.9.0-alpha → 4.9.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 (28) hide show
  1. package/dist/{needle-engine.bundle-BmZiljES.js → needle-engine.bundle-CVeZ2dVS.js} +1098 -1063
  2. package/dist/{needle-engine.bundle-n9XV_9nh.umd.cjs → needle-engine.bundle-CokWPL7y.umd.cjs} +95 -95
  3. package/dist/{needle-engine.bundle-D_zlE1Pj.min.js → needle-engine.bundle-DW-9zmeW.min.js} +43 -43
  4. package/dist/needle-engine.js +2 -2
  5. package/dist/needle-engine.min.js +1 -1
  6. package/dist/needle-engine.umd.cjs +1 -1
  7. package/lib/engine/engine_addressables.d.ts +5 -0
  8. package/lib/engine/engine_addressables.js +19 -8
  9. package/lib/engine/engine_addressables.js.map +1 -1
  10. package/lib/engine/engine_assetdatabase.js +10 -8
  11. package/lib/engine/engine_assetdatabase.js.map +1 -1
  12. package/lib/engine/engine_physics_rapier.js +3 -2
  13. package/lib/engine/engine_physics_rapier.js.map +1 -1
  14. package/lib/engine-components/RendererLightmap.js +3 -1
  15. package/lib/engine-components/RendererLightmap.js.map +1 -1
  16. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +23 -1
  17. package/lib/engine-components/webxr/WebXRImageTracking.js +57 -3
  18. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  19. package/lib/engine-components/webxr/controllers/XRControllerMovement.js +1 -1
  20. package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
  21. package/package.json +1 -1
  22. package/plugins/vite/peer.js +7 -3
  23. package/src/engine/engine_addressables.ts +21 -6
  24. package/src/engine/engine_assetdatabase.ts +9 -7
  25. package/src/engine/engine_physics_rapier.ts +4 -3
  26. package/src/engine-components/RendererLightmap.ts +2 -1
  27. package/src/engine-components/webxr/WebXRImageTracking.ts +59 -4
  28. package/src/engine-components/webxr/controllers/XRControllerMovement.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"XRControllerMovement.js","sourceRoot":"","sources":["../../../../src/engine-components/webxr/controllers/XRControllerMovement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XRControllerMovement.js","sourceRoot":"","sources":["../../../../src/engine-components/webxr/controllers/XRControllerMovement.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": "4.9.0-alpha",
3
+ "version": "4.9.0-alpha.1",
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": {
@@ -34,7 +34,6 @@ export const needlePeerjs = (command, config, userSettings) => {
34
34
 
35
35
 
36
36
 
37
-
38
37
  /**
39
38
  * @param {string} code
40
39
  * @param {string} id
@@ -80,8 +79,13 @@ function patchWebRTCAdapterForGemini(code, id) {
80
79
 
81
80
  if(!didTransform) return undefined;
82
81
 
83
- console.log("[needle:peerjs] Fixed WebRTC assignment");
82
+ if(!didLog) {
83
+ console.log("[needle:peerjs] Fixed WebRTC assignment");
84
+ didLog = true;
85
+ }
84
86
 
85
87
  return transformedCode;
86
88
 
87
- }
89
+ }
90
+
91
+ let didLog = false;
@@ -201,12 +201,28 @@ export class AssetReference {
201
201
  private _rawBinary?: ArrayBufferLike | null;
202
202
 
203
203
  /** @internal */
204
- constructor(uri: string, _hash?: string, asset: any = null) {
205
- this._url = uri;
204
+ constructor(params: { url: string } | { asset: Object3D })
205
+ constructor(uri: string, _hash?: string, asset?: any)
206
+ constructor(...args: any[]) {
206
207
 
207
- const lastUriPart = uri.lastIndexOf("/");
208
+ if (typeof args[0] === "object") {
209
+ if ("url" in args[0]) {
210
+ this._url = args[0].url;
211
+ }
212
+ else {
213
+ this._url = "";
214
+ if (args[0].asset) this.asset = args[0].asset;
215
+ }
216
+ }
217
+ else {
218
+ this._url = args[0];
219
+ if (args[2] instanceof Object3D) this.asset = args[2];
220
+ }
221
+
222
+
223
+ const lastUriPart = this._url.lastIndexOf("/");
208
224
  if (lastUriPart >= 0) {
209
- this._urlName = uri.substring(lastUriPart + 1);
225
+ this._urlName = this._url.substring(lastUriPart + 1);
210
226
  // remove file extension
211
227
  const lastDot = this._urlName.lastIndexOf(".");
212
228
  if (lastDot >= 0) {
@@ -214,10 +230,9 @@ export class AssetReference {
214
230
  }
215
231
  }
216
232
  else {
217
- this._urlName = uri;
233
+ this._urlName = this._url;
218
234
  }
219
235
 
220
- if (asset !== null) this.asset = asset;
221
236
  registerPrefabProvider(this._url, this.onResolvePrefab.bind(this));
222
237
  }
223
238
 
@@ -120,7 +120,7 @@ export function disposeObjectResources(obj: object | null | undefined) {
120
120
  const value = obj[key];
121
121
  if (value instanceof Texture) {
122
122
  disposeObjectResources(value);
123
- obj[key] = null;
123
+ // obj[key] = null;
124
124
  }
125
125
  }
126
126
  const uniforms = obj["uniforms"];
@@ -129,11 +129,11 @@ export function disposeObjectResources(obj: object | null | undefined) {
129
129
  const value = uniforms[key];
130
130
  if (value instanceof Texture) {
131
131
  disposeObjectResources(value);
132
- uniforms[key] = null;
132
+ // uniforms[key] = null;
133
133
  }
134
134
  else if (value instanceof Uniform) {
135
135
  disposeObjectResources(value.value);
136
- value.value = null;
136
+ // value.value = null;
137
137
  }
138
138
  }
139
139
  }
@@ -157,6 +157,7 @@ export function disposeObjectResources(obj: object | null | undefined) {
157
157
  }
158
158
  }
159
159
 
160
+ /** Free GPU resources */
160
161
  function free(obj: any) {
161
162
  if (!obj) {
162
163
  return;
@@ -165,10 +166,11 @@ function free(obj: any) {
165
166
  if (obj instanceof ImageBitmap) {
166
167
  obj.close();
167
168
  }
168
- else if (obj instanceof Source) {
169
- obj.data = null;
170
- }
171
- else {
169
+ // Note: we can not set data to null, as three.js will try to access it in the render loop
170
+ // else if (obj instanceof Source) {
171
+ // obj.data.close();
172
+ // }
173
+ else if("dispose" in obj && typeof obj.dispose === "function") {
172
174
  obj.dispose();
173
175
  }
174
176
  }
@@ -272,7 +272,8 @@ export class RapierPhysics implements IPhysicsEngine {
272
272
  if (MODULES.RAPIER_PHYSICS.MAYBEMODULE == undefined) {
273
273
  if (debugPhysics) console.trace("Loading rapier physics engine");
274
274
  const module = await MODULES.RAPIER_PHYSICS.load();
275
- await module.init();
275
+ // https://github.com/dimforge/rapier/issues/811
276
+ await module.init();
276
277
  }
277
278
  if (debugPhysics) console.log("Physics engine initialized, creating world...");
278
279
  this._world = new MODULES.RAPIER_PHYSICS.MODULE.World(this._gravity);
@@ -659,13 +660,13 @@ export class RapierPhysics implements IPhysicsEngine {
659
660
  return;
660
661
  }
661
662
  const obj = collider.gameObject;
662
- const scale = getWorldScale(obj, this._tempPosition);
663
+ const scale = obj.worldScale;
663
664
  // Prevent negative scales
664
665
  scale.x = Math.abs(scale.x);
665
666
  scale.y = Math.abs(scale.y);
666
667
  const finalRadius = radius * scale.x;
667
668
  // half height = distance between capsule origin and top sphere origin (not the top end of the capsule)
668
- height = Math.max(height, finalRadius * 2);
669
+ height = Math.max(height, finalRadius);
669
670
  const hh = Mathf.clamp((height * .5 * scale.y) - (radius * scale.x), 0, Number.MAX_SAFE_INTEGER);
670
671
  const desc = MODULES.RAPIER_PHYSICS.MODULE.ColliderDesc.capsule(hh, finalRadius);
671
672
  this.createCollider(collider, desc);
@@ -127,6 +127,7 @@ export class RendererLightmap {
127
127
  if (material["NEEDLE:lightmap-material-version"] == undefined) {
128
128
  if (debug) console.warn("Cloning material for lightmap " + material.name);
129
129
  const mat: Material = material.clone();
130
+ if(!mat.name?.includes("(lightmap)")) mat.name = material.name + " (lightmap)";
130
131
  material = mat;
131
132
  material.onBeforeCompile = this.onBeforeCompile;
132
133
  }
@@ -147,7 +148,7 @@ export class RendererLightmap {
147
148
  return;
148
149
  }
149
150
 
150
- if (debug) console.log("Assigning lightmap", material.name, material.version);
151
+ if (debug) console.log("Assigning lightmap", material.name, material.version, material);
151
152
 
152
153
  // assign the lightmap
153
154
  material.lightMap = this.lightmapTexture;
@@ -108,6 +108,19 @@ declare type InitialTrackedObjectState = {
108
108
  */
109
109
  export class WebXRImageTrackingModel {
110
110
 
111
+ constructor(params: { url: string, widthInMeters: number, /** Object to track */ object: AssetReference | Object3D, createObjectInstance?: boolean, imageDoesNotMove?: boolean, hideWhenTrackingIsLost?: boolean }) {
112
+ this.image = params.url;
113
+ this.widthInMeters = params.widthInMeters;
114
+ if (params.object instanceof Object3D) {
115
+ this.object = new AssetReference({ asset: params.object });
116
+ }
117
+ else this.object = params.object;
118
+
119
+ if (params.createObjectInstance !== undefined) this.createObjectInstance = params.createObjectInstance;
120
+ if (params.imageDoesNotMove !== undefined) this.imageDoesNotMove = params.imageDoesNotMove;
121
+ if (params.hideWhenTrackingIsLost !== undefined) this.hideWhenTrackingIsLost = params.hideWhenTrackingIsLost;
122
+ }
123
+
111
124
  /**
112
125
  * Tracked image marker url. Make sure the image has good contrast and unique features to improve the tracking quality.
113
126
  */
@@ -144,12 +157,23 @@ export class WebXRImageTrackingModel {
144
157
  */
145
158
  @serializable()
146
159
  hideWhenTrackingIsLost: boolean = true;
160
+
161
+
162
+ /**
163
+ * Get the name of the image file from the url
164
+ */
165
+ getNameFromUrl() {
166
+ if (this.image) {
167
+ const parts = this.image.split("/");
168
+ return parts[parts.length - 1];
169
+ }
170
+ return null;
171
+ }
147
172
  }
148
173
 
149
174
  class ImageTrackingExtension implements IUSDExporterExtension {
150
175
 
151
176
 
152
-
153
177
  readonly isImageTrackingExtension = true;
154
178
  get extensionName() { return "image-tracking"; }
155
179
 
@@ -162,7 +186,7 @@ class ImageTrackingExtension implements IUSDExporterExtension {
162
186
  // set during export
163
187
  private shouldExport: boolean = true;
164
188
 
165
- private filename: string = "marker.png";
189
+ private filename: string | null = null;
166
190
  private imageModel: WebXRImageTrackingModel | null = null;
167
191
 
168
192
  onBeforeBuildDocument(_context: USDZExporterContext) {
@@ -223,10 +247,12 @@ class ImageTrackingExtension implements IUSDExporterExtension {
223
247
  if (!imageTracking || !imageTracking.trackedImages?.length || !imageTracking.activeAndEnabled) return;
224
248
 
225
249
  // we only care about the first image
250
+ // We can only apply this to the first tracked image, more are not supported by QuickLook.
226
251
  const trackedImage = imageTracking.trackedImages[0];
227
252
 
228
253
  if (trackedImage.object?.asset === object) {
229
254
  this.imageModel = trackedImage;
255
+ this.filename = trackedImage.getNameFromUrl() || "marker.png";
230
256
 
231
257
  const { scale, target } = this.exporter.getARScaleAndTarget();
232
258
 
@@ -258,7 +284,6 @@ class ImageTrackingExtension implements IUSDExporterExtension {
258
284
  // writer.appendLine( `rel preliminary:imageAnchoring:referenceImage = </${context.document.name}/Scenes/Scene/AnchoringReferenceImage>` );
259
285
  // });
260
286
 
261
- // We can only apply this to the first tracked image, more are not supported by QuickLook.
262
287
  }
263
288
  }
264
289
  }
@@ -270,8 +295,38 @@ class ImageTrackingExtension implements IUSDExporterExtension {
270
295
  */
271
296
  export class WebXRImageTracking extends Behaviour {
272
297
 
298
+ /**
299
+ * If you have multiple images in your application to track then this method is useful for iOS AR where only the first image can be tracked.
300
+ * Call this method will set the given image as the first one in the array so it will be used for tracking.
301
+ */
302
+ setPrimaryImage(image: WebXRImageTrackingModel) {
303
+ const index = this.trackedImages.indexOf(image);
304
+ if (index >= 0) {
305
+ const current = this.trackedImages[0];
306
+ if (current !== image) {
307
+ this.trackedImages[0] = image;
308
+ this.trackedImages[index] = current;
309
+ }
310
+ }
311
+ else console.warn(`[WebXRImageTracking] Can not set primary: image not found in 'trackedImages' array ${image.image}`);
312
+ }
313
+
314
+ /**
315
+ * Add an image to track. If the image is already in the trackedImages array it won't be added again.
316
+ * Note: that adding images at runtime *while* in AR is not supported.
317
+ */
318
+ addImage(image: WebXRImageTrackingModel, asPrimary: boolean = false) {
319
+ if (!this.trackedImages.includes(image)) {
320
+ this.trackedImages.push(image);
321
+ loadImage(image.image!);
322
+ }
323
+ if (asPrimary) this.setPrimaryImage(image);
324
+ }
325
+
326
+
327
+
273
328
  @serializable(WebXRImageTrackingModel)
274
- trackedImages: WebXRImageTrackingModel[] = [];
329
+ readonly trackedImages: WebXRImageTrackingModel[] = [];
275
330
 
276
331
  /** Applies smoothing based on detected jitter to the tracked image. */
277
332
  @serializable()
@@ -4,6 +4,7 @@ import { LineGeometry } from "three/examples/jsm/lines/LineGeometry.js";
4
4
  import { LineMaterial } from "three/examples/jsm/lines/LineMaterial.js";
5
5
  import { GroundedSkybox } from "three/examples/jsm/objects/GroundedSkybox.js";
6
6
 
7
+ import { isDevEnvironment } from "../../../engine/debug/index.js";
7
8
  import { Gizmos } from "../../../engine/engine_gizmos.js";
8
9
  import { Mathf } from "../../../engine/engine_math.js";
9
10
  import type { RaycastTestObjectCallback } from "../../../engine/engine_physics.js";
@@ -12,7 +13,6 @@ import { getTempVector, getWorldPosition, getWorldQuaternion, getWorldScale } fr
12
13
  import type { IGameObject } from "../../../engine/engine_types.js";
13
14
  import { getParam } from "../../../engine/engine_utils.js";
14
15
  import { NeedleXRController, type NeedleXREventArgs, NeedleXRSession } from "../../../engine/engine_xr.js";
15
- import { isDevEnvironment } from "../../../engine/debug/index.js";
16
16
  import { Behaviour, GameObject } from "../../Component.js"
17
17
  import { hasPointerEventComponent } from "../../ui/PointerEvents.js";
18
18
  import { TeleportTarget } from "../TeleportTarget.js";