@needle-tools/engine 4.7.2-alpha → 4.7.2-next.0e4e068
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3782 -3782
- 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-CNdBjvz6.js +1145 -0
- package/dist/gltf-progressive-C_oN6wCA.umd.cjs +8 -0
- package/dist/gltf-progressive-MgWOszRl.min.js +8 -0
- package/dist/{needle-engine.bundle-BhDF-YSv.min.js → needle-engine.bundle-B1OlKJHF.min.js} +108 -107
- package/dist/{needle-engine.bundle-gp00DTS4.js → needle-engine.bundle-Bwsx9VYm.js} +2077 -2061
- package/dist/{needle-engine.bundle-D2myV4E4.umd.cjs → needle-engine.bundle-Cd6HpRz5.umd.cjs} +99 -98
- 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 +164 -164
- package/lib/engine/engine_addressables.js +601 -601
- 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 -1673
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_context_registry.d.ts +71 -71
- package/lib/engine/engine_context_registry.js +117 -117
- package/lib/engine/engine_coroutine.d.ts +35 -35
- package/lib/engine/engine_coroutine.js +52 -52
- package/lib/engine/engine_create_objects.d.ts +119 -119
- package/lib/engine/engine_create_objects.js +320 -320
- package/lib/engine/engine_default_parameters.d.ts +2 -2
- package/lib/engine/engine_default_parameters.js +3 -3
- package/lib/engine/engine_editor-sync.d.ts +21 -21
- package/lib/engine/engine_editor-sync.js +4 -4
- package/lib/engine/engine_fileloader.d.ts +2 -2
- package/lib/engine/engine_fileloader.js +8 -8
- package/lib/engine/engine_gameobject.d.ts +68 -68
- package/lib/engine/engine_gameobject.js +619 -619
- package/lib/engine/engine_generic_utils.d.ts +1 -1
- package/lib/engine/engine_generic_utils.js +13 -13
- package/lib/engine/engine_gizmos.d.ts +149 -149
- package/lib/engine/engine_gizmos.js +530 -530
- package/lib/engine/engine_gltf.d.ts +12 -12
- package/lib/engine/engine_gltf.js +15 -15
- package/lib/engine/engine_gltf_builtin_components.d.ts +11 -11
- package/lib/engine/engine_gltf_builtin_components.js +341 -341
- package/lib/engine/engine_hot_reload.d.ts +8 -8
- package/lib/engine/engine_hot_reload.js +197 -197
- package/lib/engine/engine_input.d.ts +362 -362
- package/lib/engine/engine_input.js +1294 -1294
- package/lib/engine/engine_input_utils.d.ts +2 -2
- package/lib/engine/engine_input_utils.js +22 -22
- package/lib/engine/engine_instancing.d.ts +19 -19
- package/lib/engine/engine_instancing.js +39 -39
- package/lib/engine/engine_license.d.ts +11 -11
- package/lib/engine/engine_license.js +369 -369
- package/lib/engine/engine_lifecycle_api.d.ts +83 -83
- package/lib/engine/engine_lifecycle_api.js +106 -106
- package/lib/engine/engine_lifecycle_functions_internal.d.ts +32 -32
- package/lib/engine/engine_lifecycle_functions_internal.js +146 -146
- package/lib/engine/engine_lightdata.d.ts +23 -23
- package/lib/engine/engine_lightdata.js +101 -101
- package/lib/engine/engine_loaders.callbacks.d.ts +97 -97
- package/lib/engine/engine_loaders.callbacks.js +86 -86
- package/lib/engine/engine_loaders.d.ts +48 -48
- package/lib/engine/engine_loaders.gltf.d.ts +13 -13
- package/lib/engine/engine_loaders.gltf.js +62 -62
- package/lib/engine/engine_loaders.js +337 -337
- package/lib/engine/engine_lods.d.ts +35 -35
- package/lib/engine/engine_lods.js +160 -160
- package/lib/engine/engine_lods.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.d.ts +32 -32
- package/lib/engine/engine_mainloop_utils.js +466 -466
- package/lib/engine/engine_math.d.ts +114 -114
- package/lib/engine/engine_math.js +247 -247
- package/lib/engine/engine_modules.d.ts +36 -36
- package/lib/engine/engine_modules.js +85 -85
- package/lib/engine/engine_networking.d.ts +260 -260
- package/lib/engine/engine_networking.js +764 -764
- package/lib/engine/engine_networking_auto.d.ts +24 -24
- package/lib/engine/engine_networking_auto.js +310 -310
- package/lib/engine/engine_networking_blob.d.ts +48 -48
- package/lib/engine/engine_networking_blob.js +228 -228
- package/lib/engine/engine_networking_files.d.ts +35 -35
- package/lib/engine/engine_networking_files.js +172 -172
- package/lib/engine/engine_networking_files_default_components.d.ts +6 -6
- package/lib/engine/engine_networking_files_default_components.js +42 -42
- package/lib/engine/engine_networking_instantiate.d.ts +100 -100
- package/lib/engine/engine_networking_instantiate.js +345 -345
- package/lib/engine/engine_networking_peer.d.ts +15 -15
- package/lib/engine/engine_networking_peer.js +132 -132
- package/lib/engine/engine_networking_streams.d.ts +123 -123
- package/lib/engine/engine_networking_streams.js +645 -645
- package/lib/engine/engine_networking_types.d.ts +22 -22
- package/lib/engine/engine_networking_types.js +7 -7
- package/lib/engine/engine_networking_utils.d.ts +2 -2
- package/lib/engine/engine_networking_utils.js +20 -20
- package/lib/engine/engine_networking_websocket.d.ts +1 -1
- package/lib/engine/engine_networking_websocket.js +2 -2
- package/lib/engine/engine_patcher.d.ts +10 -10
- package/lib/engine/engine_patcher.js +142 -142
- package/lib/engine/engine_physics.d.ts +152 -152
- package/lib/engine/engine_physics.js +645 -645
- package/lib/engine/engine_physics.types.d.ts +40 -40
- package/lib/engine/engine_physics.types.js +33 -33
- package/lib/engine/engine_physics_rapier.d.ts +147 -147
- package/lib/engine/engine_physics_rapier.js +1433 -1433
- package/lib/engine/engine_playerview.d.ts +26 -26
- package/lib/engine/engine_playerview.js +64 -64
- package/lib/engine/engine_scenelighting.d.ts +71 -71
- package/lib/engine/engine_scenelighting.js +226 -226
- package/lib/engine/engine_serialization.d.ts +3 -3
- package/lib/engine/engine_serialization.js +3 -3
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +72 -72
- package/lib/engine/engine_serialization_builtin_serializer.js +403 -403
- package/lib/engine/engine_serialization_core.d.ts +94 -94
- package/lib/engine/engine_serialization_core.js +607 -607
- package/lib/engine/engine_serialization_decorator.d.ts +23 -23
- package/lib/engine/engine_serialization_decorator.js +66 -66
- package/lib/engine/engine_setup.d.ts +1 -1
- package/lib/engine/engine_setup.js +2 -2
- package/lib/engine/engine_shaders.d.ts +53 -53
- package/lib/engine/engine_shaders.js +252 -252
- package/lib/engine/engine_shims.d.ts +4 -4
- package/lib/engine/engine_shims.js +24 -24
- package/lib/engine/engine_test_utils.d.ts +39 -39
- package/lib/engine/engine_test_utils.js +83 -83
- package/lib/engine/engine_texture.d.ts +28 -28
- package/lib/engine/engine_texture.js +64 -64
- package/lib/engine/engine_three_utils.d.ts +204 -204
- package/lib/engine/engine_three_utils.js +788 -788
- package/lib/engine/engine_time.d.ts +51 -51
- package/lib/engine/engine_time.js +82 -82
- package/lib/engine/engine_time_utils.d.ts +88 -88
- package/lib/engine/engine_time_utils.js +215 -215
- package/lib/engine/engine_tonemapping.d.ts +6 -6
- package/lib/engine/engine_tonemapping.js +198 -197
- package/lib/engine/engine_tonemapping.js.map +1 -1
- 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 +115 -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 +845 -821
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.loading.d.ts +44 -44
- package/lib/engine/webcomponents/needle-engine.loading.js +341 -341
- package/lib/engine/xr/NeedleXRController.d.ts +313 -313
- package/lib/engine/xr/NeedleXRController.js +1007 -1007
- package/lib/engine/xr/NeedleXRSession.d.ts +340 -340
- package/lib/engine/xr/NeedleXRSession.js +1463 -1463
- package/lib/engine/xr/NeedleXRSync.d.ts +22 -22
- package/lib/engine/xr/NeedleXRSync.js +188 -188
- package/lib/engine/xr/SceneTransition.d.ts +18 -18
- package/lib/engine/xr/SceneTransition.js +69 -69
- package/lib/engine/xr/TempXRContext.d.ts +34 -34
- package/lib/engine/xr/TempXRContext.js +187 -187
- package/lib/engine/xr/XRRig.d.ts +7 -7
- package/lib/engine/xr/XRRig.js +1 -1
- package/lib/engine/xr/api.d.ts +6 -6
- package/lib/engine/xr/api.js +6 -6
- package/lib/engine/xr/events.d.ts +66 -66
- package/lib/engine/xr/events.js +93 -93
- package/lib/engine/xr/internal.d.ts +12 -12
- package/lib/engine/xr/internal.js +25 -25
- package/lib/engine/xr/usdz.d.ts +12 -12
- package/lib/engine/xr/usdz.js +29 -29
- package/lib/engine/xr/utils.d.ts +11 -11
- package/lib/engine/xr/utils.js +34 -34
- package/lib/engine-components/AlignmentConstraint.d.ts +10 -10
- package/lib/engine-components/AlignmentConstraint.js +39 -39
- package/lib/engine-components/Animation.d.ts +156 -156
- package/lib/engine-components/Animation.js +508 -508
- package/lib/engine-components/AnimationCurve.d.ts +40 -40
- package/lib/engine-components/AnimationCurve.js +159 -159
- package/lib/engine-components/AnimationUtils.d.ts +8 -8
- package/lib/engine-components/AnimationUtils.js +27 -27
- package/lib/engine-components/AnimationUtilsAutoplay.d.ts +1 -1
- package/lib/engine-components/AnimationUtilsAutoplay.js +39 -39
- package/lib/engine-components/Animator.d.ts +217 -217
- package/lib/engine-components/Animator.js +354 -354
- package/lib/engine-components/AnimatorController.d.ts +227 -227
- package/lib/engine-components/AnimatorController.js +1152 -1152
- package/lib/engine-components/AudioListener.d.ts +33 -33
- package/lib/engine-components/AudioListener.js +86 -86
- package/lib/engine-components/AudioSource.d.ts +217 -217
- package/lib/engine-components/AudioSource.js +635 -635
- package/lib/engine-components/AvatarLoader.d.ts +80 -80
- package/lib/engine-components/AvatarLoader.js +231 -231
- package/lib/engine-components/AxesHelper.d.ts +32 -32
- package/lib/engine-components/AxesHelper.js +67 -67
- package/lib/engine-components/BasicIKConstraint.d.ts +9 -9
- package/lib/engine-components/BasicIKConstraint.js +43 -43
- package/lib/engine-components/BoxCollider.d.ts +2 -2
- package/lib/engine-components/BoxCollider.js +2 -2
- package/lib/engine-components/BoxHelperComponent.d.ts +47 -47
- package/lib/engine-components/BoxHelperComponent.js +102 -102
- package/lib/engine-components/Camera.d.ts +231 -231
- package/lib/engine-components/Camera.js +700 -700
- package/lib/engine-components/CameraUtils.d.ts +1 -1
- package/lib/engine-components/CameraUtils.js +123 -123
- package/lib/engine-components/CharacterController.d.ts +55 -55
- package/lib/engine-components/CharacterController.js +236 -236
- package/lib/engine-components/Collider.d.ts +188 -188
- package/lib/engine-components/Collider.js +369 -369
- package/lib/engine-components/Component.d.ts +792 -792
- package/lib/engine-components/Component.js +920 -920
- package/lib/engine-components/ContactShadows.d.ts +94 -94
- package/lib/engine-components/ContactShadows.js +453 -453
- package/lib/engine-components/DeleteBox.d.ts +19 -19
- package/lib/engine-components/DeleteBox.js +58 -58
- package/lib/engine-components/DeviceFlag.d.ts +16 -16
- package/lib/engine-components/DeviceFlag.js +47 -47
- package/lib/engine-components/DragControls.d.ts +170 -170
- package/lib/engine-components/DragControls.js +1421 -1421
- package/lib/engine-components/DropListener.d.ts +215 -215
- package/lib/engine-components/DropListener.js +642 -642
- package/lib/engine-components/Duplicatable.d.ts +35 -35
- package/lib/engine-components/Duplicatable.js +202 -202
- package/lib/engine-components/EventList.d.ts +54 -54
- package/lib/engine-components/EventList.js +232 -232
- package/lib/engine-components/EventTrigger.d.ts +33 -33
- package/lib/engine-components/EventTrigger.js +75 -75
- package/lib/engine-components/EventType.d.ts +22 -22
- package/lib/engine-components/EventType.js +23 -23
- package/lib/engine-components/Fog.d.ts +22 -22
- package/lib/engine-components/Fog.js +61 -61
- package/lib/engine-components/Gizmos.d.ts +17 -17
- package/lib/engine-components/Gizmos.js +64 -64
- package/lib/engine-components/GridHelper.d.ts +20 -20
- package/lib/engine-components/GridHelper.js +54 -54
- package/lib/engine-components/GroundProjection.d.ts +67 -67
- package/lib/engine-components/GroundProjection.js +343 -343
- package/lib/engine-components/Interactable.d.ts +12 -12
- package/lib/engine-components/Interactable.js +12 -12
- package/lib/engine-components/Joints.d.ts +19 -19
- package/lib/engine-components/Joints.js +51 -51
- package/lib/engine-components/LODGroup.d.ts +35 -35
- package/lib/engine-components/LODGroup.js +152 -152
- package/lib/engine-components/Light.d.ts +180 -180
- package/lib/engine-components/Light.js +535 -535
- package/lib/engine-components/LookAtConstraint.d.ts +19 -19
- package/lib/engine-components/LookAtConstraint.js +35 -35
- package/lib/engine-components/NeedleMenu.d.ts +50 -50
- package/lib/engine-components/NeedleMenu.js +92 -92
- package/lib/engine-components/NestedGltf.d.ts +25 -25
- package/lib/engine-components/NestedGltf.js +88 -88
- package/lib/engine-components/Networking.d.ts +54 -54
- package/lib/engine-components/Networking.js +112 -112
- package/lib/engine-components/OffsetConstraint.d.ts +14 -14
- package/lib/engine-components/OffsetConstraint.js +65 -65
- package/lib/engine-components/OrbitControls.d.ts +268 -268
- package/lib/engine-components/OrbitControls.js +1015 -1015
- package/lib/engine-components/PlayerColor.d.ts +19 -19
- package/lib/engine-components/PlayerColor.js +94 -94
- package/lib/engine-components/ReflectionProbe.d.ts +28 -28
- package/lib/engine-components/ReflectionProbe.js +204 -204
- package/lib/engine-components/Renderer.d.ts +153 -153
- package/lib/engine-components/Renderer.js +834 -834
- package/lib/engine-components/RendererInstancing.d.ts +140 -140
- package/lib/engine-components/RendererInstancing.js +744 -744
- package/lib/engine-components/RendererLightmap.d.ts +24 -24
- package/lib/engine-components/RendererLightmap.js +182 -182
- package/lib/engine-components/RigidBody.d.ts +155 -155
- package/lib/engine-components/RigidBody.js +517 -517
- package/lib/engine-components/SceneSwitcher.d.ts +263 -263
- package/lib/engine-components/SceneSwitcher.js +971 -971
- package/lib/engine-components/ScreenCapture.d.ts +144 -144
- package/lib/engine-components/ScreenCapture.js +547 -547
- package/lib/engine-components/ShadowCatcher.d.ts +33 -33
- package/lib/engine-components/ShadowCatcher.js +166 -166
- package/lib/engine-components/Skybox.d.ts +88 -88
- package/lib/engine-components/Skybox.js +469 -469
- package/lib/engine-components/SmoothFollow.d.ts +34 -34
- package/lib/engine-components/SmoothFollow.js +82 -82
- package/lib/engine-components/SpatialTrigger.d.ts +102 -102
- package/lib/engine-components/SpatialTrigger.js +225 -225
- package/lib/engine-components/SpectatorCamera.d.ts +111 -111
- package/lib/engine-components/SpectatorCamera.js +715 -715
- package/lib/engine-components/SphereCollider.d.ts +2 -2
- package/lib/engine-components/SphereCollider.js +2 -2
- package/lib/engine-components/SpriteRenderer.d.ts +132 -132
- package/lib/engine-components/SpriteRenderer.js +472 -472
- package/lib/engine-components/SyncedCamera.d.ts +41 -41
- package/lib/engine-components/SyncedCamera.js +199 -199
- package/lib/engine-components/SyncedRoom.d.ts +106 -106
- package/lib/engine-components/SyncedRoom.js +371 -371
- package/lib/engine-components/SyncedTransform.d.ts +94 -94
- package/lib/engine-components/SyncedTransform.js +331 -331
- package/lib/engine-components/TestRunner.d.ts +16 -16
- package/lib/engine-components/TestRunner.js +102 -102
- package/lib/engine-components/TransformGizmo.d.ts +75 -75
- package/lib/engine-components/TransformGizmo.js +209 -209
- package/lib/engine-components/VideoPlayer.d.ts +184 -184
- package/lib/engine-components/VideoPlayer.js +978 -978
- package/lib/engine-components/Voip.d.ts +67 -67
- package/lib/engine-components/Voip.js +360 -360
- package/lib/engine-components/api.d.ts +51 -51
- package/lib/engine-components/api.js +50 -50
- package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +11 -11
- package/lib/engine-components/avatar/AvatarBlink_Simple.js +76 -76
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +14 -14
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +68 -68
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +29 -29
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +121 -121
- package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +15 -15
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +79 -79
- package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +9 -9
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +29 -29
- package/lib/engine-components/codegen/components.d.ts +216 -216
- package/lib/engine-components/codegen/components.js +218 -218
- package/lib/engine-components/debug/LogStats.d.ts +5 -5
- package/lib/engine-components/debug/LogStats.js +18 -18
- package/lib/engine-components/export/gltf/GltfExport.d.ts +30 -30
- package/lib/engine-components/export/gltf/GltfExport.js +246 -246
- package/lib/engine-components/export/gltf/index.d.ts +1 -1
- package/lib/engine-components/export/gltf/index.js +1 -1
- package/lib/engine-components/export/index.d.ts +1 -1
- package/lib/engine-components/export/index.js +1 -1
- package/lib/engine-components/export/usdz/Extension.d.ts +22 -22
- package/lib/engine-components/export/usdz/Extension.js +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +162 -162
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +1789 -1789
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +130 -130
- package/lib/engine-components/export/usdz/USDZExporter.js +663 -663
- package/lib/engine-components/export/usdz/extensions/Animation.d.ts +106 -106
- package/lib/engine-components/export/usdz/extensions/Animation.js +1071 -1071
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -5
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +6 -6
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.js +451 -451
- package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +54 -54
- package/lib/engine-components/export/usdz/extensions/USDZText.js +203 -203
- package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -8
- package/lib/engine-components/export/usdz/extensions/USDZUI.js +158 -158
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -30
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +88 -88
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js +86 -86
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +28 -28
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +290 -290
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +190 -190
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +1060 -1060
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +135 -135
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +548 -548
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.d.ts +7 -7
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +115 -115
- package/lib/engine-components/export/usdz/index.d.ts +3 -3
- package/lib/engine-components/export/usdz/index.js +2 -2
- package/lib/engine-components/export/usdz/utils/animationutils.d.ts +7 -7
- package/lib/engine-components/export/usdz/utils/animationutils.js +163 -163
- package/lib/engine-components/export/usdz/utils/quicklook.d.ts +2 -2
- package/lib/engine-components/export/usdz/utils/quicklook.js +43 -43
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +177 -177
- package/lib/engine-components/particlesystem/ParticleSystem.js +1176 -1176
- package/lib/engine-components/particlesystem/ParticleSystemModules.d.ts +526 -526
- package/lib/engine-components/particlesystem/ParticleSystemModules.js +1930 -1930
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.d.ts +25 -25
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.js +87 -87
- package/lib/engine-components/particlesystem/api.d.ts +2 -2
- package/lib/engine-components/particlesystem/api.js +2 -2
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +59 -59
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +46 -46
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +113 -113
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -39
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +23 -23
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +111 -111
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +25 -25
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +104 -104
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +12 -12
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +18 -18
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +32 -32
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +91 -91
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +70 -70
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +176 -176
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +127 -127
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +70 -70
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +19 -19
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +94 -94
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +13 -13
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.js +51 -51
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +15 -15
- package/lib/engine-components/postprocessing/Effects/Vignette.js +60 -60
- package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +90 -90
- package/lib/engine-components/postprocessing/PostProcessingEffect.js +168 -168
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +42 -42
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +494 -494
- package/lib/engine-components/postprocessing/Volume.d.ts +90 -90
- package/lib/engine-components/postprocessing/Volume.js +385 -385
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +26 -26
- package/lib/engine-components/postprocessing/VolumeParameter.js +136 -136
- package/lib/engine-components/postprocessing/VolumeProfile.d.ts +15 -15
- package/lib/engine-components/postprocessing/VolumeProfile.js +60 -60
- package/lib/engine-components/postprocessing/index.d.ts +6 -6
- package/lib/engine-components/postprocessing/index.js +6 -6
- package/lib/engine-components/postprocessing/utils.d.ts +55 -55
- package/lib/engine-components/postprocessing/utils.js +119 -119
- package/lib/engine-components/timeline/PlayableDirector.d.ts +163 -163
- package/lib/engine-components/timeline/PlayableDirector.js +686 -686
- package/lib/engine-components/timeline/SignalAsset.d.ts +24 -24
- package/lib/engine-components/timeline/SignalAsset.js +130 -130
- package/lib/engine-components/timeline/TimelineModels.d.ts +89 -89
- package/lib/engine-components/timeline/TimelineModels.js +22 -22
- package/lib/engine-components/timeline/TimelineTracks.d.ts +110 -110
- package/lib/engine-components/timeline/TimelineTracks.js +879 -879
- package/lib/engine-components/timeline/index.d.ts +4 -4
- package/lib/engine-components/timeline/index.js +3 -3
- package/lib/engine-components/ui/BaseUIComponent.d.ts +48 -48
- package/lib/engine-components/ui/BaseUIComponent.js +170 -170
- package/lib/engine-components/ui/Button.d.ts +64 -64
- package/lib/engine-components/ui/Button.js +315 -315
- package/lib/engine-components/ui/Canvas.d.ts +74 -74
- package/lib/engine-components/ui/Canvas.js +407 -407
- package/lib/engine-components/ui/CanvasGroup.d.ts +19 -19
- package/lib/engine-components/ui/CanvasGroup.js +58 -58
- package/lib/engine-components/ui/EventSystem.d.ts +125 -125
- package/lib/engine-components/ui/EventSystem.js +765 -765
- package/lib/engine-components/ui/Graphic.d.ts +55 -55
- package/lib/engine-components/ui/Graphic.js +255 -255
- package/lib/engine-components/ui/Image.d.ts +35 -35
- package/lib/engine-components/ui/Image.js +116 -116
- package/lib/engine-components/ui/InputField.d.ts +42 -42
- package/lib/engine-components/ui/InputField.js +268 -268
- package/lib/engine-components/ui/Interfaces.d.ts +38 -38
- package/lib/engine-components/ui/Interfaces.js +12 -12
- package/lib/engine-components/ui/Layout.d.ts +84 -84
- package/lib/engine-components/ui/Layout.js +330 -330
- package/lib/engine-components/ui/Outline.d.ts +7 -7
- package/lib/engine-components/ui/Outline.js +20 -20
- package/lib/engine-components/ui/PointerEvents.d.ts +115 -115
- package/lib/engine-components/ui/PointerEvents.js +145 -145
- package/lib/engine-components/ui/RaycastUtils.d.ts +11 -11
- package/lib/engine-components/ui/RaycastUtils.js +67 -67
- package/lib/engine-components/ui/Raycaster.d.ts +30 -30
- package/lib/engine-components/ui/Raycaster.js +95 -95
- package/lib/engine-components/ui/RectTransform.d.ts +61 -61
- package/lib/engine-components/ui/RectTransform.js +356 -356
- package/lib/engine-components/ui/SpatialHtml.d.ts +8 -8
- package/lib/engine-components/ui/SpatialHtml.js +79 -79
- package/lib/engine-components/ui/Symbols.d.ts +1 -1
- package/lib/engine-components/ui/Symbols.js +1 -1
- package/lib/engine-components/ui/Text.d.ts +78 -78
- package/lib/engine-components/ui/Text.js +539 -539
- package/lib/engine-components/ui/Utils.d.ts +24 -24
- package/lib/engine-components/ui/Utils.js +90 -90
- package/lib/engine-components/ui/index.d.ts +1 -1
- package/lib/engine-components/ui/index.js +1 -1
- package/lib/engine-components/utils/EnvironmentScene.d.ts +5 -5
- package/lib/engine-components/utils/EnvironmentScene.js +205 -205
- package/lib/engine-components/utils/LookAt.d.ts +31 -31
- package/lib/engine-components/utils/LookAt.js +82 -82
- package/lib/engine-components/utils/OpenURL.d.ts +42 -42
- package/lib/engine-components/utils/OpenURL.js +119 -119
- package/lib/engine-components/webxr/Avatar.d.ts +25 -25
- package/lib/engine-components/webxr/Avatar.js +255 -255
- package/lib/engine-components/webxr/TeleportTarget.d.ts +7 -7
- package/lib/engine-components/webxr/TeleportTarget.js +7 -7
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +30 -30
- package/lib/engine-components/webxr/WebARCameraBackground.js +155 -155
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +98 -98
- package/lib/engine-components/webxr/WebARSessionRoot.js +770 -770
- package/lib/engine-components/webxr/WebXR.d.ts +232 -232
- package/lib/engine-components/webxr/WebXR.js +561 -561
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +27 -27
- package/lib/engine-components/webxr/WebXRAvatar.js +44 -44
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +86 -86
- package/lib/engine-components/webxr/WebXRImageTracking.js +471 -471
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +92 -92
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +500 -500
- package/lib/engine-components/webxr/WebXRRig.d.ts +32 -32
- package/lib/engine-components/webxr/WebXRRig.js +72 -72
- package/lib/engine-components/webxr/XRFlag.d.ts +38 -38
- package/lib/engine-components/webxr/XRFlag.js +139 -139
- package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +47 -47
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js +120 -120
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +43 -43
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +352 -352
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +78 -78
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +506 -506
- package/lib/engine-components/webxr/index.d.ts +3 -3
- package/lib/engine-components/webxr/index.js +3 -3
- package/lib/engine-components/webxr/types.d.ts +3 -3
- package/lib/engine-components/webxr/types.js +1 -1
- package/lib/engine-components-experimental/Presentation.d.ts +6 -6
- package/lib/engine-components-experimental/Presentation.js +9 -9
- package/lib/engine-components-experimental/api.d.ts +4 -4
- package/lib/engine-components-experimental/api.js +4 -4
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +156 -156
- package/lib/engine-components-experimental/networking/PlayerSync.js +377 -377
- package/lib/engine-schemes/api.d.ts +12 -12
- package/lib/engine-schemes/api.js +12 -12
- package/lib/engine-schemes/schemes.d.ts +7 -7
- package/lib/engine-schemes/schemes.js +19 -19
- package/lib/engine-schemes/synced-camera-model.d.ts +25 -25
- package/lib/engine-schemes/synced-camera-model.js +67 -67
- package/lib/engine-schemes/synced-transform-model.d.ts +31 -31
- package/lib/engine-schemes/synced-transform-model.js +66 -66
- package/lib/engine-schemes/transform.d.ts +12 -12
- package/lib/engine-schemes/transform.js +39 -39
- package/lib/engine-schemes/vec2.d.ts +10 -10
- package/lib/engine-schemes/vec2.js +25 -25
- package/lib/engine-schemes/vec3.d.ts +11 -11
- package/lib/engine-schemes/vec3.js +29 -29
- package/lib/engine-schemes/vec4.d.ts +12 -12
- package/lib/engine-schemes/vec4.js +33 -33
- package/lib/engine-schemes/vr-user-state-buffer.d.ts +37 -37
- package/lib/engine-schemes/vr-user-state-buffer.js +110 -110
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.d.ts +6 -6
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js +45 -45
- package/lib/needle-engine.d.ts +7 -7
- package/lib/needle-engine.js +64 -64
- package/package.json +3 -3
- package/plugins/common/buildinfo.js +64 -64
- package/plugins/common/cloud.js +1 -1
- package/plugins/common/config.cjs +31 -31
- package/plugins/common/config.js +35 -35
- package/plugins/common/files.js +31 -31
- package/plugins/common/generator.js +10 -10
- package/plugins/common/license.js +452 -452
- package/plugins/common/logger.js +327 -327
- package/plugins/common/npm.js +15 -15
- package/plugins/common/timers.js +7 -7
- package/plugins/common/version.js +37 -37
- package/plugins/gltf-packer.mjs +1 -1
- package/plugins/next/alias.cjs +39 -39
- package/plugins/next/license.cjs +24 -24
- package/plugins/next/meshbvhworker.cjs +18 -18
- package/plugins/next/next.js +141 -141
- package/plugins/types/index.d.ts +2 -2
- package/plugins/types/license.d.ts +24 -24
- package/plugins/types/needleConfig.d.ts +27 -27
- package/plugins/types/next.d.ts +2 -2
- package/plugins/types/userconfig.d.ts +124 -124
- package/plugins/types/vite.d.ts +13 -13
- package/plugins/types/webmanifest.d.ts +32 -32
- package/plugins/vite/alias.js +189 -189
- package/plugins/vite/asap.js +251 -251
- package/plugins/vite/build-pipeline.js +371 -371
- package/plugins/vite/build.js +19 -19
- package/plugins/vite/buildinfo.js +41 -41
- package/plugins/vite/config.js +106 -106
- package/plugins/vite/copyfiles.js +138 -138
- package/plugins/vite/defines.js +70 -70
- package/plugins/vite/dependencies.js +232 -232
- package/plugins/vite/dependency-watcher.js +237 -237
- package/plugins/vite/drop-client.js +76 -76
- package/plugins/vite/drop.js +87 -87
- package/plugins/vite/editor-connection.js +124 -124
- package/plugins/vite/facebook-instant-games.js +102 -102
- package/plugins/vite/gzip.js +5 -5
- package/plugins/vite/imports-logger.js +143 -143
- package/plugins/vite/index.js +147 -147
- package/plugins/vite/license.js +56 -56
- package/plugins/vite/local-files.js +440 -440
- package/plugins/vite/logger.client.js +272 -272
- package/plugins/vite/logger.js +100 -100
- package/plugins/vite/materialx.js +31 -31
- package/plugins/vite/meta.js +163 -163
- package/plugins/vite/npm.js +7 -7
- package/plugins/vite/peer.js +29 -29
- package/plugins/vite/poster-client.js +73 -73
- package/plugins/vite/poster.js +79 -79
- package/plugins/vite/pwa.js +604 -604
- package/plugins/vite/reload-client.js +15 -15
- package/plugins/vite/reload.js +351 -351
- package/plugins/vite/server.js +66 -66
- package/plugins/vite/transform-codegen.js +55 -55
- package/plugins/vite/transform.js +32 -32
- package/plugins/vite/vite-4.4-hack.js +31 -31
- package/src/asap/needle-asap.ts +111 -111
- package/src/asap/sessiongranted.ts +75 -75
- package/src/asap/utils.ts +4 -4
- package/src/engine/analytics/index.ts +10 -10
- package/src/engine/analytics/lcp.ts +35 -35
- package/src/engine/api.ts +82 -82
- package/src/engine/assets/index.ts +59 -59
- package/src/engine/assets/static.js +5 -5
- package/src/engine/codegen/register_types.ts +300 -300
- package/src/engine/debug/debug.ts +51 -51
- package/src/engine/debug/debug_console.ts +333 -333
- package/src/engine/debug/debug_overlay.ts +332 -332
- package/src/engine/debug/debug_spatial_console.ts +429 -429
- package/src/engine/debug/index.ts +1 -1
- package/src/engine/engine_addressables.ts +671 -671
- 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 +1822 -1824
- package/src/engine/engine_context_registry.ts +129 -129
- package/src/engine/engine_coroutine.ts +54 -54
- package/src/engine/engine_create_objects.ts +411 -411
- package/src/engine/engine_default_parameters.ts +3 -3
- package/src/engine/engine_editor-sync.ts +28 -28
- package/src/engine/engine_fileloader.js +9 -9
- package/src/engine/engine_gameobject.ts +712 -712
- package/src/engine/engine_generic_utils.js +13 -13
- package/src/engine/engine_gizmos.ts +577 -577
- package/src/engine/engine_gltf.ts +29 -29
- package/src/engine/engine_gltf_builtin_components.ts +403 -403
- package/src/engine/engine_hot_reload.ts +210 -210
- package/src/engine/engine_input.ts +1500 -1500
- package/src/engine/engine_input_utils.ts +23 -23
- package/src/engine/engine_instancing.ts +45 -45
- package/src/engine/engine_license.ts +386 -386
- package/src/engine/engine_lifecycle_api.ts +113 -113
- package/src/engine/engine_lifecycle_functions_internal.ts +193 -193
- package/src/engine/engine_lightdata.ts +125 -125
- 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 +185 -186
- package/src/engine/engine_mainloop_utils.ts +472 -472
- package/src/engine/engine_math.ts +282 -282
- package/src/engine/engine_modules.ts +83 -83
- package/src/engine/engine_networking.ts +862 -862
- package/src/engine/engine_networking_auto.ts +352 -352
- package/src/engine/engine_networking_blob.ts +275 -275
- package/src/engine/engine_networking_files.ts +217 -217
- package/src/engine/engine_networking_files_default_components.ts +58 -58
- package/src/engine/engine_networking_instantiate.ts +419 -419
- package/src/engine/engine_networking_peer.ts +159 -159
- package/src/engine/engine_networking_streams.ts +713 -713
- package/src/engine/engine_networking_types.ts +24 -24
- package/src/engine/engine_networking_utils.ts +23 -23
- package/src/engine/engine_networking_websocket.ts +2 -2
- package/src/engine/engine_patcher.ts +199 -199
- package/src/engine/engine_physics.ts +783 -783
- package/src/engine/engine_physics.types.ts +46 -46
- package/src/engine/engine_physics_rapier.ts +1577 -1577
- package/src/engine/engine_playerview.ts +80 -80
- package/src/engine/engine_scenelighting.ts +294 -294
- package/src/engine/engine_serialization.ts +2 -2
- package/src/engine/engine_serialization_builtin_serializer.ts +473 -473
- package/src/engine/engine_serialization_core.ts +720 -720
- package/src/engine/engine_serialization_decorator.ts +80 -80
- package/src/engine/engine_setup.ts +1 -1
- package/src/engine/engine_shaders.ts +267 -267
- package/src/engine/engine_shims.ts +32 -32
- package/src/engine/engine_test_utils.ts +109 -109
- package/src/engine/engine_texture.ts +82 -82
- package/src/engine/engine_three_utils.ts +928 -928
- package/src/engine/engine_time.ts +94 -94
- package/src/engine/engine_time_utils.ts +237 -237
- package/src/engine/engine_tonemapping.ts +209 -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 +890 -860
- package/src/engine/xr/NeedleXRController.ts +1125 -1125
- package/src/engine/xr/NeedleXRSession.ts +1624 -1624
- package/src/engine/xr/NeedleXRSync.ts +220 -220
- package/src/engine/xr/SceneTransition.ts +78 -78
- package/src/engine/xr/TempXRContext.ts +216 -216
- package/src/engine/xr/XRRig.ts +9 -9
- package/src/engine/xr/api.ts +5 -5
- package/src/engine/xr/events.ts +102 -102
- package/src/engine/xr/internal.ts +34 -34
- package/src/engine/xr/usdz.ts +30 -30
- package/src/engine/xr/utils.ts +39 -39
- package/src/engine-components/AlignmentConstraint.ts +36 -36
- package/src/engine-components/Animation.ts +557 -557
- package/src/engine-components/AnimationCurve.ts +150 -150
- package/src/engine-components/AnimationUtils.ts +28 -28
- package/src/engine-components/AnimationUtilsAutoplay.ts +43 -43
- package/src/engine-components/Animator.ts +397 -397
- package/src/engine-components/AnimatorController.ts +1293 -1293
- package/src/engine-components/AudioListener.ts +92 -92
- package/src/engine-components/AudioSource.ts +644 -644
- package/src/engine-components/AvatarLoader.ts +263 -263
- package/src/engine-components/AxesHelper.ts +59 -59
- package/src/engine-components/BasicIKConstraint.ts +54 -54
- package/src/engine-components/BoxCollider.ts +1 -1
- package/src/engine-components/BoxHelperComponent.ts +114 -114
- package/src/engine-components/Camera.ts +719 -719
- package/src/engine-components/CameraUtils.ts +138 -138
- package/src/engine-components/CharacterController.ts +253 -253
- package/src/engine-components/Collider.ts +374 -374
- package/src/engine-components/Component.ts +1297 -1297
- package/src/engine-components/ContactShadows.ts +506 -506
- package/src/engine-components/DeleteBox.ts +62 -62
- package/src/engine-components/DeviceFlag.ts +46 -46
- package/src/engine-components/DragControls.ts +1623 -1623
- package/src/engine-components/DropListener.ts +713 -713
- package/src/engine-components/Duplicatable.ts +198 -198
- package/src/engine-components/EventList.ts +266 -266
- package/src/engine-components/EventTrigger.ts +74 -74
- package/src/engine-components/EventType.ts +22 -22
- package/src/engine-components/Fog.ts +60 -60
- package/src/engine-components/Gizmos.ts +56 -56
- package/src/engine-components/GridHelper.ts +48 -48
- package/src/engine-components/GroundProjection.ts +356 -356
- package/src/engine-components/Interactable.ts +14 -14
- package/src/engine-components/Joints.ts +52 -52
- package/src/engine-components/LODGroup.ts +153 -153
- package/src/engine-components/Light.ts +558 -558
- package/src/engine-components/LookAtConstraint.ts +25 -25
- package/src/engine-components/NeedleMenu.ts +84 -84
- package/src/engine-components/NestedGltf.ts +86 -86
- package/src/engine-components/Networking.ts +114 -114
- package/src/engine-components/OffsetConstraint.ts +60 -60
- package/src/engine-components/OrbitControls.ts +1074 -1074
- package/src/engine-components/PlayerColor.ts +103 -103
- package/src/engine-components/ReflectionProbe.ts +220 -220
- package/src/engine-components/Renderer.ts +903 -903
- package/src/engine-components/RendererInstancing.ts +855 -855
- package/src/engine-components/RendererLightmap.ts +198 -198
- package/src/engine-components/RigidBody.ts +526 -526
- package/src/engine-components/SceneSwitcher.ts +1030 -1030
- package/src/engine-components/ScreenCapture.ts +592 -592
- package/src/engine-components/ShadowCatcher.ts +172 -172
- package/src/engine-components/Skybox.ts +475 -475
- package/src/engine-components/SmoothFollow.ts +76 -76
- package/src/engine-components/SpatialTrigger.ts +229 -229
- package/src/engine-components/SpectatorCamera.ts +787 -787
- package/src/engine-components/SphereCollider.ts +1 -1
- package/src/engine-components/SpriteRenderer.ts +468 -468
- package/src/engine-components/SyncedCamera.ts +220 -220
- package/src/engine-components/SyncedRoom.ts +380 -380
- package/src/engine-components/SyncedTransform.ts +383 -383
- package/src/engine-components/TestRunner.ts +118 -118
- package/src/engine-components/TransformGizmo.ts +219 -219
- package/src/engine-components/VideoPlayer.ts +1025 -1025
- package/src/engine-components/Voip.ts +363 -363
- package/src/engine-components/api.ts +60 -60
- package/src/engine-components/avatar/AvatarBlink_Simple.ts +69 -69
- package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +63 -63
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +139 -139
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +83 -83
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +31 -31
- package/src/engine-components/codegen/components.ts +217 -217
- package/src/engine-components/debug/LogStats.ts +21 -21
- package/src/engine-components/export/gltf/GltfExport.ts +265 -265
- package/src/engine-components/export/usdz/Extension.ts +24 -24
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2426 -2426
- package/src/engine-components/export/usdz/USDZExporter.ts +705 -705
- package/src/engine-components/export/usdz/extensions/Animation.ts +1204 -1204
- package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +9 -9
- package/src/engine-components/export/usdz/extensions/NodeMaterialConverter.ts +532 -532
- package/src/engine-components/export/usdz/extensions/USDZText.ts +240 -240
- package/src/engine-components/export/usdz/extensions/USDZUI.ts +189 -189
- package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -99
- package/src/engine-components/export/usdz/extensions/behavior/AudioExtension.ts +102 -102
- package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +320 -320
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1225 -1225
- package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +646 -646
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +132 -132
- package/src/engine-components/export/usdz/index.ts +2 -2
- package/src/engine-components/export/usdz/utils/animationutils.ts +191 -191
- package/src/engine-components/export/usdz/utils/quicklook.ts +50 -50
- package/src/engine-components/particlesystem/ParticleSystem.ts +1287 -1287
- package/src/engine-components/particlesystem/ParticleSystemModules.ts +1765 -1765
- package/src/engine-components/particlesystem/ParticleSystemSubEmitter.ts +111 -111
- package/src/engine-components/particlesystem/api.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +64 -64
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +116 -116
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +37 -37
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +106 -106
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +103 -103
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +25 -25
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +32 -32
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +90 -90
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +192 -192
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +143 -143
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +61 -61
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +103 -103
- package/src/engine-components/postprocessing/Effects/Tonemapping.utils.ts +60 -60
- package/src/engine-components/postprocessing/Effects/Vignette.ts +59 -59
- package/src/engine-components/postprocessing/PostProcessingEffect.ts +192 -192
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +572 -572
- package/src/engine-components/postprocessing/Volume.ts +426 -426
- package/src/engine-components/postprocessing/VolumeParameter.ts +158 -158
- package/src/engine-components/postprocessing/VolumeProfile.ts +61 -61
- package/src/engine-components/postprocessing/index.ts +5 -5
- package/src/engine-components/postprocessing/utils.ts +154 -154
- package/src/engine-components/timeline/PlayableDirector.ts +722 -722
- package/src/engine-components/timeline/SignalAsset.ts +144 -144
- package/src/engine-components/timeline/TimelineModels.ts +92 -92
- package/src/engine-components/timeline/TimelineTracks.ts +967 -967
- package/src/engine-components/timeline/index.ts +3 -3
- package/src/engine-components/ui/BaseUIComponent.ts +203 -203
- package/src/engine-components/ui/Button.ts +307 -307
- package/src/engine-components/ui/Canvas.ts +419 -419
- package/src/engine-components/ui/CanvasGroup.ts +54 -54
- package/src/engine-components/ui/EventSystem.ts +854 -854
- package/src/engine-components/ui/Graphic.ts +275 -275
- package/src/engine-components/ui/Image.ts +112 -112
- package/src/engine-components/ui/InputField.ts +321 -321
- package/src/engine-components/ui/Interfaces.ts +57 -57
- package/src/engine-components/ui/Layout.ts +334 -334
- package/src/engine-components/ui/Outline.ts +13 -13
- package/src/engine-components/ui/PointerEvents.ts +206 -206
- package/src/engine-components/ui/RaycastUtils.ts +69 -69
- package/src/engine-components/ui/Raycaster.ts +102 -102
- package/src/engine-components/ui/RectTransform.ts +375 -375
- package/src/engine-components/ui/SpatialHtml.ts +79 -79
- package/src/engine-components/ui/Symbols.ts +1 -1
- package/src/engine-components/ui/Text.ts +578 -578
- package/src/engine-components/ui/Utils.ts +113 -113
- package/src/engine-components/utils/EnvironmentScene.ts +245 -245
- package/src/engine-components/utils/LookAt.ts +88 -88
- package/src/engine-components/utils/OpenURL.ts +114 -114
- package/src/engine-components/webxr/Avatar.ts +265 -265
- package/src/engine-components/webxr/TeleportTarget.ts +9 -9
- package/src/engine-components/webxr/WebARCameraBackground.ts +175 -175
- package/src/engine-components/webxr/WebARSessionRoot.ts +880 -880
- package/src/engine-components/webxr/WebXR.ts +585 -585
- package/src/engine-components/webxr/WebXRAvatar.ts +66 -66
- package/src/engine-components/webxr/WebXRImageTracking.ts +519 -519
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +570 -570
- package/src/engine-components/webxr/WebXRRig.ts +77 -77
- package/src/engine-components/webxr/XRFlag.ts +147 -147
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +118 -118
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +373 -373
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +550 -550
- package/src/engine-components/webxr/index.ts +2 -2
- package/src/engine-components/webxr/types.ts +3 -3
- package/src/engine-components-experimental/Presentation.ts +12 -12
- package/src/engine-components-experimental/api.ts +4 -4
- package/src/engine-components-experimental/networking/PlayerSync.ts +401 -401
- package/src/engine-schemes/COMPILE_SCHEMES.bat +3 -3
- package/src/engine-schemes/COMPILE_TS.bat +11 -11
- package/src/engine-schemes/README.md +1 -1
- package/src/engine-schemes/api.ts +12 -12
- package/src/engine-schemes/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/dist/gltf-progressive-YjtQYFa9.js +0 -1052
- package/dist/gltf-progressive-yOP1mp5W.min.js +0 -8
- package/dist/gltf-progressive-zdhlW609.umd.cjs +0 -8
- 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,370 +1,370 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { Group, Mesh, Vector3 } from "three";
|
|
8
|
-
import { isDevEnvironment } from "../engine/debug/index.js";
|
|
9
|
-
import { addComponent } from "../engine/engine_components.js";
|
|
10
|
-
import { Gizmos } from "../engine/engine_gizmos.js";
|
|
11
|
-
import { serializable } from "../engine/engine_serialization_decorator.js";
|
|
12
|
-
import { getBoundingBox } from "../engine/engine_three_utils.js";
|
|
13
|
-
import { validate } from "../engine/engine_util_decorator.js";
|
|
14
|
-
import { getParam, unwatchWrite, watchWrite } from "../engine/engine_utils.js";
|
|
15
|
-
import { NEEDLE_progressive } from "../engine/extensions/NEEDLE_progressive.js";
|
|
16
|
-
import { Behaviour } from "./Component.js";
|
|
17
|
-
import { Rigidbody } from "./RigidBody.js";
|
|
18
|
-
/**
|
|
19
|
-
* Collider is the base class for all colliders. A collider is a physical shape that is used to detect collisions with other objects in the scene.
|
|
20
|
-
* Colliders are used in combination with a {@link Rigidbody} to create physical interactions between objects.
|
|
21
|
-
* Colliders are registered with the physics engine when they are enabled and removed when they are disabled.
|
|
22
|
-
* @category Physics
|
|
23
|
-
* @group Components
|
|
24
|
-
*/
|
|
25
|
-
export class Collider extends Behaviour {
|
|
26
|
-
/**
|
|
27
|
-
* Identifies this component as a collider.
|
|
28
|
-
* @internal
|
|
29
|
-
*/
|
|
30
|
-
get isCollider() {
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* The {@link Rigidbody} that this collider is attached to. This handles the physics simulation for this collider.
|
|
35
|
-
*/
|
|
36
|
-
attachedRigidbody = null;
|
|
37
|
-
/**
|
|
38
|
-
* When `true` the collider will not be used for collision detection but will still trigger events.
|
|
39
|
-
* Trigger colliders can trigger events when other colliders enter their space, without creating a physical response/collision.
|
|
40
|
-
*/
|
|
41
|
-
isTrigger = false;
|
|
42
|
-
/**
|
|
43
|
-
* The physics material that defines physical properties of the collider such as friction and bounciness.
|
|
44
|
-
*/
|
|
45
|
-
sharedMaterial;
|
|
46
|
-
/**
|
|
47
|
-
* The layers that this collider belongs to. Used for filtering collision detection.
|
|
48
|
-
* @default [0]
|
|
49
|
-
*/
|
|
50
|
-
membership = [0];
|
|
51
|
-
/**
|
|
52
|
-
* The layers that this collider will interact with. Used for filtering collision detection.
|
|
53
|
-
*/
|
|
54
|
-
filter;
|
|
55
|
-
/** @internal */
|
|
56
|
-
awake() {
|
|
57
|
-
super.awake();
|
|
58
|
-
if (!this.attachedRigidbody)
|
|
59
|
-
this.attachedRigidbody = this.gameObject.getComponentInParent(Rigidbody);
|
|
60
|
-
}
|
|
61
|
-
/** @internal */
|
|
62
|
-
start() {
|
|
63
|
-
if (!this.attachedRigidbody)
|
|
64
|
-
this.attachedRigidbody = this.gameObject.getComponentInParent(Rigidbody);
|
|
65
|
-
}
|
|
66
|
-
/** @internal */
|
|
67
|
-
onEnable() {
|
|
68
|
-
// a rigidbody is not assigned if we export an asset
|
|
69
|
-
if (!this.attachedRigidbody)
|
|
70
|
-
this.attachedRigidbody = this.gameObject.getComponentInParent(Rigidbody);
|
|
71
|
-
}
|
|
72
|
-
/** @internal */
|
|
73
|
-
onDisable() {
|
|
74
|
-
this.context.physics.engine?.removeBody(this);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Returns the underlying physics body from the physics engine.
|
|
78
|
-
* Only available if the component is enabled and active in the scene.
|
|
79
|
-
*/
|
|
80
|
-
get body() {
|
|
81
|
-
return this.context.physics.engine?.getBody(this);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Updates the collider's properties in the physics engine.
|
|
85
|
-
* Use this when you've changed collider properties and need to sync with the physics engine.
|
|
86
|
-
*/
|
|
87
|
-
updateProperties = () => {
|
|
88
|
-
this.context.physics.engine?.updateProperties(this);
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* Updates the physics material in the physics engine.
|
|
92
|
-
* Call this after changing the sharedMaterial property.
|
|
93
|
-
*/
|
|
94
|
-
updatePhysicsMaterial() {
|
|
95
|
-
this.context.physics.engine?.updatePhysicsMaterial(this);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
__decorate([
|
|
99
|
-
serializable(Rigidbody)
|
|
100
|
-
], Collider.prototype, "attachedRigidbody", void 0);
|
|
101
|
-
__decorate([
|
|
102
|
-
serializable()
|
|
103
|
-
], Collider.prototype, "isTrigger", void 0);
|
|
104
|
-
__decorate([
|
|
105
|
-
serializable()
|
|
106
|
-
], Collider.prototype, "sharedMaterial", void 0);
|
|
107
|
-
__decorate([
|
|
108
|
-
serializable()
|
|
109
|
-
], Collider.prototype, "membership", void 0);
|
|
110
|
-
__decorate([
|
|
111
|
-
serializable()
|
|
112
|
-
], Collider.prototype, "filter", void 0);
|
|
113
|
-
/**
|
|
114
|
-
* SphereCollider represents a sphere-shaped collision volume.
|
|
115
|
-
* Useful for objects that are roughly spherical in shape or need a simple collision boundary.
|
|
116
|
-
* @category Physics
|
|
117
|
-
* @group Components
|
|
118
|
-
*/
|
|
119
|
-
export class SphereCollider extends Collider {
|
|
120
|
-
/**
|
|
121
|
-
* The radius of the sphere collider.
|
|
122
|
-
*/
|
|
123
|
-
radius = .5;
|
|
124
|
-
/**
|
|
125
|
-
* The center position of the sphere collider relative to the transform's position.
|
|
126
|
-
*/
|
|
127
|
-
center = new Vector3(0, 0, 0);
|
|
128
|
-
/**
|
|
129
|
-
* Registers the sphere collider with the physics engine and sets up scale change monitoring.
|
|
130
|
-
*/
|
|
131
|
-
onEnable() {
|
|
132
|
-
super.onEnable();
|
|
133
|
-
this.context.physics.engine?.addSphereCollider(this);
|
|
134
|
-
watchWrite(this.gameObject.scale, this.updateProperties);
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Removes scale change monitoring when the collider is disabled.
|
|
138
|
-
*/
|
|
139
|
-
onDisable() {
|
|
140
|
-
super.onDisable();
|
|
141
|
-
unwatchWrite(this.gameObject.scale, this.updateProperties);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Updates collider properties when validated in the editor or inspector.
|
|
145
|
-
*/
|
|
146
|
-
onValidate() {
|
|
147
|
-
this.updateProperties();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
__decorate([
|
|
151
|
-
validate(),
|
|
152
|
-
serializable()
|
|
153
|
-
], SphereCollider.prototype, "radius", void 0);
|
|
154
|
-
__decorate([
|
|
155
|
-
serializable(Vector3)
|
|
156
|
-
], SphereCollider.prototype, "center", void 0);
|
|
157
|
-
/**
|
|
158
|
-
* BoxCollider represents a box-shaped collision volume.
|
|
159
|
-
* Ideal for rectangular objects or objects that need a simple cuboid collision boundary.
|
|
160
|
-
* @category Physics
|
|
161
|
-
* @group Components
|
|
162
|
-
*/
|
|
163
|
-
export class BoxCollider extends Collider {
|
|
164
|
-
/**
|
|
165
|
-
* Creates and adds a BoxCollider to the given object.
|
|
166
|
-
* @param obj The object to add the collider to
|
|
167
|
-
* @param opts Configuration options for the collider and optional rigidbody
|
|
168
|
-
* @returns The newly created BoxCollider
|
|
169
|
-
*/
|
|
170
|
-
static add(obj, opts) {
|
|
171
|
-
const collider = addComponent(obj, BoxCollider);
|
|
172
|
-
collider.autoFit();
|
|
173
|
-
if (opts?.rigidbody === true) {
|
|
174
|
-
addComponent(obj, Rigidbody, { isKinematic: false });
|
|
175
|
-
}
|
|
176
|
-
return collider;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* The size of the box collider along each axis.
|
|
180
|
-
*/
|
|
181
|
-
size = new Vector3(1, 1, 1);
|
|
182
|
-
/**
|
|
183
|
-
* The center position of the box collider relative to the transform's position.
|
|
184
|
-
*/
|
|
185
|
-
center = new Vector3(0, 0, 0);
|
|
186
|
-
/**
|
|
187
|
-
* Registers the box collider with the physics engine and sets up scale change monitoring.
|
|
188
|
-
* @internal
|
|
189
|
-
*/
|
|
190
|
-
onEnable() {
|
|
191
|
-
super.onEnable();
|
|
192
|
-
this.context.physics.engine?.addBoxCollider(this, this.size);
|
|
193
|
-
watchWrite(this.gameObject.scale, this.updateProperties);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Removes scale change monitoring when the collider is disabled.
|
|
197
|
-
* @internal
|
|
198
|
-
*/
|
|
199
|
-
onDisable() {
|
|
200
|
-
super.onDisable();
|
|
201
|
-
unwatchWrite(this.gameObject.scale, this.updateProperties);
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Updates collider properties when validated in the editor or inspector.
|
|
205
|
-
* @internal
|
|
206
|
-
*/
|
|
207
|
-
onValidate() {
|
|
208
|
-
this.updateProperties();
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Automatically fits the collider to the geometry of the object.
|
|
212
|
-
* Sets the size and center based on the object's bounding box.
|
|
213
|
-
* @param opts Options object with a debug flag to visualize the bounding box
|
|
214
|
-
*/
|
|
215
|
-
autoFit(opts) {
|
|
216
|
-
const obj = this.gameObject;
|
|
217
|
-
// we need to transform the object into identity
|
|
218
|
-
// because the physics collider will correctly apple the object's transform again
|
|
219
|
-
// if we don't do it here we will have the transform applied twice
|
|
220
|
-
const originalPosition = obj.position.clone();
|
|
221
|
-
const originalQuaternion = obj.quaternion.clone();
|
|
222
|
-
const originalScale = obj.scale.clone();
|
|
223
|
-
const originalParent = obj.parent;
|
|
224
|
-
obj.position.set(0, 0, 0);
|
|
225
|
-
obj.quaternion.set(0, 0, 0, 1);
|
|
226
|
-
obj.scale.set(1, 1, 1);
|
|
227
|
-
obj.parent = null;
|
|
228
|
-
obj.updateMatrix();
|
|
229
|
-
const bb = getBoundingBox([obj]);
|
|
230
|
-
obj.position.copy(originalPosition);
|
|
231
|
-
obj.quaternion.copy(originalQuaternion);
|
|
232
|
-
obj.scale.copy(originalScale);
|
|
233
|
-
obj.parent = originalParent;
|
|
234
|
-
if (opts?.debug === true)
|
|
235
|
-
Gizmos.DrawWireBox3(bb, 0xffdd00, 20);
|
|
236
|
-
// if (!obj.geometry.boundingBox) obj.geometry.computeBoundingBox();
|
|
237
|
-
// const bb = obj.geometry.boundingBox!;
|
|
238
|
-
this.size = bb.getSize(new Vector3()) || new Vector3(1, 1, 1);
|
|
239
|
-
this.center = bb.getCenter(new Vector3()) || new Vector3(0, 0, 0);
|
|
240
|
-
if (this.size.length() <= 0) {
|
|
241
|
-
this.size.set(0.01, 0.01, 0.01);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
__decorate([
|
|
246
|
-
validate(),
|
|
247
|
-
serializable(Vector3)
|
|
248
|
-
], BoxCollider.prototype, "size", void 0);
|
|
249
|
-
__decorate([
|
|
250
|
-
serializable(Vector3)
|
|
251
|
-
], BoxCollider.prototype, "center", void 0);
|
|
252
|
-
/**
|
|
253
|
-
* MeshCollider creates a collision shape from a mesh geometry.
|
|
254
|
-
* Allows for complex collision shapes that match the exact geometry of an object.
|
|
255
|
-
* @category Physics
|
|
256
|
-
* @group Components
|
|
257
|
-
*/
|
|
258
|
-
export class MeshCollider extends Collider {
|
|
259
|
-
/**
|
|
260
|
-
* The mesh that is used to create the collision shape.
|
|
261
|
-
* If not set, the collider will try to use the mesh of the object it's attached to.
|
|
262
|
-
*/
|
|
263
|
-
sharedMesh;
|
|
264
|
-
/**
|
|
265
|
-
* When `true` the collider is treated as a solid object without holes.
|
|
266
|
-
* Set to `false` if you want this mesh collider to be able to contain other objects.
|
|
267
|
-
*/
|
|
268
|
-
convex = false;
|
|
269
|
-
/**
|
|
270
|
-
* Creates and registers the mesh collider with the physics engine.
|
|
271
|
-
* Handles both individual meshes and mesh groups.
|
|
272
|
-
*/
|
|
273
|
-
onEnable() {
|
|
274
|
-
super.onEnable();
|
|
275
|
-
if (!this.context.physics.engine)
|
|
276
|
-
return;
|
|
277
|
-
if (!this.sharedMesh?.isMesh) {
|
|
278
|
-
// HACK using the renderer mesh
|
|
279
|
-
if (this.gameObject instanceof Mesh || this.gameObject instanceof Group) {
|
|
280
|
-
// We're passing a group in here as well, the code below handles that correctly
|
|
281
|
-
this.sharedMesh = this.gameObject;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
const LOD = 0;
|
|
285
|
-
if (this.sharedMesh?.isMesh) {
|
|
286
|
-
this.context.physics.engine.addMeshCollider(this, this.sharedMesh, this.convex);
|
|
287
|
-
NEEDLE_progressive.assignMeshLOD(this.sharedMesh, LOD).then(res => {
|
|
288
|
-
if (res && this.activeAndEnabled && this.context.physics.engine && this.sharedMesh) {
|
|
289
|
-
this.context.physics.engine.removeBody(this);
|
|
290
|
-
this.sharedMesh.geometry = res;
|
|
291
|
-
this.context.physics.engine.addMeshCollider(this, this.sharedMesh, this.convex);
|
|
292
|
-
}
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
|
-
const group = this.sharedMesh;
|
|
297
|
-
if (group?.isGroup) {
|
|
298
|
-
console.warn(`MeshCollider mesh is a group \"${this.sharedMesh?.name || this.gameObject.name}\", adding all children as colliders. This is currently not fully supported (colliders can not be removed from world again)`, this);
|
|
299
|
-
const promises = new Array();
|
|
300
|
-
for (const ch in group.children) {
|
|
301
|
-
const child = group.children[ch];
|
|
302
|
-
if (child.isMesh) {
|
|
303
|
-
this.context.physics.engine.addMeshCollider(this, child, this.convex);
|
|
304
|
-
promises.push(NEEDLE_progressive.assignMeshLOD(child, LOD));
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
Promise.all(promises).then(res => {
|
|
308
|
-
if (res.some(r => r) == false)
|
|
309
|
-
return;
|
|
310
|
-
this.context.physics.engine?.removeBody(this);
|
|
311
|
-
const mesh = new Mesh();
|
|
312
|
-
for (const r of res) {
|
|
313
|
-
if (r && this.activeAndEnabled) {
|
|
314
|
-
mesh.geometry = r;
|
|
315
|
-
this.context.physics.engine?.addMeshCollider(this, mesh, this.convex);
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
else {
|
|
321
|
-
if (isDevEnvironment() || getParam("showcolliders")) {
|
|
322
|
-
console.warn(`[MeshCollider] A MeshCollider mesh is assigned to an unknown object on \"${this.gameObject.name}\", but it's neither a Mesh nor a Group. Please double check that you attached the collider component to the right object and report a bug otherwise!`, this);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
__decorate([
|
|
329
|
-
serializable(Mesh)
|
|
330
|
-
], MeshCollider.prototype, "sharedMesh", void 0);
|
|
331
|
-
__decorate([
|
|
332
|
-
serializable()
|
|
333
|
-
], MeshCollider.prototype, "convex", void 0);
|
|
334
|
-
/**
|
|
335
|
-
* CapsuleCollider represents a capsule-shaped collision volume (cylinder with hemispherical ends).
|
|
336
|
-
* Ideal for character controllers and objects that need a rounded collision shape.
|
|
337
|
-
* @category Physics
|
|
338
|
-
* @group Components
|
|
339
|
-
*/
|
|
340
|
-
export class CapsuleCollider extends Collider {
|
|
341
|
-
/**
|
|
342
|
-
* The center position of the capsule collider relative to the transform's position.
|
|
343
|
-
*/
|
|
344
|
-
center = new Vector3(0, 0, 0);
|
|
345
|
-
/**
|
|
346
|
-
* The radius of the capsule's cylindrical body and hemispherical ends.
|
|
347
|
-
*/
|
|
348
|
-
radius = .5;
|
|
349
|
-
/**
|
|
350
|
-
* The total height of the capsule including both hemispherical ends.
|
|
351
|
-
*/
|
|
352
|
-
height = 2;
|
|
353
|
-
/**
|
|
354
|
-
* Registers the capsule collider with the physics engine.
|
|
355
|
-
*/
|
|
356
|
-
onEnable() {
|
|
357
|
-
super.onEnable();
|
|
358
|
-
this.context.physics.engine?.addCapsuleCollider(this, this.height, this.radius);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
__decorate([
|
|
362
|
-
serializable(Vector3)
|
|
363
|
-
], CapsuleCollider.prototype, "center", void 0);
|
|
364
|
-
__decorate([
|
|
365
|
-
serializable()
|
|
366
|
-
], CapsuleCollider.prototype, "radius", void 0);
|
|
367
|
-
__decorate([
|
|
368
|
-
serializable()
|
|
369
|
-
], CapsuleCollider.prototype, "height", void 0);
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Group, Mesh, Vector3 } from "three";
|
|
8
|
+
import { isDevEnvironment } from "../engine/debug/index.js";
|
|
9
|
+
import { addComponent } from "../engine/engine_components.js";
|
|
10
|
+
import { Gizmos } from "../engine/engine_gizmos.js";
|
|
11
|
+
import { serializable } from "../engine/engine_serialization_decorator.js";
|
|
12
|
+
import { getBoundingBox } from "../engine/engine_three_utils.js";
|
|
13
|
+
import { validate } from "../engine/engine_util_decorator.js";
|
|
14
|
+
import { getParam, unwatchWrite, watchWrite } from "../engine/engine_utils.js";
|
|
15
|
+
import { NEEDLE_progressive } from "../engine/extensions/NEEDLE_progressive.js";
|
|
16
|
+
import { Behaviour } from "./Component.js";
|
|
17
|
+
import { Rigidbody } from "./RigidBody.js";
|
|
18
|
+
/**
|
|
19
|
+
* Collider is the base class for all colliders. A collider is a physical shape that is used to detect collisions with other objects in the scene.
|
|
20
|
+
* Colliders are used in combination with a {@link Rigidbody} to create physical interactions between objects.
|
|
21
|
+
* Colliders are registered with the physics engine when they are enabled and removed when they are disabled.
|
|
22
|
+
* @category Physics
|
|
23
|
+
* @group Components
|
|
24
|
+
*/
|
|
25
|
+
export class Collider extends Behaviour {
|
|
26
|
+
/**
|
|
27
|
+
* Identifies this component as a collider.
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
get isCollider() {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The {@link Rigidbody} that this collider is attached to. This handles the physics simulation for this collider.
|
|
35
|
+
*/
|
|
36
|
+
attachedRigidbody = null;
|
|
37
|
+
/**
|
|
38
|
+
* When `true` the collider will not be used for collision detection but will still trigger events.
|
|
39
|
+
* Trigger colliders can trigger events when other colliders enter their space, without creating a physical response/collision.
|
|
40
|
+
*/
|
|
41
|
+
isTrigger = false;
|
|
42
|
+
/**
|
|
43
|
+
* The physics material that defines physical properties of the collider such as friction and bounciness.
|
|
44
|
+
*/
|
|
45
|
+
sharedMaterial;
|
|
46
|
+
/**
|
|
47
|
+
* The layers that this collider belongs to. Used for filtering collision detection.
|
|
48
|
+
* @default [0]
|
|
49
|
+
*/
|
|
50
|
+
membership = [0];
|
|
51
|
+
/**
|
|
52
|
+
* The layers that this collider will interact with. Used for filtering collision detection.
|
|
53
|
+
*/
|
|
54
|
+
filter;
|
|
55
|
+
/** @internal */
|
|
56
|
+
awake() {
|
|
57
|
+
super.awake();
|
|
58
|
+
if (!this.attachedRigidbody)
|
|
59
|
+
this.attachedRigidbody = this.gameObject.getComponentInParent(Rigidbody);
|
|
60
|
+
}
|
|
61
|
+
/** @internal */
|
|
62
|
+
start() {
|
|
63
|
+
if (!this.attachedRigidbody)
|
|
64
|
+
this.attachedRigidbody = this.gameObject.getComponentInParent(Rigidbody);
|
|
65
|
+
}
|
|
66
|
+
/** @internal */
|
|
67
|
+
onEnable() {
|
|
68
|
+
// a rigidbody is not assigned if we export an asset
|
|
69
|
+
if (!this.attachedRigidbody)
|
|
70
|
+
this.attachedRigidbody = this.gameObject.getComponentInParent(Rigidbody);
|
|
71
|
+
}
|
|
72
|
+
/** @internal */
|
|
73
|
+
onDisable() {
|
|
74
|
+
this.context.physics.engine?.removeBody(this);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Returns the underlying physics body from the physics engine.
|
|
78
|
+
* Only available if the component is enabled and active in the scene.
|
|
79
|
+
*/
|
|
80
|
+
get body() {
|
|
81
|
+
return this.context.physics.engine?.getBody(this);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Updates the collider's properties in the physics engine.
|
|
85
|
+
* Use this when you've changed collider properties and need to sync with the physics engine.
|
|
86
|
+
*/
|
|
87
|
+
updateProperties = () => {
|
|
88
|
+
this.context.physics.engine?.updateProperties(this);
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Updates the physics material in the physics engine.
|
|
92
|
+
* Call this after changing the sharedMaterial property.
|
|
93
|
+
*/
|
|
94
|
+
updatePhysicsMaterial() {
|
|
95
|
+
this.context.physics.engine?.updatePhysicsMaterial(this);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
__decorate([
|
|
99
|
+
serializable(Rigidbody)
|
|
100
|
+
], Collider.prototype, "attachedRigidbody", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
serializable()
|
|
103
|
+
], Collider.prototype, "isTrigger", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
serializable()
|
|
106
|
+
], Collider.prototype, "sharedMaterial", void 0);
|
|
107
|
+
__decorate([
|
|
108
|
+
serializable()
|
|
109
|
+
], Collider.prototype, "membership", void 0);
|
|
110
|
+
__decorate([
|
|
111
|
+
serializable()
|
|
112
|
+
], Collider.prototype, "filter", void 0);
|
|
113
|
+
/**
|
|
114
|
+
* SphereCollider represents a sphere-shaped collision volume.
|
|
115
|
+
* Useful for objects that are roughly spherical in shape or need a simple collision boundary.
|
|
116
|
+
* @category Physics
|
|
117
|
+
* @group Components
|
|
118
|
+
*/
|
|
119
|
+
export class SphereCollider extends Collider {
|
|
120
|
+
/**
|
|
121
|
+
* The radius of the sphere collider.
|
|
122
|
+
*/
|
|
123
|
+
radius = .5;
|
|
124
|
+
/**
|
|
125
|
+
* The center position of the sphere collider relative to the transform's position.
|
|
126
|
+
*/
|
|
127
|
+
center = new Vector3(0, 0, 0);
|
|
128
|
+
/**
|
|
129
|
+
* Registers the sphere collider with the physics engine and sets up scale change monitoring.
|
|
130
|
+
*/
|
|
131
|
+
onEnable() {
|
|
132
|
+
super.onEnable();
|
|
133
|
+
this.context.physics.engine?.addSphereCollider(this);
|
|
134
|
+
watchWrite(this.gameObject.scale, this.updateProperties);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Removes scale change monitoring when the collider is disabled.
|
|
138
|
+
*/
|
|
139
|
+
onDisable() {
|
|
140
|
+
super.onDisable();
|
|
141
|
+
unwatchWrite(this.gameObject.scale, this.updateProperties);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Updates collider properties when validated in the editor or inspector.
|
|
145
|
+
*/
|
|
146
|
+
onValidate() {
|
|
147
|
+
this.updateProperties();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
__decorate([
|
|
151
|
+
validate(),
|
|
152
|
+
serializable()
|
|
153
|
+
], SphereCollider.prototype, "radius", void 0);
|
|
154
|
+
__decorate([
|
|
155
|
+
serializable(Vector3)
|
|
156
|
+
], SphereCollider.prototype, "center", void 0);
|
|
157
|
+
/**
|
|
158
|
+
* BoxCollider represents a box-shaped collision volume.
|
|
159
|
+
* Ideal for rectangular objects or objects that need a simple cuboid collision boundary.
|
|
160
|
+
* @category Physics
|
|
161
|
+
* @group Components
|
|
162
|
+
*/
|
|
163
|
+
export class BoxCollider extends Collider {
|
|
164
|
+
/**
|
|
165
|
+
* Creates and adds a BoxCollider to the given object.
|
|
166
|
+
* @param obj The object to add the collider to
|
|
167
|
+
* @param opts Configuration options for the collider and optional rigidbody
|
|
168
|
+
* @returns The newly created BoxCollider
|
|
169
|
+
*/
|
|
170
|
+
static add(obj, opts) {
|
|
171
|
+
const collider = addComponent(obj, BoxCollider);
|
|
172
|
+
collider.autoFit();
|
|
173
|
+
if (opts?.rigidbody === true) {
|
|
174
|
+
addComponent(obj, Rigidbody, { isKinematic: false });
|
|
175
|
+
}
|
|
176
|
+
return collider;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* The size of the box collider along each axis.
|
|
180
|
+
*/
|
|
181
|
+
size = new Vector3(1, 1, 1);
|
|
182
|
+
/**
|
|
183
|
+
* The center position of the box collider relative to the transform's position.
|
|
184
|
+
*/
|
|
185
|
+
center = new Vector3(0, 0, 0);
|
|
186
|
+
/**
|
|
187
|
+
* Registers the box collider with the physics engine and sets up scale change monitoring.
|
|
188
|
+
* @internal
|
|
189
|
+
*/
|
|
190
|
+
onEnable() {
|
|
191
|
+
super.onEnable();
|
|
192
|
+
this.context.physics.engine?.addBoxCollider(this, this.size);
|
|
193
|
+
watchWrite(this.gameObject.scale, this.updateProperties);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Removes scale change monitoring when the collider is disabled.
|
|
197
|
+
* @internal
|
|
198
|
+
*/
|
|
199
|
+
onDisable() {
|
|
200
|
+
super.onDisable();
|
|
201
|
+
unwatchWrite(this.gameObject.scale, this.updateProperties);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Updates collider properties when validated in the editor or inspector.
|
|
205
|
+
* @internal
|
|
206
|
+
*/
|
|
207
|
+
onValidate() {
|
|
208
|
+
this.updateProperties();
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Automatically fits the collider to the geometry of the object.
|
|
212
|
+
* Sets the size and center based on the object's bounding box.
|
|
213
|
+
* @param opts Options object with a debug flag to visualize the bounding box
|
|
214
|
+
*/
|
|
215
|
+
autoFit(opts) {
|
|
216
|
+
const obj = this.gameObject;
|
|
217
|
+
// we need to transform the object into identity
|
|
218
|
+
// because the physics collider will correctly apple the object's transform again
|
|
219
|
+
// if we don't do it here we will have the transform applied twice
|
|
220
|
+
const originalPosition = obj.position.clone();
|
|
221
|
+
const originalQuaternion = obj.quaternion.clone();
|
|
222
|
+
const originalScale = obj.scale.clone();
|
|
223
|
+
const originalParent = obj.parent;
|
|
224
|
+
obj.position.set(0, 0, 0);
|
|
225
|
+
obj.quaternion.set(0, 0, 0, 1);
|
|
226
|
+
obj.scale.set(1, 1, 1);
|
|
227
|
+
obj.parent = null;
|
|
228
|
+
obj.updateMatrix();
|
|
229
|
+
const bb = getBoundingBox([obj]);
|
|
230
|
+
obj.position.copy(originalPosition);
|
|
231
|
+
obj.quaternion.copy(originalQuaternion);
|
|
232
|
+
obj.scale.copy(originalScale);
|
|
233
|
+
obj.parent = originalParent;
|
|
234
|
+
if (opts?.debug === true)
|
|
235
|
+
Gizmos.DrawWireBox3(bb, 0xffdd00, 20);
|
|
236
|
+
// if (!obj.geometry.boundingBox) obj.geometry.computeBoundingBox();
|
|
237
|
+
// const bb = obj.geometry.boundingBox!;
|
|
238
|
+
this.size = bb.getSize(new Vector3()) || new Vector3(1, 1, 1);
|
|
239
|
+
this.center = bb.getCenter(new Vector3()) || new Vector3(0, 0, 0);
|
|
240
|
+
if (this.size.length() <= 0) {
|
|
241
|
+
this.size.set(0.01, 0.01, 0.01);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
__decorate([
|
|
246
|
+
validate(),
|
|
247
|
+
serializable(Vector3)
|
|
248
|
+
], BoxCollider.prototype, "size", void 0);
|
|
249
|
+
__decorate([
|
|
250
|
+
serializable(Vector3)
|
|
251
|
+
], BoxCollider.prototype, "center", void 0);
|
|
252
|
+
/**
|
|
253
|
+
* MeshCollider creates a collision shape from a mesh geometry.
|
|
254
|
+
* Allows for complex collision shapes that match the exact geometry of an object.
|
|
255
|
+
* @category Physics
|
|
256
|
+
* @group Components
|
|
257
|
+
*/
|
|
258
|
+
export class MeshCollider extends Collider {
|
|
259
|
+
/**
|
|
260
|
+
* The mesh that is used to create the collision shape.
|
|
261
|
+
* If not set, the collider will try to use the mesh of the object it's attached to.
|
|
262
|
+
*/
|
|
263
|
+
sharedMesh;
|
|
264
|
+
/**
|
|
265
|
+
* When `true` the collider is treated as a solid object without holes.
|
|
266
|
+
* Set to `false` if you want this mesh collider to be able to contain other objects.
|
|
267
|
+
*/
|
|
268
|
+
convex = false;
|
|
269
|
+
/**
|
|
270
|
+
* Creates and registers the mesh collider with the physics engine.
|
|
271
|
+
* Handles both individual meshes and mesh groups.
|
|
272
|
+
*/
|
|
273
|
+
onEnable() {
|
|
274
|
+
super.onEnable();
|
|
275
|
+
if (!this.context.physics.engine)
|
|
276
|
+
return;
|
|
277
|
+
if (!this.sharedMesh?.isMesh) {
|
|
278
|
+
// HACK using the renderer mesh
|
|
279
|
+
if (this.gameObject instanceof Mesh || this.gameObject instanceof Group) {
|
|
280
|
+
// We're passing a group in here as well, the code below handles that correctly
|
|
281
|
+
this.sharedMesh = this.gameObject;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
const LOD = 0;
|
|
285
|
+
if (this.sharedMesh?.isMesh) {
|
|
286
|
+
this.context.physics.engine.addMeshCollider(this, this.sharedMesh, this.convex);
|
|
287
|
+
NEEDLE_progressive.assignMeshLOD(this.sharedMesh, LOD).then(res => {
|
|
288
|
+
if (res && this.activeAndEnabled && this.context.physics.engine && this.sharedMesh) {
|
|
289
|
+
this.context.physics.engine.removeBody(this);
|
|
290
|
+
this.sharedMesh.geometry = res;
|
|
291
|
+
this.context.physics.engine.addMeshCollider(this, this.sharedMesh, this.convex);
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
const group = this.sharedMesh;
|
|
297
|
+
if (group?.isGroup) {
|
|
298
|
+
console.warn(`MeshCollider mesh is a group \"${this.sharedMesh?.name || this.gameObject.name}\", adding all children as colliders. This is currently not fully supported (colliders can not be removed from world again)`, this);
|
|
299
|
+
const promises = new Array();
|
|
300
|
+
for (const ch in group.children) {
|
|
301
|
+
const child = group.children[ch];
|
|
302
|
+
if (child.isMesh) {
|
|
303
|
+
this.context.physics.engine.addMeshCollider(this, child, this.convex);
|
|
304
|
+
promises.push(NEEDLE_progressive.assignMeshLOD(child, LOD));
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
Promise.all(promises).then(res => {
|
|
308
|
+
if (res.some(r => r) == false)
|
|
309
|
+
return;
|
|
310
|
+
this.context.physics.engine?.removeBody(this);
|
|
311
|
+
const mesh = new Mesh();
|
|
312
|
+
for (const r of res) {
|
|
313
|
+
if (r && this.activeAndEnabled) {
|
|
314
|
+
mesh.geometry = r;
|
|
315
|
+
this.context.physics.engine?.addMeshCollider(this, mesh, this.convex);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
if (isDevEnvironment() || getParam("showcolliders")) {
|
|
322
|
+
console.warn(`[MeshCollider] A MeshCollider mesh is assigned to an unknown object on \"${this.gameObject.name}\", but it's neither a Mesh nor a Group. Please double check that you attached the collider component to the right object and report a bug otherwise!`, this);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
__decorate([
|
|
329
|
+
serializable(Mesh)
|
|
330
|
+
], MeshCollider.prototype, "sharedMesh", void 0);
|
|
331
|
+
__decorate([
|
|
332
|
+
serializable()
|
|
333
|
+
], MeshCollider.prototype, "convex", void 0);
|
|
334
|
+
/**
|
|
335
|
+
* CapsuleCollider represents a capsule-shaped collision volume (cylinder with hemispherical ends).
|
|
336
|
+
* Ideal for character controllers and objects that need a rounded collision shape.
|
|
337
|
+
* @category Physics
|
|
338
|
+
* @group Components
|
|
339
|
+
*/
|
|
340
|
+
export class CapsuleCollider extends Collider {
|
|
341
|
+
/**
|
|
342
|
+
* The center position of the capsule collider relative to the transform's position.
|
|
343
|
+
*/
|
|
344
|
+
center = new Vector3(0, 0, 0);
|
|
345
|
+
/**
|
|
346
|
+
* The radius of the capsule's cylindrical body and hemispherical ends.
|
|
347
|
+
*/
|
|
348
|
+
radius = .5;
|
|
349
|
+
/**
|
|
350
|
+
* The total height of the capsule including both hemispherical ends.
|
|
351
|
+
*/
|
|
352
|
+
height = 2;
|
|
353
|
+
/**
|
|
354
|
+
* Registers the capsule collider with the physics engine.
|
|
355
|
+
*/
|
|
356
|
+
onEnable() {
|
|
357
|
+
super.onEnable();
|
|
358
|
+
this.context.physics.engine?.addCapsuleCollider(this, this.height, this.radius);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
__decorate([
|
|
362
|
+
serializable(Vector3)
|
|
363
|
+
], CapsuleCollider.prototype, "center", void 0);
|
|
364
|
+
__decorate([
|
|
365
|
+
serializable()
|
|
366
|
+
], CapsuleCollider.prototype, "radius", void 0);
|
|
367
|
+
__decorate([
|
|
368
|
+
serializable()
|
|
369
|
+
], CapsuleCollider.prototype, "height", void 0);
|
|
370
370
|
//# sourceMappingURL=Collider.js.map
|