@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.
Files changed (78) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/components.needle.json +1 -1
  3. package/dist/{needle-engine.bundle-CadxfFMM.min.js → needle-engine.bundle-Cw8tbJuS.min.js} +142 -142
  4. package/dist/{needle-engine.bundle-BcyvM7a6.js → needle-engine.bundle-bOImzZkB.js} +5147 -5084
  5. package/dist/{needle-engine.bundle-FRzWLdVf.umd.cjs → needle-engine.bundle-uEyfssJk.umd.cjs} +141 -141
  6. package/dist/needle-engine.d.ts +76 -27
  7. package/dist/needle-engine.js +326 -326
  8. package/dist/needle-engine.min.js +1 -1
  9. package/dist/needle-engine.umd.cjs +1 -1
  10. package/lib/engine/api.d.ts +1 -1
  11. package/lib/engine/api.js +1 -1
  12. package/lib/engine/api.js.map +1 -1
  13. package/lib/engine/engine_init.js +2 -2
  14. package/lib/engine/engine_init.js.map +1 -1
  15. package/lib/engine/engine_license.d.ts +7 -7
  16. package/lib/engine/engine_license.js +71 -71
  17. package/lib/engine/engine_license.js.map +1 -1
  18. package/lib/engine/engine_networking_blob.js +3 -3
  19. package/lib/engine/engine_utils.js +6 -0
  20. package/lib/engine/engine_utils.js.map +1 -1
  21. package/lib/engine/engine_utils_qrcode.js +2 -2
  22. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
  23. package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
  24. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  25. package/lib/engine/webcomponents/needle-engine.js +2 -2
  26. package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
  27. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  28. package/lib/engine/xr/NeedleXRSession.d.ts +2 -2
  29. package/lib/engine/xr/NeedleXRSession.js +29 -3
  30. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  31. package/lib/engine/xr/TempXRContext.js +2 -2
  32. package/lib/engine-components/Component.d.ts +2 -1
  33. package/lib/engine-components/Component.js.map +1 -1
  34. package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
  35. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  36. package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -8
  37. package/lib/engine-components/webxr/TeleportTarget.js +21 -8
  38. package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
  39. package/lib/engine-components/webxr/WebARSessionRoot.d.ts +24 -6
  40. package/lib/engine-components/webxr/WebARSessionRoot.js +130 -39
  41. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
  42. package/lib/engine-components/webxr/WebXR.d.ts +3 -3
  43. package/lib/engine-components/webxr/WebXR.js +4 -4
  44. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  45. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +1 -1
  46. package/lib/engine-components/webxr/WebXRImageTracking.js +19 -48
  47. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  48. package/lib/engine-components/webxr/WebXRImageTracking.utils.d.ts +35 -0
  49. package/lib/engine-components/webxr/WebXRImageTracking.utils.js +96 -0
  50. package/lib/engine-components/webxr/WebXRImageTracking.utils.js.map +1 -0
  51. package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +18 -1
  52. package/lib/engine-components/webxr/controllers/XRControllerMovement.js +18 -1
  53. package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
  54. package/package.json +1 -1
  55. package/plugins/common/license.js +23 -5
  56. package/plugins/vite/dependencies.js +34 -0
  57. package/plugins/vite/license.js +4 -4
  58. package/plugins/vite/needle-app.js +13 -0
  59. package/src/engine/api.ts +1 -1
  60. package/src/engine/engine_init.ts +2 -2
  61. package/src/engine/engine_license.ts +68 -68
  62. package/src/engine/engine_networking_blob.ts +3 -3
  63. package/src/engine/engine_utils.ts +4 -0
  64. package/src/engine/engine_utils_qrcode.ts +2 -2
  65. package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
  66. package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
  67. package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
  68. package/src/engine/webcomponents/needle-engine.ts +2 -2
  69. package/src/engine/xr/NeedleXRSession.ts +30 -5
  70. package/src/engine/xr/TempXRContext.ts +2 -2
  71. package/src/engine-components/Component.ts +2 -1
  72. package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
  73. package/src/engine-components/webxr/TeleportTarget.ts +23 -10
  74. package/src/engine-components/webxr/WebARSessionRoot.ts +124 -38
  75. package/src/engine-components/webxr/WebXR.ts +4 -4
  76. package/src/engine-components/webxr/WebXRImageTracking.ts +19 -51
  77. package/src/engine-components/webxr/WebXRImageTracking.utils.ts +105 -0
  78. 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
- // console.log("onXRRequested", args, this.trackedImages)
642
- if (this.trackedImages) {
643
- args.optionalFeatures = args.optionalFeatures || [];
644
- if (!args.optionalFeatures.includes("image-tracking"))
645
- args.optionalFeatures.push("image-tracking");
646
- if (!args.trackedImages)
647
- args.trackedImages = [];
648
- for (const trackedImage of this.trackedImages) {
649
- if (trackedImage.image?.length && trackedImage.widthInMeters > 0) {
650
- const bitmap = _imageElements.get(trackedImage.image);
651
- if (bitmap) {
652
- this.trackedImageIndexMap.set(args.trackedImages.length, trackedImage);
653
- args.trackedImages.push({
654
- image: bitmap,
655
- widthInMeters: trackedImage.widthInMeters
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":"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"}
@@ -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 TeleportTarget component (see {@link TeleportTarget})
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 TeleportTarget component (see {@link TeleportTarget})
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.6",
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("__KXugUk");
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 = "__KXugUk = \"" + licenseResult.type + "\"";
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("_lYh");
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 = "_lYh = \"" + licenseResult.jwt + "\"";
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
  }
@@ -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("__KXugUk");
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 = "__KXugUk = \"" + licenseResult.type + "\"";
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("_lYh");
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 = "_lYh = \"" + licenseResult.jwt + "\"";
70
+ const jwtReplaced = "lucPBW = \"" + licenseResult.jwt + "\"";
71
71
  src = src.replace(jwtLine, jwtReplaced);
72
72
  modified = true;
73
73
  }