@needle-tools/engine 5.1.6 → 5.1.8-next.1784885350.large-bamboo.746608e
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.
- package/CHANGELOG.md +10 -0
- package/components.needle.json +1 -1
- package/dist/{needle-engine.bundle-CadxfFMM.min.js → needle-engine.bundle-Cw8tbJuS.min.js} +142 -142
- package/dist/{needle-engine.bundle-BcyvM7a6.js → needle-engine.bundle-bOImzZkB.js} +5147 -5084
- package/dist/{needle-engine.bundle-FRzWLdVf.umd.cjs → needle-engine.bundle-uEyfssJk.umd.cjs} +141 -141
- package/dist/needle-engine.d.ts +76 -27
- package/dist/needle-engine.js +326 -326
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/lib/engine/api.d.ts +1 -1
- package/lib/engine/api.js +1 -1
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/engine_init.js +2 -2
- package/lib/engine/engine_init.js.map +1 -1
- package/lib/engine/engine_license.d.ts +7 -7
- package/lib/engine/engine_license.js +71 -71
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_networking_blob.js +3 -3
- package/lib/engine/engine_utils.js +6 -0
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/engine_utils_qrcode.js +2 -2
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
- package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +2 -2
- package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
- package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.d.ts +2 -2
- package/lib/engine/xr/NeedleXRSession.js +29 -3
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine/xr/TempXRContext.js +2 -2
- package/lib/engine-components/Component.d.ts +2 -1
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -8
- package/lib/engine-components/webxr/TeleportTarget.js +21 -8
- package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +24 -6
- package/lib/engine-components/webxr/WebARSessionRoot.js +130 -39
- package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
- package/lib/engine-components/webxr/WebXR.d.ts +3 -3
- package/lib/engine-components/webxr/WebXR.js +4 -4
- package/lib/engine-components/webxr/WebXR.js.map +1 -1
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +1 -1
- package/lib/engine-components/webxr/WebXRImageTracking.js +19 -48
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/lib/engine-components/webxr/WebXRImageTracking.utils.d.ts +35 -0
- package/lib/engine-components/webxr/WebXRImageTracking.utils.js +96 -0
- package/lib/engine-components/webxr/WebXRImageTracking.utils.js.map +1 -0
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +18 -1
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +18 -1
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
- package/package.json +1 -1
- package/plugins/common/license.js +23 -5
- package/plugins/vite/dependencies.js +34 -0
- package/plugins/vite/license.js +4 -4
- package/plugins/vite/needle-app.js +13 -0
- package/src/engine/api.ts +1 -1
- package/src/engine/engine_init.ts +2 -2
- package/src/engine/engine_license.ts +68 -68
- package/src/engine/engine_networking_blob.ts +3 -3
- package/src/engine/engine_utils.ts +4 -0
- package/src/engine/engine_utils_qrcode.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
- package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
- package/src/engine/webcomponents/needle-engine.ts +2 -2
- package/src/engine/xr/NeedleXRSession.ts +30 -5
- package/src/engine/xr/TempXRContext.ts +2 -2
- package/src/engine-components/Component.ts +2 -1
- package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
- package/src/engine-components/webxr/TeleportTarget.ts +23 -10
- package/src/engine-components/webxr/WebARSessionRoot.ts +124 -38
- package/src/engine-components/webxr/WebXR.ts +4 -4
- package/src/engine-components/webxr/WebXRImageTracking.ts +19 -51
- package/src/engine-components/webxr/WebXRImageTracking.utils.ts +105 -0
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +20 -3
|
@@ -15,6 +15,7 @@ import { USDZExporter } from "../../engine-components/export/usdz/USDZExporter.j
|
|
|
15
15
|
import { Behaviour, GameObject } from "../Component.js";
|
|
16
16
|
import { EventList } from "../EventList.js";
|
|
17
17
|
import { Renderer } from "../Renderer.js";
|
|
18
|
+
import { _imageElements, collectTrackedImages, loadImage } from "./WebXRImageTracking.utils.js";
|
|
18
19
|
// https://github.com/immersive-web/marker-tracking/blob/main/explainer.md
|
|
19
20
|
const debug = getParam("debugimagetracking");
|
|
20
21
|
// #region WebXRTrackedImage
|
|
@@ -637,26 +638,24 @@ export class WebXRImageTracking extends Behaviour {
|
|
|
637
638
|
}
|
|
638
639
|
};
|
|
639
640
|
/** @internal */
|
|
640
|
-
onBeforeXR(_mode, args) {
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
}
|
|
659
|
-
}
|
|
641
|
+
async onBeforeXR(_mode, args) {
|
|
642
|
+
if (!this.trackedImages)
|
|
643
|
+
return;
|
|
644
|
+
args.optionalFeatures = args.optionalFeatures || [];
|
|
645
|
+
if (!args.optionalFeatures.includes("image-tracking"))
|
|
646
|
+
args.optionalFeatures.push("image-tracking");
|
|
647
|
+
// Resolve the marker bitmaps *before* the session is requested.
|
|
648
|
+
// onBeforeXR runs the moment "Enter AR" is tapped. Marker images load asynchronously
|
|
649
|
+
// (network fetch + createImageBitmap), so without awaiting here a marker that hasn't finished
|
|
650
|
+
// decoding yet would be silently dropped from `trackedImages` and never registered with the
|
|
651
|
+
// native/WebXR session - it would then only start working after exiting and re-entering AR,
|
|
652
|
+
// once the bitmap has been cached. Awaiting the (idempotent) loads closes that race.
|
|
653
|
+
// A marker that can not be loaded resolves to null and is skipped individually, so a single
|
|
654
|
+
// unavailable image never rejects the whole XR session request. See forum topic #2859.
|
|
655
|
+
this.trackedImageIndexMap.clear();
|
|
656
|
+
const indexMap = await collectTrackedImages(this.trackedImages, args);
|
|
657
|
+
for (const [index, model] of indexMap) {
|
|
658
|
+
this.trackedImageIndexMap.set(index, model);
|
|
660
659
|
}
|
|
661
660
|
}
|
|
662
661
|
/** @internal */
|
|
@@ -863,32 +862,4 @@ __decorate([
|
|
|
863
862
|
__decorate([
|
|
864
863
|
serializable()
|
|
865
864
|
], WebXRImageTracking.prototype, "smooth", void 0);
|
|
866
|
-
const _imageElements = new Map();
|
|
867
|
-
const _imageLoadingPromises = new Map();
|
|
868
|
-
async function loadImage(url) {
|
|
869
|
-
if (_imageElements.has(url)) {
|
|
870
|
-
if (_imageLoadingPromises.has(url))
|
|
871
|
-
return _imageLoadingPromises.get(url);
|
|
872
|
-
return Promise.resolve(true);
|
|
873
|
-
}
|
|
874
|
-
const promise = new Promise(res => {
|
|
875
|
-
_imageElements.set(url, null);
|
|
876
|
-
if (isDevEnvironment() || debug)
|
|
877
|
-
console.debug(`[WebXRImageTracking] Start loading image for tracking: ${url}`);
|
|
878
|
-
const imageElement = document.createElement("img");
|
|
879
|
-
imageElement.src = url;
|
|
880
|
-
imageElement.addEventListener("load", async () => {
|
|
881
|
-
if (isDevEnvironment() || debug)
|
|
882
|
-
console.debug(`[WebXRImageTracking] Loaded image for tracking: ${url}`);
|
|
883
|
-
const img = await createImageBitmap(imageElement);
|
|
884
|
-
_imageElements.set(url, img);
|
|
885
|
-
res(true);
|
|
886
|
-
});
|
|
887
|
-
});
|
|
888
|
-
_imageLoadingPromises.set(url, promise);
|
|
889
|
-
promise.finally(() => {
|
|
890
|
-
_imageLoadingPromises.delete(url);
|
|
891
|
-
});
|
|
892
|
-
return promise;
|
|
893
|
-
}
|
|
894
865
|
//# sourceMappingURL=WebXRImageTracking.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { WebXRImageTrackingModel } from "./WebXRImageTracking.js";
|
|
2
|
+
/**
|
|
3
|
+
* Cache of decoded marker bitmaps, keyed by image url.
|
|
4
|
+
* Also read by the USDZ exporter (see {@link WebXRImageTracking}) to embed the marker into the .usdz.
|
|
5
|
+
*/
|
|
6
|
+
export declare const _imageElements: Map<string, ImageBitmap | null>;
|
|
7
|
+
/**
|
|
8
|
+
* Resolve marker bitmaps for the given tracked-image models and append them to `args.trackedImages`
|
|
9
|
+
* (the list handed to `navigator.xr.requestSession`).
|
|
10
|
+
*
|
|
11
|
+
* Every valid marker is awaited so that images which are still decoding when the XR session is
|
|
12
|
+
* requested get included instead of being silently dropped (which previously caused markers to only
|
|
13
|
+
* work after re-entering AR). Loading happens in parallel and never rejects: a marker that can not be
|
|
14
|
+
* loaded is skipped individually so a single unavailable image can not fail the whole session request.
|
|
15
|
+
*
|
|
16
|
+
* @param models The configured tracked-image models
|
|
17
|
+
* @param args The session init object; `trackedImages` is created if missing and appended to
|
|
18
|
+
* @param load Injectable loader (defaults to {@link loadImage}); resolves the decoded bitmap or null
|
|
19
|
+
* @returns Map of `trackedImages` index -> model for the appended images (used to resolve results)
|
|
20
|
+
*/
|
|
21
|
+
export declare function collectTrackedImages(models: readonly WebXRImageTrackingModel[] | undefined | null, args: {
|
|
22
|
+
trackedImages?: Array<{
|
|
23
|
+
image: ImageBitmap;
|
|
24
|
+
widthInMeters: number;
|
|
25
|
+
}>;
|
|
26
|
+
}, load?: (url: string) => Promise<ImageBitmap | null>): Promise<Map<number, WebXRImageTrackingModel>>;
|
|
27
|
+
/**
|
|
28
|
+
* Load and decode a marker image into an {@link ImageBitmap}, caching it in {@link _imageElements}.
|
|
29
|
+
* Idempotent: concurrent or repeated calls for the same URL share a single in-flight load.
|
|
30
|
+
*
|
|
31
|
+
* Resolves to `null` and never rejects when the image can not be fetched or decoded, so callers can
|
|
32
|
+
* skip an unavailable marker without failing the surrounding XR session request. A failed load clears
|
|
33
|
+
* its cache entry so a later attempt (e.g. re-entering AR) can retry.
|
|
34
|
+
*/
|
|
35
|
+
export declare function loadImage(url: string): Promise<ImageBitmap | null>;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { isDevEnvironment } from "../../engine/debug/index.js";
|
|
2
|
+
import { getParam } from "../../engine/engine_utils.js";
|
|
3
|
+
// Kept in a dedicated module (with only lightweight imports) so the marker-loading logic can be unit
|
|
4
|
+
// tested without pulling in the heavy WebXRImageTracking / USDZ exporter import graph.
|
|
5
|
+
const debug = getParam("debugimagetracking");
|
|
6
|
+
/**
|
|
7
|
+
* Cache of decoded marker bitmaps, keyed by image url.
|
|
8
|
+
* Also read by the USDZ exporter (see {@link WebXRImageTracking}) to embed the marker into the .usdz.
|
|
9
|
+
*/
|
|
10
|
+
export const _imageElements = new Map();
|
|
11
|
+
const _imageLoadingPromises = new Map();
|
|
12
|
+
/**
|
|
13
|
+
* Resolve marker bitmaps for the given tracked-image models and append them to `args.trackedImages`
|
|
14
|
+
* (the list handed to `navigator.xr.requestSession`).
|
|
15
|
+
*
|
|
16
|
+
* Every valid marker is awaited so that images which are still decoding when the XR session is
|
|
17
|
+
* requested get included instead of being silently dropped (which previously caused markers to only
|
|
18
|
+
* work after re-entering AR). Loading happens in parallel and never rejects: a marker that can not be
|
|
19
|
+
* loaded is skipped individually so a single unavailable image can not fail the whole session request.
|
|
20
|
+
*
|
|
21
|
+
* @param models The configured tracked-image models
|
|
22
|
+
* @param args The session init object; `trackedImages` is created if missing and appended to
|
|
23
|
+
* @param load Injectable loader (defaults to {@link loadImage}); resolves the decoded bitmap or null
|
|
24
|
+
* @returns Map of `trackedImages` index -> model for the appended images (used to resolve results)
|
|
25
|
+
*/
|
|
26
|
+
export async function collectTrackedImages(models, args, load = loadImage) {
|
|
27
|
+
const indexMap = new Map();
|
|
28
|
+
if (!args.trackedImages)
|
|
29
|
+
args.trackedImages = [];
|
|
30
|
+
if (!models)
|
|
31
|
+
return indexMap;
|
|
32
|
+
const valid = models.filter(m => !!m.image?.length && m.widthInMeters > 0);
|
|
33
|
+
// Load in parallel and wait for all of them. Guard every load with a catch so that a rejecting
|
|
34
|
+
// loader is treated as "unavailable" (null) rather than aborting the whole session request.
|
|
35
|
+
const bitmaps = await Promise.all(valid.map(m => load(m.image).catch(() => null)));
|
|
36
|
+
for (let i = 0; i < valid.length; i++) {
|
|
37
|
+
const model = valid[i];
|
|
38
|
+
const bitmap = bitmaps[i];
|
|
39
|
+
if (bitmap) {
|
|
40
|
+
indexMap.set(args.trackedImages.length, model);
|
|
41
|
+
args.trackedImages.push({ image: bitmap, widthInMeters: model.widthInMeters });
|
|
42
|
+
}
|
|
43
|
+
else if (isDevEnvironment() || debug) {
|
|
44
|
+
console.warn(`[WebXRImageTracking] Marker image could not be loaded, skipping: ${model.image}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return indexMap;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Load and decode a marker image into an {@link ImageBitmap}, caching it in {@link _imageElements}.
|
|
51
|
+
* Idempotent: concurrent or repeated calls for the same URL share a single in-flight load.
|
|
52
|
+
*
|
|
53
|
+
* Resolves to `null` and never rejects when the image can not be fetched or decoded, so callers can
|
|
54
|
+
* skip an unavailable marker without failing the surrounding XR session request. A failed load clears
|
|
55
|
+
* its cache entry so a later attempt (e.g. re-entering AR) can retry.
|
|
56
|
+
*/
|
|
57
|
+
export async function loadImage(url) {
|
|
58
|
+
const cached = _imageElements.get(url);
|
|
59
|
+
if (cached)
|
|
60
|
+
return cached;
|
|
61
|
+
const pending = _imageLoadingPromises.get(url);
|
|
62
|
+
if (pending)
|
|
63
|
+
return pending;
|
|
64
|
+
const promise = new Promise(res => {
|
|
65
|
+
_imageElements.set(url, null); // placeholder to dedupe concurrent loads
|
|
66
|
+
if (isDevEnvironment() || debug)
|
|
67
|
+
console.debug(`[WebXRImageTracking] Start loading image for tracking: ${url}`);
|
|
68
|
+
const imageElement = document.createElement("img");
|
|
69
|
+
imageElement.addEventListener("load", async () => {
|
|
70
|
+
try {
|
|
71
|
+
const img = await createImageBitmap(imageElement);
|
|
72
|
+
_imageElements.set(url, img);
|
|
73
|
+
if (isDevEnvironment() || debug)
|
|
74
|
+
console.debug(`[WebXRImageTracking] Loaded image for tracking: ${url}`);
|
|
75
|
+
res(img);
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
console.error(`[WebXRImageTracking] Failed to decode marker image for tracking: ${url}`, err);
|
|
79
|
+
_imageElements.delete(url); // allow a retry later (e.g. re-entering AR)
|
|
80
|
+
res(null);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
imageElement.addEventListener("error", (evt) => {
|
|
84
|
+
console.error(`[WebXRImageTracking] Failed to load marker image for tracking: ${url}`, evt);
|
|
85
|
+
_imageElements.delete(url); // allow a retry later (e.g. re-entering AR)
|
|
86
|
+
res(null);
|
|
87
|
+
});
|
|
88
|
+
imageElement.src = url;
|
|
89
|
+
});
|
|
90
|
+
_imageLoadingPromises.set(url, promise);
|
|
91
|
+
promise.finally(() => {
|
|
92
|
+
_imageLoadingPromises.delete(url);
|
|
93
|
+
});
|
|
94
|
+
return promise;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=WebXRImageTracking.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebXRImageTracking.utils.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAIxD,qGAAqG;AACrG,uFAAuF;AAEvF,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoC,IAAI,GAAG,EAAE,CAAC;AACzE,MAAM,qBAAqB,GAA6C,IAAI,GAAG,EAAE,CAAC;AAElF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAA6D,EAC7D,IAA8E,EAC9E,OAAqD,SAAS;IAE9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC5D,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAC3E,+FAA+F;IAC/F,4FAA4F;IAC5F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,EAAE,CAAC;YACT,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QACnF,CAAC;aACI,IAAI,gBAAgB,EAAE,IAAI,KAAK,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,oEAAoE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACpG,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAqB,GAAG,CAAC,EAAE;QAClD,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,yCAAyC;QACxE,IAAI,gBAAgB,EAAE,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,0DAA0D,GAAG,EAAE,CAAC,CAAC;QAChH,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAqB,CAAC;QACvE,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC7C,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBAClD,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7B,IAAI,gBAAgB,EAAE,IAAI,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;gBACzG,GAAG,CAAC,GAAG,CAAC,CAAC;YACb,CAAC;YACD,OAAO,GAAG,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,oEAAoE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC9F,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,4CAA4C;gBACxE,GAAG,CAAC,IAAI,CAAC,CAAC;YACd,CAAC;QACL,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3C,OAAO,CAAC,KAAK,CAAC,kEAAkE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YAC5F,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,4CAA4C;YACxE,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;QACjB,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -18,6 +18,15 @@ declare type HitPointObject = Object3D & {
|
|
|
18
18
|
* Additionally it supports teleporting using the right controller's thumbstick or by pinching the index finger tip in front of the hand (if hand tracking is enabled).
|
|
19
19
|
* It also visualizes controller rays and hit points in the scene.
|
|
20
20
|
*
|
|
21
|
+
* The component operates on the active XR rig and controllers from the {@link NeedleXRSession} (`args.xr.rig`,
|
|
22
|
+
* `args.xr.leftController` / `rightController`) and receives `onUpdateXR` regardless of where it sits in the hierarchy.
|
|
23
|
+
* It does NOT need to be on the same GameObject as {@link WebXR}, and does not read {@link WebXR} from its parents.
|
|
24
|
+
*
|
|
25
|
+
* **Duplicate-handler gotcha:** {@link WebXR.setDefaultMovementEnabled} (called when `WebXR.useDefaultControls` is enabled,
|
|
26
|
+
* the default) adds an `XRControllerMovement` to the WebXR GameObject only if that object has none. If you place your own
|
|
27
|
+
* `XRControllerMovement` on a different object, WebXR still adds a second, default one at runtime — two handlers then run
|
|
28
|
+
* simultaneously (doubled movement, and your teleport settings such as {@link XRControllerMovement.useTeleportTarget} are
|
|
29
|
+
* bypassed by the default handler). Put your component on the WebXR GameObject, or disable `WebXR.useDefaultControls`.
|
|
21
30
|
*
|
|
22
31
|
* @summary Move the XR rig using controller input
|
|
23
32
|
* @category XR
|
|
@@ -41,7 +50,15 @@ export declare class XRControllerMovement extends Behaviour implements XRMovemen
|
|
|
41
50
|
* @default true
|
|
42
51
|
*/
|
|
43
52
|
usePinchToTeleport: boolean;
|
|
44
|
-
/** Enable to only allow teleporting on objects with a
|
|
53
|
+
/** Enable to only allow teleporting on objects with a {@link TeleportTarget} component.
|
|
54
|
+
*
|
|
55
|
+
* The teleport ray is a **visual raycast against rendered meshes** (not physics colliders):
|
|
56
|
+
* it hits the rendered geometry and then looks for a {@link TeleportTarget} on the hit object
|
|
57
|
+
* or any of its parents. A collider is NOT required on the target — only a visible mesh that
|
|
58
|
+
* is not on the IgnoreRaycast layer.
|
|
59
|
+
*
|
|
60
|
+
* When enabled, teleporting is rejected if the ray does not hit a `TeleportTarget` (the
|
|
61
|
+
* ground-plane fallback used in free teleport mode is also disabled).
|
|
45
62
|
* @default false
|
|
46
63
|
*/
|
|
47
64
|
useTeleportTarget: boolean;
|
|
@@ -27,6 +27,15 @@ const debug = getParam("debugwebxr");
|
|
|
27
27
|
* Additionally it supports teleporting using the right controller's thumbstick or by pinching the index finger tip in front of the hand (if hand tracking is enabled).
|
|
28
28
|
* It also visualizes controller rays and hit points in the scene.
|
|
29
29
|
*
|
|
30
|
+
* The component operates on the active XR rig and controllers from the {@link NeedleXRSession} (`args.xr.rig`,
|
|
31
|
+
* `args.xr.leftController` / `rightController`) and receives `onUpdateXR` regardless of where it sits in the hierarchy.
|
|
32
|
+
* It does NOT need to be on the same GameObject as {@link WebXR}, and does not read {@link WebXR} from its parents.
|
|
33
|
+
*
|
|
34
|
+
* **Duplicate-handler gotcha:** {@link WebXR.setDefaultMovementEnabled} (called when `WebXR.useDefaultControls` is enabled,
|
|
35
|
+
* the default) adds an `XRControllerMovement` to the WebXR GameObject only if that object has none. If you place your own
|
|
36
|
+
* `XRControllerMovement` on a different object, WebXR still adds a second, default one at runtime — two handlers then run
|
|
37
|
+
* simultaneously (doubled movement, and your teleport settings such as {@link XRControllerMovement.useTeleportTarget} are
|
|
38
|
+
* bypassed by the default handler). Put your component on the WebXR GameObject, or disable `WebXR.useDefaultControls`.
|
|
30
39
|
*
|
|
31
40
|
* @summary Move the XR rig using controller input
|
|
32
41
|
* @category XR
|
|
@@ -50,7 +59,15 @@ export class XRControllerMovement extends Behaviour {
|
|
|
50
59
|
* @default true
|
|
51
60
|
*/
|
|
52
61
|
usePinchToTeleport = true;
|
|
53
|
-
/** Enable to only allow teleporting on objects with a
|
|
62
|
+
/** Enable to only allow teleporting on objects with a {@link TeleportTarget} component.
|
|
63
|
+
*
|
|
64
|
+
* The teleport ray is a **visual raycast against rendered meshes** (not physics colliders):
|
|
65
|
+
* it hits the rendered geometry and then looks for a {@link TeleportTarget} on the hit object
|
|
66
|
+
* or any of its parents. A collider is NOT required on the target — only a visible mesh that
|
|
67
|
+
* is not on the IgnoreRaycast layer.
|
|
68
|
+
*
|
|
69
|
+
* When enabled, teleporting is rejected if the ray does not hit a `TeleportTarget` (the
|
|
70
|
+
* ground-plane fallback used in free teleport mode is also disabled).
|
|
54
71
|
* @default false
|
|
55
72
|
*/
|
|
56
73
|
useTeleportTarget = false;
|
|
@@ -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": "5.1.
|
|
3
|
+
"version": "5.1.8-next.1784885350.large-bamboo.746608e",
|
|
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,6 +34,22 @@ function logLicense(message, level = "log") {
|
|
|
34
34
|
needleLog("needle-license", message, level);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* When license resolution comes up empty and no team was explicitly provided, the most common
|
|
39
|
+
* cause is a multi-team Needle Cloud account where the PRO license sits on a team we were not told
|
|
40
|
+
* to use. Surface an actionable hint instead of a bare "no license found".
|
|
41
|
+
* @param {{team?:string} | null | undefined} args
|
|
42
|
+
*/
|
|
43
|
+
function logNoLicenseTeamHint(args) {
|
|
44
|
+
if (args?.team) return; // a team was explicitly set — the miss is not a team-selection problem
|
|
45
|
+
logLicense(
|
|
46
|
+
"If you belong to multiple Needle Cloud teams, your PRO license may be on a team that was not " +
|
|
47
|
+
"selected. Set it explicitly via the `license.team` plugin option, or set the NEEDLE_CLOUD_TOKEN " +
|
|
48
|
+
"environment variable to a token from the PRO team. See https://cloud.needle.tools/team",
|
|
49
|
+
"warn"
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
37
53
|
/** @param {string} message @param {"error" | "log" | "warn"} [level] */
|
|
38
54
|
function logIdentifier(message, level = "log") {
|
|
39
55
|
needleLog("needle-identifier", message, level);
|
|
@@ -111,7 +127,7 @@ async function requestNeedleCloud(path, options) {
|
|
|
111
127
|
* @param {DefaultOptions & {accessToken?:string, team:string|undefined}} opts
|
|
112
128
|
*/
|
|
113
129
|
export async function replaceLicense(code, opts) {
|
|
114
|
-
const index = code?.indexOf("
|
|
130
|
+
const index = code?.indexOf("__oANEN");
|
|
115
131
|
if (index >= 0) {
|
|
116
132
|
const licenseResult = await resolveLicense(opts);
|
|
117
133
|
if (!licenseResult) {
|
|
@@ -120,18 +136,18 @@ export async function replaceLicense(code, opts) {
|
|
|
120
136
|
const end = code.indexOf(";", index);
|
|
121
137
|
if (end >= 0) {
|
|
122
138
|
const line = code.substring(index, end);
|
|
123
|
-
const replaced = "
|
|
139
|
+
const replaced = "__oANEN = \"" + licenseResult.type + "\"";
|
|
124
140
|
code = code.replace(line, replaced);
|
|
125
141
|
}
|
|
126
142
|
|
|
127
143
|
// Also inject JWT if available
|
|
128
144
|
if (licenseResult.jwt) {
|
|
129
|
-
const jwtIndex = code.indexOf("
|
|
145
|
+
const jwtIndex = code.indexOf("lucPBW");
|
|
130
146
|
if (jwtIndex >= 0) {
|
|
131
147
|
const jwtEnd = code.indexOf(";", jwtIndex);
|
|
132
148
|
if (jwtEnd >= 0) {
|
|
133
149
|
const jwtLine = code.substring(jwtIndex, jwtEnd);
|
|
134
|
-
const jwtReplaced = "
|
|
150
|
+
const jwtReplaced = "lucPBW = \"" + licenseResult.jwt + "\"";
|
|
135
151
|
code = code.replace(jwtLine, jwtReplaced);
|
|
136
152
|
}
|
|
137
153
|
}
|
|
@@ -267,8 +283,10 @@ async function resolveLicenseUncached(args = null) {
|
|
|
267
283
|
else if (!licenseResponse.ok) {
|
|
268
284
|
if (licenseResponse.status >= 500)
|
|
269
285
|
logLicense(`ERROR: Failed to fetch license (${licenseResponse.status})`, "error");
|
|
270
|
-
else
|
|
286
|
+
else {
|
|
271
287
|
logLicense(`No license found (${licenseResponse.status})`);
|
|
288
|
+
logNoLicenseTeamHint(args);
|
|
289
|
+
}
|
|
272
290
|
await releaseResponse(licenseResponse);
|
|
273
291
|
return null;
|
|
274
292
|
}
|
|
@@ -61,6 +61,36 @@ export function needleDependencies(command, config, userSettings) {
|
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
},
|
|
64
|
+
// Rolldown >= 1.1.5 (bundled with Vite 8.1.x) has a regression that panics during
|
|
65
|
+
// chunk generation when codeSplitting groups split certain `export *` re-export
|
|
66
|
+
// chains: "Symbol ... should belong to a chunk" in compute_cross_chunk_links.rs.
|
|
67
|
+
// Tracked at https://github.com/rolldown/rolldown/issues/10337
|
|
68
|
+
// The panic happens on a Rust worker thread and is not observable from JS:
|
|
69
|
+
// buildEnd receives no error and renderError never fires. But generateBundle only
|
|
70
|
+
// runs when the generate stage succeeds, so "closeBundle without generateBundle
|
|
71
|
+
// and without a buildEnd error" identifies the crash — then print guidance,
|
|
72
|
+
// because Rolldown's own output just says "this is a bug in Rolldown".
|
|
73
|
+
(() => {
|
|
74
|
+
let generateStageReached = false;
|
|
75
|
+
let moduleBuildFailed = false;
|
|
76
|
+
return {
|
|
77
|
+
name: 'needle:rolldown-panic-hint',
|
|
78
|
+
apply: 'build',
|
|
79
|
+
buildEnd(error) { moduleBuildFailed = !!error; },
|
|
80
|
+
generateBundle() { generateStageReached = true; },
|
|
81
|
+
closeBundle() {
|
|
82
|
+
if (didRegisterCodeSplittingGroups && !generateStageReached && !moduleBuildFailed) {
|
|
83
|
+
needleLog("needle-dependencies", [
|
|
84
|
+
`If the build crashed with Rolldown panicking "Symbol ... should belong to a chunk", this is a known Rolldown bug (regression in 1.1.5, bundled with vite 8.1.x) — not an error in your project.`,
|
|
85
|
+
`It is tracked at https://github.com/rolldown/rolldown/issues/10337`,
|
|
86
|
+
`Until it is fixed, pin Rolldown 1.1.4 by adding this to your package.json and reinstalling:`,
|
|
87
|
+
` "overrides": { "rolldown": "1.1.4" }`,
|
|
88
|
+
`Alternatively downgrade to vite 8.0.1.`,
|
|
89
|
+
].join("\n"), "warn", { dimBody: false });
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
})(),
|
|
64
94
|
// Vite 8's optimizer rebases `new URL(specifier, import.meta.url)` paths
|
|
65
95
|
// inside pre-bundled dependencies (PR #21434), but only handles truly relative
|
|
66
96
|
// paths (./ ../). Bare-specifier paths like `three-mesh-bvh/src/workers/...`
|
|
@@ -196,6 +226,9 @@ function handleOptimizeDeps(config) {
|
|
|
196
226
|
/** @type {RegExp} */
|
|
197
227
|
let threeExamplesCoreRegex;
|
|
198
228
|
|
|
229
|
+
/** Set when the Vite 8 codeSplitting groups were registered — used by needle:rolldown-panic-hint */
|
|
230
|
+
let didRegisterCodeSplittingGroups = false;
|
|
231
|
+
|
|
199
232
|
function handleManualChunks(config) {
|
|
200
233
|
if (!config.build) {
|
|
201
234
|
config.build = {};
|
|
@@ -298,6 +331,7 @@ function handleManualChunks(config) {
|
|
|
298
331
|
{ name: 'needle-engine', test: /@needle-tools\/engine/, priority: 30 },
|
|
299
332
|
]
|
|
300
333
|
};
|
|
334
|
+
didRegisterCodeSplittingGroups = true;
|
|
301
335
|
} else {
|
|
302
336
|
rollupOutput.manualChunks = needleManualChunks;
|
|
303
337
|
}
|
package/plugins/vite/license.js
CHANGED
|
@@ -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("
|
|
52
|
+
const index = src.indexOf("__oANEN");
|
|
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 = "
|
|
57
|
+
const replaced = "__oANEN = \"" + 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("
|
|
65
|
+
const jwtIndex = src.indexOf("lucPBW");
|
|
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 = "
|
|
70
|
+
const jwtReplaced = "lucPBW = \"" + licenseResult.jwt + "\"";
|
|
71
71
|
src = src.replace(jwtLine, jwtReplaced);
|
|
72
72
|
modified = true;
|
|
73
73
|
}
|