@needle-tools/engine 4.8.7-next.e134730 → 4.8.8-next.7387ba3

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 (66) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +32 -22
  3. package/components.needle.json +1 -1
  4. package/dist/{needle-engine.bundle-CvRpjtJj.js → needle-engine.bundle-D47vIqsQ.js} +6505 -6452
  5. package/dist/{needle-engine.bundle-DrGsgE4t.min.js → needle-engine.bundle-Dm2TtQhy.min.js} +137 -137
  6. package/dist/{needle-engine.bundle-X9nxhICu.umd.cjs → needle-engine.bundle-fg_vGCYe.umd.cjs} +138 -138
  7. package/dist/needle-engine.js +2 -2
  8. package/dist/needle-engine.min.js +1 -1
  9. package/dist/needle-engine.umd.cjs +1 -1
  10. package/lib/engine/engine_addressables.d.ts +12 -12
  11. package/lib/engine/engine_addressables.js +30 -23
  12. package/lib/engine/engine_addressables.js.map +1 -1
  13. package/lib/engine/engine_animation.d.ts +1 -3
  14. package/lib/engine/engine_animation.js +15 -10
  15. package/lib/engine/engine_animation.js.map +1 -1
  16. package/lib/engine/engine_camera.d.ts +8 -1
  17. package/lib/engine/engine_camera.js +25 -0
  18. package/lib/engine/engine_camera.js.map +1 -1
  19. package/lib/engine/engine_context.d.ts +9 -0
  20. package/lib/engine/engine_context.js +15 -0
  21. package/lib/engine/engine_context.js.map +1 -1
  22. package/lib/engine/engine_loaders.js +15 -11
  23. package/lib/engine/engine_loaders.js.map +1 -1
  24. package/lib/engine/webcomponents/needle-engine.attributes.d.ts +1 -0
  25. package/lib/engine/webcomponents/needle-engine.js +11 -6
  26. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  27. package/lib/engine-components/Animation.js +2 -1
  28. package/lib/engine-components/Animation.js.map +1 -1
  29. package/lib/engine-components/AnimationUtilsAutoplay.js +1 -6
  30. package/lib/engine-components/AnimationUtilsAutoplay.js.map +1 -1
  31. package/lib/engine-components/DropListener.d.ts +17 -12
  32. package/lib/engine-components/DropListener.js +34 -31
  33. package/lib/engine-components/DropListener.js.map +1 -1
  34. package/lib/engine-components/LookAtConstraint.d.ts +5 -1
  35. package/lib/engine-components/LookAtConstraint.js +8 -0
  36. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  37. package/lib/engine-components/OrbitControls.d.ts +5 -7
  38. package/lib/engine-components/OrbitControls.js +12 -11
  39. package/lib/engine-components/OrbitControls.js.map +1 -1
  40. package/lib/engine-components/export/usdz/Extension.d.ts +1 -1
  41. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +1 -1
  42. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  43. package/lib/engine-components/export/usdz/USDZExporter.d.ts +7 -0
  44. package/lib/engine-components/export/usdz/USDZExporter.js +8 -1
  45. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  46. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +4 -2
  47. package/lib/engine-components/webxr/WebXRImageTracking.js +117 -81
  48. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  49. package/package.json +1 -1
  50. package/plugins/vite/alias.js +26 -17
  51. package/src/engine/engine_addressables.ts +44 -33
  52. package/src/engine/engine_animation.ts +17 -10
  53. package/src/engine/engine_camera.ts +40 -1
  54. package/src/engine/engine_context.ts +21 -1
  55. package/src/engine/engine_loaders.ts +18 -13
  56. package/src/engine/webcomponents/needle-engine.attributes.ts +2 -0
  57. package/src/engine/webcomponents/needle-engine.ts +13 -6
  58. package/src/engine-components/Animation.ts +1 -1
  59. package/src/engine-components/AnimationUtilsAutoplay.ts +1 -6
  60. package/src/engine-components/DropListener.ts +40 -31
  61. package/src/engine-components/LookAtConstraint.ts +9 -1
  62. package/src/engine-components/OrbitControls.ts +19 -16
  63. package/src/engine-components/export/usdz/Extension.ts +1 -1
  64. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +1 -1
  65. package/src/engine-components/export/usdz/USDZExporter.ts +21 -12
  66. package/src/engine-components/webxr/WebXRImageTracking.ts +138 -90
@@ -17,6 +17,7 @@ import { InstancingHandler } from "../../../engine-components/RendererInstancing
17
17
  import { Collider } from "../../Collider.js";
18
18
  import { Behaviour, GameObject } from "../../Component.js";
19
19
  import { ContactShadows } from "../../ContactShadows.js";
20
+ import { EventList } from "../../EventList.js";
20
21
  import { GroundProjectedEnv } from "../../GroundProjection.js";
21
22
  import { Renderer } from "../../Renderer.js";
22
23
  import { Rigidbody } from "../../RigidBody.js";
@@ -78,6 +79,8 @@ __decorate([
78
79
  * @group Components
79
80
  */
80
81
  export class USDZExporter extends Behaviour {
82
+ static beforeExport = new EventList();
83
+ static afterExport = new EventList();
81
84
  /**
82
85
  * Assign the object to export as USDZ file. If undefined or null, the whole scene will be exported.
83
86
  */
@@ -201,7 +204,11 @@ export class USDZExporter extends Behaviour {
201
204
  console.warn("No object to export", this);
202
205
  return null;
203
206
  }
204
- const blob = await this.export(this.objectToExport);
207
+ USDZExporter.beforeExport.invoke({ exporter: this });
208
+ const blob = await this.export(this.objectToExport)
209
+ .finally(() => {
210
+ USDZExporter.afterExport.invoke({ exporter: this });
211
+ });
205
212
  if (!blob) {
206
213
  console.error("USDZ generation failed. Please report a bug", this);
207
214
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"USDZExporter.js","sourceRoot":"","sources":["../../../../src/engine-components/export/usdz/USDZExporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"USDZExporter.js","sourceRoot":"","sources":["../../../../src/engine-components/export/usdz/USDZExporter.ts"],"names":[],"mappings":"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"}
@@ -64,15 +64,17 @@ export declare class WebXRImageTrackingModel {
64
64
  * @group Components
65
65
  */
66
66
  export declare class WebXRImageTracking extends Behaviour {
67
- trackedImages?: WebXRImageTrackingModel[];
67
+ trackedImages: WebXRImageTrackingModel[];
68
68
  /** Applies smoothing based on detected jitter to the tracked image. */
69
69
  smooth: boolean;
70
70
  private readonly trackedImageIndexMap;
71
- private static _imageElements;
72
71
  /** @returns true if image tracking is supported on this device. This may return false at runtime if the user's browser did not enable webxr incubations */
73
72
  get supported(): boolean;
74
73
  private _supported;
75
74
  awake(): void;
75
+ onEnable(): void;
76
+ onDisable(): void;
77
+ private onBeforeUSDZExport;
76
78
  onBeforeXR(_mode: XRSessionMode, args: XRSessionInit & {
77
79
  trackedImages: Array<any>;
78
80
  }): void;
@@ -133,76 +133,102 @@ __decorate([
133
133
  serializable()
134
134
  ], WebXRImageTrackingModel.prototype, "hideWhenTrackingIsLost", void 0);
135
135
  class ImageTrackingExtension {
136
+ exporter;
137
+ component;
138
+ isImageTrackingExtension = true;
136
139
  get extensionName() { return "image-tracking"; }
137
- filename;
138
- widthInMeters;
139
- imageData;
140
- constructor(filename, imageData, widthInMeters) {
141
- this.filename = filename;
142
- this.imageData = imageData;
143
- this.widthInMeters = widthInMeters;
140
+ constructor(exporter, component) {
141
+ this.exporter = exporter;
142
+ this.component = component;
143
+ if (debug)
144
+ console.log(this);
145
+ this.exporter.anchoringType = "image";
146
+ }
147
+ // set during export
148
+ shouldExport = true;
149
+ filename = "marker.png";
150
+ imageModel = null;
151
+ onBeforeBuildDocument(_context) {
152
+ // check if this extension is the first image tracking extension in the list
153
+ // since iOS can only track one image at a time we only allow one image tracking extension to be active
154
+ // we have to determine this at the earlierst export callback
155
+ // all subsequent export callbacks should then check is shouldExport is set to true
156
+ // this should only be the case for exactly one extension
157
+ const index = this.exporter.extensions
158
+ .filter(e => {
159
+ const ext = e;
160
+ return ext.isImageTrackingExtension && ext.component.activeAndEnabled && ext.component.trackedImages?.length > 0;
161
+ })
162
+ .indexOf(this);
163
+ this.shouldExport = index === 0;
164
+ if (!this.shouldExport)
165
+ return;
166
+ // Warn if more than one tracked image is used for USDZ; that's not supported at the moment.
167
+ if (this.component.trackedImages?.length > 1) {
168
+ if (debug || isDevEnvironment()) {
169
+ showBalloonWarning("USDZ: Only one tracked image is supported.");
170
+ console.warn("USDZ: Only one tracked image is supported. Will choose the first one in the trackedImages list");
171
+ }
172
+ }
144
173
  }
145
174
  onAfterHierarchy(_context, writer) {
175
+ if (!this.shouldExport)
176
+ return;
146
177
  const iOSVersion = DeviceUtilities.getiOSVersion();
147
178
  const majorVersion = iOSVersion ? parseInt(iOSVersion.split(".")[0]) : 18;
148
179
  const workaroundForFB16119331 = majorVersion >= 18;
149
180
  const multiplier = workaroundForFB16119331 ? 1 : 100;
150
181
  writer.beginBlock(`def Preliminary_ReferenceImage "AnchoringReferenceImage"`);
151
182
  writer.appendLine(`uniform asset image = @image_tracking/` + this.filename + `@`);
152
- writer.appendLine(`uniform double physicalWidth = ` + (this.widthInMeters * multiplier).toFixed(8));
183
+ writer.appendLine(`uniform double physicalWidth = ` + (this.imageModel.widthInMeters * multiplier).toFixed(8));
153
184
  writer.closeBlock();
154
185
  }
155
- onBeforeBuildDocument(_context) {
156
- const imageTracking = GameObject.findObjectOfType(WebXRImageTracking);
157
- if (!imageTracking || !imageTracking.trackedImages)
186
+ async onAfterSerialize(context) {
187
+ if (!this.shouldExport)
158
188
  return;
159
- // Warn if more than one tracked image is used for USDZ; that's not supported at the moment.
160
- if (imageTracking.trackedImages.length > 1) {
161
- if (isDevEnvironment())
162
- showBalloonWarning("USDZ: Only one tracked image is supported.");
163
- console.warn("USDZ: Only one tracked image is supported.");
164
- }
165
- }
166
- onAfterSerialize(context) {
167
- context.files['image_tracking/' + this.filename] = this.imageData;
189
+ const imageModel = this.imageModel;
190
+ const img = _imageElements.get(imageModel.image);
191
+ const canvas = await imageToCanvas(img);
192
+ const blob = await canvas.convertToBlob({ type: 'image/png' });
193
+ const arrayBuffer = await blob.arrayBuffer();
194
+ context.files['image_tracking/' + this.filename] = new Uint8Array(arrayBuffer);
168
195
  }
169
196
  onExportObject(object, model, _context) {
170
- const imageTracking = GameObject.findObjectOfType(WebXRImageTracking);
171
- if (!imageTracking || !imageTracking.trackedImages)
197
+ if (!this.shouldExport)
172
198
  return;
173
- for (const trackedImage of imageTracking.trackedImages) {
174
- if (trackedImage.object?.asset === object) {
175
- const exporter = GameObject.findObjectOfType(USDZExporter);
176
- if (!exporter)
177
- continue;
178
- const { scale, target } = exporter.getARScaleAndTarget();
179
- // We have to reset the image tracking object's position and rotation, because QuickLook applies them.
180
- // On Android WebXR they're replaced by the tracked data
181
- let parent = object;
182
- const relativeMatrix = new Matrix4();
183
- if (object !== target) {
184
- while (parent.parent && parent.parent !== target) {
185
- parent = parent.parent;
186
- relativeMatrix.premultiply(parent.matrix);
187
- }
199
+ const imageTracking = this.component;
200
+ if (!imageTracking || !imageTracking.trackedImages?.length || !imageTracking.activeAndEnabled)
201
+ return;
202
+ // we only care about the first image
203
+ const trackedImage = imageTracking.trackedImages[0];
204
+ if (trackedImage.object?.asset === object) {
205
+ this.imageModel = trackedImage;
206
+ const { scale, target } = this.exporter.getARScaleAndTarget();
207
+ // We have to reset the image tracking object's position and rotation, because QuickLook applies them.
208
+ // On Android WebXR they're replaced by the tracked data
209
+ let parent = object;
210
+ const relativeMatrix = new Matrix4();
211
+ if (object !== target) {
212
+ while (parent && parent.parent && parent.parent !== target) {
213
+ parent = parent.parent;
214
+ relativeMatrix.premultiply(parent.matrix);
188
215
  }
189
- const mat = relativeMatrix
190
- .clone()
191
- .invert();
192
- // apply session root scale again after undoing the world transformation
193
- model.setMatrix(mat.scale(new Vector3(scale, scale, scale)));
194
- // Unfortunately looks like Apple's docs are incomplete:
195
- // https://developer.apple.com/documentation/realitykit/preliminary_anchoringapi#Nest-and-Layer-Anchorable-Prims
196
- // In practice, it seems that nesting is not allowed – no image tracking will be applied to nested objects.
197
- // Thus, we can't have separate transforms for "regularly placing content" and "placing content with an image marker".
198
- // model.extraSchemas.push("Preliminary_AnchoringAPI");
199
- // model.addEventListener("serialize", (_writer: USDWriter, _context: USDZExporterContext) => {
200
- // writer.appendLine( `token preliminary:anchoring:type = "image"` );
201
- // writer.appendLine( `rel preliminary:imageAnchoring:referenceImage = </${context.document.name}/Scenes/Scene/AnchoringReferenceImage>` );
202
- // });
203
- // We can only apply this to the first tracked image, more are not supported by QuickLook.
204
- break;
205
216
  }
217
+ const mat = relativeMatrix
218
+ .clone()
219
+ .invert();
220
+ // apply session root scale again after undoing the world transformation
221
+ model.setMatrix(mat.scale(new Vector3(scale, scale, scale)));
222
+ // Unfortunately looks like Apple's docs are incomplete:
223
+ // https://developer.apple.com/documentation/realitykit/preliminary_anchoringapi#Nest-and-Layer-Anchorable-Prims
224
+ // In practice, it seems that nesting is not allowed – no image tracking will be applied to nested objects.
225
+ // Thus, we can't have separate transforms for "regularly placing content" and "placing content with an image marker".
226
+ // model.extraSchemas.push("Preliminary_AnchoringAPI");
227
+ // model.addEventListener("serialize", (_writer: USDWriter, _context: USDZExporterContext) => {
228
+ // writer.appendLine( `token preliminary:anchoring:type = "image"` );
229
+ // writer.appendLine( `rel preliminary:imageAnchoring:referenceImage = </${context.document.name}/Scenes/Scene/AnchoringReferenceImage>` );
230
+ // });
231
+ // We can only apply this to the first tracked image, more are not supported by QuickLook.
206
232
  }
207
233
  }
208
234
  }
@@ -211,11 +237,10 @@ class ImageTrackingExtension {
211
237
  * @group Components
212
238
  */
213
239
  export class WebXRImageTracking extends Behaviour {
214
- trackedImages;
240
+ trackedImages = [];
215
241
  /** Applies smoothing based on detected jitter to the tracked image. */
216
242
  smooth = true;
217
243
  trackedImageIndexMap = new Map();
218
- static _imageElements = new Map();
219
244
  /** @returns true if image tracking is supported on this device. This may return false at runtime if the user's browser did not enable webxr incubations */
220
245
  get supported() { return this._supported; }
221
246
  _supported = true;
@@ -226,34 +251,21 @@ export class WebXRImageTracking extends Behaviour {
226
251
  return;
227
252
  for (const trackedImage of this.trackedImages) {
228
253
  if (trackedImage.image) {
229
- if (WebXRImageTracking._imageElements.has(trackedImage.image)) {
230
- // already loaded
231
- }
232
- else {
233
- const url = trackedImage.image;
234
- WebXRImageTracking._imageElements.set(url, null);
235
- const imageElement = document.createElement("img");
236
- imageElement.src = url;
237
- imageElement.addEventListener("load", async () => {
238
- const img = await createImageBitmap(imageElement);
239
- WebXRImageTracking._imageElements.set(url, img);
240
- // read back Uint8Array to use in USDZ -
241
- // TODO better would be to do that once we actually need it
242
- const canvas = await imageToCanvas(img);
243
- if (canvas) {
244
- const blob = await canvas.convertToBlob({ type: 'image/png' });
245
- const arrayBuffer = await blob.arrayBuffer();
246
- const exporter = GameObject.findObjectOfType(USDZExporter);
247
- if (exporter && this.trackedImages) {
248
- exporter.extensions.push(new ImageTrackingExtension("marker.png", new Uint8Array(arrayBuffer), this.trackedImages[0].widthInMeters));
249
- exporter.anchoringType = "image";
250
- }
251
- }
252
- });
253
- }
254
+ loadImage(trackedImage.image);
254
255
  }
255
256
  }
256
257
  }
258
+ onEnable() {
259
+ USDZExporter.beforeExport.addEventListener(this.onBeforeUSDZExport);
260
+ }
261
+ onDisable() {
262
+ USDZExporter.beforeExport.removeEventListener(this.onBeforeUSDZExport);
263
+ }
264
+ onBeforeUSDZExport = (args) => {
265
+ if (this.activeAndEnabled && this.trackedImages?.length) {
266
+ args.exporter.extensions.push(new ImageTrackingExtension(args.exporter, this));
267
+ }
268
+ };
257
269
  onBeforeXR(_mode, args) {
258
270
  // console.log("onXRRequested", args, this.trackedImages)
259
271
  if (this.trackedImages) {
@@ -263,7 +275,7 @@ export class WebXRImageTracking extends Behaviour {
263
275
  args.trackedImages = [];
264
276
  for (const trackedImage of this.trackedImages) {
265
277
  if (trackedImage.image?.length && trackedImage.widthInMeters > 0) {
266
- const bitmap = WebXRImageTracking._imageElements.get(trackedImage.image);
278
+ const bitmap = _imageElements.get(trackedImage.image);
267
279
  if (bitmap) {
268
280
  this.trackedImageIndexMap.set(args.trackedImages.length, trackedImage);
269
281
  args.trackedImages.push({
@@ -469,4 +481,28 @@ __decorate([
469
481
  __decorate([
470
482
  serializable()
471
483
  ], WebXRImageTracking.prototype, "smooth", void 0);
484
+ const _imageElements = new Map();
485
+ const _imageLoadingPromises = new Map();
486
+ async function loadImage(url) {
487
+ if (_imageElements.has(url)) {
488
+ if (_imageLoadingPromises.has(url))
489
+ return _imageLoadingPromises.get(url);
490
+ return Promise.resolve(true);
491
+ }
492
+ const promise = new Promise(res => {
493
+ _imageElements.set(url, null);
494
+ const imageElement = document.createElement("img");
495
+ imageElement.src = url;
496
+ imageElement.addEventListener("load", async () => {
497
+ const img = await createImageBitmap(imageElement);
498
+ _imageElements.set(url, img);
499
+ res(true);
500
+ });
501
+ });
502
+ _imageLoadingPromises.set(url, promise);
503
+ promise.finally(() => {
504
+ _imageLoadingPromises.delete(url);
505
+ });
506
+ return promise;
507
+ }
472
508
  //# 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "4.8.7-next.e134730",
3
+ "version": "4.8.8-next.7387ba3",
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": {
@@ -62,7 +62,6 @@ const packages_to_resolve = {
62
62
 
63
63
  '@needle-tools/gltf-progressive': "auto-resolve",
64
64
  '@needle-tools/materialx': "auto-resolve",
65
- '@needle-tools/materialx/needle': "auto-resolve"
66
65
  }
67
66
 
68
67
  /**
@@ -84,7 +83,7 @@ export const needleViteAlias = (command, config, userSettings) => {
84
83
  outputDebugFile?.write(msg.join(" ") + "\n");
85
84
  }
86
85
  if (debug) {
87
- const outputFilePath = path.resolve(projectDir, 'node_modules/.vite/needle.alias.log');
86
+ const outputFilePath = path.resolve(projectDir, 'node_modules/.needle/needle.alias.log');
88
87
  const outputDirectory = path.dirname(outputFilePath);
89
88
  if (!existsSync(outputDirectory)) mkdirSync(outputDirectory, { recursive: true });
90
89
  outputDebugFile = createWriteStream(outputFilePath, { flags: "a" });
@@ -110,6 +109,18 @@ export const needleViteAlias = (command, config, userSettings) => {
110
109
  }
111
110
  }
112
111
 
112
+
113
+ // is needle engine a local package?
114
+ // This will cause local changes to not be reflected anymore...
115
+ const localEnginePath = path.resolve(projectDir, 'node_modules/', '@needle-tools/engine', 'node_modules');
116
+ if (existsSync(localEnginePath)) {
117
+ config.optimizeDeps ??= {};
118
+ config.optimizeDeps.exclude ??= [];
119
+ config.optimizeDeps.exclude.push('@needle-tools/engine');
120
+ log("[needle-alias] Detected local @needle-tools/engine package: will exclude it from optimization");
121
+ }
122
+
123
+
113
124
  if (debug) {
114
125
  const testResults = [];
115
126
  for (const name in aliasDict) {
@@ -179,22 +190,20 @@ export const needleViteAlias = (command, config, userSettings) => {
179
190
  }
180
191
 
181
192
  const workingDirectory = `${process.cwd()}/`;
193
+ const pathExists = existsSync(fullpath);
194
+
195
+ aliasDict[name] = (packageName, index, path) => {
196
+ if (callback !== null) {
197
+ const overrideResult = callback(fullpath, packageName, index, path);
198
+ if (typeof overrideResult === "string")
199
+ if (existsSync(overrideResult)) {
200
+ if (debug && overrideResult !== packageName) log(`[needle-alias] Resolved \"${path}\" → \"${overrideResult.substring(workingDirectory.length).replaceAll("\\", "/")}\"`);
201
+ return overrideResult;
202
+ }
203
+ }
182
204
 
183
- if (existsSync(fullpath)) {
184
- aliasDict[name] = (packageName, index, path) => {
185
- if (callback !== null) {
186
- const overrideResult = callback(fullpath, packageName, index, path);
187
- if (typeof overrideResult === "string")
188
- if (existsSync(overrideResult)) {
189
- if (debug && overrideResult !== packageName) console.warn(`[needle-alias] Resolved \"${path}\" → \"${overrideResult.substring(workingDirectory.length).replaceAll("\\", "/")}\"`);
190
- return overrideResult;
191
- }
192
- }
193
-
194
- if (debug && path !== packageName) {
195
- console.warn(`[needle-alias] Resolved \"${path}\" → \"${fullpath.substring(workingDirectory.length).replaceAll("\\", "/")}\"`);
196
- }
197
-
205
+ if (pathExists) {
206
+ if (debug && path !== packageName) log(`[needle-alias] Resolved \"${path}\" → \"${fullpath.substring(workingDirectory.length).replaceAll("\\", "/")}\"`);
198
207
  return fullpath;
199
208
  }
200
209
  }