@needle-tools/engine 4.7.0 → 4.7.2-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3782 -3778
- package/LICENSE.md +10 -10
- package/README.md +64 -64
- package/components.needle.json +1 -1
- package/dist/generateMeshBVH.worker-Cdfpaq5W.js +25 -0
- package/dist/gltf-progressive-YjtQYFa9.js +1052 -0
- package/dist/gltf-progressive-yOP1mp5W.min.js +8 -0
- package/dist/gltf-progressive-zdhlW609.umd.cjs +8 -0
- package/dist/{needle-engine.bundle-BFsiOavn.min.js → needle-engine.bundle-BhDF-YSv.min.js} +107 -107
- package/dist/{needle-engine.bundle-BxOXkBoQ.umd.cjs → needle-engine.bundle-D2myV4E4.umd.cjs} +114 -114
- package/dist/{needle-engine.bundle-BodidWhS.js → needle-engine.bundle-gp00DTS4.js} +2932 -2920
- package/dist/needle-engine.d.ts +129 -130
- package/dist/needle-engine.js +4 -4
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-CjW23fio.umd.cjs → postprocessing-8AQTeZsr.umd.cjs} +2 -2
- package/dist/{postprocessing-xYQWCHFu.min.js → postprocessing-BDScN9yu.min.js} +2 -2
- package/dist/{postprocessing-DYLNOL3W.js → postprocessing-BkxN_08g.js} +3 -3
- package/dist/{three-DuDKwKB8.min.js → three-Boa-jOq-.min.js} +33 -33
- package/dist/{three-DrqIzZTH.js → three-Bz6X1mrw.js} +4198 -4198
- package/dist/{three-B_hneGZr.umd.cjs → three-DMrv-4ar.umd.cjs} +4 -4
- package/dist/{three-examples-X3OadjXB.umd.cjs → three-examples-C7ryg8vN.umd.cjs} +3 -3
- package/dist/{three-examples-DaDLBuy6.min.js → three-examples-DuVhxqft.min.js} +14 -14
- package/dist/{three-examples-B50TT3Iu.js → three-examples-GggCDHv0.js} +5 -5
- package/dist/{three-mesh-ui-CxuWt7m-.js → three-mesh-ui-CLNOfsWn.js} +1 -1
- package/dist/{three-mesh-ui-B3p3gyUz.min.js → three-mesh-ui-CY6Izc7C.min.js} +1 -1
- package/dist/{three-mesh-ui-CQiIQIlA.umd.cjs → three-mesh-ui-CwlN0FUC.umd.cjs} +1 -1
- package/dist/{vendor-BmYIgaS1.js → vendor-BSD1RQIh.js} +3 -3
- package/dist/{vendor-Cavtu3CP.umd.cjs → vendor-DHr4aqIZ.umd.cjs} +3 -3
- package/dist/{vendor-BlSxe9JJ.min.js → vendor-zxXa3Dmr.min.js} +3 -3
- package/lib/asap/needle-asap.d.ts +1 -1
- package/lib/asap/needle-asap.js +95 -95
- package/lib/asap/sessiongranted.d.ts +3 -3
- package/lib/asap/sessiongranted.js +65 -65
- package/lib/asap/utils.d.ts +1 -1
- package/lib/asap/utils.js +3 -3
- package/lib/engine/analytics/index.d.ts +6 -6
- package/lib/engine/analytics/index.js +12 -12
- package/lib/engine/analytics/lcp.d.ts +3 -3
- package/lib/engine/analytics/lcp.js +34 -34
- package/lib/engine/api.d.ts +82 -82
- package/lib/engine/api.js +81 -81
- package/lib/engine/assets/index.d.ts +11 -11
- package/lib/engine/assets/index.js +47 -47
- package/lib/engine/assets/static.d.ts +1 -1
- package/lib/engine/assets/static.js +4 -4
- package/lib/engine/codegen/register_types.d.ts +1 -1
- package/lib/engine/codegen/register_types.js +300 -300
- package/lib/engine/debug/debug.d.ts +15 -15
- package/lib/engine/debug/debug.js +44 -44
- package/lib/engine/debug/debug_console.d.ts +2 -2
- package/lib/engine/debug/debug_console.js +307 -307
- package/lib/engine/debug/debug_overlay.d.ts +22 -22
- package/lib/engine/debug/debug_overlay.js +316 -316
- package/lib/engine/debug/debug_spatial_console.d.ts +2 -2
- package/lib/engine/debug/debug_spatial_console.js +390 -390
- package/lib/engine/debug/index.d.ts +2 -2
- package/lib/engine/debug/index.js +2 -2
- package/lib/engine/engine_addressables.d.ts +164 -166
- package/lib/engine/engine_addressables.js +601 -608
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_animation.d.ts +43 -43
- package/lib/engine/engine_animation.js +133 -133
- package/lib/engine/engine_application.d.ts +45 -45
- package/lib/engine/engine_application.js +104 -104
- package/lib/engine/engine_assetdatabase.d.ts +25 -25
- package/lib/engine/engine_assetdatabase.js +346 -346
- package/lib/engine/engine_audio.d.ts +4 -4
- package/lib/engine/engine_audio.js +23 -23
- package/lib/engine/engine_camera.d.ts +13 -13
- package/lib/engine/engine_camera.js +30 -30
- package/lib/engine/engine_components.d.ts +110 -110
- package/lib/engine/engine_components.js +374 -374
- package/lib/engine/engine_components_internal.d.ts +9 -9
- package/lib/engine/engine_components_internal.js +36 -36
- package/lib/engine/engine_constants.d.ts +10 -10
- package/lib/engine/engine_constants.js +41 -41
- package/lib/engine/engine_context.d.ts +475 -475
- package/lib/engine/engine_context.js +1673 -1673
- package/lib/engine/engine_context_registry.d.ts +71 -71
- package/lib/engine/engine_context_registry.js +117 -117
- package/lib/engine/engine_coroutine.d.ts +35 -35
- package/lib/engine/engine_coroutine.js +52 -52
- package/lib/engine/engine_create_objects.d.ts +119 -119
- package/lib/engine/engine_create_objects.js +320 -320
- package/lib/engine/engine_default_parameters.d.ts +2 -2
- package/lib/engine/engine_default_parameters.js +3 -3
- package/lib/engine/engine_editor-sync.d.ts +21 -21
- package/lib/engine/engine_editor-sync.js +4 -4
- package/lib/engine/engine_fileloader.d.ts +2 -2
- package/lib/engine/engine_fileloader.js +8 -8
- package/lib/engine/engine_gameobject.d.ts +68 -68
- package/lib/engine/engine_gameobject.js +619 -619
- package/lib/engine/engine_generic_utils.d.ts +1 -1
- package/lib/engine/engine_generic_utils.js +13 -13
- package/lib/engine/engine_gizmos.d.ts +149 -149
- package/lib/engine/engine_gizmos.js +530 -530
- package/lib/engine/engine_gltf.d.ts +12 -12
- package/lib/engine/engine_gltf.js +15 -15
- package/lib/engine/engine_gltf_builtin_components.d.ts +11 -11
- package/lib/engine/engine_gltf_builtin_components.js +341 -341
- package/lib/engine/engine_hot_reload.d.ts +8 -8
- package/lib/engine/engine_hot_reload.js +197 -197
- package/lib/engine/engine_input.d.ts +362 -362
- package/lib/engine/engine_input.js +1294 -1294
- package/lib/engine/engine_input_utils.d.ts +2 -2
- package/lib/engine/engine_input_utils.js +22 -22
- package/lib/engine/engine_instancing.d.ts +19 -19
- package/lib/engine/engine_instancing.js +39 -39
- package/lib/engine/engine_license.d.ts +11 -11
- package/lib/engine/engine_license.js +369 -369
- package/lib/engine/engine_lifecycle_api.d.ts +83 -83
- package/lib/engine/engine_lifecycle_api.js +106 -106
- package/lib/engine/engine_lifecycle_functions_internal.d.ts +32 -32
- package/lib/engine/engine_lifecycle_functions_internal.js +146 -146
- package/lib/engine/engine_lightdata.d.ts +23 -23
- package/lib/engine/engine_lightdata.js +101 -91
- package/lib/engine/engine_lightdata.js.map +1 -1
- package/lib/engine/engine_loaders.callbacks.d.ts +97 -97
- package/lib/engine/engine_loaders.callbacks.js +86 -86
- package/lib/engine/engine_loaders.d.ts +48 -48
- package/lib/engine/engine_loaders.gltf.d.ts +13 -13
- package/lib/engine/engine_loaders.gltf.js +62 -62
- package/lib/engine/engine_loaders.js +337 -337
- package/lib/engine/engine_lods.d.ts +35 -31
- package/lib/engine/engine_lods.js +160 -146
- package/lib/engine/engine_lods.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.d.ts +32 -32
- package/lib/engine/engine_mainloop_utils.js +466 -466
- package/lib/engine/engine_math.d.ts +114 -114
- package/lib/engine/engine_math.js +247 -247
- package/lib/engine/engine_modules.d.ts +36 -36
- package/lib/engine/engine_modules.js +85 -85
- package/lib/engine/engine_networking.d.ts +260 -260
- package/lib/engine/engine_networking.js +764 -764
- package/lib/engine/engine_networking_auto.d.ts +24 -24
- package/lib/engine/engine_networking_auto.js +310 -310
- package/lib/engine/engine_networking_blob.d.ts +48 -48
- package/lib/engine/engine_networking_blob.js +228 -228
- package/lib/engine/engine_networking_files.d.ts +35 -35
- package/lib/engine/engine_networking_files.js +172 -172
- package/lib/engine/engine_networking_files_default_components.d.ts +6 -6
- package/lib/engine/engine_networking_files_default_components.js +42 -42
- package/lib/engine/engine_networking_instantiate.d.ts +100 -100
- package/lib/engine/engine_networking_instantiate.js +345 -345
- package/lib/engine/engine_networking_peer.d.ts +15 -15
- package/lib/engine/engine_networking_peer.js +132 -132
- package/lib/engine/engine_networking_streams.d.ts +123 -123
- package/lib/engine/engine_networking_streams.js +645 -645
- package/lib/engine/engine_networking_types.d.ts +22 -22
- package/lib/engine/engine_networking_types.js +7 -7
- package/lib/engine/engine_networking_utils.d.ts +2 -2
- package/lib/engine/engine_networking_utils.js +20 -20
- package/lib/engine/engine_networking_websocket.d.ts +1 -1
- package/lib/engine/engine_networking_websocket.js +2 -2
- package/lib/engine/engine_patcher.d.ts +10 -10
- package/lib/engine/engine_patcher.js +142 -142
- package/lib/engine/engine_physics.d.ts +152 -152
- package/lib/engine/engine_physics.js +645 -645
- package/lib/engine/engine_physics.types.d.ts +40 -40
- package/lib/engine/engine_physics.types.js +33 -33
- package/lib/engine/engine_physics_rapier.d.ts +147 -147
- package/lib/engine/engine_physics_rapier.js +1433 -1433
- package/lib/engine/engine_playerview.d.ts +26 -26
- package/lib/engine/engine_playerview.js +64 -64
- package/lib/engine/engine_scenelighting.d.ts +71 -71
- package/lib/engine/engine_scenelighting.js +226 -226
- package/lib/engine/engine_serialization.d.ts +3 -3
- package/lib/engine/engine_serialization.js +3 -3
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +72 -72
- package/lib/engine/engine_serialization_builtin_serializer.js +403 -403
- package/lib/engine/engine_serialization_core.d.ts +94 -94
- package/lib/engine/engine_serialization_core.js +607 -607
- package/lib/engine/engine_serialization_decorator.d.ts +23 -23
- package/lib/engine/engine_serialization_decorator.js +66 -66
- package/lib/engine/engine_setup.d.ts +1 -1
- package/lib/engine/engine_setup.js +2 -2
- package/lib/engine/engine_shaders.d.ts +53 -53
- package/lib/engine/engine_shaders.js +252 -252
- package/lib/engine/engine_shims.d.ts +4 -4
- package/lib/engine/engine_shims.js +24 -24
- package/lib/engine/engine_test_utils.d.ts +39 -39
- package/lib/engine/engine_test_utils.js +83 -83
- package/lib/engine/engine_texture.d.ts +28 -28
- package/lib/engine/engine_texture.js +64 -64
- package/lib/engine/engine_three_utils.d.ts +204 -204
- package/lib/engine/engine_three_utils.js +788 -788
- package/lib/engine/engine_time.d.ts +51 -51
- package/lib/engine/engine_time.js +82 -82
- package/lib/engine/engine_time_utils.d.ts +88 -88
- package/lib/engine/engine_time_utils.js +215 -215
- package/lib/engine/engine_tonemapping.d.ts +6 -6
- package/lib/engine/engine_tonemapping.js +197 -197
- package/lib/engine/engine_types.d.ts +578 -578
- package/lib/engine/engine_types.js +95 -95
- package/lib/engine/engine_typestore.d.ts +28 -28
- package/lib/engine/engine_typestore.js +55 -55
- package/lib/engine/engine_util_decorator.d.ts +13 -13
- package/lib/engine/engine_util_decorator.js +116 -116
- package/lib/engine/engine_utils.d.ts +248 -248
- package/lib/engine/engine_utils.js +1012 -1012
- package/lib/engine/engine_utils_format.d.ts +24 -24
- package/lib/engine/engine_utils_format.js +239 -239
- package/lib/engine/engine_utils_screenshot.d.ts +159 -159
- package/lib/engine/engine_utils_screenshot.js +522 -522
- package/lib/engine/engine_utils_screenshot.xr.d.ts +5 -5
- package/lib/engine/engine_utils_screenshot.xr.js +90 -90
- package/lib/engine/engine_xr.d.ts +1 -1
- package/lib/engine/engine_xr.js +1 -1
- package/lib/engine/export/gltf/Writers.d.ts +19 -19
- package/lib/engine/export/gltf/Writers.js +24 -24
- package/lib/engine/export/gltf/index.d.ts +11 -11
- package/lib/engine/export/gltf/index.js +123 -123
- package/lib/engine/export/index.d.ts +2 -2
- package/lib/engine/export/index.js +2 -2
- package/lib/engine/export/state.d.ts +7 -7
- package/lib/engine/export/state.js +17 -17
- package/lib/engine/export/utils.d.ts +2 -2
- package/lib/engine/export/utils.js +7 -7
- package/lib/engine/extensions/EXT_texture_exr.d.ts +8 -8
- package/lib/engine/extensions/EXT_texture_exr.js +32 -32
- package/lib/engine/extensions/NEEDLE_animator_controller_model.d.ts +122 -122
- package/lib/engine/extensions/NEEDLE_animator_controller_model.js +95 -95
- package/lib/engine/extensions/NEEDLE_components.d.ts +35 -35
- package/lib/engine/extensions/NEEDLE_components.js +220 -220
- package/lib/engine/extensions/NEEDLE_gameobject_data.d.ts +10 -10
- package/lib/engine/extensions/NEEDLE_gameobject_data.js +57 -57
- package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +37 -37
- package/lib/engine/extensions/NEEDLE_lighting_settings.js +157 -157
- package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +18 -18
- package/lib/engine/extensions/NEEDLE_lightmaps.js +99 -99
- package/lib/engine/extensions/NEEDLE_persistent_assets.d.ts +11 -11
- package/lib/engine/extensions/NEEDLE_persistent_assets.js +63 -63
- package/lib/engine/extensions/NEEDLE_progressive.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_progressive.js +1 -1
- package/lib/engine/extensions/NEEDLE_render_objects.d.ts +13 -13
- package/lib/engine/extensions/NEEDLE_render_objects.js +159 -159
- package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +38 -38
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +564 -564
- package/lib/engine/extensions/extension_resolver.d.ts +4 -4
- package/lib/engine/extensions/extension_resolver.js +1 -1
- package/lib/engine/extensions/extension_utils.d.ts +12 -12
- package/lib/engine/extensions/extension_utils.js +152 -152
- package/lib/engine/extensions/extensions.d.ts +32 -32
- package/lib/engine/extensions/extensions.js +107 -107
- package/lib/engine/extensions/index.d.ts +6 -6
- package/lib/engine/extensions/index.js +6 -6
- package/lib/engine/extensions/usage_tracker.d.ts +13 -13
- package/lib/engine/extensions/usage_tracker.js +65 -65
- package/lib/engine/js-extensions/Camera.d.ts +1 -1
- package/lib/engine/js-extensions/Camera.js +39 -39
- package/lib/engine/js-extensions/ExtensionUtils.d.ts +9 -9
- package/lib/engine/js-extensions/ExtensionUtils.js +67 -67
- package/lib/engine/js-extensions/Layers.d.ts +6 -6
- package/lib/engine/js-extensions/Layers.js +22 -22
- package/lib/engine/js-extensions/Object3D.d.ts +120 -120
- package/lib/engine/js-extensions/Object3D.js +136 -136
- package/lib/engine/js-extensions/RGBAColor.d.ts +23 -23
- package/lib/engine/js-extensions/RGBAColor.js +111 -111
- package/lib/engine/js-extensions/Vector.d.ts +3 -3
- package/lib/engine/js-extensions/Vector.js +13 -13
- package/lib/engine/js-extensions/index.d.ts +5 -5
- package/lib/engine/js-extensions/index.js +5 -5
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.d.ts +4 -4
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +79 -79
- package/lib/engine/shaders/shaderData.d.ts +55 -55
- package/lib/engine/shaders/shaderData.js +58 -58
- package/lib/engine/tests/test_utils.d.ts +2 -2
- package/lib/engine/tests/test_utils.js +53 -53
- package/lib/engine/webcomponents/WebXRButtons.d.ts +56 -56
- package/lib/engine/webcomponents/WebXRButtons.js +230 -230
- package/lib/engine/webcomponents/api.d.ts +5 -5
- package/lib/engine/webcomponents/api.js +4 -4
- package/lib/engine/webcomponents/buttons.d.ts +51 -51
- package/lib/engine/webcomponents/buttons.js +264 -264
- package/lib/engine/webcomponents/fonts.d.ts +9 -9
- package/lib/engine/webcomponents/fonts.js +32 -32
- package/lib/engine/webcomponents/icons.d.ts +9 -9
- package/lib/engine/webcomponents/icons.js +52 -52
- package/lib/engine/webcomponents/index.d.ts +1 -1
- package/lib/engine/webcomponents/index.js +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +10 -10
- package/lib/engine/webcomponents/logo-element.js +67 -67
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.d.ts +37 -37
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +513 -513
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +155 -155
- package/lib/engine/webcomponents/needle menu/needle-menu.js +1029 -1029
- package/lib/engine/webcomponents/needle-button.d.ts +34 -34
- package/lib/engine/webcomponents/needle-button.js +161 -161
- package/lib/engine/webcomponents/needle-engine.ar-overlay.d.ts +21 -21
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +166 -166
- package/lib/engine/webcomponents/needle-engine.attributes.d.ts +69 -69
- package/lib/engine/webcomponents/needle-engine.attributes.js +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +116 -116
- package/lib/engine/webcomponents/needle-engine.extras.d.ts +6 -6
- package/lib/engine/webcomponents/needle-engine.extras.js +13 -13
- package/lib/engine/webcomponents/needle-engine.js +821 -821
- package/lib/engine/webcomponents/needle-engine.loading.d.ts +44 -44
- package/lib/engine/webcomponents/needle-engine.loading.js +341 -341
- package/lib/engine/xr/NeedleXRController.d.ts +313 -313
- package/lib/engine/xr/NeedleXRController.js +1007 -1007
- package/lib/engine/xr/NeedleXRSession.d.ts +340 -340
- package/lib/engine/xr/NeedleXRSession.js +1463 -1463
- package/lib/engine/xr/NeedleXRSync.d.ts +22 -22
- package/lib/engine/xr/NeedleXRSync.js +188 -188
- package/lib/engine/xr/SceneTransition.d.ts +18 -18
- package/lib/engine/xr/SceneTransition.js +69 -69
- package/lib/engine/xr/TempXRContext.d.ts +34 -34
- package/lib/engine/xr/TempXRContext.js +187 -187
- package/lib/engine/xr/XRRig.d.ts +7 -7
- package/lib/engine/xr/XRRig.js +1 -1
- package/lib/engine/xr/api.d.ts +6 -6
- package/lib/engine/xr/api.js +6 -6
- package/lib/engine/xr/events.d.ts +66 -66
- package/lib/engine/xr/events.js +93 -93
- package/lib/engine/xr/internal.d.ts +12 -12
- package/lib/engine/xr/internal.js +25 -25
- package/lib/engine/xr/usdz.d.ts +12 -12
- package/lib/engine/xr/usdz.js +29 -29
- package/lib/engine/xr/utils.d.ts +11 -11
- package/lib/engine/xr/utils.js +34 -34
- package/lib/engine-components/AlignmentConstraint.d.ts +10 -10
- package/lib/engine-components/AlignmentConstraint.js +39 -39
- package/lib/engine-components/Animation.d.ts +156 -156
- package/lib/engine-components/Animation.js +508 -508
- package/lib/engine-components/AnimationCurve.d.ts +40 -40
- package/lib/engine-components/AnimationCurve.js +159 -159
- package/lib/engine-components/AnimationUtils.d.ts +8 -8
- package/lib/engine-components/AnimationUtils.js +27 -27
- package/lib/engine-components/AnimationUtilsAutoplay.d.ts +1 -1
- package/lib/engine-components/AnimationUtilsAutoplay.js +39 -39
- package/lib/engine-components/Animator.d.ts +217 -217
- package/lib/engine-components/Animator.js +354 -354
- package/lib/engine-components/AnimatorController.d.ts +227 -227
- package/lib/engine-components/AnimatorController.js +1152 -1152
- package/lib/engine-components/AudioListener.d.ts +33 -33
- package/lib/engine-components/AudioListener.js +86 -86
- package/lib/engine-components/AudioSource.d.ts +217 -217
- package/lib/engine-components/AudioSource.js +635 -635
- package/lib/engine-components/AvatarLoader.d.ts +80 -80
- package/lib/engine-components/AvatarLoader.js +231 -231
- package/lib/engine-components/AxesHelper.d.ts +32 -32
- package/lib/engine-components/AxesHelper.js +67 -67
- package/lib/engine-components/BasicIKConstraint.d.ts +9 -9
- package/lib/engine-components/BasicIKConstraint.js +43 -43
- package/lib/engine-components/BoxCollider.d.ts +2 -2
- package/lib/engine-components/BoxCollider.js +2 -2
- package/lib/engine-components/BoxHelperComponent.d.ts +47 -47
- package/lib/engine-components/BoxHelperComponent.js +102 -102
- package/lib/engine-components/Camera.d.ts +231 -231
- package/lib/engine-components/Camera.js +700 -700
- package/lib/engine-components/CameraUtils.d.ts +1 -1
- package/lib/engine-components/CameraUtils.js +123 -123
- package/lib/engine-components/CharacterController.d.ts +55 -55
- package/lib/engine-components/CharacterController.js +236 -236
- package/lib/engine-components/Collider.d.ts +188 -188
- package/lib/engine-components/Collider.js +369 -369
- package/lib/engine-components/Component.d.ts +792 -792
- package/lib/engine-components/Component.js +920 -920
- package/lib/engine-components/ContactShadows.d.ts +94 -94
- package/lib/engine-components/ContactShadows.js +453 -453
- package/lib/engine-components/DeleteBox.d.ts +19 -19
- package/lib/engine-components/DeleteBox.js +58 -58
- package/lib/engine-components/DeviceFlag.d.ts +16 -16
- package/lib/engine-components/DeviceFlag.js +47 -47
- package/lib/engine-components/DragControls.d.ts +170 -170
- package/lib/engine-components/DragControls.js +1421 -1421
- package/lib/engine-components/DropListener.d.ts +215 -215
- package/lib/engine-components/DropListener.js +642 -642
- package/lib/engine-components/Duplicatable.d.ts +35 -35
- package/lib/engine-components/Duplicatable.js +202 -202
- package/lib/engine-components/EventList.d.ts +54 -54
- package/lib/engine-components/EventList.js +232 -232
- package/lib/engine-components/EventTrigger.d.ts +33 -33
- package/lib/engine-components/EventTrigger.js +75 -75
- package/lib/engine-components/EventType.d.ts +22 -22
- package/lib/engine-components/EventType.js +23 -23
- package/lib/engine-components/Fog.d.ts +22 -22
- package/lib/engine-components/Fog.js +61 -61
- package/lib/engine-components/Gizmos.d.ts +17 -17
- package/lib/engine-components/Gizmos.js +64 -64
- package/lib/engine-components/GridHelper.d.ts +20 -20
- package/lib/engine-components/GridHelper.js +54 -54
- package/lib/engine-components/GroundProjection.d.ts +67 -67
- package/lib/engine-components/GroundProjection.js +343 -343
- package/lib/engine-components/Interactable.d.ts +12 -12
- package/lib/engine-components/Interactable.js +12 -12
- package/lib/engine-components/Joints.d.ts +19 -19
- package/lib/engine-components/Joints.js +51 -51
- package/lib/engine-components/LODGroup.d.ts +35 -35
- package/lib/engine-components/LODGroup.js +152 -152
- package/lib/engine-components/Light.d.ts +180 -180
- package/lib/engine-components/Light.js +535 -535
- package/lib/engine-components/LookAtConstraint.d.ts +19 -19
- package/lib/engine-components/LookAtConstraint.js +35 -35
- package/lib/engine-components/NeedleMenu.d.ts +50 -50
- package/lib/engine-components/NeedleMenu.js +92 -92
- package/lib/engine-components/NestedGltf.d.ts +25 -25
- package/lib/engine-components/NestedGltf.js +88 -88
- package/lib/engine-components/Networking.d.ts +54 -54
- package/lib/engine-components/Networking.js +112 -112
- package/lib/engine-components/OffsetConstraint.d.ts +14 -14
- package/lib/engine-components/OffsetConstraint.js +65 -65
- package/lib/engine-components/OrbitControls.d.ts +268 -268
- package/lib/engine-components/OrbitControls.js +1015 -1015
- package/lib/engine-components/PlayerColor.d.ts +19 -19
- package/lib/engine-components/PlayerColor.js +94 -94
- package/lib/engine-components/ReflectionProbe.d.ts +28 -28
- package/lib/engine-components/ReflectionProbe.js +204 -204
- package/lib/engine-components/Renderer.d.ts +153 -153
- package/lib/engine-components/Renderer.js +834 -834
- package/lib/engine-components/RendererInstancing.d.ts +140 -140
- package/lib/engine-components/RendererInstancing.js +744 -744
- package/lib/engine-components/RendererInstancing.js.map +1 -1
- package/lib/engine-components/RendererLightmap.d.ts +24 -24
- package/lib/engine-components/RendererLightmap.js +182 -182
- package/lib/engine-components/RigidBody.d.ts +155 -155
- package/lib/engine-components/RigidBody.js +517 -517
- package/lib/engine-components/SceneSwitcher.d.ts +263 -263
- package/lib/engine-components/SceneSwitcher.js +971 -971
- package/lib/engine-components/ScreenCapture.d.ts +144 -144
- package/lib/engine-components/ScreenCapture.js +547 -547
- package/lib/engine-components/ShadowCatcher.d.ts +33 -33
- package/lib/engine-components/ShadowCatcher.js +166 -166
- package/lib/engine-components/Skybox.d.ts +88 -88
- package/lib/engine-components/Skybox.js +469 -469
- package/lib/engine-components/SmoothFollow.d.ts +34 -34
- package/lib/engine-components/SmoothFollow.js +82 -82
- package/lib/engine-components/SpatialTrigger.d.ts +102 -102
- package/lib/engine-components/SpatialTrigger.js +225 -225
- package/lib/engine-components/SpectatorCamera.d.ts +111 -111
- package/lib/engine-components/SpectatorCamera.js +715 -715
- package/lib/engine-components/SphereCollider.d.ts +2 -2
- package/lib/engine-components/SphereCollider.js +2 -2
- package/lib/engine-components/SpriteRenderer.d.ts +132 -132
- package/lib/engine-components/SpriteRenderer.js +472 -472
- package/lib/engine-components/SyncedCamera.d.ts +41 -41
- package/lib/engine-components/SyncedCamera.js +199 -199
- package/lib/engine-components/SyncedRoom.d.ts +106 -106
- package/lib/engine-components/SyncedRoom.js +371 -371
- package/lib/engine-components/SyncedTransform.d.ts +94 -94
- package/lib/engine-components/SyncedTransform.js +331 -331
- package/lib/engine-components/TestRunner.d.ts +16 -16
- package/lib/engine-components/TestRunner.js +102 -102
- package/lib/engine-components/TransformGizmo.d.ts +75 -75
- package/lib/engine-components/TransformGizmo.js +209 -209
- package/lib/engine-components/VideoPlayer.d.ts +184 -184
- package/lib/engine-components/VideoPlayer.js +978 -978
- package/lib/engine-components/Voip.d.ts +67 -67
- package/lib/engine-components/Voip.js +360 -360
- package/lib/engine-components/api.d.ts +51 -51
- package/lib/engine-components/api.js +50 -50
- package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +11 -11
- package/lib/engine-components/avatar/AvatarBlink_Simple.js +76 -76
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +14 -14
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +68 -68
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +29 -29
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +121 -121
- package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +15 -15
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +79 -79
- package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +9 -9
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +29 -29
- package/lib/engine-components/codegen/components.d.ts +216 -216
- package/lib/engine-components/codegen/components.js +218 -218
- package/lib/engine-components/debug/LogStats.d.ts +5 -5
- package/lib/engine-components/debug/LogStats.js +18 -18
- package/lib/engine-components/export/gltf/GltfExport.d.ts +30 -30
- package/lib/engine-components/export/gltf/GltfExport.js +246 -246
- package/lib/engine-components/export/gltf/index.d.ts +1 -1
- package/lib/engine-components/export/gltf/index.js +1 -1
- package/lib/engine-components/export/index.d.ts +1 -1
- package/lib/engine-components/export/index.js +1 -1
- package/lib/engine-components/export/usdz/Extension.d.ts +22 -22
- package/lib/engine-components/export/usdz/Extension.js +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +162 -162
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +1789 -1789
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +130 -130
- package/lib/engine-components/export/usdz/USDZExporter.js +663 -663
- package/lib/engine-components/export/usdz/extensions/Animation.d.ts +106 -106
- package/lib/engine-components/export/usdz/extensions/Animation.js +1071 -1071
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -5
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +6 -6
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.js +451 -451
- package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +54 -54
- package/lib/engine-components/export/usdz/extensions/USDZText.js +203 -203
- package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -8
- package/lib/engine-components/export/usdz/extensions/USDZUI.js +158 -158
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -30
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +88 -88
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js +86 -86
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +28 -28
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +290 -290
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +190 -190
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +1060 -1060
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +135 -135
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +548 -548
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.d.ts +7 -7
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +115 -115
- package/lib/engine-components/export/usdz/index.d.ts +3 -3
- package/lib/engine-components/export/usdz/index.js +2 -2
- package/lib/engine-components/export/usdz/utils/animationutils.d.ts +7 -7
- package/lib/engine-components/export/usdz/utils/animationutils.js +163 -163
- package/lib/engine-components/export/usdz/utils/quicklook.d.ts +2 -2
- package/lib/engine-components/export/usdz/utils/quicklook.js +43 -43
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +177 -177
- package/lib/engine-components/particlesystem/ParticleSystem.js +1176 -1176
- package/lib/engine-components/particlesystem/ParticleSystemModules.d.ts +526 -526
- package/lib/engine-components/particlesystem/ParticleSystemModules.js +1930 -1930
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.d.ts +25 -25
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.js +87 -87
- package/lib/engine-components/particlesystem/api.d.ts +2 -2
- package/lib/engine-components/particlesystem/api.js +2 -2
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +59 -59
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +46 -46
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +113 -113
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -39
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +23 -23
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +111 -111
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +25 -25
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +104 -104
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +12 -12
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +18 -18
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +32 -32
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +91 -91
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +70 -70
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +176 -176
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +127 -127
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +70 -70
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +19 -19
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +94 -94
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +13 -13
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.js +51 -51
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +15 -15
- package/lib/engine-components/postprocessing/Effects/Vignette.js +60 -60
- package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +90 -90
- package/lib/engine-components/postprocessing/PostProcessingEffect.js +168 -168
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +42 -42
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +494 -494
- package/lib/engine-components/postprocessing/Volume.d.ts +90 -90
- package/lib/engine-components/postprocessing/Volume.js +385 -385
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +26 -26
- package/lib/engine-components/postprocessing/VolumeParameter.js +136 -136
- package/lib/engine-components/postprocessing/VolumeProfile.d.ts +15 -15
- package/lib/engine-components/postprocessing/VolumeProfile.js +60 -60
- package/lib/engine-components/postprocessing/index.d.ts +6 -6
- package/lib/engine-components/postprocessing/index.js +6 -6
- package/lib/engine-components/postprocessing/utils.d.ts +55 -55
- package/lib/engine-components/postprocessing/utils.js +119 -119
- package/lib/engine-components/timeline/PlayableDirector.d.ts +163 -163
- package/lib/engine-components/timeline/PlayableDirector.js +686 -686
- package/lib/engine-components/timeline/SignalAsset.d.ts +24 -24
- package/lib/engine-components/timeline/SignalAsset.js +130 -130
- package/lib/engine-components/timeline/TimelineModels.d.ts +89 -89
- package/lib/engine-components/timeline/TimelineModels.js +22 -22
- package/lib/engine-components/timeline/TimelineTracks.d.ts +110 -110
- package/lib/engine-components/timeline/TimelineTracks.js +879 -879
- package/lib/engine-components/timeline/index.d.ts +4 -4
- package/lib/engine-components/timeline/index.js +3 -3
- package/lib/engine-components/ui/BaseUIComponent.d.ts +48 -48
- package/lib/engine-components/ui/BaseUIComponent.js +170 -170
- package/lib/engine-components/ui/Button.d.ts +64 -64
- package/lib/engine-components/ui/Button.js +315 -315
- package/lib/engine-components/ui/Canvas.d.ts +74 -74
- package/lib/engine-components/ui/Canvas.js +407 -407
- package/lib/engine-components/ui/CanvasGroup.d.ts +19 -19
- package/lib/engine-components/ui/CanvasGroup.js +58 -58
- package/lib/engine-components/ui/EventSystem.d.ts +125 -125
- package/lib/engine-components/ui/EventSystem.js +765 -765
- package/lib/engine-components/ui/Graphic.d.ts +55 -55
- package/lib/engine-components/ui/Graphic.js +255 -255
- package/lib/engine-components/ui/Image.d.ts +35 -35
- package/lib/engine-components/ui/Image.js +116 -116
- package/lib/engine-components/ui/InputField.d.ts +42 -42
- package/lib/engine-components/ui/InputField.js +268 -268
- package/lib/engine-components/ui/Interfaces.d.ts +38 -38
- package/lib/engine-components/ui/Interfaces.js +12 -12
- package/lib/engine-components/ui/Layout.d.ts +84 -84
- package/lib/engine-components/ui/Layout.js +330 -330
- package/lib/engine-components/ui/Outline.d.ts +7 -7
- package/lib/engine-components/ui/Outline.js +20 -20
- package/lib/engine-components/ui/PointerEvents.d.ts +115 -115
- package/lib/engine-components/ui/PointerEvents.js +145 -145
- package/lib/engine-components/ui/RaycastUtils.d.ts +11 -11
- package/lib/engine-components/ui/RaycastUtils.js +67 -67
- package/lib/engine-components/ui/Raycaster.d.ts +30 -30
- package/lib/engine-components/ui/Raycaster.js +95 -95
- package/lib/engine-components/ui/RectTransform.d.ts +61 -61
- package/lib/engine-components/ui/RectTransform.js +356 -356
- package/lib/engine-components/ui/SpatialHtml.d.ts +8 -8
- package/lib/engine-components/ui/SpatialHtml.js +79 -79
- package/lib/engine-components/ui/Symbols.d.ts +1 -1
- package/lib/engine-components/ui/Symbols.js +1 -1
- package/lib/engine-components/ui/Text.d.ts +78 -78
- package/lib/engine-components/ui/Text.js +539 -539
- package/lib/engine-components/ui/Utils.d.ts +24 -24
- package/lib/engine-components/ui/Utils.js +90 -90
- package/lib/engine-components/ui/index.d.ts +1 -1
- package/lib/engine-components/ui/index.js +1 -1
- package/lib/engine-components/utils/EnvironmentScene.d.ts +5 -5
- package/lib/engine-components/utils/EnvironmentScene.js +205 -205
- package/lib/engine-components/utils/LookAt.d.ts +31 -31
- package/lib/engine-components/utils/LookAt.js +82 -82
- package/lib/engine-components/utils/OpenURL.d.ts +42 -42
- package/lib/engine-components/utils/OpenURL.js +119 -119
- package/lib/engine-components/webxr/Avatar.d.ts +25 -25
- package/lib/engine-components/webxr/Avatar.js +255 -255
- package/lib/engine-components/webxr/TeleportTarget.d.ts +7 -7
- package/lib/engine-components/webxr/TeleportTarget.js +7 -7
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +30 -30
- package/lib/engine-components/webxr/WebARCameraBackground.js +155 -155
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +98 -98
- package/lib/engine-components/webxr/WebARSessionRoot.js +770 -770
- package/lib/engine-components/webxr/WebXR.d.ts +232 -232
- package/lib/engine-components/webxr/WebXR.js +561 -561
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +27 -27
- package/lib/engine-components/webxr/WebXRAvatar.js +44 -44
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +86 -86
- package/lib/engine-components/webxr/WebXRImageTracking.js +471 -471
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +92 -92
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +500 -500
- package/lib/engine-components/webxr/WebXRRig.d.ts +32 -32
- package/lib/engine-components/webxr/WebXRRig.js +72 -72
- package/lib/engine-components/webxr/XRFlag.d.ts +38 -38
- package/lib/engine-components/webxr/XRFlag.js +139 -139
- package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +47 -47
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js +120 -120
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +43 -43
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +352 -352
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +78 -78
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +506 -506
- package/lib/engine-components/webxr/index.d.ts +3 -3
- package/lib/engine-components/webxr/index.js +3 -3
- package/lib/engine-components/webxr/types.d.ts +3 -3
- package/lib/engine-components/webxr/types.js +1 -1
- package/lib/engine-components-experimental/Presentation.d.ts +6 -6
- package/lib/engine-components-experimental/Presentation.js +9 -9
- package/lib/engine-components-experimental/api.d.ts +4 -4
- package/lib/engine-components-experimental/api.js +4 -4
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +156 -156
- package/lib/engine-components-experimental/networking/PlayerSync.js +377 -377
- package/lib/engine-schemes/api.d.ts +12 -12
- package/lib/engine-schemes/api.js +12 -12
- package/lib/engine-schemes/schemes.d.ts +7 -7
- package/lib/engine-schemes/schemes.js +19 -19
- package/lib/engine-schemes/synced-camera-model.d.ts +25 -25
- package/lib/engine-schemes/synced-camera-model.js +67 -67
- package/lib/engine-schemes/synced-transform-model.d.ts +31 -31
- package/lib/engine-schemes/synced-transform-model.js +66 -66
- package/lib/engine-schemes/transform.d.ts +12 -12
- package/lib/engine-schemes/transform.js +39 -39
- package/lib/engine-schemes/vec2.d.ts +10 -10
- package/lib/engine-schemes/vec2.js +25 -25
- package/lib/engine-schemes/vec3.d.ts +11 -11
- package/lib/engine-schemes/vec3.js +29 -29
- package/lib/engine-schemes/vec4.d.ts +12 -12
- package/lib/engine-schemes/vec4.js +33 -33
- package/lib/engine-schemes/vr-user-state-buffer.d.ts +37 -37
- package/lib/engine-schemes/vr-user-state-buffer.js +110 -110
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.d.ts +6 -6
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js +45 -45
- package/lib/needle-engine.d.ts +7 -7
- package/lib/needle-engine.js +64 -64
- package/package.json +2 -2
- package/plugins/common/buildinfo.js +64 -64
- package/plugins/common/cloud.js +1 -1
- package/plugins/common/config.cjs +31 -31
- package/plugins/common/config.js +35 -35
- package/plugins/common/files.js +31 -31
- package/plugins/common/generator.js +10 -10
- package/plugins/common/license.js +452 -452
- package/plugins/common/logger.js +327 -320
- package/plugins/common/npm.js +15 -15
- package/plugins/common/timers.js +7 -7
- package/plugins/common/version.js +37 -37
- package/plugins/gltf-packer.mjs +1 -1
- package/plugins/next/alias.cjs +39 -39
- package/plugins/next/license.cjs +24 -24
- package/plugins/next/meshbvhworker.cjs +18 -18
- package/plugins/next/next.js +141 -141
- package/plugins/types/index.d.ts +2 -2
- package/plugins/types/license.d.ts +24 -24
- package/plugins/types/needleConfig.d.ts +27 -27
- package/plugins/types/next.d.ts +2 -2
- package/plugins/types/userconfig.d.ts +124 -124
- package/plugins/types/vite.d.ts +13 -13
- package/plugins/types/webmanifest.d.ts +32 -32
- package/plugins/vite/alias.js +189 -189
- package/plugins/vite/asap.js +251 -251
- package/plugins/vite/build-pipeline.js +371 -371
- package/plugins/vite/build.js +19 -19
- package/plugins/vite/buildinfo.js +41 -41
- package/plugins/vite/config.js +106 -106
- package/plugins/vite/copyfiles.js +138 -138
- package/plugins/vite/defines.js +70 -70
- package/plugins/vite/dependencies.js +232 -232
- package/plugins/vite/dependency-watcher.js +237 -237
- package/plugins/vite/drop-client.js +76 -76
- package/plugins/vite/drop.js +87 -87
- package/plugins/vite/editor-connection.js +124 -124
- package/plugins/vite/facebook-instant-games.js +102 -102
- package/plugins/vite/gzip.js +5 -5
- package/plugins/vite/imports-logger.js +143 -143
- package/plugins/vite/index.js +147 -147
- package/plugins/vite/license.js +56 -56
- package/plugins/vite/local-files.js +440 -440
- package/plugins/vite/logger.client.js +272 -262
- package/plugins/vite/logger.js +100 -100
- package/plugins/vite/materialx.js +31 -31
- package/plugins/vite/meta.js +163 -163
- package/plugins/vite/npm.js +7 -7
- package/plugins/vite/peer.js +29 -29
- package/plugins/vite/poster-client.js +73 -73
- package/plugins/vite/poster.js +79 -79
- package/plugins/vite/pwa.js +604 -604
- package/plugins/vite/reload-client.js +15 -15
- package/plugins/vite/reload.js +351 -351
- package/plugins/vite/server.js +66 -66
- package/plugins/vite/transform-codegen.js +55 -55
- package/plugins/vite/transform.js +32 -32
- package/plugins/vite/vite-4.4-hack.js +31 -31
- package/src/asap/needle-asap.ts +111 -111
- package/src/asap/sessiongranted.ts +75 -75
- package/src/asap/utils.ts +4 -4
- package/src/engine/analytics/index.ts +10 -10
- package/src/engine/analytics/lcp.ts +35 -35
- package/src/engine/api.ts +82 -82
- package/src/engine/assets/index.ts +59 -59
- package/src/engine/assets/static.js +5 -5
- package/src/engine/codegen/register_types.ts +300 -300
- package/src/engine/debug/debug.ts +51 -51
- package/src/engine/debug/debug_console.ts +333 -333
- package/src/engine/debug/debug_overlay.ts +332 -332
- package/src/engine/debug/debug_spatial_console.ts +429 -429
- package/src/engine/debug/index.ts +1 -1
- package/src/engine/engine_addressables.ts +671 -680
- package/src/engine/engine_animation.ts +145 -145
- package/src/engine/engine_application.ts +113 -113
- package/src/engine/engine_assetdatabase.ts +389 -389
- package/src/engine/engine_audio.ts +24 -24
- package/src/engine/engine_camera.ts +39 -39
- package/src/engine/engine_components.ts +366 -366
- package/src/engine/engine_components_internal.ts +40 -40
- package/src/engine/engine_constants.ts +52 -52
- package/src/engine/engine_context.ts +1824 -1824
- package/src/engine/engine_context_registry.ts +129 -129
- package/src/engine/engine_coroutine.ts +54 -54
- package/src/engine/engine_create_objects.ts +411 -411
- package/src/engine/engine_default_parameters.ts +3 -3
- package/src/engine/engine_editor-sync.ts +28 -28
- package/src/engine/engine_fileloader.js +9 -9
- package/src/engine/engine_gameobject.ts +712 -712
- package/src/engine/engine_generic_utils.js +13 -13
- package/src/engine/engine_gizmos.ts +577 -577
- package/src/engine/engine_gltf.ts +29 -29
- package/src/engine/engine_gltf_builtin_components.ts +403 -403
- package/src/engine/engine_hot_reload.ts +210 -210
- package/src/engine/engine_input.ts +1500 -1500
- package/src/engine/engine_input_utils.ts +23 -23
- package/src/engine/engine_instancing.ts +45 -45
- package/src/engine/engine_license.ts +386 -386
- package/src/engine/engine_lifecycle_api.ts +113 -113
- package/src/engine/engine_lifecycle_functions_internal.ts +193 -193
- package/src/engine/engine_lightdata.ts +125 -117
- package/src/engine/engine_loaders.callbacks.ts +136 -136
- package/src/engine/engine_loaders.gltf.ts +82 -82
- package/src/engine/engine_loaders.ts +378 -378
- package/src/engine/engine_lods.ts +186 -168
- package/src/engine/engine_mainloop_utils.ts +472 -472
- package/src/engine/engine_math.ts +282 -282
- package/src/engine/engine_modules.ts +83 -83
- package/src/engine/engine_networking.ts +862 -862
- package/src/engine/engine_networking_auto.ts +352 -352
- package/src/engine/engine_networking_blob.ts +275 -275
- package/src/engine/engine_networking_files.ts +217 -217
- package/src/engine/engine_networking_files_default_components.ts +58 -58
- package/src/engine/engine_networking_instantiate.ts +419 -419
- package/src/engine/engine_networking_peer.ts +159 -159
- package/src/engine/engine_networking_streams.ts +713 -713
- package/src/engine/engine_networking_types.ts +24 -24
- package/src/engine/engine_networking_utils.ts +23 -23
- package/src/engine/engine_networking_websocket.ts +2 -2
- package/src/engine/engine_patcher.ts +199 -199
- package/src/engine/engine_physics.ts +783 -783
- package/src/engine/engine_physics.types.ts +46 -46
- package/src/engine/engine_physics_rapier.ts +1577 -1577
- package/src/engine/engine_playerview.ts +80 -80
- package/src/engine/engine_scenelighting.ts +294 -294
- package/src/engine/engine_serialization.ts +2 -2
- package/src/engine/engine_serialization_builtin_serializer.ts +473 -473
- package/src/engine/engine_serialization_core.ts +720 -720
- package/src/engine/engine_serialization_decorator.ts +80 -80
- package/src/engine/engine_setup.ts +1 -1
- package/src/engine/engine_shaders.ts +267 -267
- package/src/engine/engine_shims.ts +32 -32
- package/src/engine/engine_test_utils.ts +109 -109
- package/src/engine/engine_texture.ts +82 -82
- package/src/engine/engine_three_utils.ts +928 -928
- package/src/engine/engine_time.ts +94 -94
- package/src/engine/engine_time_utils.ts +237 -237
- package/src/engine/engine_tonemapping.ts +208 -208
- package/src/engine/engine_types.ts +730 -730
- package/src/engine/engine_typestore.ts +63 -63
- package/src/engine/engine_util_decorator.ts +136 -136
- package/src/engine/engine_utils.ts +1115 -1115
- package/src/engine/engine_utils_format.ts +273 -273
- package/src/engine/engine_utils_screenshot.ts +708 -708
- package/src/engine/engine_utils_screenshot.xr.ts +103 -103
- package/src/engine/export/gltf/Writers.ts +34 -34
- package/src/engine/export/gltf/index.ts +158 -158
- package/src/engine/export/index.ts +2 -2
- package/src/engine/export/state.ts +19 -19
- package/src/engine/export/utils.ts +9 -9
- package/src/engine/extensions/EXT_texture_exr.ts +50 -50
- package/src/engine/extensions/NEEDLE_animator_controller_model.ts +195 -195
- package/src/engine/extensions/NEEDLE_components.ts +268 -268
- package/src/engine/extensions/NEEDLE_gameobject_data.ts +81 -81
- package/src/engine/extensions/NEEDLE_lighting_settings.ts +185 -185
- package/src/engine/extensions/NEEDLE_lightmaps.ts +119 -119
- package/src/engine/extensions/NEEDLE_persistent_assets.ts +76 -76
- package/src/engine/extensions/NEEDLE_render_objects.ts +209 -209
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +640 -640
- package/src/engine/extensions/extension_resolver.ts +4 -4
- package/src/engine/extensions/extension_utils.ts +166 -166
- package/src/engine/extensions/extensions.ts +140 -140
- package/src/engine/extensions/index.ts +5 -5
- package/src/engine/extensions/usage_tracker.ts +100 -100
- package/src/engine/js-extensions/Camera.ts +37 -37
- package/src/engine/js-extensions/ExtensionUtils.ts +85 -85
- package/src/engine/js-extensions/Layers.ts +23 -23
- package/src/engine/js-extensions/Object3D.ts +296 -296
- package/src/engine/js-extensions/RGBAColor.ts +126 -126
- package/src/engine/js-extensions/Vector.ts +18 -18
- package/src/engine/js-extensions/index.ts +4 -4
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +125 -125
- package/src/engine/shaders/shaderData.ts +67 -67
- package/src/engine/tests/test_utils.ts +63 -63
- package/src/engine/webcomponents/WebXRButtons.ts +260 -260
- package/src/engine/webcomponents/api.ts +6 -6
- package/src/engine/webcomponents/buttons.ts +292 -292
- package/src/engine/webcomponents/fonts.ts +41 -41
- package/src/engine/webcomponents/icons.ts +57 -57
- package/src/engine/webcomponents/index.ts +1 -1
- package/src/engine/webcomponents/logo-element.ts +78 -78
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +573 -573
- package/src/engine/webcomponents/needle menu/needle-menu.ts +1118 -1118
- package/src/engine/webcomponents/needle-button.ts +181 -181
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +186 -186
- package/src/engine/webcomponents/needle-engine.attributes.ts +82 -82
- package/src/engine/webcomponents/needle-engine.extras.ts +16 -16
- package/src/engine/webcomponents/needle-engine.loading.ts +373 -373
- package/src/engine/webcomponents/needle-engine.ts +860 -860
- package/src/engine/xr/NeedleXRController.ts +1125 -1125
- package/src/engine/xr/NeedleXRSession.ts +1624 -1624
- package/src/engine/xr/NeedleXRSync.ts +220 -220
- package/src/engine/xr/SceneTransition.ts +78 -78
- package/src/engine/xr/TempXRContext.ts +216 -216
- package/src/engine/xr/XRRig.ts +9 -9
- package/src/engine/xr/api.ts +5 -5
- package/src/engine/xr/events.ts +102 -102
- package/src/engine/xr/internal.ts +34 -34
- package/src/engine/xr/usdz.ts +30 -30
- package/src/engine/xr/utils.ts +39 -39
- package/src/engine-components/AlignmentConstraint.ts +36 -36
- package/src/engine-components/Animation.ts +557 -557
- package/src/engine-components/AnimationCurve.ts +150 -150
- package/src/engine-components/AnimationUtils.ts +28 -28
- package/src/engine-components/AnimationUtilsAutoplay.ts +43 -43
- package/src/engine-components/Animator.ts +397 -397
- package/src/engine-components/AnimatorController.ts +1293 -1293
- package/src/engine-components/AudioListener.ts +92 -92
- package/src/engine-components/AudioSource.ts +644 -644
- package/src/engine-components/AvatarLoader.ts +263 -263
- package/src/engine-components/AxesHelper.ts +59 -59
- package/src/engine-components/BasicIKConstraint.ts +54 -54
- package/src/engine-components/BoxCollider.ts +1 -1
- package/src/engine-components/BoxHelperComponent.ts +114 -114
- package/src/engine-components/Camera.ts +719 -719
- package/src/engine-components/CameraUtils.ts +138 -138
- package/src/engine-components/CharacterController.ts +253 -253
- package/src/engine-components/Collider.ts +374 -374
- package/src/engine-components/Component.ts +1297 -1297
- package/src/engine-components/ContactShadows.ts +506 -506
- package/src/engine-components/DeleteBox.ts +62 -62
- package/src/engine-components/DeviceFlag.ts +46 -46
- package/src/engine-components/DragControls.ts +1623 -1623
- package/src/engine-components/DropListener.ts +713 -713
- package/src/engine-components/Duplicatable.ts +198 -198
- package/src/engine-components/EventList.ts +266 -266
- package/src/engine-components/EventTrigger.ts +74 -74
- package/src/engine-components/EventType.ts +22 -22
- package/src/engine-components/Fog.ts +60 -60
- package/src/engine-components/Gizmos.ts +56 -56
- package/src/engine-components/GridHelper.ts +48 -48
- package/src/engine-components/GroundProjection.ts +356 -356
- package/src/engine-components/Interactable.ts +14 -14
- package/src/engine-components/Joints.ts +52 -52
- package/src/engine-components/LODGroup.ts +153 -153
- package/src/engine-components/Light.ts +558 -558
- package/src/engine-components/LookAtConstraint.ts +25 -25
- package/src/engine-components/NeedleMenu.ts +84 -84
- package/src/engine-components/NestedGltf.ts +86 -86
- package/src/engine-components/Networking.ts +114 -114
- package/src/engine-components/OffsetConstraint.ts +60 -60
- package/src/engine-components/OrbitControls.ts +1074 -1074
- package/src/engine-components/PlayerColor.ts +103 -103
- package/src/engine-components/ReflectionProbe.ts +220 -220
- package/src/engine-components/Renderer.ts +903 -903
- package/src/engine-components/RendererInstancing.ts +855 -855
- package/src/engine-components/RendererLightmap.ts +198 -198
- package/src/engine-components/RigidBody.ts +526 -526
- package/src/engine-components/SceneSwitcher.ts +1030 -1030
- package/src/engine-components/ScreenCapture.ts +592 -592
- package/src/engine-components/ShadowCatcher.ts +172 -172
- package/src/engine-components/Skybox.ts +475 -475
- package/src/engine-components/SmoothFollow.ts +76 -76
- package/src/engine-components/SpatialTrigger.ts +229 -229
- package/src/engine-components/SpectatorCamera.ts +787 -787
- package/src/engine-components/SphereCollider.ts +1 -1
- package/src/engine-components/SpriteRenderer.ts +468 -468
- package/src/engine-components/SyncedCamera.ts +220 -220
- package/src/engine-components/SyncedRoom.ts +380 -380
- package/src/engine-components/SyncedTransform.ts +383 -383
- package/src/engine-components/TestRunner.ts +118 -118
- package/src/engine-components/TransformGizmo.ts +219 -219
- package/src/engine-components/VideoPlayer.ts +1025 -1025
- package/src/engine-components/Voip.ts +363 -363
- package/src/engine-components/api.ts +60 -60
- package/src/engine-components/avatar/AvatarBlink_Simple.ts +69 -69
- package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +63 -63
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +139 -139
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +83 -83
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +31 -31
- package/src/engine-components/codegen/components.ts +217 -217
- package/src/engine-components/debug/LogStats.ts +21 -21
- package/src/engine-components/export/gltf/GltfExport.ts +265 -265
- package/src/engine-components/export/usdz/Extension.ts +24 -24
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2426 -2426
- package/src/engine-components/export/usdz/USDZExporter.ts +705 -705
- package/src/engine-components/export/usdz/extensions/Animation.ts +1204 -1204
- package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +9 -9
- package/src/engine-components/export/usdz/extensions/NodeMaterialConverter.ts +532 -532
- package/src/engine-components/export/usdz/extensions/USDZText.ts +240 -240
- package/src/engine-components/export/usdz/extensions/USDZUI.ts +189 -189
- package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -99
- package/src/engine-components/export/usdz/extensions/behavior/AudioExtension.ts +102 -102
- package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +320 -320
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1225 -1225
- package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +646 -646
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +132 -132
- package/src/engine-components/export/usdz/index.ts +2 -2
- package/src/engine-components/export/usdz/utils/animationutils.ts +191 -191
- package/src/engine-components/export/usdz/utils/quicklook.ts +50 -50
- package/src/engine-components/particlesystem/ParticleSystem.ts +1287 -1287
- package/src/engine-components/particlesystem/ParticleSystemModules.ts +1765 -1765
- package/src/engine-components/particlesystem/ParticleSystemSubEmitter.ts +111 -111
- package/src/engine-components/particlesystem/api.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +64 -64
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +116 -116
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +37 -37
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +106 -106
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +103 -103
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +25 -25
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +32 -32
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +90 -90
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +192 -192
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +143 -143
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +61 -61
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +103 -103
- package/src/engine-components/postprocessing/Effects/Tonemapping.utils.ts +60 -60
- package/src/engine-components/postprocessing/Effects/Vignette.ts +59 -59
- package/src/engine-components/postprocessing/PostProcessingEffect.ts +192 -192
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +572 -572
- package/src/engine-components/postprocessing/Volume.ts +426 -426
- package/src/engine-components/postprocessing/VolumeParameter.ts +158 -158
- package/src/engine-components/postprocessing/VolumeProfile.ts +61 -61
- package/src/engine-components/postprocessing/index.ts +5 -5
- package/src/engine-components/postprocessing/utils.ts +154 -154
- package/src/engine-components/timeline/PlayableDirector.ts +722 -722
- package/src/engine-components/timeline/SignalAsset.ts +144 -144
- package/src/engine-components/timeline/TimelineModels.ts +92 -92
- package/src/engine-components/timeline/TimelineTracks.ts +967 -967
- package/src/engine-components/timeline/index.ts +3 -3
- package/src/engine-components/ui/BaseUIComponent.ts +203 -203
- package/src/engine-components/ui/Button.ts +307 -307
- package/src/engine-components/ui/Canvas.ts +419 -419
- package/src/engine-components/ui/CanvasGroup.ts +54 -54
- package/src/engine-components/ui/EventSystem.ts +854 -854
- package/src/engine-components/ui/Graphic.ts +275 -275
- package/src/engine-components/ui/Image.ts +112 -112
- package/src/engine-components/ui/InputField.ts +321 -321
- package/src/engine-components/ui/Interfaces.ts +57 -57
- package/src/engine-components/ui/Layout.ts +334 -334
- package/src/engine-components/ui/Outline.ts +13 -13
- package/src/engine-components/ui/PointerEvents.ts +206 -206
- package/src/engine-components/ui/RaycastUtils.ts +69 -69
- package/src/engine-components/ui/Raycaster.ts +102 -102
- package/src/engine-components/ui/RectTransform.ts +375 -375
- package/src/engine-components/ui/SpatialHtml.ts +79 -79
- package/src/engine-components/ui/Symbols.ts +1 -1
- package/src/engine-components/ui/Text.ts +578 -578
- package/src/engine-components/ui/Utils.ts +113 -113
- package/src/engine-components/utils/EnvironmentScene.ts +245 -245
- package/src/engine-components/utils/LookAt.ts +88 -88
- package/src/engine-components/utils/OpenURL.ts +114 -114
- package/src/engine-components/webxr/Avatar.ts +265 -265
- package/src/engine-components/webxr/TeleportTarget.ts +9 -9
- package/src/engine-components/webxr/WebARCameraBackground.ts +175 -175
- package/src/engine-components/webxr/WebARSessionRoot.ts +880 -880
- package/src/engine-components/webxr/WebXR.ts +585 -585
- package/src/engine-components/webxr/WebXRAvatar.ts +66 -66
- package/src/engine-components/webxr/WebXRImageTracking.ts +519 -519
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +570 -570
- package/src/engine-components/webxr/WebXRRig.ts +77 -77
- package/src/engine-components/webxr/XRFlag.ts +147 -147
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +118 -118
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +373 -373
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +550 -550
- package/src/engine-components/webxr/index.ts +2 -2
- package/src/engine-components/webxr/types.ts +3 -3
- package/src/engine-components-experimental/Presentation.ts +12 -12
- package/src/engine-components-experimental/api.ts +4 -4
- package/src/engine-components-experimental/networking/PlayerSync.ts +401 -401
- package/src/engine-schemes/COMPILE_SCHEMES.bat +3 -3
- package/src/engine-schemes/COMPILE_TS.bat +11 -11
- package/src/engine-schemes/README.md +1 -1
- package/src/engine-schemes/api.ts +12 -12
- package/src/engine-schemes/dist/api.js +17 -0
- package/src/engine-schemes/dist/api.js.meta +7 -0
- package/src/engine-schemes/dist/schemes.js +25 -0
- package/src/engine-schemes/dist/schemes.js.meta +7 -0
- package/src/engine-schemes/dist/synced-camera-model.js +74 -0
- package/src/engine-schemes/dist/synced-camera-model.js.meta +7 -0
- package/src/engine-schemes/dist/synced-transform-model.js +73 -0
- package/src/engine-schemes/dist/synced-transform-model.js.meta +7 -0
- package/src/engine-schemes/dist/transform.js +46 -0
- package/src/engine-schemes/dist/transform.js.meta +7 -0
- package/src/engine-schemes/dist/vec2.js +32 -0
- package/src/engine-schemes/dist/vec2.js.meta +7 -0
- package/src/engine-schemes/dist/vec3.js +36 -0
- package/src/engine-schemes/dist/vec3.js.meta +7 -0
- package/src/engine-schemes/dist/vec4.js +40 -0
- package/src/engine-schemes/dist/vec4.js.meta +7 -0
- package/src/engine-schemes/dist/vr-user-state-buffer.js +110 -0
- package/src/engine-schemes/dist/vr-user-state-buffer.js.meta +7 -0
- package/src/engine-schemes/schemes.ts +28 -28
- package/src/engine-schemes/synced-camera-model.ts +92 -92
- package/src/engine-schemes/synced-transform-model.ts +90 -90
- package/src/engine-schemes/syncedCamera.fbs +10 -10
- package/src/engine-schemes/transform.ts +50 -50
- package/src/engine-schemes/transforms.fbs +25 -25
- package/src/engine-schemes/vec.fbs +19 -19
- package/src/engine-schemes/vec2.ts +33 -33
- package/src/engine-schemes/vec3.ts +38 -38
- package/src/engine-schemes/vec4.ts +43 -43
- package/src/engine-schemes/vr-user-state-buffer.ts +145 -145
- package/src/engine-schemes/vrUserStateBuffer.fbs +17 -17
- package/src/include/draco/draco_decoder.js +34 -34
- package/src/include/ktx2/basis_transcoder.js +21 -21
- package/src/include/needle/arial-msdf.json +1471 -1471
- package/src/include/three/DragControls.js +231 -231
- package/src/include/three/EXT_mesh_gpu_instancing_exporter.js +66 -66
- package/src/needle-engine.ts +70 -70
- package/dist/generateMeshBVH.worker-BaNp_Xtp.js +0 -25
- package/dist/gltf-progressive-Bl4okF1b.min.js +0 -8
- package/dist/gltf-progressive-DSpdn0QT.js +0 -1054
- package/dist/gltf-progressive-P8b8a0qY.umd.cjs +0 -8
|
@@ -1,342 +1,342 @@
|
|
|
1
|
-
import "./codegen/register_types.js";
|
|
2
|
-
import { LogType, showBalloonMessage } from "./debug/index.js";
|
|
3
|
-
import { addNewComponent } from "./engine_components.js";
|
|
4
|
-
import { builtinComponentKeyName, editorGuidKeyName } from "./engine_constants.js";
|
|
5
|
-
import { debugExtension } from "./engine_default_parameters.js";
|
|
6
|
-
import { InstantiateIdProvider } from "./engine_networking_instantiate.js";
|
|
7
|
-
import { isLocalNetwork } from "./engine_networking_utils.js";
|
|
8
|
-
import { deserializeObject, serializeObject } from "./engine_serialization.js";
|
|
9
|
-
import { assign, ImplementationInformation, SerializationContext } from "./engine_serialization_core.js";
|
|
10
|
-
import { TypeStore } from "./engine_typestore.js";
|
|
11
|
-
import { getParam } from "./engine_utils.js";
|
|
12
|
-
const debug = debugExtension;
|
|
13
|
-
const debugTypeStore = getParam("debugtypestore");
|
|
14
|
-
if (debugTypeStore)
|
|
15
|
-
console.log(TypeStore);
|
|
16
|
-
export function writeBuiltinComponentData(comp, context) {
|
|
17
|
-
// const fn = (comp as unknown as ISerializable)?.onBeforeSerialize;
|
|
18
|
-
// if (fn) {
|
|
19
|
-
// const res = fn?.call(comp);
|
|
20
|
-
// if (res !== undefined) {
|
|
21
|
-
// res["name"] = comp.constructor.name;
|
|
22
|
-
// return res;
|
|
23
|
-
// }
|
|
24
|
-
// }
|
|
25
|
-
const serializable = comp;
|
|
26
|
-
const data = serializeObject(serializable, context);
|
|
27
|
-
// console.log(data);
|
|
28
|
-
if (data !== undefined)
|
|
29
|
-
return data;
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
const typeImplementationInformation = new ImplementationInformation();
|
|
33
|
-
const $context_deserialize_queue = Symbol("deserialize-queue");
|
|
34
|
-
export async function createBuiltinComponents(context, gltfId, gltf, seed = null, extension) {
|
|
35
|
-
if (!gltf) {
|
|
36
|
-
console.debug("Can not create component instances: gltf is null");
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const lateResolve = [];
|
|
40
|
-
let idProvider = seed;
|
|
41
|
-
if (typeof idProvider === "number") {
|
|
42
|
-
idProvider = new InstantiateIdProvider(seed);
|
|
43
|
-
}
|
|
44
|
-
const idEnd = gltfId.indexOf("?");
|
|
45
|
-
gltfId = idEnd === -1 ? gltfId : gltfId.substring(0, idEnd);
|
|
46
|
-
const serializationContext = new SerializationContext(gltf.scene);
|
|
47
|
-
serializationContext.gltfId = gltfId;
|
|
48
|
-
serializationContext.context = context;
|
|
49
|
-
serializationContext.gltf = gltf;
|
|
50
|
-
serializationContext.nodeToObject = extension?.nodeToObjectMap;
|
|
51
|
-
serializationContext.implementationInformation = typeImplementationInformation;
|
|
52
|
-
// If we're loading multiple gltf files in one scene we need to make sure we deserialize all of them in one go
|
|
53
|
-
// for that we collect them in one list per context
|
|
54
|
-
let deserializeQueue = context[$context_deserialize_queue];
|
|
55
|
-
if (!deserializeQueue)
|
|
56
|
-
deserializeQueue = context[$context_deserialize_queue] = [];
|
|
57
|
-
if (gltf.scenes) {
|
|
58
|
-
for (const scene of gltf.scenes) {
|
|
59
|
-
await onCreateBuiltinComponents(serializationContext, scene, deserializeQueue, lateResolve);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
// TODO: when is the gltf here an object3d?
|
|
63
|
-
if (gltf.children) {
|
|
64
|
-
for (const ch of gltf.children) {
|
|
65
|
-
await onCreateBuiltinComponents(serializationContext, ch, deserializeQueue, lateResolve);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
context.new_scripts_pre_setup_callbacks.push(() => {
|
|
69
|
-
// First deserialize ALL components that were loaded before pre setup
|
|
70
|
-
// Down below they get new guids assigned so we have to do all of them first
|
|
71
|
-
// E.g. in cases where we load multiple glb files on startup from one scene
|
|
72
|
-
// and they might have cross-glb references
|
|
73
|
-
const queue = context[$context_deserialize_queue];
|
|
74
|
-
if (queue) {
|
|
75
|
-
for (const des of queue) {
|
|
76
|
-
handleDeserialization(des, serializationContext);
|
|
77
|
-
}
|
|
78
|
-
queue.length = 0;
|
|
79
|
-
}
|
|
80
|
-
// when dropping the same file multiple times we need to generate new guids
|
|
81
|
-
// e.g. SyncedTransform sends its own guid to the server to know about ownership
|
|
82
|
-
// so it requires a unique guid for a new instance
|
|
83
|
-
// doing it here at the end of resolving of references should ensure that
|
|
84
|
-
// and this should run before awake and onenable of newly created components
|
|
85
|
-
if (idProvider) {
|
|
86
|
-
// TODO: should we do this after setup callbacks now?
|
|
87
|
-
const guidsMap = {};
|
|
88
|
-
const resolveGuids = [];
|
|
89
|
-
// TODO: when is the gltf here an object3d?
|
|
90
|
-
recursiveCreateGuids(gltf, idProvider, guidsMap, resolveGuids);
|
|
91
|
-
for (const scene of gltf.scenes)
|
|
92
|
-
recursiveCreateGuids(scene, idProvider, guidsMap, resolveGuids);
|
|
93
|
-
// make sure to resolve all guids AFTER new guids have been assigned
|
|
94
|
-
for (const res of resolveGuids) {
|
|
95
|
-
res.resolveGuids(guidsMap);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
const originalComponentNameKey = Symbol("original-component-name");
|
|
101
|
-
/**
|
|
102
|
-
* We want to create one id provider per component
|
|
103
|
-
* If a component is used multiple times we want to create a new id provider for each instance
|
|
104
|
-
* That way the order of components in the scene doesnt affect the result GUID
|
|
105
|
-
*/
|
|
106
|
-
// TODO: clear this when re-loading the context
|
|
107
|
-
const idProviderCache = new Map();
|
|
108
|
-
function recursiveCreateGuids(obj, idProvider, guidsMap, resolveGuids) {
|
|
109
|
-
if (idProvider === null)
|
|
110
|
-
return;
|
|
111
|
-
if (!obj)
|
|
112
|
-
return;
|
|
113
|
-
const prev = obj.guid;
|
|
114
|
-
// we also want to use the idproviderCache for objects because they might be removed or re-ordered in the scene hierarchy
|
|
115
|
-
// in which case we dont want to e.g. change the syncedInstantiate objects that get created because suddenly another object has that guid
|
|
116
|
-
const idProviderKey = obj.guid;
|
|
117
|
-
if (idProviderKey?.length) {
|
|
118
|
-
if (!idProviderCache.has(idProviderKey)) {
|
|
119
|
-
if (debug)
|
|
120
|
-
console.log("Creating InstanceIdProvider with key \"" + idProviderKey + "\" for object " + obj.name);
|
|
121
|
-
idProviderCache.set(idProviderKey, new InstantiateIdProvider(idProviderKey));
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
const objectIdProvider = idProviderKey && idProviderCache.get(idProviderKey) || idProvider;
|
|
125
|
-
obj.guid = objectIdProvider.generateUUID();
|
|
126
|
-
if (prev && prev !== "invalid")
|
|
127
|
-
guidsMap[prev] = obj.guid;
|
|
128
|
-
// console.log(obj);
|
|
129
|
-
if (obj && obj.userData && obj.userData.components) {
|
|
130
|
-
for (const comp of obj.userData.components) {
|
|
131
|
-
if (comp === null)
|
|
132
|
-
continue;
|
|
133
|
-
// by default we use the component guid as a key - order of the components in the scene doesnt matter with this approach
|
|
134
|
-
// this is to prevent cases where multiple GLBs are loaded with the same component guid
|
|
135
|
-
const idProviderKey = comp.guid;
|
|
136
|
-
if (idProviderKey) {
|
|
137
|
-
if (!idProviderCache.has(idProviderKey)) {
|
|
138
|
-
if (debug)
|
|
139
|
-
console.log("Creating InstanceIdProvider with key \"" + idProviderKey + "\" for component " + comp[originalComponentNameKey]);
|
|
140
|
-
idProviderCache.set(idProviderKey, new InstantiateIdProvider(idProviderKey));
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
else if (debug)
|
|
144
|
-
console.warn("Can not create IdProvider: component " + comp[originalComponentNameKey] + " has no guid", comp.guid);
|
|
145
|
-
const componentIdProvider = idProviderCache.get(idProviderKey) || idProvider;
|
|
146
|
-
const prev = comp.guid;
|
|
147
|
-
comp.guid = componentIdProvider.generateUUID();
|
|
148
|
-
if (prev && prev !== "invalid")
|
|
149
|
-
guidsMap[prev] = comp.guid;
|
|
150
|
-
if (comp.resolveGuids)
|
|
151
|
-
resolveGuids.push(comp);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
if (obj.children) {
|
|
155
|
-
for (const child of obj.children) {
|
|
156
|
-
recursiveCreateGuids(child, idProvider, guidsMap, resolveGuids);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
const unknownComponentsBuffer = [];
|
|
161
|
-
async function onCreateBuiltinComponents(context, obj, deserialize, lateResolve) {
|
|
162
|
-
if (!obj)
|
|
163
|
-
return;
|
|
164
|
-
// iterate injected data
|
|
165
|
-
const data = obj.userData;
|
|
166
|
-
if (data) {
|
|
167
|
-
const components = data.builtin_components;
|
|
168
|
-
if (components && components.length > 0) {
|
|
169
|
-
// console.log(obj);
|
|
170
|
-
for (const compData of components) {
|
|
171
|
-
try {
|
|
172
|
-
if (compData === null)
|
|
173
|
-
continue;
|
|
174
|
-
const type = TypeStore.get(compData.name);
|
|
175
|
-
// console.log(compData, compData.name, type, TypeStore);
|
|
176
|
-
if (type !== undefined && type !== null) {
|
|
177
|
-
const instance = new type();
|
|
178
|
-
instance.sourceId = context.gltfId;
|
|
179
|
-
// assign basic fields
|
|
180
|
-
assign(instance, compData, context.implementationInformation);
|
|
181
|
-
// make sure we assign the Needle Engine Context because Context.Current is unreliable when loading multiple <needle-engine> elements at the same time due to async processes
|
|
182
|
-
instance.context = context.context;
|
|
183
|
-
// assign the guid of the original instance
|
|
184
|
-
if ("guid" in compData)
|
|
185
|
-
instance[editorGuidKeyName] = compData.guid;
|
|
186
|
-
// we store the original component name per component which will later be used to get or initialize the InstanceIdProvider
|
|
187
|
-
instance[originalComponentNameKey] = compData.name;
|
|
188
|
-
// Object.assign(instance, compData);
|
|
189
|
-
// dont call awake here because some references might not be resolved yet and components that access those fields in awake will throw
|
|
190
|
-
// for example Duplicatable reference to object might still be { node: id }
|
|
191
|
-
const callAwake = false;
|
|
192
|
-
addNewComponent(obj, instance, callAwake);
|
|
193
|
-
deserialize.push({ instance, compData, obj });
|
|
194
|
-
// if the component instance is a camera and we dont have a main camera yet
|
|
195
|
-
// we want to assign it to the context BEFORE any component becomes active (ensuring that in awake and onEnable the mainCamera is assigned)
|
|
196
|
-
// alternatively we could try to search for the mainCamera in the getter of the context when creating the engine for the first time
|
|
197
|
-
if (instance.isCamera && context.context) {
|
|
198
|
-
if (context.context.mainCamera === null && (instance.tag === "MainCamera"))
|
|
199
|
-
context.context.setCurrentCamera(instance);
|
|
200
|
-
}
|
|
201
|
-
// if the component is a rigidbody or collider and the physics engine is not initialized yet
|
|
202
|
-
// initialize the physics engine right away
|
|
203
|
-
if (context.context?.physics?.engine?.isInitialized === false && (instance.isCollider || instance.isRigidbody)) {
|
|
204
|
-
context.context?.physics.engine?.initialize();
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
if (debug)
|
|
209
|
-
console.debug("unknown component: " + compData.name);
|
|
210
|
-
if (!unknownComponentsBuffer.includes(compData.name))
|
|
211
|
-
unknownComponentsBuffer.push(compData.name);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
catch (err) {
|
|
215
|
-
console.error(compData.name + " - " + err.message, err);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
// console.debug("finished adding gltf builtin components", obj);
|
|
219
|
-
}
|
|
220
|
-
if (unknownComponentsBuffer.length > 0) {
|
|
221
|
-
const unknown = unknownComponentsBuffer.join(", ");
|
|
222
|
-
console.warn("unknown components: " + unknown);
|
|
223
|
-
unknownComponentsBuffer.length = 0;
|
|
224
|
-
if (isLocalNetwork())
|
|
225
|
-
showBalloonMessage(`<strong>Unknown components in scene</strong>:\n\n${unknown}\n\nThis could mean you forgot to add a npmdef to your ExportInfo\n<a href="https://engine.needle.tools/docs/project_structure.html#creating-and-installing-a-npmdef" target="_blank">documentation</a>`, LogType.Warn);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
if (obj.children) {
|
|
229
|
-
for (const ch of obj.children) {
|
|
230
|
-
await onCreateBuiltinComponents(context, ch, deserialize, lateResolve);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
function handleDeserialization(data, context) {
|
|
235
|
-
const { instance, compData, obj } = data;
|
|
236
|
-
context.object = obj;
|
|
237
|
-
context.target = instance;
|
|
238
|
-
// const beforeFn = (instance as ISerializationCallbackReceiver)?.onBeforeDeserialize;
|
|
239
|
-
// console.log(beforeFn, instance);
|
|
240
|
-
// if (beforeFn) beforeFn.call(instance, data.compData);
|
|
241
|
-
let deserialized = true;
|
|
242
|
-
// console.log(instance, compData);
|
|
243
|
-
// TODO: first build components and then deserialize data?
|
|
244
|
-
// currently a component referencing another component can not find it if the referenced component hasnt been added
|
|
245
|
-
// we should split this up in two steps then.
|
|
246
|
-
deserialized = deserializeObject(instance, compData, context) === true;
|
|
247
|
-
// if (!deserialized) {
|
|
248
|
-
// // now loop through data again and search for special reference types
|
|
249
|
-
// for (const key in compData) {
|
|
250
|
-
// const entry = compData[key];
|
|
251
|
-
// if (!entry) {
|
|
252
|
-
// instance[key] = null;
|
|
253
|
-
// continue;
|
|
254
|
-
// }
|
|
255
|
-
// const fn = (instance as ISerializationCallbackReceiver)?.onDeserialize;
|
|
256
|
-
// if (fn) {
|
|
257
|
-
// const res = fn.call(instance, key, entry);
|
|
258
|
-
// if (res !== undefined) {
|
|
259
|
-
// instance[key] = res;
|
|
260
|
-
// continue;
|
|
261
|
-
// }
|
|
262
|
-
// }
|
|
263
|
-
// // if (!resolve(instance, key, entry, lateResolve)) {
|
|
264
|
-
// // }
|
|
265
|
-
// }
|
|
266
|
-
// }
|
|
267
|
-
// console.log(instance);
|
|
268
|
-
// const afterFn = (instance as ISerializationCallbackReceiver)?.onAfterDeserialize;
|
|
269
|
-
// if (afterFn) afterFn.call(instance);
|
|
270
|
-
if (debug)
|
|
271
|
-
console.debug("add " + compData.name, compData, instance);
|
|
272
|
-
}
|
|
273
|
-
// // TODO: THIS should be legacy once we update unity builtin component exports
|
|
274
|
-
// function resolve(instance, key: string, entry, lateResolve: LateResolveCallback[]): boolean {
|
|
275
|
-
// switch (entry["$type"]) {
|
|
276
|
-
// default:
|
|
277
|
-
// const type = entry["$type"];
|
|
278
|
-
// if (type !== undefined) {
|
|
279
|
-
// const res = tryResolveType(type, entry);
|
|
280
|
-
// if (res !== undefined)
|
|
281
|
-
// instance[key] = res;
|
|
282
|
-
// return res !== undefined;
|
|
283
|
-
// }
|
|
284
|
-
// break;
|
|
285
|
-
// // the thing is a reference
|
|
286
|
-
// case "reference":
|
|
287
|
-
// // we expect some identifier entry to use for finding the reference
|
|
288
|
-
// const guid = entry["guid"];
|
|
289
|
-
// lateResolve.push(async (gltf) => {
|
|
290
|
-
// instance[key] = findInGltf(guid, gltf);
|
|
291
|
-
// });
|
|
292
|
-
// return true;
|
|
293
|
-
// }
|
|
294
|
-
// if (Array.isArray(entry)) {
|
|
295
|
-
// // the thing is an array
|
|
296
|
-
// const targetArray = instance[key];
|
|
297
|
-
// for (const index in entry) {
|
|
298
|
-
// const val = entry[index];
|
|
299
|
-
// if (val === null) {
|
|
300
|
-
// targetArray[index] = null;
|
|
301
|
-
// continue;
|
|
302
|
-
// }
|
|
303
|
-
// switch (val["$type"]) {
|
|
304
|
-
// default:
|
|
305
|
-
// const type = val["$type"];
|
|
306
|
-
// if (type !== undefined) {
|
|
307
|
-
// const res = tryResolveType(type, entry);
|
|
308
|
-
// if (res !== undefined) targetArray[index] = res;
|
|
309
|
-
// }
|
|
310
|
-
// break;
|
|
311
|
-
// case "reference":
|
|
312
|
-
// // this entry is a reference
|
|
313
|
-
// const guid = val["guid"];
|
|
314
|
-
// lateResolve.push(async (gltf) => {
|
|
315
|
-
// targetArray[index] = findInGltf(guid, gltf);
|
|
316
|
-
// });
|
|
317
|
-
// break;
|
|
318
|
-
// }
|
|
319
|
-
// }
|
|
320
|
-
// return true;
|
|
321
|
-
// }
|
|
322
|
-
// return false;
|
|
323
|
-
// }
|
|
324
|
-
// function findInGltf(guid: string, gltf) {
|
|
325
|
-
// let res = tools.tryFindScript(guid);
|
|
326
|
-
// if (!res) res = tools.tryFindObject(guid, gltf, true);
|
|
327
|
-
// return res;
|
|
328
|
-
// }
|
|
329
|
-
// function tryResolveType(type, entry): any | undefined {
|
|
330
|
-
// switch (type) {
|
|
331
|
-
// case "Vector2":
|
|
332
|
-
// return new Vector2(entry.x, entry.y);
|
|
333
|
-
// case "Vector3":
|
|
334
|
-
// return new Vector3(entry.x, entry.y, entry.z);
|
|
335
|
-
// case "Vector4":
|
|
336
|
-
// return new Vector4(entry.x, entry.y, entry.z, entry.w);
|
|
337
|
-
// case "Quaternion":
|
|
338
|
-
// return new Quaternion(entry.x, entry.y, entry.z, entry.w);
|
|
339
|
-
// }
|
|
340
|
-
// return undefined;
|
|
341
|
-
// }
|
|
1
|
+
import "./codegen/register_types.js";
|
|
2
|
+
import { LogType, showBalloonMessage } from "./debug/index.js";
|
|
3
|
+
import { addNewComponent } from "./engine_components.js";
|
|
4
|
+
import { builtinComponentKeyName, editorGuidKeyName } from "./engine_constants.js";
|
|
5
|
+
import { debugExtension } from "./engine_default_parameters.js";
|
|
6
|
+
import { InstantiateIdProvider } from "./engine_networking_instantiate.js";
|
|
7
|
+
import { isLocalNetwork } from "./engine_networking_utils.js";
|
|
8
|
+
import { deserializeObject, serializeObject } from "./engine_serialization.js";
|
|
9
|
+
import { assign, ImplementationInformation, SerializationContext } from "./engine_serialization_core.js";
|
|
10
|
+
import { TypeStore } from "./engine_typestore.js";
|
|
11
|
+
import { getParam } from "./engine_utils.js";
|
|
12
|
+
const debug = debugExtension;
|
|
13
|
+
const debugTypeStore = getParam("debugtypestore");
|
|
14
|
+
if (debugTypeStore)
|
|
15
|
+
console.log(TypeStore);
|
|
16
|
+
export function writeBuiltinComponentData(comp, context) {
|
|
17
|
+
// const fn = (comp as unknown as ISerializable)?.onBeforeSerialize;
|
|
18
|
+
// if (fn) {
|
|
19
|
+
// const res = fn?.call(comp);
|
|
20
|
+
// if (res !== undefined) {
|
|
21
|
+
// res["name"] = comp.constructor.name;
|
|
22
|
+
// return res;
|
|
23
|
+
// }
|
|
24
|
+
// }
|
|
25
|
+
const serializable = comp;
|
|
26
|
+
const data = serializeObject(serializable, context);
|
|
27
|
+
// console.log(data);
|
|
28
|
+
if (data !== undefined)
|
|
29
|
+
return data;
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
const typeImplementationInformation = new ImplementationInformation();
|
|
33
|
+
const $context_deserialize_queue = Symbol("deserialize-queue");
|
|
34
|
+
export async function createBuiltinComponents(context, gltfId, gltf, seed = null, extension) {
|
|
35
|
+
if (!gltf) {
|
|
36
|
+
console.debug("Can not create component instances: gltf is null");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const lateResolve = [];
|
|
40
|
+
let idProvider = seed;
|
|
41
|
+
if (typeof idProvider === "number") {
|
|
42
|
+
idProvider = new InstantiateIdProvider(seed);
|
|
43
|
+
}
|
|
44
|
+
const idEnd = gltfId.indexOf("?");
|
|
45
|
+
gltfId = idEnd === -1 ? gltfId : gltfId.substring(0, idEnd);
|
|
46
|
+
const serializationContext = new SerializationContext(gltf.scene);
|
|
47
|
+
serializationContext.gltfId = gltfId;
|
|
48
|
+
serializationContext.context = context;
|
|
49
|
+
serializationContext.gltf = gltf;
|
|
50
|
+
serializationContext.nodeToObject = extension?.nodeToObjectMap;
|
|
51
|
+
serializationContext.implementationInformation = typeImplementationInformation;
|
|
52
|
+
// If we're loading multiple gltf files in one scene we need to make sure we deserialize all of them in one go
|
|
53
|
+
// for that we collect them in one list per context
|
|
54
|
+
let deserializeQueue = context[$context_deserialize_queue];
|
|
55
|
+
if (!deserializeQueue)
|
|
56
|
+
deserializeQueue = context[$context_deserialize_queue] = [];
|
|
57
|
+
if (gltf.scenes) {
|
|
58
|
+
for (const scene of gltf.scenes) {
|
|
59
|
+
await onCreateBuiltinComponents(serializationContext, scene, deserializeQueue, lateResolve);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// TODO: when is the gltf here an object3d?
|
|
63
|
+
if (gltf.children) {
|
|
64
|
+
for (const ch of gltf.children) {
|
|
65
|
+
await onCreateBuiltinComponents(serializationContext, ch, deserializeQueue, lateResolve);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
context.new_scripts_pre_setup_callbacks.push(() => {
|
|
69
|
+
// First deserialize ALL components that were loaded before pre setup
|
|
70
|
+
// Down below they get new guids assigned so we have to do all of them first
|
|
71
|
+
// E.g. in cases where we load multiple glb files on startup from one scene
|
|
72
|
+
// and they might have cross-glb references
|
|
73
|
+
const queue = context[$context_deserialize_queue];
|
|
74
|
+
if (queue) {
|
|
75
|
+
for (const des of queue) {
|
|
76
|
+
handleDeserialization(des, serializationContext);
|
|
77
|
+
}
|
|
78
|
+
queue.length = 0;
|
|
79
|
+
}
|
|
80
|
+
// when dropping the same file multiple times we need to generate new guids
|
|
81
|
+
// e.g. SyncedTransform sends its own guid to the server to know about ownership
|
|
82
|
+
// so it requires a unique guid for a new instance
|
|
83
|
+
// doing it here at the end of resolving of references should ensure that
|
|
84
|
+
// and this should run before awake and onenable of newly created components
|
|
85
|
+
if (idProvider) {
|
|
86
|
+
// TODO: should we do this after setup callbacks now?
|
|
87
|
+
const guidsMap = {};
|
|
88
|
+
const resolveGuids = [];
|
|
89
|
+
// TODO: when is the gltf here an object3d?
|
|
90
|
+
recursiveCreateGuids(gltf, idProvider, guidsMap, resolveGuids);
|
|
91
|
+
for (const scene of gltf.scenes)
|
|
92
|
+
recursiveCreateGuids(scene, idProvider, guidsMap, resolveGuids);
|
|
93
|
+
// make sure to resolve all guids AFTER new guids have been assigned
|
|
94
|
+
for (const res of resolveGuids) {
|
|
95
|
+
res.resolveGuids(guidsMap);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
const originalComponentNameKey = Symbol("original-component-name");
|
|
101
|
+
/**
|
|
102
|
+
* We want to create one id provider per component
|
|
103
|
+
* If a component is used multiple times we want to create a new id provider for each instance
|
|
104
|
+
* That way the order of components in the scene doesnt affect the result GUID
|
|
105
|
+
*/
|
|
106
|
+
// TODO: clear this when re-loading the context
|
|
107
|
+
const idProviderCache = new Map();
|
|
108
|
+
function recursiveCreateGuids(obj, idProvider, guidsMap, resolveGuids) {
|
|
109
|
+
if (idProvider === null)
|
|
110
|
+
return;
|
|
111
|
+
if (!obj)
|
|
112
|
+
return;
|
|
113
|
+
const prev = obj.guid;
|
|
114
|
+
// we also want to use the idproviderCache for objects because they might be removed or re-ordered in the scene hierarchy
|
|
115
|
+
// in which case we dont want to e.g. change the syncedInstantiate objects that get created because suddenly another object has that guid
|
|
116
|
+
const idProviderKey = obj.guid;
|
|
117
|
+
if (idProviderKey?.length) {
|
|
118
|
+
if (!idProviderCache.has(idProviderKey)) {
|
|
119
|
+
if (debug)
|
|
120
|
+
console.log("Creating InstanceIdProvider with key \"" + idProviderKey + "\" for object " + obj.name);
|
|
121
|
+
idProviderCache.set(idProviderKey, new InstantiateIdProvider(idProviderKey));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
const objectIdProvider = idProviderKey && idProviderCache.get(idProviderKey) || idProvider;
|
|
125
|
+
obj.guid = objectIdProvider.generateUUID();
|
|
126
|
+
if (prev && prev !== "invalid")
|
|
127
|
+
guidsMap[prev] = obj.guid;
|
|
128
|
+
// console.log(obj);
|
|
129
|
+
if (obj && obj.userData && obj.userData.components) {
|
|
130
|
+
for (const comp of obj.userData.components) {
|
|
131
|
+
if (comp === null)
|
|
132
|
+
continue;
|
|
133
|
+
// by default we use the component guid as a key - order of the components in the scene doesnt matter with this approach
|
|
134
|
+
// this is to prevent cases where multiple GLBs are loaded with the same component guid
|
|
135
|
+
const idProviderKey = comp.guid;
|
|
136
|
+
if (idProviderKey) {
|
|
137
|
+
if (!idProviderCache.has(idProviderKey)) {
|
|
138
|
+
if (debug)
|
|
139
|
+
console.log("Creating InstanceIdProvider with key \"" + idProviderKey + "\" for component " + comp[originalComponentNameKey]);
|
|
140
|
+
idProviderCache.set(idProviderKey, new InstantiateIdProvider(idProviderKey));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
else if (debug)
|
|
144
|
+
console.warn("Can not create IdProvider: component " + comp[originalComponentNameKey] + " has no guid", comp.guid);
|
|
145
|
+
const componentIdProvider = idProviderCache.get(idProviderKey) || idProvider;
|
|
146
|
+
const prev = comp.guid;
|
|
147
|
+
comp.guid = componentIdProvider.generateUUID();
|
|
148
|
+
if (prev && prev !== "invalid")
|
|
149
|
+
guidsMap[prev] = comp.guid;
|
|
150
|
+
if (comp.resolveGuids)
|
|
151
|
+
resolveGuids.push(comp);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (obj.children) {
|
|
155
|
+
for (const child of obj.children) {
|
|
156
|
+
recursiveCreateGuids(child, idProvider, guidsMap, resolveGuids);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
const unknownComponentsBuffer = [];
|
|
161
|
+
async function onCreateBuiltinComponents(context, obj, deserialize, lateResolve) {
|
|
162
|
+
if (!obj)
|
|
163
|
+
return;
|
|
164
|
+
// iterate injected data
|
|
165
|
+
const data = obj.userData;
|
|
166
|
+
if (data) {
|
|
167
|
+
const components = data.builtin_components;
|
|
168
|
+
if (components && components.length > 0) {
|
|
169
|
+
// console.log(obj);
|
|
170
|
+
for (const compData of components) {
|
|
171
|
+
try {
|
|
172
|
+
if (compData === null)
|
|
173
|
+
continue;
|
|
174
|
+
const type = TypeStore.get(compData.name);
|
|
175
|
+
// console.log(compData, compData.name, type, TypeStore);
|
|
176
|
+
if (type !== undefined && type !== null) {
|
|
177
|
+
const instance = new type();
|
|
178
|
+
instance.sourceId = context.gltfId;
|
|
179
|
+
// assign basic fields
|
|
180
|
+
assign(instance, compData, context.implementationInformation);
|
|
181
|
+
// make sure we assign the Needle Engine Context because Context.Current is unreliable when loading multiple <needle-engine> elements at the same time due to async processes
|
|
182
|
+
instance.context = context.context;
|
|
183
|
+
// assign the guid of the original instance
|
|
184
|
+
if ("guid" in compData)
|
|
185
|
+
instance[editorGuidKeyName] = compData.guid;
|
|
186
|
+
// we store the original component name per component which will later be used to get or initialize the InstanceIdProvider
|
|
187
|
+
instance[originalComponentNameKey] = compData.name;
|
|
188
|
+
// Object.assign(instance, compData);
|
|
189
|
+
// dont call awake here because some references might not be resolved yet and components that access those fields in awake will throw
|
|
190
|
+
// for example Duplicatable reference to object might still be { node: id }
|
|
191
|
+
const callAwake = false;
|
|
192
|
+
addNewComponent(obj, instance, callAwake);
|
|
193
|
+
deserialize.push({ instance, compData, obj });
|
|
194
|
+
// if the component instance is a camera and we dont have a main camera yet
|
|
195
|
+
// we want to assign it to the context BEFORE any component becomes active (ensuring that in awake and onEnable the mainCamera is assigned)
|
|
196
|
+
// alternatively we could try to search for the mainCamera in the getter of the context when creating the engine for the first time
|
|
197
|
+
if (instance.isCamera && context.context) {
|
|
198
|
+
if (context.context.mainCamera === null && (instance.tag === "MainCamera"))
|
|
199
|
+
context.context.setCurrentCamera(instance);
|
|
200
|
+
}
|
|
201
|
+
// if the component is a rigidbody or collider and the physics engine is not initialized yet
|
|
202
|
+
// initialize the physics engine right away
|
|
203
|
+
if (context.context?.physics?.engine?.isInitialized === false && (instance.isCollider || instance.isRigidbody)) {
|
|
204
|
+
context.context?.physics.engine?.initialize();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
if (debug)
|
|
209
|
+
console.debug("unknown component: " + compData.name);
|
|
210
|
+
if (!unknownComponentsBuffer.includes(compData.name))
|
|
211
|
+
unknownComponentsBuffer.push(compData.name);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
catch (err) {
|
|
215
|
+
console.error(compData.name + " - " + err.message, err);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// console.debug("finished adding gltf builtin components", obj);
|
|
219
|
+
}
|
|
220
|
+
if (unknownComponentsBuffer.length > 0) {
|
|
221
|
+
const unknown = unknownComponentsBuffer.join(", ");
|
|
222
|
+
console.warn("unknown components: " + unknown);
|
|
223
|
+
unknownComponentsBuffer.length = 0;
|
|
224
|
+
if (isLocalNetwork())
|
|
225
|
+
showBalloonMessage(`<strong>Unknown components in scene</strong>:\n\n${unknown}\n\nThis could mean you forgot to add a npmdef to your ExportInfo\n<a href="https://engine.needle.tools/docs/project_structure.html#creating-and-installing-a-npmdef" target="_blank">documentation</a>`, LogType.Warn);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (obj.children) {
|
|
229
|
+
for (const ch of obj.children) {
|
|
230
|
+
await onCreateBuiltinComponents(context, ch, deserialize, lateResolve);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
function handleDeserialization(data, context) {
|
|
235
|
+
const { instance, compData, obj } = data;
|
|
236
|
+
context.object = obj;
|
|
237
|
+
context.target = instance;
|
|
238
|
+
// const beforeFn = (instance as ISerializationCallbackReceiver)?.onBeforeDeserialize;
|
|
239
|
+
// console.log(beforeFn, instance);
|
|
240
|
+
// if (beforeFn) beforeFn.call(instance, data.compData);
|
|
241
|
+
let deserialized = true;
|
|
242
|
+
// console.log(instance, compData);
|
|
243
|
+
// TODO: first build components and then deserialize data?
|
|
244
|
+
// currently a component referencing another component can not find it if the referenced component hasnt been added
|
|
245
|
+
// we should split this up in two steps then.
|
|
246
|
+
deserialized = deserializeObject(instance, compData, context) === true;
|
|
247
|
+
// if (!deserialized) {
|
|
248
|
+
// // now loop through data again and search for special reference types
|
|
249
|
+
// for (const key in compData) {
|
|
250
|
+
// const entry = compData[key];
|
|
251
|
+
// if (!entry) {
|
|
252
|
+
// instance[key] = null;
|
|
253
|
+
// continue;
|
|
254
|
+
// }
|
|
255
|
+
// const fn = (instance as ISerializationCallbackReceiver)?.onDeserialize;
|
|
256
|
+
// if (fn) {
|
|
257
|
+
// const res = fn.call(instance, key, entry);
|
|
258
|
+
// if (res !== undefined) {
|
|
259
|
+
// instance[key] = res;
|
|
260
|
+
// continue;
|
|
261
|
+
// }
|
|
262
|
+
// }
|
|
263
|
+
// // if (!resolve(instance, key, entry, lateResolve)) {
|
|
264
|
+
// // }
|
|
265
|
+
// }
|
|
266
|
+
// }
|
|
267
|
+
// console.log(instance);
|
|
268
|
+
// const afterFn = (instance as ISerializationCallbackReceiver)?.onAfterDeserialize;
|
|
269
|
+
// if (afterFn) afterFn.call(instance);
|
|
270
|
+
if (debug)
|
|
271
|
+
console.debug("add " + compData.name, compData, instance);
|
|
272
|
+
}
|
|
273
|
+
// // TODO: THIS should be legacy once we update unity builtin component exports
|
|
274
|
+
// function resolve(instance, key: string, entry, lateResolve: LateResolveCallback[]): boolean {
|
|
275
|
+
// switch (entry["$type"]) {
|
|
276
|
+
// default:
|
|
277
|
+
// const type = entry["$type"];
|
|
278
|
+
// if (type !== undefined) {
|
|
279
|
+
// const res = tryResolveType(type, entry);
|
|
280
|
+
// if (res !== undefined)
|
|
281
|
+
// instance[key] = res;
|
|
282
|
+
// return res !== undefined;
|
|
283
|
+
// }
|
|
284
|
+
// break;
|
|
285
|
+
// // the thing is a reference
|
|
286
|
+
// case "reference":
|
|
287
|
+
// // we expect some identifier entry to use for finding the reference
|
|
288
|
+
// const guid = entry["guid"];
|
|
289
|
+
// lateResolve.push(async (gltf) => {
|
|
290
|
+
// instance[key] = findInGltf(guid, gltf);
|
|
291
|
+
// });
|
|
292
|
+
// return true;
|
|
293
|
+
// }
|
|
294
|
+
// if (Array.isArray(entry)) {
|
|
295
|
+
// // the thing is an array
|
|
296
|
+
// const targetArray = instance[key];
|
|
297
|
+
// for (const index in entry) {
|
|
298
|
+
// const val = entry[index];
|
|
299
|
+
// if (val === null) {
|
|
300
|
+
// targetArray[index] = null;
|
|
301
|
+
// continue;
|
|
302
|
+
// }
|
|
303
|
+
// switch (val["$type"]) {
|
|
304
|
+
// default:
|
|
305
|
+
// const type = val["$type"];
|
|
306
|
+
// if (type !== undefined) {
|
|
307
|
+
// const res = tryResolveType(type, entry);
|
|
308
|
+
// if (res !== undefined) targetArray[index] = res;
|
|
309
|
+
// }
|
|
310
|
+
// break;
|
|
311
|
+
// case "reference":
|
|
312
|
+
// // this entry is a reference
|
|
313
|
+
// const guid = val["guid"];
|
|
314
|
+
// lateResolve.push(async (gltf) => {
|
|
315
|
+
// targetArray[index] = findInGltf(guid, gltf);
|
|
316
|
+
// });
|
|
317
|
+
// break;
|
|
318
|
+
// }
|
|
319
|
+
// }
|
|
320
|
+
// return true;
|
|
321
|
+
// }
|
|
322
|
+
// return false;
|
|
323
|
+
// }
|
|
324
|
+
// function findInGltf(guid: string, gltf) {
|
|
325
|
+
// let res = tools.tryFindScript(guid);
|
|
326
|
+
// if (!res) res = tools.tryFindObject(guid, gltf, true);
|
|
327
|
+
// return res;
|
|
328
|
+
// }
|
|
329
|
+
// function tryResolveType(type, entry): any | undefined {
|
|
330
|
+
// switch (type) {
|
|
331
|
+
// case "Vector2":
|
|
332
|
+
// return new Vector2(entry.x, entry.y);
|
|
333
|
+
// case "Vector3":
|
|
334
|
+
// return new Vector3(entry.x, entry.y, entry.z);
|
|
335
|
+
// case "Vector4":
|
|
336
|
+
// return new Vector4(entry.x, entry.y, entry.z, entry.w);
|
|
337
|
+
// case "Quaternion":
|
|
338
|
+
// return new Quaternion(entry.x, entry.y, entry.z, entry.w);
|
|
339
|
+
// }
|
|
340
|
+
// return undefined;
|
|
341
|
+
// }
|
|
342
342
|
//# sourceMappingURL=engine_gltf_builtin_components.js.map
|