@needle-tools/engine 2.58.0-pre → 2.58.1-pre

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.
@@ -1 +1 @@
1
- {"bundle":{"commonSourceDirectory":"../..","sourceFiles":["../../engine/engine_math.ts","../../engine-components/js-extensions/RGBAColor.ts","../../engine/engine_physics.types.ts","../../engine/engine_three_utils.ts","../../engine/engine_types.ts","../../engine/engine_utils.ts","../../engine/engine_networking_utils.ts","../../engine/debug/debug_console.ts","../../engine/debug/debug.ts","../../engine/extensions/extension_resolver.ts","../../engine/engine_default_parameters.ts","../../engine/extensions/extension_utils.ts","../../engine/engine_typestore.ts","../../engine/extensions/NEEDLE_persistent_assets.ts","../../engine/engine_serialization_core.ts","../../engine/engine_input.ts","../../engine/engine_instancing.ts","../../engine/engine_generic_utils.js","../../engine/engine_constants.ts","../../engine/engine_mainloop_utils.ts","../../engine/engine_networking_types.ts","../../engine/engine_networking_instantiate.ts","../../engine-components/js-extensions/ExtensionUtils.ts","../../engine/engine_components.ts","../../engine-components/js-extensions/Object3D.ts","../../engine/engine_gameobject.ts","../../engine/engine_gizmos.ts","../../engine/engine_physics.ts","../../engine/engine_time.ts","../../engine-schemes/vec3.ts","../../engine-schemes/transform.ts","../../engine-schemes/synced-transform-model.ts","../../engine-schemes/schemes.ts","../../engine/engine_networking_peer.ts","../../engine/engine_networking.ts","../../engine/engine_web_api.ts","../../engine/engine_networking_files_default_components.ts","../../engine/extensions/NEEDLE_components.ts","../../engine/engine_gltf.ts","../../engine/engine_networking_files.ts","../../engine/engine_assetdatabase.ts","../../engine-components/Component.ts","../../engine/engine_lightdata.ts","../../engine/extensions/NEEDLE_lightmaps.ts","../../engine/extensions/NEEDLE_lighting_settings.ts","../../engine/engine_fileloader.js","../../engine/shaders/shaderData.ts","../../engine/engine_shaders.ts","../../engine/engine_rendererdata.ts","../../engine/engine_addressables.ts","../../engine/engine_application.ts","../../engine/engine_playerview.ts","../../engine/engine_serialization_decorator.ts","../../engine-components/Camera.ts","../../engine-components/LookAtConstraint.ts","../../engine-components/OrbitControls.ts","../../engine-components/CameraUtils.ts","../../engine/engine_setup.ts","../../engine/engine_element_overlay.ts","../../engine/debug/debug_overlay.ts","../../engine/engine_util_decorator.ts","../../engine/extensions/NEEDLE_animator_controller_model.ts","../../engine-components/AnimatorController.ts","../../engine-components/Animator.ts","../../engine-components/Animation.ts","../../engine/engine_loaders.ts","../../engine/extensions/NEEDLE_techniques_webgl.ts","../../engine/extensions/EXT_texture_exr.ts","../../engine/extensions/NEEDLE_gameobject_data.ts","../../engine/extensions/NEEDLE_render_objects.ts","../../engine/extensions/NEEDLE_progressive.ts","../../engine/extensions/extensions.ts","../../engine/codegen/register_types.js","../../engine-components/EventList.ts","../../engine/engine_texture.ts","../../engine/engine_serialization_builtin_serializer.ts","../../engine/engine_serialization.ts","../../engine/engine_gltf_builtin_components.ts","../../engine/engine_scenetools.ts","../../engine/api.ts","../../engine/engine_element_loading.ts","../../engine/engine_element.ts","../../engine-components/AlignmentConstraint.ts","../../engine-components/AnimationCurve.ts","../../engine-components/export/usdz/types.ts","../../engine-components/export/usdz/Extension.ts","../../engine-components/export/usdz/extensions/Animation.ts","../../engine-components/AudioSource.ts","../../engine-components/AudioListener.ts","../../engine-components/timeline/SignalAsset.ts","../../engine-components/timeline/TimelineModels.ts","../../engine-components/timeline/PlayableDirector.ts","../../engine-components/timeline/TimelineTracks.ts","../../include/three/ARButton.js","../../include/three/VRButton.js","../../engine-components/Voip.ts","../../engine-components/WebARSessionRoot.ts","../../engine-components/Gizmos.ts","../../engine-components/WebXRRig.ts","../../engine-schemes/vec4.ts","../../engine-schemes/vr-user-state-buffer.ts","../../engine-components/WebXRSync.ts","../../engine-components/XRFlag.ts","../../engine-components/WebXR.ts","../../engine-components/AvatarLoader.ts","../../engine-components/WebXRAvatar.ts","../../engine-components/avatar/Avatar_Brain_LookAt.ts","../../engine-components/ui/PointerEvents.ts","../../engine-components/Interactable.ts","../../engine-components/RigidBody.ts","../../engine-components/SyncedTransform.ts","../../engine-components/ui/Raycaster.ts","../../engine-components/ui/Interfaces.ts","../../engine-components/ui/EventSystem.ts","../../engine-components/RendererLightmap.ts","../../engine-components/BoxHelperComponent.ts","../../engine-components/ReflectionProbe.ts","../../engine/js-extensions/Layers.ts","../../engine-components/Renderer.ts","../../engine-components/ui/BaseUIComponent.ts","../../engine-components/ui/RaycastUtils.ts","../../engine-components/WebXRController.ts","../../engine-components/avatar/Avatar_MouthShapes.ts","../../engine-components/avatar/Avatar_MustacheShake.ts","../../engine-components/avatar/AvatarBlink_Simple.ts","../../engine-components/avatar/AvatarEyeLook_Rotation.ts","../../engine-components/AxesHelper.ts","../../engine-components/BasicIKConstraint.ts","../../engine-components/Collider.ts","../../engine-components/ui/Utils.ts","../../engine-components/ui/RectTransform.ts","../../engine-components/ui/Graphic.ts","../../engine-components/ui/Image.ts","../../engine-components/ui/Button.ts","../../engine-components/ui/Canvas.ts","../../engine-components/ui/CanvasGroup.ts","../../engine-components/CharacterController.ts","../../engine-components/Volume.ts","../../engine-components/ParticleSystemModules.ts","../../engine-components/DeleteBox.ts","../../engine-components/DeviceFlag.ts","../../engine-components/DragControls.ts","../../engine-components/Networking.ts","../../engine-components/DropListener.ts","../../engine-components/Duplicatable.ts","../../engine-components/EventType.ts","../../engine-components/EventTrigger.ts","../../engine-components/Joints.ts","../../engine-components/FlyControls.ts","../../engine-components/Fog.ts","../../include/three/EXT_mesh_gpu_instancing_exporter.js","../../engine-components/export/gltf/GltfExport.ts","../../engine-components/GridHelper.ts","../../engine-components/ui/Layout.ts","../../engine-components/GroundProjection.ts","../../engine-components/ui/Text.ts","../../engine-components/ui/InputField.ts","../../engine-components/ui/Keyboard.ts","../../engine-components/Light.ts","../../engine-components/LODGroup.ts","../../engine-components/debug/LogStats.ts","../../engine-components/NestedGltf.ts","../../engine-components/OffsetConstraint.ts","../../engine-components/ParticleSystemSubEmitter.ts","../../engine-components/ParticleSystem.ts","../../engine/engine_coroutine.ts","../../engine-components/PlayerColor.ts","../../engine/engine_networking_auto.ts","../../engine-components/Skybox.ts","../../engine/engine_input_utils.ts","../../engine/engine_create_objects.ts","../../engine-components/VideoPlayer.ts","../../engine-components/ScreenCapture.ts","../../engine-components/ShadowCatcher.ts","../../engine-components/SmoothFollow.ts","../../engine-components/ui/SpatialHtml.ts","../../engine-components/SpatialTrigger.ts","../../engine-components/SpectatorCamera.ts","../../engine-components/SpriteRenderer.ts","../../engine-schemes/synced-camera-model.ts","../../engine-components/SyncedCamera.ts","../../engine-components/SyncedRoom.ts","../../engine/tests/test_utils.ts","../../engine-components/TestRunner.ts","../../engine-components/TransformGizmo.ts","../../engine-components/export/usdz/utils/quicklook.ts","../../engine-components/export/usdz/utils/timeutils.ts","../../engine-components/export/usdz/utils/animationutils.ts","../../engine-components/export/usdz/USDZExporter.ts","../../engine-components/WebXRGrabRendering.ts","../../engine-components/codegen/components.ts","../../needle-engine.ts","../../engine/engine_hot_reload.ts","../../engine/engine.ts","../../engine/engine_networking_websocket.ts","../../engine/engine_utils_screenshot.ts","../../engine-components/BoxCollider.ts","../../engine-components/SphereCollider.ts","../../engine-components/js-extensions/Vector.ts","../../engine-components-experimental/Presentation.ts","../../engine-components-experimental/networking/PlayerSync.ts","../../engine-schemes/vec2.ts"],"dts":{"sections":[{"pos":0,"end":31,"kind":"type","data":"webxr"},{"pos":33,"end":64246,"kind":"text"},{"pos":64246,"end":65076,"kind":"internal"},{"pos":65078,"end":268938,"kind":"text"}],"hash":"a50f66624c582b7defacf4be88b5991848accd6d0f625ab33119488b38c12b60"}},"version":"4.9.4"}
1
+ {"bundle":{"commonSourceDirectory":"../..","sourceFiles":["../../engine/engine_math.ts","../../engine-components/js-extensions/RGBAColor.ts","../../engine/engine_physics.types.ts","../../engine/engine_three_utils.ts","../../engine/engine_types.ts","../../engine/engine_utils.ts","../../engine/engine_networking_utils.ts","../../engine/debug/debug_console.ts","../../engine/debug/debug.ts","../../engine/extensions/extension_resolver.ts","../../engine/engine_default_parameters.ts","../../engine/extensions/extension_utils.ts","../../engine/engine_typestore.ts","../../engine/extensions/NEEDLE_persistent_assets.ts","../../engine/engine_serialization_core.ts","../../engine/engine_input.ts","../../engine/engine_instancing.ts","../../engine/engine_generic_utils.js","../../engine/engine_constants.ts","../../engine/engine_mainloop_utils.ts","../../engine/engine_networking_types.ts","../../engine/engine_networking_instantiate.ts","../../engine-components/js-extensions/ExtensionUtils.ts","../../engine/engine_components.ts","../../engine-components/js-extensions/Object3D.ts","../../engine/engine_gameobject.ts","../../engine/engine_gizmos.ts","../../engine/engine_physics.ts","../../engine/engine_time.ts","../../engine-schemes/vec3.ts","../../engine-schemes/transform.ts","../../engine-schemes/synced-transform-model.ts","../../engine-schemes/schemes.ts","../../engine/engine_networking_peer.ts","../../engine/engine_networking.ts","../../engine/engine_web_api.ts","../../engine/engine_networking_files_default_components.ts","../../engine/extensions/NEEDLE_components.ts","../../engine/engine_gltf.ts","../../engine/engine_networking_files.ts","../../engine/engine_assetdatabase.ts","../../engine-components/Component.ts","../../engine/engine_lightdata.ts","../../engine/extensions/NEEDLE_lightmaps.ts","../../engine/extensions/NEEDLE_lighting_settings.ts","../../engine/engine_fileloader.js","../../engine/shaders/shaderData.ts","../../engine/engine_shaders.ts","../../engine/engine_rendererdata.ts","../../engine/engine_addressables.ts","../../engine/engine_application.ts","../../engine/engine_playerview.ts","../../engine/engine_serialization_decorator.ts","../../engine-components/Camera.ts","../../engine-components/LookAtConstraint.ts","../../engine-components/OrbitControls.ts","../../engine-components/CameraUtils.ts","../../engine/engine_setup.ts","../../engine/engine_element_overlay.ts","../../engine/debug/debug_overlay.ts","../../engine/engine_util_decorator.ts","../../engine/extensions/NEEDLE_animator_controller_model.ts","../../engine-components/AnimatorController.ts","../../engine-components/Animator.ts","../../engine-components/Animation.ts","../../engine/engine_loaders.ts","../../engine/extensions/NEEDLE_techniques_webgl.ts","../../engine/extensions/EXT_texture_exr.ts","../../engine/extensions/NEEDLE_gameobject_data.ts","../../engine/extensions/NEEDLE_render_objects.ts","../../engine/extensions/NEEDLE_progressive.ts","../../engine/extensions/extensions.ts","../../engine/codegen/register_types.js","../../engine-components/EventList.ts","../../engine/engine_texture.ts","../../engine/engine_serialization_builtin_serializer.ts","../../engine/engine_serialization.ts","../../engine/engine_gltf_builtin_components.ts","../../engine/engine_scenetools.ts","../../engine/api.ts","../../engine/engine_element_loading.ts","../../engine/engine_element.ts","../../engine-components/AlignmentConstraint.ts","../../engine-components/AnimationCurve.ts","../../engine-components/export/usdz/types.ts","../../engine-components/export/usdz/Extension.ts","../../engine-components/export/usdz/extensions/Animation.ts","../../engine-components/AudioSource.ts","../../engine-components/AudioListener.ts","../../engine-components/timeline/SignalAsset.ts","../../engine-components/timeline/TimelineModels.ts","../../engine-components/timeline/PlayableDirector.ts","../../engine-components/timeline/TimelineTracks.ts","../../include/three/ARButton.js","../../include/three/VRButton.js","../../engine-components/Voip.ts","../../engine-components/WebARSessionRoot.ts","../../engine-components/Gizmos.ts","../../engine-components/WebXRRig.ts","../../engine-schemes/vec4.ts","../../engine-schemes/vr-user-state-buffer.ts","../../engine-components/WebXRSync.ts","../../engine-components/XRFlag.ts","../../engine-components/WebXR.ts","../../engine-components/AvatarLoader.ts","../../engine-components/WebXRAvatar.ts","../../engine-components/avatar/Avatar_Brain_LookAt.ts","../../engine-components/ui/PointerEvents.ts","../../engine-components/Interactable.ts","../../engine-components/RigidBody.ts","../../engine-components/SyncedTransform.ts","../../engine-components/ui/Raycaster.ts","../../engine-components/ui/Interfaces.ts","../../engine-components/ui/EventSystem.ts","../../engine-components/RendererLightmap.ts","../../engine-components/BoxHelperComponent.ts","../../engine-components/ReflectionProbe.ts","../../engine/js-extensions/Layers.ts","../../engine-components/Renderer.ts","../../engine-components/ui/BaseUIComponent.ts","../../engine-components/ui/RaycastUtils.ts","../../engine-components/WebXRController.ts","../../engine-components/avatar/Avatar_MouthShapes.ts","../../engine-components/avatar/Avatar_MustacheShake.ts","../../engine-components/avatar/AvatarBlink_Simple.ts","../../engine-components/avatar/AvatarEyeLook_Rotation.ts","../../engine-components/AxesHelper.ts","../../engine-components/BasicIKConstraint.ts","../../engine-components/Collider.ts","../../engine-components/ui/Utils.ts","../../engine-components/ui/RectTransform.ts","../../engine-components/ui/Graphic.ts","../../engine-components/ui/Image.ts","../../engine-components/ui/Button.ts","../../engine-components/ui/Canvas.ts","../../engine-components/ui/CanvasGroup.ts","../../engine-components/CharacterController.ts","../../engine-components/Volume.ts","../../engine-components/ParticleSystemModules.ts","../../engine-components/DeleteBox.ts","../../engine-components/DeviceFlag.ts","../../engine-components/DragControls.ts","../../engine-components/Networking.ts","../../engine-components/DropListener.ts","../../engine-components/Duplicatable.ts","../../engine-components/EventType.ts","../../engine-components/EventTrigger.ts","../../engine-components/Joints.ts","../../engine-components/FlyControls.ts","../../engine-components/Fog.ts","../../include/three/EXT_mesh_gpu_instancing_exporter.js","../../engine-components/export/gltf/GltfExport.ts","../../engine-components/GridHelper.ts","../../engine-components/ui/Layout.ts","../../engine-components/GroundProjection.ts","../../engine-components/ui/Text.ts","../../engine-components/ui/InputField.ts","../../engine-components/ui/Keyboard.ts","../../engine-components/Light.ts","../../engine-components/LODGroup.ts","../../engine-components/debug/LogStats.ts","../../engine-components/NestedGltf.ts","../../engine-components/OffsetConstraint.ts","../../engine-components/ParticleSystemSubEmitter.ts","../../engine-components/ParticleSystem.ts","../../engine/engine_coroutine.ts","../../engine-components/PlayerColor.ts","../../engine/engine_networking_auto.ts","../../engine-components/Skybox.ts","../../engine/engine_input_utils.ts","../../engine/engine_create_objects.ts","../../engine-components/VideoPlayer.ts","../../engine-components/ScreenCapture.ts","../../engine-components/ShadowCatcher.ts","../../engine-components/SmoothFollow.ts","../../engine-components/ui/SpatialHtml.ts","../../engine-components/SpatialTrigger.ts","../../engine-components/SpectatorCamera.ts","../../engine-components/SpriteRenderer.ts","../../engine-schemes/synced-camera-model.ts","../../engine-components/SyncedCamera.ts","../../engine-components/SyncedRoom.ts","../../engine/tests/test_utils.ts","../../engine-components/TestRunner.ts","../../engine-components/TransformGizmo.ts","../../engine-components/export/usdz/utils/quicklook.ts","../../engine-components/export/usdz/utils/timeutils.ts","../../engine-components/export/usdz/utils/animationutils.ts","../../engine-components/export/usdz/USDZExporter.ts","../../engine-components/WebXRGrabRendering.ts","../../engine-components/codegen/components.ts","../../needle-engine.ts","../../engine/engine_hot_reload.ts","../../engine/engine.ts","../../engine/engine_networking_websocket.ts","../../engine/engine_utils_screenshot.ts","../../engine-components/BoxCollider.ts","../../engine-components/SphereCollider.ts","../../engine-components/js-extensions/Vector.ts","../../engine-components-experimental/Presentation.ts","../../engine-components-experimental/networking/PlayerSync.ts","../../engine-schemes/vec2.ts"],"dts":{"sections":[{"pos":0,"end":31,"kind":"type","data":"webxr"},{"pos":33,"end":64449,"kind":"text"},{"pos":64449,"end":65279,"kind":"internal"},{"pos":65281,"end":269361,"kind":"text"}],"hash":"1fadb6d2b3918fdfaebc5377bfee4e93d956c4e0a0044bace45a146494dd5d39"}},"version":"4.9.4"}
@@ -8,3 +8,6 @@ export declare function addScriptToArrays(script: any, context: Context): void;
8
8
  export declare function removeScriptFromContext(script: any, context: Context): void;
9
9
  export declare function updateIsActive(obj?: Object3D): void;
10
10
  export declare function updateActiveInHierarchyWithoutEventCall(go: THREE.Object3D): void;
11
+ export declare function registerPrewarmObject(obj: Object3D, context: Context): void;
12
+ export declare function runPrewarm(context: Context): void;
13
+ export declare function clearPrewarmList(context: Context): void;
@@ -2,6 +2,7 @@ import { Context } from './engine_setup';
2
2
  import * as utils from "./engine_generic_utils";
3
3
  import * as constants from "./engine_constants";
4
4
  import { getParam } from './engine_utils';
5
+ import { CubeCamera, WebGLCubeRenderTarget } from 'three';
5
6
  import { isActiveSelf } from './engine_gameobject';
6
7
  const debug = getParam("debugnewscripts");
7
8
  // if some other script adds new scripts in onEnable or awake
@@ -80,6 +81,7 @@ export function processNewScripts(context) {
80
81
  updateActiveInHierarchyWithoutEventCall(script.gameObject);
81
82
  if (script.activeAndEnabled)
82
83
  utils.safeInvoke(script.__internalAwake.bind(script));
84
+ // registerPrewarmObject(script.gameObject, context);
83
85
  }
84
86
  }
85
87
  catch (err) {
@@ -315,4 +317,63 @@ function perComponent(go, evt) {
315
317
  }
316
318
  }
317
319
  }
320
+ const prewarmList = new Map();
321
+ const $prewarmedFlag = Symbol("prewarmFlag");
322
+ const $waitingForPrewarm = Symbol("waitingForPrewarm");
323
+ const debugPrewarm = getParam("debugprewarm");
324
+ export function registerPrewarmObject(obj, context) {
325
+ if (!obj)
326
+ return;
327
+ // allow objects to be marked as prewarmed in which case we dont need to register them again
328
+ if (obj[$prewarmedFlag] === true)
329
+ return;
330
+ if (obj[$waitingForPrewarm] === true)
331
+ return;
332
+ if (!prewarmList.has(context)) {
333
+ prewarmList.set(context, []);
334
+ }
335
+ obj[$waitingForPrewarm] = true;
336
+ const list = prewarmList.get(context);
337
+ list.push(obj);
338
+ if (debugPrewarm)
339
+ console.debug("register prewarm", obj.name);
340
+ }
341
+ let prewarmTarget = null;
342
+ let prewarmCamera = null;
343
+ // called by the engine to remove scroll or animation hiccup when objects are rendered/compiled for the first time
344
+ export function runPrewarm(context) {
345
+ if (!context)
346
+ return;
347
+ const list = prewarmList.get(context);
348
+ if (!list?.length)
349
+ return;
350
+ const cam = context.mainCamera;
351
+ if (cam) {
352
+ if (debugPrewarm)
353
+ console.log("prewarm", list.length, "objects", [...list]);
354
+ const renderer = context.renderer;
355
+ const scene = context.scene;
356
+ renderer.compile(scene, cam);
357
+ prewarmTarget ??= new WebGLCubeRenderTarget(64);
358
+ prewarmCamera ??= new CubeCamera(0.001, 9999999, prewarmTarget);
359
+ prewarmCamera.update(renderer, scene);
360
+ for (const obj of list) {
361
+ obj[$prewarmedFlag] = true;
362
+ obj[$waitingForPrewarm] = false;
363
+ }
364
+ list.length = 0;
365
+ if (debugPrewarm)
366
+ console.log("prewarm done");
367
+ }
368
+ }
369
+ export function clearPrewarmList(context) {
370
+ const list = prewarmList.get(context);
371
+ if (list) {
372
+ for (const obj of list) {
373
+ obj[$waitingForPrewarm] = false;
374
+ }
375
+ list.length = 0;
376
+ }
377
+ prewarmList.delete(context);
378
+ }
318
379
  //# sourceMappingURL=engine_mainloop_utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine_mainloop_utils.js","sourceRoot":"","sources":["../../../engine/engine_mainloop_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_mainloop_utils.js","sourceRoot":"","sources":["../../../engine/engine_mainloop_utils.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { registerComponentExtension, registerExtensions } from "./extensions/ext
9
9
  import { getLoader, registerLoader } from "./engine_gltf";
10
10
  import { createBuiltinComponents, writeBuiltinComponentData } from "./engine_gltf_builtin_components";
11
11
  import { addNewComponent, getComponentInChildren } from "./engine_components";
12
+ import { registerPrewarmObject } from "./engine_mainloop_utils";
12
13
  export class NeedleGltfLoader {
13
14
  createBuiltinComponents(context, gltfId, gltf, seed, extension) {
14
15
  return createBuiltinComponents(context, gltfId, gltf, seed, extension);
@@ -94,6 +95,7 @@ export function parseSync(context, data, path, seed) {
94
95
  invokeEvents(GltfLoadEventType.AfterLoaded, new GltfLoadEvent(context, path, loader, data));
95
96
  await handleLoadedGltf(context, path, data, seed, componentsExtension);
96
97
  invokeEvents(GltfLoadEventType.FinishedSetup, new GltfLoadEvent(context, path, loader, data));
98
+ registerPrewarmObject(data.scene, context);
97
99
  resolve(data);
98
100
  }, err => {
99
101
  console.error("failed loading " + path, err);
@@ -122,6 +124,7 @@ export function loadSync(context, url, seed, _allowAddingAnimator = false, prog)
122
124
  invokeEvents(GltfLoadEventType.AfterLoaded, new GltfLoadEvent(context, url, loader, data));
123
125
  await handleLoadedGltf(context, url, data, seed, componentsExtension);
124
126
  invokeEvents(GltfLoadEventType.FinishedSetup, new GltfLoadEvent(context, url, loader, data));
127
+ registerPrewarmObject(data.scene, context);
125
128
  resolve(data);
126
129
  }, evt => {
127
130
  prog?.call(loader, evt);
@@ -1 +1 @@
1
- {"version":3,"file":"engine_scenetools.js","sourceRoot":"","sources":["../../../engine/engine_scenetools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_scenetools.js","sourceRoot":"","sources":["../../../engine/engine_scenetools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAQ,UAAU,EAAE,MAAM,0CAA0C,CAAA;AAC3E,8DAA8D;AAC9D,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAqB,cAAc,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAGtG,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,OAAO,gBAAgB;IACzB,uBAAuB,CAAC,OAAgB,EAAE,MAAc,EAAE,IAAS,EAAE,IAAiC,EAAE,SAAyC;QAC7I,OAAO,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;IAED,yBAAyB,CAAC,IAAS,EAAE,OAA6B;QAC9D,OAAO,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CAAC,OAAgB,EAAE,IAAI,EAAE,IAAY,EAAE,IAAiC;QAC7E,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,QAAQ,CAAC,OAAgB,EAAE,GAAW,EAAE,IAAiC,EAAE,oBAA6B,EAAE,IAAiD;QACvJ,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;CACJ;AAED,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAGjC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE9C,mCAAmC;AACnC,8BAA8B;AAE9B,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,qEAAc,CAAA;IACd,uEAAe,CAAA;IACf,4EAAkB,CAAA;AACtB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAED,MAAM,OAAO,aAAa;IACtB,OAAO,CAAS;IAChB,MAAM,CAAa;IACnB,IAAI,CAAS;IACb,IAAI,CAAQ;IAEZ,YAAY,OAAgB,EAAE,IAAY,EAAE,MAAkB,EAAE,IAAW;QACvE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAID,MAAM,cAAc,GAA+C,EAAE,CAAC;AAEtE,MAAM,UAAU,wBAAwB,CAAC,IAAuB,EAAE,QAA+B;IAC7F,cAAc,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAClD,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AACD,MAAM,UAAU,2BAA2B,CAAC,IAAuB,EAAE,QAA+B;IAChG,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACzC;KACJ;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAuB,EAAE,KAAoB;IAC/D,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;QACtB,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;YACzC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACnB;KACJ;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAc,EAAE,IAAI,EAAE,IAAiC,EAAE,mBAAmB;IAC1H,IAAI,SAAS;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,EAAE,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAE5F,4BAA4B;IAC5B,6CAA6C;IAC7C,qFAAqF;AACzF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,OAAgB;IAC1D,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAqB,GAAG,CAAC;IACvC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,IAAI,EAAE,IAAY,EAAE,IAAiC;IAC7F,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,OAAO,CAAC,IAAI,CAAC,wIAAwI,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC;KAC7K;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI;YACA,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChD,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACrF,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;gBAClC,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5F,MAAM,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBACvE,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9F,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;YAElB,CAAC,EAAE,GAAG,CAAC,EAAE;gBACL,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7C,OAAO,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;SACN;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC;SACf;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,GAAW,EAAE,IAAiC,EAAE,uBAAgC,KAAK,EAAE,IAA8B;IAC5J,0CAA0C;IAC1C,+BAA+B;IAC/B,yFAAyF;IACzF,+DAA+D;IAC/D,uDAAuD;IACvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI;YACA,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChD,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YACpF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;gBAC1B,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC3F,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBACtE,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC7F,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;YAElB,CAAC,EAAE,GAAG,CAAC,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,GAAG,CAAC,EAAE;gBACL,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5C,OAAO,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;SACN;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,CAAC;SACf;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,sBAA+B,KAAK;IAC3G,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACvD,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE;YACpB,mCAAmC;YACnC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;KACN;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,sBAA+B,KAAK;IAC3E,qBAAqB;IACrB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO;IAErD,IAAI,CAAC,mBAAmB,EAAE;QACtB,oEAAoE;QACpE,kFAAkF;QAClF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;YAAE,OAAO;KAC9D;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS;QAChE,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE;YAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC,GAAG,EAAE;gBACN,uEAAuE;gBACvE,SAAS;aACZ;YACD,IAAI,kBAAkB,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,CAAC,kBAAkB,EAAE;gBACrB,IAAI,mBAAmB;oBACnB,kBAAkB,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;qBACjE;oBACD,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBACpE,SAAS;iBACZ;aACJ;YACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,GAAG,kBAAkB,CAAC,UAAU,IAAI,EAAE,CAAC;YACvF,SAAS,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC;YACrD,kEAAkE;YAClE,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACnC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9B;SACJ;KACJ;IACD,SAAS,+BAA+B,CAAC,GAAG;QACxC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC5C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,0BAA0B;gBAC1B,IAAI,SAAS,YAAY,QAAQ,IAAI,SAAS,YAAY,SAAS,EAAE;oBACjE,OAAO,GAAG,CAAC;oBAAA,CAAC;iBACf;aACJ;SACJ;QACD,OAAO,+BAA+B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;AACL,CAAC;AAGD,oCAAoC;AACpC,sBAAsB;AAGtB,MAAM,UAAU,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI;IAC3D,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAC3D,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC1D,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;SAC3B;KACJ;AACL,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,aAAa,CAAC,sBAAsB,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI;IACvE,OAAO,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AACvE,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,sBAAsB,EAAE,IAAI,GAAG,IAAI;IAC7D,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;QACjB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB;YAChD,OAAO,MAAM,CAAC;KACrB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -613,6 +613,7 @@ export class Context {
613
613
  }
614
614
  }
615
615
  if (!this.isManagedExternally) {
616
+ looputils.runPrewarm(this);
616
617
  this._currentFrameEvent = -10;
617
618
  this.renderNow();
618
619
  this._currentFrameEvent = FrameEvent.OnAfterRender;
@@ -1 +1 @@
1
- {"version":3,"file":"engine_setup.js","sourceRoot":"","sources":["../../../engine/engine_setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_setup.js","sourceRoot":"","sources":["../../../engine/engine_setup.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Behaviour } from "./Component";
2
2
  import * as THREE from "three";
3
- import { Mesh, Object3D, Texture } from "three";
3
+ import { Material, Mesh, Object3D, Texture } from "three";
4
4
  import { IRenderer, ISharedMaterials } from "../engine/engine_types";
5
5
  export { InstancingUtil } from "../engine/engine_instancing";
6
6
  export declare enum ReflectionProbeUsage {
@@ -23,9 +23,12 @@ declare class SharedMaterialArray implements ISharedMaterials {
23
23
  [num: number]: THREE.Material;
24
24
  private _renderer;
25
25
  private _targets;
26
+ private _indexMapMaxIndex?;
27
+ private _indexMap?;
26
28
  is(renderer: Renderer): boolean;
27
- constructor(renderer: Renderer);
29
+ constructor(renderer: Renderer, originalMaterials: Material[]);
28
30
  get length(): number;
31
+ private resolveIndex;
29
32
  private setMaterial;
30
33
  private getMaterial;
31
34
  }
@@ -52,6 +55,8 @@ export declare class Renderer extends Behaviour implements IRenderer {
52
55
  /**@deprecated please use sharedMaterial */
53
56
  set material(mat: THREE.Material);
54
57
  private _sharedMaterials;
58
+ private _originalMaterials;
59
+ private set sharedMaterials(value);
55
60
  get sharedMaterials(): SharedMaterialArray;
56
61
  static get shouldSuppressInstancing(): string | number | boolean;
57
62
  private _lightmapTextureOverride;
@@ -17,6 +17,8 @@ import { NEEDLE_progressive } from "../engine/extensions/NEEDLE_progressive";
17
17
  import { NEED_UPDATE_INSTANCE_KEY } from "../engine/engine_instancing";
18
18
  import { debug, ReflectionProbe } from "./ReflectionProbe";
19
19
  import { setCustomVisibility } from "../engine/js-extensions/Layers";
20
+ import { isLocalNetwork } from "../engine/engine_networking_utils";
21
+ import { showBalloonWarning } from "../engine/debug/debug";
20
22
  // for staying compatible with old code
21
23
  export { InstancingUtil } from "../engine/engine_instancing";
22
24
  const suppressInstancing = getParam("noInstancing");
@@ -47,10 +49,12 @@ export var RenderState;
47
49
  class SharedMaterialArray {
48
50
  _renderer;
49
51
  _targets = [];
52
+ _indexMapMaxIndex;
53
+ _indexMap;
50
54
  is(renderer) {
51
55
  return this._renderer === renderer;
52
56
  }
53
- constructor(renderer) {
57
+ constructor(renderer, originalMaterials) {
54
58
  this._renderer = renderer;
55
59
  const setMaterial = this.setMaterial.bind(this);
56
60
  const getMaterial = this.getMaterial.bind(this);
@@ -67,6 +71,41 @@ class SharedMaterialArray {
67
71
  break;
68
72
  }
69
73
  }
74
+ // this is useful to have an index map when e.g. materials are trying to be assigned by index
75
+ let hasMissingMaterials = false;
76
+ let indexMap = undefined;
77
+ let maxIndex = 0;
78
+ for (let i = 0; i < this._targets.length; i++) {
79
+ const target = this._targets[i];
80
+ if (!target)
81
+ continue;
82
+ const mat = target.material;
83
+ if (!mat)
84
+ continue;
85
+ for (let k = 0; k < originalMaterials.length; k++) {
86
+ const orig = originalMaterials[k];
87
+ if (!orig) {
88
+ hasMissingMaterials = true;
89
+ continue;
90
+ }
91
+ if (mat.name === orig.name) {
92
+ if (indexMap === undefined)
93
+ indexMap = new Map();
94
+ indexMap.set(k, i);
95
+ maxIndex = Math.max(maxIndex, k);
96
+ // console.log(`Material ${mat.name} at ${k} was found at index ${i} in renderer ${renderer.name}.`)
97
+ break;
98
+ }
99
+ }
100
+ }
101
+ if (hasMissingMaterials) {
102
+ this._indexMapMaxIndex = maxIndex;
103
+ this._indexMap = indexMap;
104
+ const warningMessage = `Renderer ${renderer.name} was initialized with missing materials - this may lead to unexpected behaviour when trying to access sharedMaterials by index.`;
105
+ console.warn(warningMessage);
106
+ if (isLocalNetwork())
107
+ showBalloonWarning("Found renderer with missing materials: please check the console for details.");
108
+ }
70
109
  // this lets us override the javascript indexer, only works in ES6 tho
71
110
  // but like that we can use sharedMaterials[index] and it will be assigned to the object directly
72
111
  return new Proxy(this, {
@@ -88,9 +127,22 @@ class SharedMaterialArray {
88
127
  });
89
128
  }
90
129
  get length() {
130
+ if (this._indexMapMaxIndex !== undefined)
131
+ return this._indexMapMaxIndex + 1;
91
132
  return this._targets.length;
92
133
  }
134
+ resolveIndex(index) {
135
+ const map = this._indexMap;
136
+ // if we have a index map it means that some materials were missing
137
+ if (map) {
138
+ if (map.has(index))
139
+ return map.get(index);
140
+ // return -1;
141
+ }
142
+ return index;
143
+ }
93
144
  setMaterial(mat, index) {
145
+ index = this.resolveIndex(index);
94
146
  if (index < 0 || index >= this._targets.length)
95
147
  return;
96
148
  const target = this._targets[index];
@@ -99,6 +151,7 @@ class SharedMaterialArray {
99
151
  target["material"] = mat;
100
152
  }
101
153
  getMaterial(index) {
154
+ index = this.resolveIndex(index);
102
155
  if (index < 0)
103
156
  return null;
104
157
  const obj = this._targets;
@@ -163,9 +216,16 @@ export class Renderer extends Behaviour {
163
216
  this.sharedMaterials[0] = mat;
164
217
  }
165
218
  _sharedMaterials;
219
+ _originalMaterials = [];
220
+ // this is just available during deserialization
221
+ set sharedMaterials(_val) {
222
+ // TODO: elements in the array might be missing at the moment which leads to problems if an index is serialized
223
+ this._originalMaterials = _val;
224
+ }
225
+ //@ts-ignore
166
226
  get sharedMaterials() {
167
227
  if (!this._sharedMaterials || !this._sharedMaterials.is(this))
168
- this._sharedMaterials = new SharedMaterialArray(this);
228
+ this._sharedMaterials = new SharedMaterialArray(this, this._originalMaterials);
169
229
  return this._sharedMaterials;
170
230
  }
171
231
  static get shouldSuppressInstancing() {