@needle-tools/engine 3.6.3 → 3.6.5

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 (61) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/needle-engine.js +10589 -10562
  3. package/dist/needle-engine.light.js +10535 -10508
  4. package/dist/needle-engine.light.min.js +285 -286
  5. package/dist/needle-engine.light.umd.cjs +285 -286
  6. package/dist/needle-engine.min.js +285 -286
  7. package/dist/needle-engine.umd.cjs +286 -287
  8. package/lib/engine/api.d.ts +1 -0
  9. package/lib/engine/api.js +1 -0
  10. package/lib/engine/api.js.map +1 -1
  11. package/lib/engine/engine_context.d.ts +12 -1
  12. package/lib/engine/engine_context.js +13 -2
  13. package/lib/engine/engine_context.js.map +1 -1
  14. package/lib/engine/engine_create_objects.d.ts +3 -1
  15. package/lib/engine/engine_create_objects.js +17 -4
  16. package/lib/engine/engine_create_objects.js.map +1 -1
  17. package/lib/engine/engine_element.js +11 -4
  18. package/lib/engine/engine_element.js.map +1 -1
  19. package/lib/engine/engine_element_loading.js +3 -3
  20. package/lib/engine/engine_element_loading.js.map +1 -1
  21. package/lib/engine/engine_license.js +4 -6
  22. package/lib/engine/engine_license.js.map +1 -1
  23. package/lib/engine/engine_scenetools.d.ts +5 -4
  24. package/lib/engine/engine_scenetools.js +2 -67
  25. package/lib/engine/engine_scenetools.js.map +1 -1
  26. package/lib/engine/extensions/NEEDLE_components.js +5 -2
  27. package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
  28. package/lib/engine-components/AnimationCurve.d.ts +1 -0
  29. package/lib/engine-components/AnimationCurve.js +24 -3
  30. package/lib/engine-components/AnimationCurve.js.map +1 -1
  31. package/lib/engine-components/AnimationUtils.js +69 -3
  32. package/lib/engine-components/AnimationUtils.js.map +1 -1
  33. package/lib/engine-components/Component.d.ts +2 -1
  34. package/lib/engine-components/Component.js +2 -1
  35. package/lib/engine-components/Component.js.map +1 -1
  36. package/lib/engine-components/Gizmos.js +1 -1
  37. package/lib/engine-components/Gizmos.js.map +1 -1
  38. package/lib/engine-components/NestedGltf.js +1 -0
  39. package/lib/engine-components/NestedGltf.js.map +1 -1
  40. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +2 -2
  41. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  42. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +2 -1
  43. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -1
  44. package/package.json +1 -1
  45. package/plugins/vite/copyfiles.js +2 -0
  46. package/plugins/vite/transform-codegen.js +10 -1
  47. package/src/engine/api.ts +12 -11
  48. package/src/engine/engine_context.ts +15 -3
  49. package/src/engine/engine_create_objects.ts +18 -5
  50. package/src/engine/engine_element.ts +12 -6
  51. package/src/engine/engine_element_loading.ts +3 -3
  52. package/src/engine/engine_license.ts +4 -6
  53. package/src/engine/engine_scenetools.ts +9 -72
  54. package/src/engine/extensions/NEEDLE_components.ts +7 -2
  55. package/src/engine-components/AnimationCurve.ts +31 -3
  56. package/src/engine-components/AnimationUtils.ts +70 -5
  57. package/src/engine-components/Component.ts +2 -1
  58. package/src/engine-components/Gizmos.ts +1 -1
  59. package/src/engine-components/NestedGltf.ts +2 -0
  60. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2 -2
  61. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeUSDZExporter.js","sourceRoot":"","sources":["../../../../src/engine-components/export/usdz/ThreeUSDZExporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThreeUSDZExporter.js","sourceRoot":"","sources":["../../../../src/engine-components/export/usdz/ThreeUSDZExporter.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,8 @@ export class ColorAdjustments extends PostProcessingEffect {
54
54
  this.postExposure.onValueChanged = v => {
55
55
  if (this.context.renderer.toneMapping === NoToneMapping)
56
56
  this.context.renderer.toneMapping = LinearToneMapping;
57
- this.context.renderer.toneMappingExposure = v;
57
+ if (this.postExposure.overrideState)
58
+ this.context.renderer.toneMappingExposure = v;
58
59
  };
59
60
  this.contrast.onValueChanged = v => {
60
61
  brightnesscontrast.contrast = v;
@@ -1 +1 @@
1
- {"version":3,"file":"ColorAdjustments.js","sourceRoot":"","sources":["../../../../src/engine-components/postprocessing/Effects/ColorAdjustments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorAdjustments.js","sourceRoot":"","sources":["../../../../src/engine-components/postprocessing/Effects/ColorAdjustments.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": "3.6.3",
3
+ "version": "3.6.5",
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.umd.cjs",
6
6
  "type": "module",
@@ -36,6 +36,7 @@ async function run(isBuild, config) {
36
36
  const needleConfig = tryLoadProjectConfig();
37
37
  if (needleConfig) {
38
38
  assetsDirName = needleConfig.assetsDirectory;
39
+ while(assetsDirName.startsWith('/')) assetsDirName = assetsDirName.substring(1);
39
40
  }
40
41
 
41
42
  if (copyIncludesFromEngine !== false) {
@@ -84,6 +85,7 @@ async function run(isBuild, config) {
84
85
  const targetDir = resolve(outDir, 'assets');
85
86
  copyRecursiveSync(assetsDir, targetDir);
86
87
  }
88
+ else console.log(`WARN: No assets directory found. Skipping copy of ${assetsDirName} resolved to ${assetsDir}`)
87
89
  // copy include dir
88
90
  const includeDir = resolve(baseDir, 'include');
89
91
  if (existsSync(includeDir)) {
@@ -29,8 +29,17 @@ export const needleTransformCodegen = (command, config, userSettings) => {
29
29
  apply: 'build',
30
30
  transform(src, id) {
31
31
  if (id.endsWith(codegenDirectory + "/gen.js")) {
32
- const assetsDir = builtAssetsDirectory();
32
+ let assetsDir = builtAssetsDirectory();
33
33
  if (assetsDir !== configuredAssetsDirectory) {
34
+ // check if the the assets directory is expected to be relative to the root
35
+ // like for example "/assets"
36
+ // then we want to add the leading dash also to the new path
37
+ // if (configuredAssetsDirectory.startsWith("/")) assetsDir = "/" + assetsDir;
38
+ // // are they now the same? if so well we dont have to do anything
39
+ // if (assetsDir === configuredAssetsDirectory) {
40
+ // return;
41
+ // }
42
+
34
43
  console.log(`[needle-transform-files] - Transform codegen paths \"${configuredAssetsDirectory}\" → \"${assetsDir}\"`)
35
44
  // replace codegen paths
36
45
  src = src.replaceAll(configuredAssetsDirectory, assetsDir);
package/src/engine/api.ts CHANGED
@@ -1,12 +1,13 @@
1
1
 
2
- export * from "./extensions"
2
+ export * from "./extensions";
3
3
  export * from "./engine_addressables";
4
- export * from "./engine_application"
5
- export * from "./engine_assetdatabase"
4
+ export * from "./engine_application";
5
+ export * from "./engine_assetdatabase";
6
+ export * from "./engine_create_objects";
6
7
  export * from "./engine_components_internal";
7
8
  export * from "./engine_components";
8
9
  export * from "./engine_components_internal";
9
- export * from "./engine_context_registry"
10
+ export * from "./engine_context_registry";
10
11
  export * from "./engine_context";
11
12
  export * from "./engine_coroutine"
12
13
  export * from "./engine_constants";
@@ -24,12 +25,12 @@ export { syncField } from "./engine_networking_auto";
24
25
  export * from "./engine_networking_files";
25
26
  export * from "./engine_networking_instantiate";
26
27
  export * from "./engine_networking_utils";
27
- export * from "./engine_patcher"
28
- export * from "./engine_playerview"
29
- export * from "./engine_physics"
30
- export * from "./engine_physics.types"
31
- export * from "./engine_physics_rapier"
32
- export * from "./engine_scenelighting"
28
+ export * from "./engine_patcher";
29
+ export * from "./engine_playerview";
30
+ export * from "./engine_physics";
31
+ export * from "./engine_physics.types";
32
+ export * from "./engine_physics_rapier";
33
+ export * from "./engine_scenelighting";
33
34
  export * from "./engine_input";
34
35
  export * from "./engine_math";
35
36
  export * from "./js-extensions";
@@ -47,5 +48,5 @@ export * from "./engine_utils";
47
48
  export { TypeStore, registerType } from "./engine_typestore";
48
49
 
49
50
  export { InstancingUtil } from "./engine_instancing";
50
- export { validate, prefix } from "./engine_util_decorator"
51
+ export { validate, prefix } from "./engine_util_decorator";
51
52
  export { hasProLicense, hasIndieLicense } from "./engine_license";
@@ -99,25 +99,37 @@ export class Context implements IContext {
99
99
  return VERSION;
100
100
  }
101
101
 
102
+ /** The currently active context. Only set during the update loops */
102
103
  static get Current(): Context {
103
104
  return ContextRegistry.Current as Context;
104
105
  }
105
106
 
107
+ /** @internal this property should not be set by user code */
106
108
  static set Current(context: Context) {
107
109
  ContextRegistry.Current = context;
108
110
  }
109
111
 
110
112
  name: string;
111
113
  alias: string | undefined | null;
112
- isManagedExternally: boolean = false;
114
+ /** When the renderer or camera are managed by an external process (e.g. when running in r3f context) */
115
+ readonly isManagedExternally: boolean = false;
116
+ /** set to true to pause the update loop. You can receive an event for it in your components.
117
+ * Note that script updates will not be called when paused */
113
118
  isPaused: boolean = false;
119
+ /** When enabled the application will run while not visible on the page */
114
120
  runInBackground: boolean = false;
115
- targetFrameRate?: number;
121
+ /**
122
+ * Set to the target framerate you want your application to run in (you can use ?stats to check the fps)
123
+ * Set to undefined if you want to run at the maximum framerate
124
+ */
125
+ targetFrameRate?: number = 60;
116
126
 
117
127
  /** used to append to loaded assets */
118
128
  hash?: string;
119
129
 
130
+ /** the <needle-engine> HTML element */
120
131
  domElement: HTMLElement;
132
+
121
133
  get resolutionScaleFactor() { return this._resolutionScaleFactor; }
122
134
  /** use to scale the resolution up or down of the renderer. default is 1 */
123
135
  set resolutionScaleFactor(val: number) {
@@ -754,7 +766,7 @@ export class Context implements IContext {
754
766
 
755
767
  if (this.isInXR === false && this.targetFrameRate !== undefined) {
756
768
  this._accumulatedTime += this._framerateClock.getDelta();
757
- if (this._accumulatedTime < (1 / this.targetFrameRate)) {
769
+ if (this._accumulatedTime < (1 / (this.targetFrameRate + 1))) {
758
770
  return;
759
771
  }
760
772
  this._accumulatedTime = 0;
@@ -1,8 +1,10 @@
1
- import { PlaneGeometry, MeshBasicMaterial, DoubleSide, Mesh, Material } from "three"
1
+ import { PlaneGeometry, MeshBasicMaterial, DoubleSide, Mesh, Material, MeshStandardMaterial, BoxGeometry, SphereGeometry } from "three"
2
2
 
3
3
 
4
4
  export enum PrimitiveType {
5
- Quad = 0
5
+ Quad = 0,
6
+ Cube = 1,
7
+ Sphere = 2,
6
8
  }
7
9
 
8
10
  export type ObjectOptions = {
@@ -16,9 +18,20 @@ export class ObjectUtils {
16
18
  let obj: Mesh;
17
19
  switch (type) {
18
20
  case PrimitiveType.Quad:
19
- const geometry = new PlaneGeometry(1, 1, 1, 1);
20
- const material = opts?.material ?? new MeshBasicMaterial({ color: 0xffffff });
21
- obj = new Mesh(geometry, material);
21
+ const quadGeo = new PlaneGeometry(1, 1, 1, 1);
22
+ const quadMat = opts?.material ?? new MeshBasicMaterial({ color: 0xffffff });
23
+ obj = new Mesh(quadGeo, quadMat);
24
+ break;
25
+ case PrimitiveType.Cube:
26
+ const boxGeo = new BoxGeometry(1, 1, 1);
27
+ const boxMat = opts?.material ?? new MeshStandardMaterial({ color: 0xdddddd });
28
+ obj = new Mesh(boxGeo, boxMat);
29
+ break;
30
+ case PrimitiveType.Sphere:
31
+ const sphereGeo = new SphereGeometry(.5, 16, 16);
32
+ const sphereMat = opts?.material ?? new MeshStandardMaterial({ color: 0xdddddd });
33
+ obj = new Mesh(sphereGeo, sphereMat);
34
+ break;
22
35
  }
23
36
  if (opts?.name)
24
37
  obj.name = opts.name;
@@ -8,8 +8,9 @@ import { getLoader, registerLoader } from "../engine/engine_gltf";
8
8
  import { NeedleGltfLoader } from "./engine_scenetools";
9
9
  import { GLTF, INeedleEngineComponent, LoadedGLTF } from "./engine_types";
10
10
  import { isLocalNetwork } from "./engine_networking_utils";
11
- import { showBalloonWarning } from "./debug";
11
+ import { isDevEnvironment, showBalloonWarning } from "./debug";
12
12
  import { destroy } from "./engine_gameobject";
13
+ import { hasCommercialLicense } from "./engine_license";
13
14
 
14
15
  //
15
16
  // registering loader here too to make sure it's imported when using engine via vanilla js
@@ -111,7 +112,7 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
111
112
  this.setAttribute("src", global);
112
113
  }
113
114
  }
114
-
115
+
115
116
  // we have to wait because codegen does set the src attribute when it's loaded
116
117
  // which might happen after the element is connected
117
118
  // if the `src` is then still null we want to initialize the default scene
@@ -181,7 +182,7 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
181
182
 
182
183
  if (!this.isConnected) return;
183
184
  if (!this._context) {
184
- if(debug) console.warn("Create new context");
185
+ if (debug) console.warn("Create new context");
185
186
  this._context = new Context({ domElement: this });
186
187
  }
187
188
 
@@ -205,15 +206,20 @@ export class NeedleEngineHTMLElement extends HTMLElement implements INeedleEngin
205
206
  this.classList.add("loading");
206
207
 
207
208
  // Loading start events
208
- const allowOverridingDefaultLoading = true;
209
+ const allowOverridingDefaultLoading = hasCommercialLicense();
209
210
  // default loading can be overriden by calling preventDefault in the onload start event
210
- const useDefaultLoading = this.dispatchEvent(new CustomEvent("loadstart", {
211
+ let useDefaultLoading = this.dispatchEvent(new CustomEvent("loadstart", {
211
212
  detail: {
212
213
  context: this._context,
213
214
  alias: alias
214
215
  },
215
- cancelable: allowOverridingDefaultLoading
216
+ cancelable: true
216
217
  }));
218
+ if (useDefaultLoading === false && !allowOverridingDefaultLoading) {
219
+ useDefaultLoading = true;
220
+ console.warn("Needle Engine: You need a commercial license to override the default loading view. Visit https://needle.tools/pricing to buy a license.");
221
+ if(isDevEnvironment()) showBalloonWarning("You need a <a target=\"_blank\" href=\"https://needle.tools/pricing\">commercial license</a> to override the default loading view");
222
+ }
217
223
  if (!this._loadingView && useDefaultLoading)
218
224
  this._loadingView = new EngineLoadingView(this);
219
225
  if (useDefaultLoading)
@@ -5,8 +5,8 @@ import { getParam } from "./engine_utils";
5
5
  import { logoSVG } from "./assets"
6
6
  import { hasCommercialLicense, hasProLicense } from "./engine_license";
7
7
 
8
- const debug = getParam("debugloadingbar");
9
- const debugRendering = getParam("debugloadingbarrendering");
8
+ const debug = getParam("debugloading");
9
+ const debugRendering = getParam("debugloadingrendering");
10
10
 
11
11
  declare type LoadingStyleOption = "dark" | "light";
12
12
 
@@ -192,7 +192,7 @@ export class EngineLoadingView implements ILoadingViewHandler {
192
192
  this._loadingElement.style.display = "flex";
193
193
  this._loadingElement.style.alignItems = "center";
194
194
  this._loadingElement.style.justifyContent = "center";
195
- this._loadingElement.style.zIndex = "1000";
195
+ this._loadingElement.style.zIndex = Number.MAX_SAFE_INTEGER.toString();
196
196
  this._loadingElement.style.flexDirection = "column";
197
197
  this._loadingElement.style.pointerEvents = "none";
198
198
  this._loadingElement.style.color = "white";
@@ -142,18 +142,16 @@ async function logNonCommercialUse(_logo?: string) {
142
142
  background-image:url('${logo}');
143
143
  background-max-size: 40px;
144
144
  margin-bottom: 5px;
145
- margin-top: 2em;
146
- margin-bottom: 2em;
145
+ margin-top: .3em;
146
+ margin-bottom: .5em;
147
147
  padding: .2em;
148
148
  padding-left: 37px;
149
- background-color: rgba(250,160,160,.2);
150
149
  border-radius: .5em;
151
- border: 2px solid rgba(250,160,160,.5);
152
- color: rgba(90,20,20,1);
150
+ border: 2px solid rgba(160,160,160,.5);
153
151
  `;
154
152
  // url must contain https for firefox to make it clickable
155
153
  let licenseText = "Needle Engine — No license active, commercial use is not allowed. Visit https://needle.tools/pricing for more information and licensing options.";
156
- console.log("%c" + licenseText, style);
154
+ console.log("%c " + licenseText, style);
157
155
  }
158
156
 
159
157
  function createLicenseElement() {
@@ -1,6 +1,4 @@
1
1
  import { Context } from "./engine_setup"
2
- import { Animator } from '../engine-components/Animator';
3
- import { Animation } from '../engine-components/Animation';
4
2
  import { GLTF, GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'
5
3
  // import * as object from "./engine_gltf_builtin_components";
6
4
  import * as loaders from "./engine_loaders"
@@ -11,8 +9,8 @@ import { SourceIdentifier, UIDProvider } from "./engine_types";
11
9
  import { createBuiltinComponents, writeBuiltinComponentData } from "./engine_gltf_builtin_components";
12
10
  import { SerializationContext } from "./engine_serialization_core";
13
11
  import { NEEDLE_components } from "./extensions/NEEDLE_components";
14
- import { addNewComponent, getComponentInChildren } from "./engine_components";
15
12
  import { registerPrewarmObject } from "./engine_mainloop_utils";
13
+ import { Object3D } from "three";
16
14
 
17
15
 
18
16
  export class NeedleGltfLoader implements INeedleGltfLoader {
@@ -24,10 +22,10 @@ export class NeedleGltfLoader implements INeedleGltfLoader {
24
22
  return writeBuiltinComponentData(comp, context);
25
23
  }
26
24
 
27
- parseSync(context: Context, data : string | ArrayBuffer, path: string, seed: number | UIDProvider | null): Promise<GLTF | undefined> {
25
+ parseSync(context: Context, data: string | ArrayBuffer, path: string, seed: number | UIDProvider | null): Promise<GLTF | undefined> {
28
26
  return parseSync(context, data, path, seed);
29
27
  }
30
- loadSync(context: Context, url: string, sourceId:string, seed: number | UIDProvider | null, prog?: ((ProgressEvent: any) => void) | undefined): Promise<GLTF | undefined> {
28
+ loadSync(context: Context, url: string, sourceId: string, seed: number | UIDProvider | null, prog?: ((ProgressEvent: any) => void) | undefined): Promise<GLTF | undefined> {
31
29
  return loadSync(context, url, sourceId, seed, prog);
32
30
  }
33
31
  }
@@ -98,7 +96,7 @@ export function createGLTFLoader(url: string, context: Context) {
98
96
  return loader;
99
97
  }
100
98
 
101
- export function parseSync(context: Context, data : string | ArrayBuffer, path: string, seed: number | UIDProvider | null): Promise<GLTF | undefined> {
99
+ export function parseSync(context: Context, data: string | ArrayBuffer, path: string, seed: number | UIDProvider | null): Promise<GLTF | undefined> {
102
100
  if (typeof path !== "string") {
103
101
  console.warn("Parse gltf binary without path, this might lead to errors in resolving extensions. Please provide the source path of the gltf/glb file", path, typeof path);
104
102
  }
@@ -127,7 +125,7 @@ export function parseSync(context: Context, data : string | ArrayBuffer, path: s
127
125
  });
128
126
  }
129
127
 
130
- export function loadSync(context: Context, url: string, sourceId:string, seed: number | UIDProvider | null, prog?: (ProgressEvent) => void): Promise<GLTF | undefined> {
128
+ export function loadSync(context: Context, url: string, sourceId: string, seed: number | UIDProvider | null, prog?: (ProgressEvent) => void): Promise<GLTF | undefined> {
131
129
  // better to create new loaders every time
132
130
  // (maybe we can cache them...)
133
131
  // but due to the async nature and potentially triggering multiple loads at the same time
@@ -160,75 +158,13 @@ export function loadSync(context: Context, url: string, sourceId:string, seed: n
160
158
  });
161
159
  }
162
160
 
163
- export function findAnimationsLate(_context: Context, gltf, callbackarray, allowAddingAnimator: boolean = false) {
164
- if (gltf && gltf.animations && gltf.animations.length > 0) {
165
- callbackarray.push(() => {
166
- // console.trace("callback", gltf);
167
- findAnimations(gltf, allowAddingAnimator);
168
- });
169
- }
170
- }
171
-
172
- export function findAnimations(gltf: GLTF, allowAddingAnimator: boolean = false) {
173
- console.log(gltf);
174
- if (!gltf || !gltf.animations) return;
175
-
176
- if (!allowAddingAnimator) {
177
- // we only need to search if any animation component is in the scene
178
- // otherwise if we dont add anything there is no reason to search and log anything
179
- if (!getComponentInChildren(gltf.scene, Animation)) return;
180
- }
181
-
182
- for (let i = 0; i < gltf.animations.length; i++) {
183
- const animation = gltf.animations[i];
184
- if (!animation.tracks || animation.tracks.length <= 0) continue;
185
- for (const t in animation.tracks) {
186
- const track = animation.tracks[t];
187
- const objectName = track["__objectName"] ?? track.name.substring(0, track.name.indexOf("."));
188
- const obj = gltf.scene.getObjectByName(objectName);
189
- if (!obj) {
190
- // console.warn("could not find " + objectName, animation, gltf.scene);
191
- continue;
192
- }
193
- let animationComponent = findAnimationGameObjectInParent(obj);
194
- if (!animationComponent) {
195
- if (allowAddingAnimator)
196
- animationComponent = addNewComponent(gltf.scene, new Animation());
197
- else {
198
- console.warn("Failed finding animator for", track.name, objectName);
199
- continue;
200
- }
201
- }
202
- const animations = animationComponent.animations = animationComponent.animations || [];
203
- animation["name_animator"] = animationComponent.name;
204
- // console.log(objectName, obj, animator.name, animations.length);
205
- if (animations.indexOf(animation) < 0) {
206
- animations.push(animation);
207
- }
208
- }
209
- }
210
- function findAnimationGameObjectInParent(obj) {
211
- if (!obj) return;
212
- const components = obj.userData?.components;
213
- if (components && components.length > 0) {
214
- for (let i = 0; i < components.length; i++) {
215
- const component = components[i];
216
- // console.log(component);
217
- if (component instanceof Animator || component instanceof Animation) {
218
- return obj;;
219
- }
220
- }
221
- }
222
- return findAnimationGameObjectInParent(obj.parent);
223
- }
224
- }
225
-
226
161
 
227
162
  // TODO: save references in guid map
228
163
  // const guidMap = {};
229
164
 
230
165
 
231
- export function tryFindObjectByName(name, obj, recursive = true) {
166
+ /** @deprecated */
167
+ export function tryFindObjectByName(name: string, obj: Object3D, recursive = true) {
232
168
  if (obj.userData && obj.userData.name === name) return obj;
233
169
  if (obj.children && obj.children.length > 0) {
234
170
  for (let i = 0; i < obj.children.length; i++) {
@@ -239,7 +175,8 @@ export function tryFindObjectByName(name, obj, recursive = true) {
239
175
  }
240
176
  }
241
177
 
242
- export function tryFindScript(globalObjectIdentifier, list = null) {
178
+ /** @deprecated */
179
+ export function tryFindScript(globalObjectIdentifier: string, list = null) {
243
180
  const arr = list ?? Context.Current.scripts;
244
181
  for (const i in arr) {
245
182
  const script = arr[i];
@@ -212,14 +212,19 @@ export class NEEDLE_components implements GLTFLoaderPlugin {
212
212
  console.log("Serialized data", JSON.parse(JSON.stringify(serializedData)));
213
213
 
214
214
  if (serializedData && this.parser) {
215
- tasks.push(resolveReferences(this.parser, serializedData));
215
+ tasks.push(
216
+ resolveReferences(this.parser, serializedData)
217
+ .catch(e => console.error(`Error while resolving references (see console for details)\n`, e, obj, serializedData))
218
+ );
216
219
  }
217
220
 
218
221
  obj.userData = obj.userData || {};
219
222
  obj.userData[builtinComponentKeyName] = obj.userData[builtinComponentKeyName] || [];
220
223
  obj.userData[builtinComponentKeyName].push(serializedData);
221
224
  }
222
- await Promise.all(tasks);
225
+ await Promise.all(tasks).catch((e) => {
226
+ console.error("Error while loading components", e);
227
+ });
223
228
  }
224
229
  }
225
230