@needle-tools/engine 4.7.0-alpha → 4.7.0-next.da47826
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 +3768 -3768
- package/LICENSE.md +10 -10
- package/README.md +64 -64
- package/components.needle.json +1 -1
- package/dist/generateMeshBVH.worker-BaNp_Xtp.js +25 -0
- package/dist/{gltf-progressive-Bm9eEfgu.min.js → gltf-progressive-Bl4okF1b.min.js} +1 -1
- package/dist/{gltf-progressive-GjIqwSG3.js → gltf-progressive-DSpdn0QT.js} +2 -2
- package/dist/{gltf-progressive-Dn6o99rH.umd.cjs → gltf-progressive-P8b8a0qY.umd.cjs} +1 -1
- package/dist/{needle-engine.bundle-CK8cQ3FX.umd.cjs → needle-engine.bundle-Bu88IoKB.umd.cjs} +57 -57
- package/dist/{needle-engine.bundle-CXtflnL6.js → needle-engine.bundle-CO1Ub9sm.js} +638 -638
- package/dist/{needle-engine.bundle-BEUFTdl6.min.js → needle-engine.bundle-D95XN5pP.min.js} +62 -62
- package/dist/needle-engine.d.ts +130 -129
- 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-8AQTeZsr.umd.cjs → postprocessing-CjW23fio.umd.cjs} +2 -2
- package/dist/{postprocessing-BkxN_08g.js → postprocessing-DYLNOL3W.js} +3 -3
- package/dist/{postprocessing-BDScN9yu.min.js → postprocessing-xYQWCHFu.min.js} +2 -2
- package/dist/{three-DMrv-4ar.umd.cjs → three-B_hneGZr.umd.cjs} +4 -4
- package/dist/{three-Bz6X1mrw.js → three-DrqIzZTH.js} +4198 -4198
- package/dist/{three-Boa-jOq-.min.js → three-DuDKwKB8.min.js} +33 -33
- package/dist/{three-examples-GggCDHv0.js → three-examples-B50TT3Iu.js} +5 -5
- package/dist/{three-examples-DuVhxqft.min.js → three-examples-DaDLBuy6.min.js} +14 -14
- package/dist/{three-examples-C7ryg8vN.umd.cjs → three-examples-X3OadjXB.umd.cjs} +3 -3
- package/dist/{three-mesh-ui-CY6Izc7C.min.js → three-mesh-ui-B3p3gyUz.min.js} +1 -1
- package/dist/{three-mesh-ui-CwlN0FUC.umd.cjs → three-mesh-ui-CQiIQIlA.umd.cjs} +1 -1
- package/dist/{three-mesh-ui-CLNOfsWn.js → three-mesh-ui-CxuWt7m-.js} +1 -1
- package/dist/{vendor-zxXa3Dmr.min.js → vendor-BlSxe9JJ.min.js} +3 -3
- package/dist/{vendor-BSD1RQIh.js → vendor-BmYIgaS1.js} +3 -3
- package/dist/{vendor-DHr4aqIZ.umd.cjs → vendor-Cavtu3CP.umd.cjs} +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 +166 -166
- package/lib/engine/engine_addressables.js +608 -608
- 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 +1672 -1672
- 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 +91 -91
- 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 +31 -31
- package/lib/engine/engine_lods.js +146 -146
- 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 +784 -784
- 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 +121 -121
- 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/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 +52 -52
- 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 +480 -480
- 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/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 +120 -120
- package/plugins/types/vite.d.ts +13 -13
- package/plugins/types/webmanifest.d.ts +32 -32
- package/plugins/vite/alias.js +174 -174
- 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 +143 -143
- package/plugins/vite/license.js +56 -56
- package/plugins/vite/local-files.js +440 -440
- 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 +31 -31
- 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 +680 -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 +1823 -1823
- 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 +117 -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 +168 -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 +925 -925
- 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 +136 -136
- 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 +57 -57
- 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 +560 -560
- 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/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-Cdfpaq5W.js +0 -25
- package/src/engine-schemes/dist/api.js +0 -17
- package/src/engine-schemes/dist/api.js.meta +0 -7
- package/src/engine-schemes/dist/schemes.js +0 -25
- package/src/engine-schemes/dist/schemes.js.meta +0 -7
- package/src/engine-schemes/dist/synced-camera-model.js +0 -74
- package/src/engine-schemes/dist/synced-camera-model.js.meta +0 -7
- package/src/engine-schemes/dist/synced-transform-model.js +0 -73
- package/src/engine-schemes/dist/synced-transform-model.js.meta +0 -7
- package/src/engine-schemes/dist/transform.js +0 -46
- package/src/engine-schemes/dist/transform.js.meta +0 -7
- package/src/engine-schemes/dist/vec2.js +0 -32
- package/src/engine-schemes/dist/vec2.js.meta +0 -7
- package/src/engine-schemes/dist/vec3.js +0 -36
- package/src/engine-schemes/dist/vec3.js.meta +0 -7
- package/src/engine-schemes/dist/vec4.js +0 -40
- package/src/engine-schemes/dist/vec4.js.meta +0 -7
- package/src/engine-schemes/dist/vr-user-state-buffer.js +0 -110
- package/src/engine-schemes/dist/vr-user-state-buffer.js.meta +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Object3D } from "three";
|
|
2
|
-
import type { IUSDExporterExtension } from "../../Extension.js";
|
|
3
|
-
import { USDObject, USDZExporterContext } from "../../ThreeUSDZExporter.js";
|
|
4
|
-
export declare class PhysicsExtension implements IUSDExporterExtension {
|
|
5
|
-
get extensionName(): string;
|
|
6
|
-
onExportObject?(object: Object3D, model: USDObject, _context: USDZExporterContext): void;
|
|
7
|
-
}
|
|
1
|
+
import { Object3D } from "three";
|
|
2
|
+
import type { IUSDExporterExtension } from "../../Extension.js";
|
|
3
|
+
import { USDObject, USDZExporterContext } from "../../ThreeUSDZExporter.js";
|
|
4
|
+
export declare class PhysicsExtension implements IUSDExporterExtension {
|
|
5
|
+
get extensionName(): string;
|
|
6
|
+
onExportObject?(object: Object3D, model: USDObject, _context: USDZExporterContext): void;
|
|
7
|
+
}
|
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
import { BoxCollider, CapsuleCollider, Collider, MeshCollider, SphereCollider } from "../../../../Collider.js";
|
|
2
|
-
import { GameObject } from "../../../../Component.js";
|
|
3
|
-
import { Rigidbody } from "../../../../RigidBody.js";
|
|
4
|
-
export class PhysicsExtension {
|
|
5
|
-
get extensionName() { return "Physics"; }
|
|
6
|
-
onExportObject(object, model, _context) {
|
|
7
|
-
const rigidBodySources = GameObject.getComponents(object, Rigidbody).filter(c => c.enabled);
|
|
8
|
-
// no triggers supported for now; large trigger areas seem to break VisionOS since they're still interactable and block OS UI
|
|
9
|
-
const colliderSources = GameObject.getComponents(object, Collider).filter(c => c.enabled && !c.isTrigger);
|
|
10
|
-
let rigidBody = rigidBodySources.length > 0 ? rigidBodySources[0] : null;
|
|
11
|
-
const colliderSource = colliderSources.length > 0 ? colliderSources[0] : null;
|
|
12
|
-
// we still need a RigidBody component for the object to participate in physics;
|
|
13
|
-
// with only a Collider component it can only serve as trigger
|
|
14
|
-
// see https://developer.apple.com/documentation/realitykit/collisioncomponent#overview
|
|
15
|
-
let temporaryRigidbody = undefined;
|
|
16
|
-
if (colliderSource && !rigidBody) {
|
|
17
|
-
rigidBody = new Rigidbody();
|
|
18
|
-
rigidBody.isKinematic = true;
|
|
19
|
-
temporaryRigidbody = rigidBody;
|
|
20
|
-
}
|
|
21
|
-
if (rigidBody) {
|
|
22
|
-
model.addEventListener('serialize', (writer, _context) => {
|
|
23
|
-
if (!rigidBody)
|
|
24
|
-
return;
|
|
25
|
-
writer.appendLine();
|
|
26
|
-
writer.beginBlock(`def RealityKitComponent "RigidBody"`, "{", true);
|
|
27
|
-
// Gravity is enabled by default
|
|
28
|
-
if (!rigidBody.useGravity) {
|
|
29
|
-
writer.appendLine(`bool gravityEnabled = 0`);
|
|
30
|
-
}
|
|
31
|
-
writer.appendLine(`uniform token info:id = "RealityKit.RigidBody"`);
|
|
32
|
-
if (rigidBody.isKinematic) {
|
|
33
|
-
writer.appendLine(`token motionType = "Kinematic"`);
|
|
34
|
-
}
|
|
35
|
-
writer.beginBlock(`def RealityKitStruct "massFrame"`, "{", true);
|
|
36
|
-
writer.appendLine(`float m_mass = ${rigidBody.mass}`);
|
|
37
|
-
writer.beginBlock(`def RealityKitStruct "m_pose"`, "{", true);
|
|
38
|
-
/* TODO: Apple has a concept of center of mass orientation, not sure what that means here or what an equivalent mapping would be */
|
|
39
|
-
writer.appendLine(`float3 position = (${rigidBody.centerOfMass.x}, ${rigidBody.centerOfMass.y}, ${rigidBody.centerOfMass.z})`);
|
|
40
|
-
writer.closeBlock("}");
|
|
41
|
-
writer.closeBlock("}");
|
|
42
|
-
if (colliderSources.length > 0) {
|
|
43
|
-
const colliderSource = colliderSources[0];
|
|
44
|
-
writer.beginBlock(`def RealityKitStruct "material"`, "{", true);
|
|
45
|
-
const mat = colliderSource.sharedMaterial;
|
|
46
|
-
if (mat && mat.dynamicFriction !== undefined)
|
|
47
|
-
writer.appendLine(`double dynamicFriction = ${colliderSource.sharedMaterial?.dynamicFriction}`);
|
|
48
|
-
if (mat && mat.bounciness !== undefined)
|
|
49
|
-
writer.appendLine(`double restitution = ${colliderSource.sharedMaterial?.bounciness}`);
|
|
50
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
51
|
-
if (mat && mat.staticFriction !== undefined)
|
|
52
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
53
|
-
writer.appendLine(`double staticFriction = ${colliderSource.sharedMaterial?.staticFriction}`);
|
|
54
|
-
writer.closeBlock("}");
|
|
55
|
-
}
|
|
56
|
-
writer.closeBlock("}");
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
if (colliderSource) {
|
|
60
|
-
// TODO: Apple only allows one collider, Unity allows many, are many typically used on each object though? What can we do here? combine them? take the first?
|
|
61
|
-
model.addEventListener('serialize', (writer, _context) => {
|
|
62
|
-
writer.beginBlock(`def RealityKitComponent "Collider"`, "{", true);
|
|
63
|
-
// TODO: a group is needed for collisions, not sure what this controls though
|
|
64
|
-
writer.appendLine(`uint group = 1`);
|
|
65
|
-
writer.appendLine(`uniform token info:id = "RealityKit.Collider"`);
|
|
66
|
-
// TODO: a mask is needed for collisions, this is the max value for int, possibly collision flags but i'm not sure what each bit means, or if we have that exported info from unity
|
|
67
|
-
// This is coming from RealityComposerPro
|
|
68
|
-
writer.appendLine(`uint mask = 4294967295`);
|
|
69
|
-
const isTrigger = colliderSource.isTrigger; // not currently used, see comment above
|
|
70
|
-
const typeName = isTrigger ? "Trigger" : "Default";
|
|
71
|
-
writer.appendLine(`token type = "${typeName}"`);
|
|
72
|
-
writer.beginBlock(`def RealityKitStruct "Shape"`, "{", true);
|
|
73
|
-
if (colliderSource instanceof SphereCollider) {
|
|
74
|
-
const sphereCollider = colliderSource;
|
|
75
|
-
writer.appendLine(`token shapeType = "Sphere"`);
|
|
76
|
-
writer.appendLine(`float radius = ${sphereCollider.radius}`);
|
|
77
|
-
}
|
|
78
|
-
else if (colliderSource instanceof BoxCollider) {
|
|
79
|
-
const boxCollider = colliderSource;
|
|
80
|
-
writer.appendLine(`token shapeType = "Box"`);
|
|
81
|
-
writer.appendLine(`float3 extent = (${boxCollider.size.x}, ${boxCollider.size.y}, ${boxCollider.size.z})`);
|
|
82
|
-
}
|
|
83
|
-
else if (colliderSource instanceof CapsuleCollider) {
|
|
84
|
-
const capsuleCollider = colliderSource;
|
|
85
|
-
writer.appendLine(`token shapeType = "Capsule"`);
|
|
86
|
-
writer.appendLine(`float radius = ${capsuleCollider.radius}`);
|
|
87
|
-
writer.appendLine(`float height = ${capsuleCollider.height}`);
|
|
88
|
-
}
|
|
89
|
-
else if (colliderSource instanceof MeshCollider && colliderSource.sharedMesh?.geometry) {
|
|
90
|
-
// get the bounds of the mesh
|
|
91
|
-
const geo = colliderSource.sharedMesh.geometry;
|
|
92
|
-
if (!geo.boundingBox)
|
|
93
|
-
geo.computeBoundingBox();
|
|
94
|
-
const box = colliderSource.sharedMesh.geometry.boundingBox;
|
|
95
|
-
if (box) {
|
|
96
|
-
writer.appendLine(`token shapeType = "Box"`);
|
|
97
|
-
writer.appendLine(`float3 extent = (${box.max.x - box.min.x}, ${box.max.y - box.min.y}, ${box.max.z - box.min.z})`);
|
|
98
|
-
console.log("[USDZ] Only Box, Sphere, and Capsule colliders are supported in visionOS/iOS. MeshCollider will be exported as Box", colliderSource);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
console.warn("[USDZ] Only Box, Sphere, and Capsule colliders are supported in visionOS/iOS. Ignoring collider:", colliderSource);
|
|
103
|
-
}
|
|
104
|
-
writer.beginBlock(`def RealityKitStruct "pose"`, "{", true);
|
|
105
|
-
// TODO: this is used for rotating the collider, I think this isn't necessary since all the changes happen in the parent transform from needle. Not positive about this though.
|
|
106
|
-
writer.closeBlock("}");
|
|
107
|
-
writer.closeBlock("}");
|
|
108
|
-
writer.closeBlock("}");
|
|
109
|
-
});
|
|
110
|
-
if (colliderSources.length > 1) {
|
|
111
|
-
console.log("WARNING: Multiple colliders detected. visionOS / iOS can only support objects with a single collider, only exporting the first collider: ", colliderSource);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
1
|
+
import { BoxCollider, CapsuleCollider, Collider, MeshCollider, SphereCollider } from "../../../../Collider.js";
|
|
2
|
+
import { GameObject } from "../../../../Component.js";
|
|
3
|
+
import { Rigidbody } from "../../../../RigidBody.js";
|
|
4
|
+
export class PhysicsExtension {
|
|
5
|
+
get extensionName() { return "Physics"; }
|
|
6
|
+
onExportObject(object, model, _context) {
|
|
7
|
+
const rigidBodySources = GameObject.getComponents(object, Rigidbody).filter(c => c.enabled);
|
|
8
|
+
// no triggers supported for now; large trigger areas seem to break VisionOS since they're still interactable and block OS UI
|
|
9
|
+
const colliderSources = GameObject.getComponents(object, Collider).filter(c => c.enabled && !c.isTrigger);
|
|
10
|
+
let rigidBody = rigidBodySources.length > 0 ? rigidBodySources[0] : null;
|
|
11
|
+
const colliderSource = colliderSources.length > 0 ? colliderSources[0] : null;
|
|
12
|
+
// we still need a RigidBody component for the object to participate in physics;
|
|
13
|
+
// with only a Collider component it can only serve as trigger
|
|
14
|
+
// see https://developer.apple.com/documentation/realitykit/collisioncomponent#overview
|
|
15
|
+
let temporaryRigidbody = undefined;
|
|
16
|
+
if (colliderSource && !rigidBody) {
|
|
17
|
+
rigidBody = new Rigidbody();
|
|
18
|
+
rigidBody.isKinematic = true;
|
|
19
|
+
temporaryRigidbody = rigidBody;
|
|
20
|
+
}
|
|
21
|
+
if (rigidBody) {
|
|
22
|
+
model.addEventListener('serialize', (writer, _context) => {
|
|
23
|
+
if (!rigidBody)
|
|
24
|
+
return;
|
|
25
|
+
writer.appendLine();
|
|
26
|
+
writer.beginBlock(`def RealityKitComponent "RigidBody"`, "{", true);
|
|
27
|
+
// Gravity is enabled by default
|
|
28
|
+
if (!rigidBody.useGravity) {
|
|
29
|
+
writer.appendLine(`bool gravityEnabled = 0`);
|
|
30
|
+
}
|
|
31
|
+
writer.appendLine(`uniform token info:id = "RealityKit.RigidBody"`);
|
|
32
|
+
if (rigidBody.isKinematic) {
|
|
33
|
+
writer.appendLine(`token motionType = "Kinematic"`);
|
|
34
|
+
}
|
|
35
|
+
writer.beginBlock(`def RealityKitStruct "massFrame"`, "{", true);
|
|
36
|
+
writer.appendLine(`float m_mass = ${rigidBody.mass}`);
|
|
37
|
+
writer.beginBlock(`def RealityKitStruct "m_pose"`, "{", true);
|
|
38
|
+
/* TODO: Apple has a concept of center of mass orientation, not sure what that means here or what an equivalent mapping would be */
|
|
39
|
+
writer.appendLine(`float3 position = (${rigidBody.centerOfMass.x}, ${rigidBody.centerOfMass.y}, ${rigidBody.centerOfMass.z})`);
|
|
40
|
+
writer.closeBlock("}");
|
|
41
|
+
writer.closeBlock("}");
|
|
42
|
+
if (colliderSources.length > 0) {
|
|
43
|
+
const colliderSource = colliderSources[0];
|
|
44
|
+
writer.beginBlock(`def RealityKitStruct "material"`, "{", true);
|
|
45
|
+
const mat = colliderSource.sharedMaterial;
|
|
46
|
+
if (mat && mat.dynamicFriction !== undefined)
|
|
47
|
+
writer.appendLine(`double dynamicFriction = ${colliderSource.sharedMaterial?.dynamicFriction}`);
|
|
48
|
+
if (mat && mat.bounciness !== undefined)
|
|
49
|
+
writer.appendLine(`double restitution = ${colliderSource.sharedMaterial?.bounciness}`);
|
|
50
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
51
|
+
if (mat && mat.staticFriction !== undefined)
|
|
52
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
53
|
+
writer.appendLine(`double staticFriction = ${colliderSource.sharedMaterial?.staticFriction}`);
|
|
54
|
+
writer.closeBlock("}");
|
|
55
|
+
}
|
|
56
|
+
writer.closeBlock("}");
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
if (colliderSource) {
|
|
60
|
+
// TODO: Apple only allows one collider, Unity allows many, are many typically used on each object though? What can we do here? combine them? take the first?
|
|
61
|
+
model.addEventListener('serialize', (writer, _context) => {
|
|
62
|
+
writer.beginBlock(`def RealityKitComponent "Collider"`, "{", true);
|
|
63
|
+
// TODO: a group is needed for collisions, not sure what this controls though
|
|
64
|
+
writer.appendLine(`uint group = 1`);
|
|
65
|
+
writer.appendLine(`uniform token info:id = "RealityKit.Collider"`);
|
|
66
|
+
// TODO: a mask is needed for collisions, this is the max value for int, possibly collision flags but i'm not sure what each bit means, or if we have that exported info from unity
|
|
67
|
+
// This is coming from RealityComposerPro
|
|
68
|
+
writer.appendLine(`uint mask = 4294967295`);
|
|
69
|
+
const isTrigger = colliderSource.isTrigger; // not currently used, see comment above
|
|
70
|
+
const typeName = isTrigger ? "Trigger" : "Default";
|
|
71
|
+
writer.appendLine(`token type = "${typeName}"`);
|
|
72
|
+
writer.beginBlock(`def RealityKitStruct "Shape"`, "{", true);
|
|
73
|
+
if (colliderSource instanceof SphereCollider) {
|
|
74
|
+
const sphereCollider = colliderSource;
|
|
75
|
+
writer.appendLine(`token shapeType = "Sphere"`);
|
|
76
|
+
writer.appendLine(`float radius = ${sphereCollider.radius}`);
|
|
77
|
+
}
|
|
78
|
+
else if (colliderSource instanceof BoxCollider) {
|
|
79
|
+
const boxCollider = colliderSource;
|
|
80
|
+
writer.appendLine(`token shapeType = "Box"`);
|
|
81
|
+
writer.appendLine(`float3 extent = (${boxCollider.size.x}, ${boxCollider.size.y}, ${boxCollider.size.z})`);
|
|
82
|
+
}
|
|
83
|
+
else if (colliderSource instanceof CapsuleCollider) {
|
|
84
|
+
const capsuleCollider = colliderSource;
|
|
85
|
+
writer.appendLine(`token shapeType = "Capsule"`);
|
|
86
|
+
writer.appendLine(`float radius = ${capsuleCollider.radius}`);
|
|
87
|
+
writer.appendLine(`float height = ${capsuleCollider.height}`);
|
|
88
|
+
}
|
|
89
|
+
else if (colliderSource instanceof MeshCollider && colliderSource.sharedMesh?.geometry) {
|
|
90
|
+
// get the bounds of the mesh
|
|
91
|
+
const geo = colliderSource.sharedMesh.geometry;
|
|
92
|
+
if (!geo.boundingBox)
|
|
93
|
+
geo.computeBoundingBox();
|
|
94
|
+
const box = colliderSource.sharedMesh.geometry.boundingBox;
|
|
95
|
+
if (box) {
|
|
96
|
+
writer.appendLine(`token shapeType = "Box"`);
|
|
97
|
+
writer.appendLine(`float3 extent = (${box.max.x - box.min.x}, ${box.max.y - box.min.y}, ${box.max.z - box.min.z})`);
|
|
98
|
+
console.log("[USDZ] Only Box, Sphere, and Capsule colliders are supported in visionOS/iOS. MeshCollider will be exported as Box", colliderSource);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
console.warn("[USDZ] Only Box, Sphere, and Capsule colliders are supported in visionOS/iOS. Ignoring collider:", colliderSource);
|
|
103
|
+
}
|
|
104
|
+
writer.beginBlock(`def RealityKitStruct "pose"`, "{", true);
|
|
105
|
+
// TODO: this is used for rotating the collider, I think this isn't necessary since all the changes happen in the parent transform from needle. Not positive about this though.
|
|
106
|
+
writer.closeBlock("}");
|
|
107
|
+
writer.closeBlock("}");
|
|
108
|
+
writer.closeBlock("}");
|
|
109
|
+
});
|
|
110
|
+
if (colliderSources.length > 1) {
|
|
111
|
+
console.log("WARNING: Multiple colliders detected. visionOS / iOS can only support objects with a single collider, only exporting the first collider: ", colliderSource);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
116
|
//# sourceMappingURL=PhysicsExtension.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { type UsdzBehaviour } from "./extensions/behavior/Behaviour.js";
|
|
2
|
-
export { decompressGpuTexture, imageToCanvas, makeNameSafeForUSD, USDZExporter as NeedleUSDZExporter, USDDocument, USDObject, USDWriter, type USDZExporterContext } from "./ThreeUSDZExporter.js";
|
|
3
|
-
export { USDZExporter } from "./USDZExporter.js";
|
|
1
|
+
export { type UsdzBehaviour } from "./extensions/behavior/Behaviour.js";
|
|
2
|
+
export { decompressGpuTexture, imageToCanvas, makeNameSafeForUSD, USDZExporter as NeedleUSDZExporter, USDDocument, USDObject, USDWriter, type USDZExporterContext } from "./ThreeUSDZExporter.js";
|
|
3
|
+
export { USDZExporter } from "./USDZExporter.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { decompressGpuTexture, imageToCanvas, makeNameSafeForUSD, USDZExporter as NeedleUSDZExporter, USDDocument, USDObject, USDWriter } from "./ThreeUSDZExporter.js";
|
|
2
|
-
export { USDZExporter } from "./USDZExporter.js";
|
|
1
|
+
export { decompressGpuTexture, imageToCanvas, makeNameSafeForUSD, USDZExporter as NeedleUSDZExporter, USDDocument, USDObject, USDWriter } from "./ThreeUSDZExporter.js";
|
|
2
|
+
export { USDZExporter } from "./USDZExporter.js";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Object3D } from "three";
|
|
2
|
-
import type { AnimationExtension } from "../extensions/Animation.js";
|
|
3
|
-
import type { AudioExtension } from "../extensions/behavior/AudioExtension.js";
|
|
4
|
-
import { BehaviorModel } from "../extensions/behavior/BehavioursBuilder.js";
|
|
5
|
-
export declare function registerAnimatorsImplictly(root: Object3D, ext: AnimationExtension): Array<Object3D>;
|
|
6
|
-
export declare function registerAudioSourcesImplictly(root: Object3D, _ext: AudioExtension): Array<Object3D>;
|
|
7
|
-
export declare function disableObjectsAtStart(objects: Array<Object3D>): BehaviorModel;
|
|
1
|
+
import { Object3D } from "three";
|
|
2
|
+
import type { AnimationExtension } from "../extensions/Animation.js";
|
|
3
|
+
import type { AudioExtension } from "../extensions/behavior/AudioExtension.js";
|
|
4
|
+
import { BehaviorModel } from "../extensions/behavior/BehavioursBuilder.js";
|
|
5
|
+
export declare function registerAnimatorsImplictly(root: Object3D, ext: AnimationExtension): Array<Object3D>;
|
|
6
|
+
export declare function registerAudioSourcesImplictly(root: Object3D, _ext: AudioExtension): Array<Object3D>;
|
|
7
|
+
export declare function disableObjectsAtStart(objects: Array<Object3D>): BehaviorModel;
|
|
@@ -1,164 +1,164 @@
|
|
|
1
|
-
import { Object3D } from "three";
|
|
2
|
-
import { getParam } from "../../../../engine/engine_utils.js";
|
|
3
|
-
import { Animation } from "../../../Animation.js";
|
|
4
|
-
import { Animator } from "../../../Animator.js";
|
|
5
|
-
import { AudioSource } from "../../../AudioSource.js";
|
|
6
|
-
import { GameObject } from "../../../Component.js";
|
|
7
|
-
import { PlayAnimationOnClick, PlayAudioOnClick } from "../extensions/behavior/BehaviourComponents.js";
|
|
8
|
-
import { ActionBuilder, BehaviorModel, TriggerBuilder } from "../extensions/behavior/BehavioursBuilder.js";
|
|
9
|
-
const debug = getParam("debugusdz");
|
|
10
|
-
export function registerAnimatorsImplictly(root, ext) {
|
|
11
|
-
// TODO: currently we're simply appending all animations to each other.
|
|
12
|
-
// We are not currently emitting PlayAnimation actions that would make sure
|
|
13
|
-
// that only a specific clip or a set of clips is playing.
|
|
14
|
-
// Better would be to scratch the functionality here entirely, and instead
|
|
15
|
-
// inject PlayAnimationOnStart actions. This way, animations can loop independently, and
|
|
16
|
-
// Animator state chaining would be respected out-of-the-box.
|
|
17
|
-
// For non-QuickLook USDZ export it's still useful to have implicit registration per root.
|
|
18
|
-
// collect animators and their clips
|
|
19
|
-
const animationClips = [];
|
|
20
|
-
const animators = GameObject.getComponentsInChildren(root, Animator);
|
|
21
|
-
const animationComponents = GameObject.getComponentsInChildren(root, Animation);
|
|
22
|
-
const animatorsWithPlayAtStart = new Array();
|
|
23
|
-
const constructedObjects = new Array();
|
|
24
|
-
if (ext.injectImplicitBehaviours) {
|
|
25
|
-
// We're registering animators with implicit PlayAnimationOnClick (with hacked "start" trigger) here.
|
|
26
|
-
for (const animator of animators) {
|
|
27
|
-
if (!animator || !animator.runtimeAnimatorController || !animator.enabled)
|
|
28
|
-
continue;
|
|
29
|
-
const activeState = animator.runtimeAnimatorController.activeState;
|
|
30
|
-
// skip missing data, empty states or motions
|
|
31
|
-
if (!activeState)
|
|
32
|
-
continue;
|
|
33
|
-
if (!activeState.motion || !activeState.motion.clip)
|
|
34
|
-
continue;
|
|
35
|
-
if (activeState.motion.clip.tracks?.length < 1)
|
|
36
|
-
continue;
|
|
37
|
-
// We could skip if the current state has already ended playing
|
|
38
|
-
// but there's an edge case where we'd do this exactly in a transition,
|
|
39
|
-
// and also it's a bit weird when someone has watched the animation in the browser already
|
|
40
|
-
// and then it doesn't play in AR, so this is disabled for now.
|
|
41
|
-
// if (animator.getCurrentStateInfo()?.normalizedTime == 1) continue;
|
|
42
|
-
if (animatorsWithPlayAtStart.includes(animator))
|
|
43
|
-
continue;
|
|
44
|
-
// Create a PlayAnimationOnClick component that will play the animation on start
|
|
45
|
-
// This is a bit hacky right now (we're using the internal "start" trigger)
|
|
46
|
-
const newComponent = new PlayAnimationOnClick();
|
|
47
|
-
newComponent.animator = animator;
|
|
48
|
-
newComponent.stateName = activeState.name;
|
|
49
|
-
newComponent.trigger = "start";
|
|
50
|
-
newComponent.name = "PlayAnimationOnClick_implicitAtStart_" + newComponent.stateName;
|
|
51
|
-
const go = new Object3D();
|
|
52
|
-
GameObject.addComponent(go, newComponent);
|
|
53
|
-
constructedObjects.push(go);
|
|
54
|
-
animatorsWithPlayAtStart.push(animator);
|
|
55
|
-
// the behaviour can be anywhere in the hierarchy
|
|
56
|
-
root.add(go);
|
|
57
|
-
}
|
|
58
|
-
// TODO add Animation handling, otherwise multi-animation files
|
|
59
|
-
// directly loaded from GLB may glitch due to the added rest poses
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
for (const animator of animators) {
|
|
63
|
-
if (!animator || !animator.runtimeAnimatorController || !animator.enabled)
|
|
64
|
-
continue;
|
|
65
|
-
if (debug)
|
|
66
|
-
console.log(animator);
|
|
67
|
-
const clips = [];
|
|
68
|
-
for (const action of animator.runtimeAnimatorController.enumerateActions()) {
|
|
69
|
-
if (debug)
|
|
70
|
-
console.log(action);
|
|
71
|
-
const clip = action.getClip();
|
|
72
|
-
if (!clips.includes(clip))
|
|
73
|
-
clips.push(clip);
|
|
74
|
-
}
|
|
75
|
-
animationClips.push({ root: animator.gameObject, clips: clips });
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// TODO once PlayAnimationOnClick can use animation components as well,
|
|
79
|
-
// we can treat them the same as we treat Animators above.
|
|
80
|
-
if (ext.injectImplicitBehaviours) {
|
|
81
|
-
for (const animationComponent of animationComponents) {
|
|
82
|
-
if (!animationComponent || !animationComponent.clip || !animationComponent.enabled)
|
|
83
|
-
continue;
|
|
84
|
-
if (!animationComponent.playAutomatically)
|
|
85
|
-
continue;
|
|
86
|
-
if (animatorsWithPlayAtStart.includes(animationComponent))
|
|
87
|
-
continue;
|
|
88
|
-
// Create a PlayAnimationOnClick component that will play the animation on start
|
|
89
|
-
// This is a bit hacky right now (we're using the internal "start" trigger)
|
|
90
|
-
const newComponent = new PlayAnimationOnClick();
|
|
91
|
-
newComponent.animation = animationComponent;
|
|
92
|
-
newComponent.stateName = animationComponent.clip.name;
|
|
93
|
-
newComponent.trigger = "start";
|
|
94
|
-
newComponent.name = "PlayAnimationOnClick_implicitAtStart_" + newComponent.stateName;
|
|
95
|
-
const go = new Object3D();
|
|
96
|
-
GameObject.addComponent(go, newComponent);
|
|
97
|
-
constructedObjects.push(go);
|
|
98
|
-
animatorsWithPlayAtStart.push(animationComponent);
|
|
99
|
-
// the behaviour can be anywhere in the hierarchy
|
|
100
|
-
root.add(go);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
for (const animationComponent of animationComponents) {
|
|
105
|
-
if (debug)
|
|
106
|
-
console.log(animationComponent);
|
|
107
|
-
const clips = [];
|
|
108
|
-
for (const clip of animationComponent.animations) {
|
|
109
|
-
if (!clips.includes(clip))
|
|
110
|
-
clips.push(clip);
|
|
111
|
-
}
|
|
112
|
-
animationClips.push({ root: animationComponent.gameObject, clips: clips });
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
if (debug && animationClips?.length > 0)
|
|
116
|
-
console.log("USDZ Animation Clips without behaviours", animationClips);
|
|
117
|
-
for (const pair of animationClips) {
|
|
118
|
-
for (const clip of pair.clips)
|
|
119
|
-
ext.registerAnimation(pair.root, clip);
|
|
120
|
-
}
|
|
121
|
-
return constructedObjects;
|
|
122
|
-
}
|
|
123
|
-
export function registerAudioSourcesImplictly(root, _ext) {
|
|
124
|
-
const audioSources = GameObject.getComponentsInChildren(root, AudioSource);
|
|
125
|
-
const playAudioOnClicks = GameObject.getComponentsInChildren(root, PlayAudioOnClick);
|
|
126
|
-
const audioWithPlayAtStart = new Array();
|
|
127
|
-
const constructedObjects = new Array();
|
|
128
|
-
if (debug) {
|
|
129
|
-
console.log({ audioSources, playAudioOnClicks });
|
|
130
|
-
}
|
|
131
|
-
// Remove all audio sources that are already referenced from existing PlayAudioOnClick components
|
|
132
|
-
for (const player of playAudioOnClicks) {
|
|
133
|
-
if (!player.target)
|
|
134
|
-
continue;
|
|
135
|
-
const index = audioSources.indexOf(player.target);
|
|
136
|
-
if (index > -1)
|
|
137
|
-
audioSources.splice(index, 1);
|
|
138
|
-
}
|
|
139
|
-
// for the remaning ones, we want to build a PlayAudioOnClick component
|
|
140
|
-
for (const audioSource of audioSources) {
|
|
141
|
-
if (!audioSource || !audioSource.clip)
|
|
142
|
-
continue;
|
|
143
|
-
if (audioSource.volume <= 0)
|
|
144
|
-
continue;
|
|
145
|
-
if (audioWithPlayAtStart.includes(audioSource))
|
|
146
|
-
continue;
|
|
147
|
-
const newComponent = new PlayAudioOnClick();
|
|
148
|
-
newComponent.target = audioSource;
|
|
149
|
-
newComponent.name = "PlayAudioOnClick_implicitAtStart_";
|
|
150
|
-
newComponent.trigger = "start";
|
|
151
|
-
const go = new Object3D();
|
|
152
|
-
GameObject.addComponent(go, newComponent);
|
|
153
|
-
console.log("implicit PlayAudioOnStart", go, newComponent);
|
|
154
|
-
constructedObjects.push(go);
|
|
155
|
-
audioWithPlayAtStart.push(audioSource);
|
|
156
|
-
root.add(go);
|
|
157
|
-
}
|
|
158
|
-
return constructedObjects;
|
|
159
|
-
}
|
|
160
|
-
export function disableObjectsAtStart(objects) {
|
|
161
|
-
const newComponent = new BehaviorModel("DisableAtStart", TriggerBuilder.sceneStartTrigger(), ActionBuilder.fadeAction(objects, 0, false));
|
|
162
|
-
return newComponent;
|
|
163
|
-
}
|
|
1
|
+
import { Object3D } from "three";
|
|
2
|
+
import { getParam } from "../../../../engine/engine_utils.js";
|
|
3
|
+
import { Animation } from "../../../Animation.js";
|
|
4
|
+
import { Animator } from "../../../Animator.js";
|
|
5
|
+
import { AudioSource } from "../../../AudioSource.js";
|
|
6
|
+
import { GameObject } from "../../../Component.js";
|
|
7
|
+
import { PlayAnimationOnClick, PlayAudioOnClick } from "../extensions/behavior/BehaviourComponents.js";
|
|
8
|
+
import { ActionBuilder, BehaviorModel, TriggerBuilder } from "../extensions/behavior/BehavioursBuilder.js";
|
|
9
|
+
const debug = getParam("debugusdz");
|
|
10
|
+
export function registerAnimatorsImplictly(root, ext) {
|
|
11
|
+
// TODO: currently we're simply appending all animations to each other.
|
|
12
|
+
// We are not currently emitting PlayAnimation actions that would make sure
|
|
13
|
+
// that only a specific clip or a set of clips is playing.
|
|
14
|
+
// Better would be to scratch the functionality here entirely, and instead
|
|
15
|
+
// inject PlayAnimationOnStart actions. This way, animations can loop independently, and
|
|
16
|
+
// Animator state chaining would be respected out-of-the-box.
|
|
17
|
+
// For non-QuickLook USDZ export it's still useful to have implicit registration per root.
|
|
18
|
+
// collect animators and their clips
|
|
19
|
+
const animationClips = [];
|
|
20
|
+
const animators = GameObject.getComponentsInChildren(root, Animator);
|
|
21
|
+
const animationComponents = GameObject.getComponentsInChildren(root, Animation);
|
|
22
|
+
const animatorsWithPlayAtStart = new Array();
|
|
23
|
+
const constructedObjects = new Array();
|
|
24
|
+
if (ext.injectImplicitBehaviours) {
|
|
25
|
+
// We're registering animators with implicit PlayAnimationOnClick (with hacked "start" trigger) here.
|
|
26
|
+
for (const animator of animators) {
|
|
27
|
+
if (!animator || !animator.runtimeAnimatorController || !animator.enabled)
|
|
28
|
+
continue;
|
|
29
|
+
const activeState = animator.runtimeAnimatorController.activeState;
|
|
30
|
+
// skip missing data, empty states or motions
|
|
31
|
+
if (!activeState)
|
|
32
|
+
continue;
|
|
33
|
+
if (!activeState.motion || !activeState.motion.clip)
|
|
34
|
+
continue;
|
|
35
|
+
if (activeState.motion.clip.tracks?.length < 1)
|
|
36
|
+
continue;
|
|
37
|
+
// We could skip if the current state has already ended playing
|
|
38
|
+
// but there's an edge case where we'd do this exactly in a transition,
|
|
39
|
+
// and also it's a bit weird when someone has watched the animation in the browser already
|
|
40
|
+
// and then it doesn't play in AR, so this is disabled for now.
|
|
41
|
+
// if (animator.getCurrentStateInfo()?.normalizedTime == 1) continue;
|
|
42
|
+
if (animatorsWithPlayAtStart.includes(animator))
|
|
43
|
+
continue;
|
|
44
|
+
// Create a PlayAnimationOnClick component that will play the animation on start
|
|
45
|
+
// This is a bit hacky right now (we're using the internal "start" trigger)
|
|
46
|
+
const newComponent = new PlayAnimationOnClick();
|
|
47
|
+
newComponent.animator = animator;
|
|
48
|
+
newComponent.stateName = activeState.name;
|
|
49
|
+
newComponent.trigger = "start";
|
|
50
|
+
newComponent.name = "PlayAnimationOnClick_implicitAtStart_" + newComponent.stateName;
|
|
51
|
+
const go = new Object3D();
|
|
52
|
+
GameObject.addComponent(go, newComponent);
|
|
53
|
+
constructedObjects.push(go);
|
|
54
|
+
animatorsWithPlayAtStart.push(animator);
|
|
55
|
+
// the behaviour can be anywhere in the hierarchy
|
|
56
|
+
root.add(go);
|
|
57
|
+
}
|
|
58
|
+
// TODO add Animation handling, otherwise multi-animation files
|
|
59
|
+
// directly loaded from GLB may glitch due to the added rest poses
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
for (const animator of animators) {
|
|
63
|
+
if (!animator || !animator.runtimeAnimatorController || !animator.enabled)
|
|
64
|
+
continue;
|
|
65
|
+
if (debug)
|
|
66
|
+
console.log(animator);
|
|
67
|
+
const clips = [];
|
|
68
|
+
for (const action of animator.runtimeAnimatorController.enumerateActions()) {
|
|
69
|
+
if (debug)
|
|
70
|
+
console.log(action);
|
|
71
|
+
const clip = action.getClip();
|
|
72
|
+
if (!clips.includes(clip))
|
|
73
|
+
clips.push(clip);
|
|
74
|
+
}
|
|
75
|
+
animationClips.push({ root: animator.gameObject, clips: clips });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// TODO once PlayAnimationOnClick can use animation components as well,
|
|
79
|
+
// we can treat them the same as we treat Animators above.
|
|
80
|
+
if (ext.injectImplicitBehaviours) {
|
|
81
|
+
for (const animationComponent of animationComponents) {
|
|
82
|
+
if (!animationComponent || !animationComponent.clip || !animationComponent.enabled)
|
|
83
|
+
continue;
|
|
84
|
+
if (!animationComponent.playAutomatically)
|
|
85
|
+
continue;
|
|
86
|
+
if (animatorsWithPlayAtStart.includes(animationComponent))
|
|
87
|
+
continue;
|
|
88
|
+
// Create a PlayAnimationOnClick component that will play the animation on start
|
|
89
|
+
// This is a bit hacky right now (we're using the internal "start" trigger)
|
|
90
|
+
const newComponent = new PlayAnimationOnClick();
|
|
91
|
+
newComponent.animation = animationComponent;
|
|
92
|
+
newComponent.stateName = animationComponent.clip.name;
|
|
93
|
+
newComponent.trigger = "start";
|
|
94
|
+
newComponent.name = "PlayAnimationOnClick_implicitAtStart_" + newComponent.stateName;
|
|
95
|
+
const go = new Object3D();
|
|
96
|
+
GameObject.addComponent(go, newComponent);
|
|
97
|
+
constructedObjects.push(go);
|
|
98
|
+
animatorsWithPlayAtStart.push(animationComponent);
|
|
99
|
+
// the behaviour can be anywhere in the hierarchy
|
|
100
|
+
root.add(go);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
for (const animationComponent of animationComponents) {
|
|
105
|
+
if (debug)
|
|
106
|
+
console.log(animationComponent);
|
|
107
|
+
const clips = [];
|
|
108
|
+
for (const clip of animationComponent.animations) {
|
|
109
|
+
if (!clips.includes(clip))
|
|
110
|
+
clips.push(clip);
|
|
111
|
+
}
|
|
112
|
+
animationClips.push({ root: animationComponent.gameObject, clips: clips });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (debug && animationClips?.length > 0)
|
|
116
|
+
console.log("USDZ Animation Clips without behaviours", animationClips);
|
|
117
|
+
for (const pair of animationClips) {
|
|
118
|
+
for (const clip of pair.clips)
|
|
119
|
+
ext.registerAnimation(pair.root, clip);
|
|
120
|
+
}
|
|
121
|
+
return constructedObjects;
|
|
122
|
+
}
|
|
123
|
+
export function registerAudioSourcesImplictly(root, _ext) {
|
|
124
|
+
const audioSources = GameObject.getComponentsInChildren(root, AudioSource);
|
|
125
|
+
const playAudioOnClicks = GameObject.getComponentsInChildren(root, PlayAudioOnClick);
|
|
126
|
+
const audioWithPlayAtStart = new Array();
|
|
127
|
+
const constructedObjects = new Array();
|
|
128
|
+
if (debug) {
|
|
129
|
+
console.log({ audioSources, playAudioOnClicks });
|
|
130
|
+
}
|
|
131
|
+
// Remove all audio sources that are already referenced from existing PlayAudioOnClick components
|
|
132
|
+
for (const player of playAudioOnClicks) {
|
|
133
|
+
if (!player.target)
|
|
134
|
+
continue;
|
|
135
|
+
const index = audioSources.indexOf(player.target);
|
|
136
|
+
if (index > -1)
|
|
137
|
+
audioSources.splice(index, 1);
|
|
138
|
+
}
|
|
139
|
+
// for the remaning ones, we want to build a PlayAudioOnClick component
|
|
140
|
+
for (const audioSource of audioSources) {
|
|
141
|
+
if (!audioSource || !audioSource.clip)
|
|
142
|
+
continue;
|
|
143
|
+
if (audioSource.volume <= 0)
|
|
144
|
+
continue;
|
|
145
|
+
if (audioWithPlayAtStart.includes(audioSource))
|
|
146
|
+
continue;
|
|
147
|
+
const newComponent = new PlayAudioOnClick();
|
|
148
|
+
newComponent.target = audioSource;
|
|
149
|
+
newComponent.name = "PlayAudioOnClick_implicitAtStart_";
|
|
150
|
+
newComponent.trigger = "start";
|
|
151
|
+
const go = new Object3D();
|
|
152
|
+
GameObject.addComponent(go, newComponent);
|
|
153
|
+
console.log("implicit PlayAudioOnStart", go, newComponent);
|
|
154
|
+
constructedObjects.push(go);
|
|
155
|
+
audioWithPlayAtStart.push(audioSource);
|
|
156
|
+
root.add(go);
|
|
157
|
+
}
|
|
158
|
+
return constructedObjects;
|
|
159
|
+
}
|
|
160
|
+
export function disableObjectsAtStart(objects) {
|
|
161
|
+
const newComponent = new BehaviorModel("DisableAtStart", TriggerBuilder.sceneStartTrigger(), ActionBuilder.fadeAction(objects, 0, false));
|
|
162
|
+
return newComponent;
|
|
163
|
+
}
|
|
164
164
|
//# sourceMappingURL=animationutils.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Context } from "../../../../engine/engine_setup.js";
|
|
2
|
-
export declare function ensureQuicklookLinkIsCreated(context: Context, supportsQuickLook: boolean): HTMLAnchorElement;
|
|
1
|
+
import { Context } from "../../../../engine/engine_setup.js";
|
|
2
|
+
export declare function ensureQuicklookLinkIsCreated(context: Context, supportsQuickLook: boolean): HTMLAnchorElement;
|