@needle-tools/engine 4.7.0 → 4.7.2-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3782 -3778
- package/LICENSE.md +10 -10
- package/README.md +64 -64
- package/components.needle.json +1 -1
- package/dist/generateMeshBVH.worker-Cdfpaq5W.js +25 -0
- package/dist/gltf-progressive-YjtQYFa9.js +1052 -0
- package/dist/gltf-progressive-yOP1mp5W.min.js +8 -0
- package/dist/gltf-progressive-zdhlW609.umd.cjs +8 -0
- package/dist/{needle-engine.bundle-BFsiOavn.min.js → needle-engine.bundle-BhDF-YSv.min.js} +107 -107
- package/dist/{needle-engine.bundle-BxOXkBoQ.umd.cjs → needle-engine.bundle-D2myV4E4.umd.cjs} +114 -114
- package/dist/{needle-engine.bundle-BodidWhS.js → needle-engine.bundle-gp00DTS4.js} +2932 -2920
- package/dist/needle-engine.d.ts +129 -130
- package/dist/needle-engine.js +4 -4
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-CjW23fio.umd.cjs → postprocessing-8AQTeZsr.umd.cjs} +2 -2
- package/dist/{postprocessing-xYQWCHFu.min.js → postprocessing-BDScN9yu.min.js} +2 -2
- package/dist/{postprocessing-DYLNOL3W.js → postprocessing-BkxN_08g.js} +3 -3
- package/dist/{three-DuDKwKB8.min.js → three-Boa-jOq-.min.js} +33 -33
- package/dist/{three-DrqIzZTH.js → three-Bz6X1mrw.js} +4198 -4198
- package/dist/{three-B_hneGZr.umd.cjs → three-DMrv-4ar.umd.cjs} +4 -4
- package/dist/{three-examples-X3OadjXB.umd.cjs → three-examples-C7ryg8vN.umd.cjs} +3 -3
- package/dist/{three-examples-DaDLBuy6.min.js → three-examples-DuVhxqft.min.js} +14 -14
- package/dist/{three-examples-B50TT3Iu.js → three-examples-GggCDHv0.js} +5 -5
- package/dist/{three-mesh-ui-CxuWt7m-.js → three-mesh-ui-CLNOfsWn.js} +1 -1
- package/dist/{three-mesh-ui-B3p3gyUz.min.js → three-mesh-ui-CY6Izc7C.min.js} +1 -1
- package/dist/{three-mesh-ui-CQiIQIlA.umd.cjs → three-mesh-ui-CwlN0FUC.umd.cjs} +1 -1
- package/dist/{vendor-BmYIgaS1.js → vendor-BSD1RQIh.js} +3 -3
- package/dist/{vendor-Cavtu3CP.umd.cjs → vendor-DHr4aqIZ.umd.cjs} +3 -3
- package/dist/{vendor-BlSxe9JJ.min.js → vendor-zxXa3Dmr.min.js} +3 -3
- package/lib/asap/needle-asap.d.ts +1 -1
- package/lib/asap/needle-asap.js +95 -95
- package/lib/asap/sessiongranted.d.ts +3 -3
- package/lib/asap/sessiongranted.js +65 -65
- package/lib/asap/utils.d.ts +1 -1
- package/lib/asap/utils.js +3 -3
- package/lib/engine/analytics/index.d.ts +6 -6
- package/lib/engine/analytics/index.js +12 -12
- package/lib/engine/analytics/lcp.d.ts +3 -3
- package/lib/engine/analytics/lcp.js +34 -34
- package/lib/engine/api.d.ts +82 -82
- package/lib/engine/api.js +81 -81
- package/lib/engine/assets/index.d.ts +11 -11
- package/lib/engine/assets/index.js +47 -47
- package/lib/engine/assets/static.d.ts +1 -1
- package/lib/engine/assets/static.js +4 -4
- package/lib/engine/codegen/register_types.d.ts +1 -1
- package/lib/engine/codegen/register_types.js +300 -300
- package/lib/engine/debug/debug.d.ts +15 -15
- package/lib/engine/debug/debug.js +44 -44
- package/lib/engine/debug/debug_console.d.ts +2 -2
- package/lib/engine/debug/debug_console.js +307 -307
- package/lib/engine/debug/debug_overlay.d.ts +22 -22
- package/lib/engine/debug/debug_overlay.js +316 -316
- package/lib/engine/debug/debug_spatial_console.d.ts +2 -2
- package/lib/engine/debug/debug_spatial_console.js +390 -390
- package/lib/engine/debug/index.d.ts +2 -2
- package/lib/engine/debug/index.js +2 -2
- package/lib/engine/engine_addressables.d.ts +164 -166
- package/lib/engine/engine_addressables.js +601 -608
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_animation.d.ts +43 -43
- package/lib/engine/engine_animation.js +133 -133
- package/lib/engine/engine_application.d.ts +45 -45
- package/lib/engine/engine_application.js +104 -104
- package/lib/engine/engine_assetdatabase.d.ts +25 -25
- package/lib/engine/engine_assetdatabase.js +346 -346
- package/lib/engine/engine_audio.d.ts +4 -4
- package/lib/engine/engine_audio.js +23 -23
- package/lib/engine/engine_camera.d.ts +13 -13
- package/lib/engine/engine_camera.js +30 -30
- package/lib/engine/engine_components.d.ts +110 -110
- package/lib/engine/engine_components.js +374 -374
- package/lib/engine/engine_components_internal.d.ts +9 -9
- package/lib/engine/engine_components_internal.js +36 -36
- package/lib/engine/engine_constants.d.ts +10 -10
- package/lib/engine/engine_constants.js +41 -41
- package/lib/engine/engine_context.d.ts +475 -475
- package/lib/engine/engine_context.js +1673 -1673
- package/lib/engine/engine_context_registry.d.ts +71 -71
- package/lib/engine/engine_context_registry.js +117 -117
- package/lib/engine/engine_coroutine.d.ts +35 -35
- package/lib/engine/engine_coroutine.js +52 -52
- package/lib/engine/engine_create_objects.d.ts +119 -119
- package/lib/engine/engine_create_objects.js +320 -320
- package/lib/engine/engine_default_parameters.d.ts +2 -2
- package/lib/engine/engine_default_parameters.js +3 -3
- package/lib/engine/engine_editor-sync.d.ts +21 -21
- package/lib/engine/engine_editor-sync.js +4 -4
- package/lib/engine/engine_fileloader.d.ts +2 -2
- package/lib/engine/engine_fileloader.js +8 -8
- package/lib/engine/engine_gameobject.d.ts +68 -68
- package/lib/engine/engine_gameobject.js +619 -619
- package/lib/engine/engine_generic_utils.d.ts +1 -1
- package/lib/engine/engine_generic_utils.js +13 -13
- package/lib/engine/engine_gizmos.d.ts +149 -149
- package/lib/engine/engine_gizmos.js +530 -530
- package/lib/engine/engine_gltf.d.ts +12 -12
- package/lib/engine/engine_gltf.js +15 -15
- package/lib/engine/engine_gltf_builtin_components.d.ts +11 -11
- package/lib/engine/engine_gltf_builtin_components.js +341 -341
- package/lib/engine/engine_hot_reload.d.ts +8 -8
- package/lib/engine/engine_hot_reload.js +197 -197
- package/lib/engine/engine_input.d.ts +362 -362
- package/lib/engine/engine_input.js +1294 -1294
- package/lib/engine/engine_input_utils.d.ts +2 -2
- package/lib/engine/engine_input_utils.js +22 -22
- package/lib/engine/engine_instancing.d.ts +19 -19
- package/lib/engine/engine_instancing.js +39 -39
- package/lib/engine/engine_license.d.ts +11 -11
- package/lib/engine/engine_license.js +369 -369
- package/lib/engine/engine_lifecycle_api.d.ts +83 -83
- package/lib/engine/engine_lifecycle_api.js +106 -106
- package/lib/engine/engine_lifecycle_functions_internal.d.ts +32 -32
- package/lib/engine/engine_lifecycle_functions_internal.js +146 -146
- package/lib/engine/engine_lightdata.d.ts +23 -23
- package/lib/engine/engine_lightdata.js +101 -91
- package/lib/engine/engine_lightdata.js.map +1 -1
- package/lib/engine/engine_loaders.callbacks.d.ts +97 -97
- package/lib/engine/engine_loaders.callbacks.js +86 -86
- package/lib/engine/engine_loaders.d.ts +48 -48
- package/lib/engine/engine_loaders.gltf.d.ts +13 -13
- package/lib/engine/engine_loaders.gltf.js +62 -62
- package/lib/engine/engine_loaders.js +337 -337
- package/lib/engine/engine_lods.d.ts +35 -31
- package/lib/engine/engine_lods.js +160 -146
- package/lib/engine/engine_lods.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.d.ts +32 -32
- package/lib/engine/engine_mainloop_utils.js +466 -466
- package/lib/engine/engine_math.d.ts +114 -114
- package/lib/engine/engine_math.js +247 -247
- package/lib/engine/engine_modules.d.ts +36 -36
- package/lib/engine/engine_modules.js +85 -85
- package/lib/engine/engine_networking.d.ts +260 -260
- package/lib/engine/engine_networking.js +764 -764
- package/lib/engine/engine_networking_auto.d.ts +24 -24
- package/lib/engine/engine_networking_auto.js +310 -310
- package/lib/engine/engine_networking_blob.d.ts +48 -48
- package/lib/engine/engine_networking_blob.js +228 -228
- package/lib/engine/engine_networking_files.d.ts +35 -35
- package/lib/engine/engine_networking_files.js +172 -172
- package/lib/engine/engine_networking_files_default_components.d.ts +6 -6
- package/lib/engine/engine_networking_files_default_components.js +42 -42
- package/lib/engine/engine_networking_instantiate.d.ts +100 -100
- package/lib/engine/engine_networking_instantiate.js +345 -345
- package/lib/engine/engine_networking_peer.d.ts +15 -15
- package/lib/engine/engine_networking_peer.js +132 -132
- package/lib/engine/engine_networking_streams.d.ts +123 -123
- package/lib/engine/engine_networking_streams.js +645 -645
- package/lib/engine/engine_networking_types.d.ts +22 -22
- package/lib/engine/engine_networking_types.js +7 -7
- package/lib/engine/engine_networking_utils.d.ts +2 -2
- package/lib/engine/engine_networking_utils.js +20 -20
- package/lib/engine/engine_networking_websocket.d.ts +1 -1
- package/lib/engine/engine_networking_websocket.js +2 -2
- package/lib/engine/engine_patcher.d.ts +10 -10
- package/lib/engine/engine_patcher.js +142 -142
- package/lib/engine/engine_physics.d.ts +152 -152
- package/lib/engine/engine_physics.js +645 -645
- package/lib/engine/engine_physics.types.d.ts +40 -40
- package/lib/engine/engine_physics.types.js +33 -33
- package/lib/engine/engine_physics_rapier.d.ts +147 -147
- package/lib/engine/engine_physics_rapier.js +1433 -1433
- package/lib/engine/engine_playerview.d.ts +26 -26
- package/lib/engine/engine_playerview.js +64 -64
- package/lib/engine/engine_scenelighting.d.ts +71 -71
- package/lib/engine/engine_scenelighting.js +226 -226
- package/lib/engine/engine_serialization.d.ts +3 -3
- package/lib/engine/engine_serialization.js +3 -3
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +72 -72
- package/lib/engine/engine_serialization_builtin_serializer.js +403 -403
- package/lib/engine/engine_serialization_core.d.ts +94 -94
- package/lib/engine/engine_serialization_core.js +607 -607
- package/lib/engine/engine_serialization_decorator.d.ts +23 -23
- package/lib/engine/engine_serialization_decorator.js +66 -66
- package/lib/engine/engine_setup.d.ts +1 -1
- package/lib/engine/engine_setup.js +2 -2
- package/lib/engine/engine_shaders.d.ts +53 -53
- package/lib/engine/engine_shaders.js +252 -252
- package/lib/engine/engine_shims.d.ts +4 -4
- package/lib/engine/engine_shims.js +24 -24
- package/lib/engine/engine_test_utils.d.ts +39 -39
- package/lib/engine/engine_test_utils.js +83 -83
- package/lib/engine/engine_texture.d.ts +28 -28
- package/lib/engine/engine_texture.js +64 -64
- package/lib/engine/engine_three_utils.d.ts +204 -204
- package/lib/engine/engine_three_utils.js +788 -788
- package/lib/engine/engine_time.d.ts +51 -51
- package/lib/engine/engine_time.js +82 -82
- package/lib/engine/engine_time_utils.d.ts +88 -88
- package/lib/engine/engine_time_utils.js +215 -215
- package/lib/engine/engine_tonemapping.d.ts +6 -6
- package/lib/engine/engine_tonemapping.js +197 -197
- package/lib/engine/engine_types.d.ts +578 -578
- package/lib/engine/engine_types.js +95 -95
- package/lib/engine/engine_typestore.d.ts +28 -28
- package/lib/engine/engine_typestore.js +55 -55
- package/lib/engine/engine_util_decorator.d.ts +13 -13
- package/lib/engine/engine_util_decorator.js +116 -116
- package/lib/engine/engine_utils.d.ts +248 -248
- package/lib/engine/engine_utils.js +1012 -1012
- package/lib/engine/engine_utils_format.d.ts +24 -24
- package/lib/engine/engine_utils_format.js +239 -239
- package/lib/engine/engine_utils_screenshot.d.ts +159 -159
- package/lib/engine/engine_utils_screenshot.js +522 -522
- package/lib/engine/engine_utils_screenshot.xr.d.ts +5 -5
- package/lib/engine/engine_utils_screenshot.xr.js +90 -90
- package/lib/engine/engine_xr.d.ts +1 -1
- package/lib/engine/engine_xr.js +1 -1
- package/lib/engine/export/gltf/Writers.d.ts +19 -19
- package/lib/engine/export/gltf/Writers.js +24 -24
- package/lib/engine/export/gltf/index.d.ts +11 -11
- package/lib/engine/export/gltf/index.js +123 -123
- package/lib/engine/export/index.d.ts +2 -2
- package/lib/engine/export/index.js +2 -2
- package/lib/engine/export/state.d.ts +7 -7
- package/lib/engine/export/state.js +17 -17
- package/lib/engine/export/utils.d.ts +2 -2
- package/lib/engine/export/utils.js +7 -7
- package/lib/engine/extensions/EXT_texture_exr.d.ts +8 -8
- package/lib/engine/extensions/EXT_texture_exr.js +32 -32
- package/lib/engine/extensions/NEEDLE_animator_controller_model.d.ts +122 -122
- package/lib/engine/extensions/NEEDLE_animator_controller_model.js +95 -95
- package/lib/engine/extensions/NEEDLE_components.d.ts +35 -35
- package/lib/engine/extensions/NEEDLE_components.js +220 -220
- package/lib/engine/extensions/NEEDLE_gameobject_data.d.ts +10 -10
- package/lib/engine/extensions/NEEDLE_gameobject_data.js +57 -57
- package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +37 -37
- package/lib/engine/extensions/NEEDLE_lighting_settings.js +157 -157
- package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +18 -18
- package/lib/engine/extensions/NEEDLE_lightmaps.js +99 -99
- package/lib/engine/extensions/NEEDLE_persistent_assets.d.ts +11 -11
- package/lib/engine/extensions/NEEDLE_persistent_assets.js +63 -63
- package/lib/engine/extensions/NEEDLE_progressive.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_progressive.js +1 -1
- package/lib/engine/extensions/NEEDLE_render_objects.d.ts +13 -13
- package/lib/engine/extensions/NEEDLE_render_objects.js +159 -159
- package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +38 -38
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +564 -564
- package/lib/engine/extensions/extension_resolver.d.ts +4 -4
- package/lib/engine/extensions/extension_resolver.js +1 -1
- package/lib/engine/extensions/extension_utils.d.ts +12 -12
- package/lib/engine/extensions/extension_utils.js +152 -152
- package/lib/engine/extensions/extensions.d.ts +32 -32
- package/lib/engine/extensions/extensions.js +107 -107
- package/lib/engine/extensions/index.d.ts +6 -6
- package/lib/engine/extensions/index.js +6 -6
- package/lib/engine/extensions/usage_tracker.d.ts +13 -13
- package/lib/engine/extensions/usage_tracker.js +65 -65
- package/lib/engine/js-extensions/Camera.d.ts +1 -1
- package/lib/engine/js-extensions/Camera.js +39 -39
- package/lib/engine/js-extensions/ExtensionUtils.d.ts +9 -9
- package/lib/engine/js-extensions/ExtensionUtils.js +67 -67
- package/lib/engine/js-extensions/Layers.d.ts +6 -6
- package/lib/engine/js-extensions/Layers.js +22 -22
- package/lib/engine/js-extensions/Object3D.d.ts +120 -120
- package/lib/engine/js-extensions/Object3D.js +136 -136
- package/lib/engine/js-extensions/RGBAColor.d.ts +23 -23
- package/lib/engine/js-extensions/RGBAColor.js +111 -111
- package/lib/engine/js-extensions/Vector.d.ts +3 -3
- package/lib/engine/js-extensions/Vector.js +13 -13
- package/lib/engine/js-extensions/index.d.ts +5 -5
- package/lib/engine/js-extensions/index.js +5 -5
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.d.ts +4 -4
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +79 -79
- package/lib/engine/shaders/shaderData.d.ts +55 -55
- package/lib/engine/shaders/shaderData.js +58 -58
- package/lib/engine/tests/test_utils.d.ts +2 -2
- package/lib/engine/tests/test_utils.js +53 -53
- package/lib/engine/webcomponents/WebXRButtons.d.ts +56 -56
- package/lib/engine/webcomponents/WebXRButtons.js +230 -230
- package/lib/engine/webcomponents/api.d.ts +5 -5
- package/lib/engine/webcomponents/api.js +4 -4
- package/lib/engine/webcomponents/buttons.d.ts +51 -51
- package/lib/engine/webcomponents/buttons.js +264 -264
- package/lib/engine/webcomponents/fonts.d.ts +9 -9
- package/lib/engine/webcomponents/fonts.js +32 -32
- package/lib/engine/webcomponents/icons.d.ts +9 -9
- package/lib/engine/webcomponents/icons.js +52 -52
- package/lib/engine/webcomponents/index.d.ts +1 -1
- package/lib/engine/webcomponents/index.js +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +10 -10
- package/lib/engine/webcomponents/logo-element.js +67 -67
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.d.ts +37 -37
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +513 -513
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +155 -155
- package/lib/engine/webcomponents/needle menu/needle-menu.js +1029 -1029
- package/lib/engine/webcomponents/needle-button.d.ts +34 -34
- package/lib/engine/webcomponents/needle-button.js +161 -161
- package/lib/engine/webcomponents/needle-engine.ar-overlay.d.ts +21 -21
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +166 -166
- package/lib/engine/webcomponents/needle-engine.attributes.d.ts +69 -69
- package/lib/engine/webcomponents/needle-engine.attributes.js +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +116 -116
- package/lib/engine/webcomponents/needle-engine.extras.d.ts +6 -6
- package/lib/engine/webcomponents/needle-engine.extras.js +13 -13
- package/lib/engine/webcomponents/needle-engine.js +821 -821
- package/lib/engine/webcomponents/needle-engine.loading.d.ts +44 -44
- package/lib/engine/webcomponents/needle-engine.loading.js +341 -341
- package/lib/engine/xr/NeedleXRController.d.ts +313 -313
- package/lib/engine/xr/NeedleXRController.js +1007 -1007
- package/lib/engine/xr/NeedleXRSession.d.ts +340 -340
- package/lib/engine/xr/NeedleXRSession.js +1463 -1463
- package/lib/engine/xr/NeedleXRSync.d.ts +22 -22
- package/lib/engine/xr/NeedleXRSync.js +188 -188
- package/lib/engine/xr/SceneTransition.d.ts +18 -18
- package/lib/engine/xr/SceneTransition.js +69 -69
- package/lib/engine/xr/TempXRContext.d.ts +34 -34
- package/lib/engine/xr/TempXRContext.js +187 -187
- package/lib/engine/xr/XRRig.d.ts +7 -7
- package/lib/engine/xr/XRRig.js +1 -1
- package/lib/engine/xr/api.d.ts +6 -6
- package/lib/engine/xr/api.js +6 -6
- package/lib/engine/xr/events.d.ts +66 -66
- package/lib/engine/xr/events.js +93 -93
- package/lib/engine/xr/internal.d.ts +12 -12
- package/lib/engine/xr/internal.js +25 -25
- package/lib/engine/xr/usdz.d.ts +12 -12
- package/lib/engine/xr/usdz.js +29 -29
- package/lib/engine/xr/utils.d.ts +11 -11
- package/lib/engine/xr/utils.js +34 -34
- package/lib/engine-components/AlignmentConstraint.d.ts +10 -10
- package/lib/engine-components/AlignmentConstraint.js +39 -39
- package/lib/engine-components/Animation.d.ts +156 -156
- package/lib/engine-components/Animation.js +508 -508
- package/lib/engine-components/AnimationCurve.d.ts +40 -40
- package/lib/engine-components/AnimationCurve.js +159 -159
- package/lib/engine-components/AnimationUtils.d.ts +8 -8
- package/lib/engine-components/AnimationUtils.js +27 -27
- package/lib/engine-components/AnimationUtilsAutoplay.d.ts +1 -1
- package/lib/engine-components/AnimationUtilsAutoplay.js +39 -39
- package/lib/engine-components/Animator.d.ts +217 -217
- package/lib/engine-components/Animator.js +354 -354
- package/lib/engine-components/AnimatorController.d.ts +227 -227
- package/lib/engine-components/AnimatorController.js +1152 -1152
- package/lib/engine-components/AudioListener.d.ts +33 -33
- package/lib/engine-components/AudioListener.js +86 -86
- package/lib/engine-components/AudioSource.d.ts +217 -217
- package/lib/engine-components/AudioSource.js +635 -635
- package/lib/engine-components/AvatarLoader.d.ts +80 -80
- package/lib/engine-components/AvatarLoader.js +231 -231
- package/lib/engine-components/AxesHelper.d.ts +32 -32
- package/lib/engine-components/AxesHelper.js +67 -67
- package/lib/engine-components/BasicIKConstraint.d.ts +9 -9
- package/lib/engine-components/BasicIKConstraint.js +43 -43
- package/lib/engine-components/BoxCollider.d.ts +2 -2
- package/lib/engine-components/BoxCollider.js +2 -2
- package/lib/engine-components/BoxHelperComponent.d.ts +47 -47
- package/lib/engine-components/BoxHelperComponent.js +102 -102
- package/lib/engine-components/Camera.d.ts +231 -231
- package/lib/engine-components/Camera.js +700 -700
- package/lib/engine-components/CameraUtils.d.ts +1 -1
- package/lib/engine-components/CameraUtils.js +123 -123
- package/lib/engine-components/CharacterController.d.ts +55 -55
- package/lib/engine-components/CharacterController.js +236 -236
- package/lib/engine-components/Collider.d.ts +188 -188
- package/lib/engine-components/Collider.js +369 -369
- package/lib/engine-components/Component.d.ts +792 -792
- package/lib/engine-components/Component.js +920 -920
- package/lib/engine-components/ContactShadows.d.ts +94 -94
- package/lib/engine-components/ContactShadows.js +453 -453
- package/lib/engine-components/DeleteBox.d.ts +19 -19
- package/lib/engine-components/DeleteBox.js +58 -58
- package/lib/engine-components/DeviceFlag.d.ts +16 -16
- package/lib/engine-components/DeviceFlag.js +47 -47
- package/lib/engine-components/DragControls.d.ts +170 -170
- package/lib/engine-components/DragControls.js +1421 -1421
- package/lib/engine-components/DropListener.d.ts +215 -215
- package/lib/engine-components/DropListener.js +642 -642
- package/lib/engine-components/Duplicatable.d.ts +35 -35
- package/lib/engine-components/Duplicatable.js +202 -202
- package/lib/engine-components/EventList.d.ts +54 -54
- package/lib/engine-components/EventList.js +232 -232
- package/lib/engine-components/EventTrigger.d.ts +33 -33
- package/lib/engine-components/EventTrigger.js +75 -75
- package/lib/engine-components/EventType.d.ts +22 -22
- package/lib/engine-components/EventType.js +23 -23
- package/lib/engine-components/Fog.d.ts +22 -22
- package/lib/engine-components/Fog.js +61 -61
- package/lib/engine-components/Gizmos.d.ts +17 -17
- package/lib/engine-components/Gizmos.js +64 -64
- package/lib/engine-components/GridHelper.d.ts +20 -20
- package/lib/engine-components/GridHelper.js +54 -54
- package/lib/engine-components/GroundProjection.d.ts +67 -67
- package/lib/engine-components/GroundProjection.js +343 -343
- package/lib/engine-components/Interactable.d.ts +12 -12
- package/lib/engine-components/Interactable.js +12 -12
- package/lib/engine-components/Joints.d.ts +19 -19
- package/lib/engine-components/Joints.js +51 -51
- package/lib/engine-components/LODGroup.d.ts +35 -35
- package/lib/engine-components/LODGroup.js +152 -152
- package/lib/engine-components/Light.d.ts +180 -180
- package/lib/engine-components/Light.js +535 -535
- package/lib/engine-components/LookAtConstraint.d.ts +19 -19
- package/lib/engine-components/LookAtConstraint.js +35 -35
- package/lib/engine-components/NeedleMenu.d.ts +50 -50
- package/lib/engine-components/NeedleMenu.js +92 -92
- package/lib/engine-components/NestedGltf.d.ts +25 -25
- package/lib/engine-components/NestedGltf.js +88 -88
- package/lib/engine-components/Networking.d.ts +54 -54
- package/lib/engine-components/Networking.js +112 -112
- package/lib/engine-components/OffsetConstraint.d.ts +14 -14
- package/lib/engine-components/OffsetConstraint.js +65 -65
- package/lib/engine-components/OrbitControls.d.ts +268 -268
- package/lib/engine-components/OrbitControls.js +1015 -1015
- package/lib/engine-components/PlayerColor.d.ts +19 -19
- package/lib/engine-components/PlayerColor.js +94 -94
- package/lib/engine-components/ReflectionProbe.d.ts +28 -28
- package/lib/engine-components/ReflectionProbe.js +204 -204
- package/lib/engine-components/Renderer.d.ts +153 -153
- package/lib/engine-components/Renderer.js +834 -834
- package/lib/engine-components/RendererInstancing.d.ts +140 -140
- package/lib/engine-components/RendererInstancing.js +744 -744
- package/lib/engine-components/RendererInstancing.js.map +1 -1
- package/lib/engine-components/RendererLightmap.d.ts +24 -24
- package/lib/engine-components/RendererLightmap.js +182 -182
- package/lib/engine-components/RigidBody.d.ts +155 -155
- package/lib/engine-components/RigidBody.js +517 -517
- package/lib/engine-components/SceneSwitcher.d.ts +263 -263
- package/lib/engine-components/SceneSwitcher.js +971 -971
- package/lib/engine-components/ScreenCapture.d.ts +144 -144
- package/lib/engine-components/ScreenCapture.js +547 -547
- package/lib/engine-components/ShadowCatcher.d.ts +33 -33
- package/lib/engine-components/ShadowCatcher.js +166 -166
- package/lib/engine-components/Skybox.d.ts +88 -88
- package/lib/engine-components/Skybox.js +469 -469
- package/lib/engine-components/SmoothFollow.d.ts +34 -34
- package/lib/engine-components/SmoothFollow.js +82 -82
- package/lib/engine-components/SpatialTrigger.d.ts +102 -102
- package/lib/engine-components/SpatialTrigger.js +225 -225
- package/lib/engine-components/SpectatorCamera.d.ts +111 -111
- package/lib/engine-components/SpectatorCamera.js +715 -715
- package/lib/engine-components/SphereCollider.d.ts +2 -2
- package/lib/engine-components/SphereCollider.js +2 -2
- package/lib/engine-components/SpriteRenderer.d.ts +132 -132
- package/lib/engine-components/SpriteRenderer.js +472 -472
- package/lib/engine-components/SyncedCamera.d.ts +41 -41
- package/lib/engine-components/SyncedCamera.js +199 -199
- package/lib/engine-components/SyncedRoom.d.ts +106 -106
- package/lib/engine-components/SyncedRoom.js +371 -371
- package/lib/engine-components/SyncedTransform.d.ts +94 -94
- package/lib/engine-components/SyncedTransform.js +331 -331
- package/lib/engine-components/TestRunner.d.ts +16 -16
- package/lib/engine-components/TestRunner.js +102 -102
- package/lib/engine-components/TransformGizmo.d.ts +75 -75
- package/lib/engine-components/TransformGizmo.js +209 -209
- package/lib/engine-components/VideoPlayer.d.ts +184 -184
- package/lib/engine-components/VideoPlayer.js +978 -978
- package/lib/engine-components/Voip.d.ts +67 -67
- package/lib/engine-components/Voip.js +360 -360
- package/lib/engine-components/api.d.ts +51 -51
- package/lib/engine-components/api.js +50 -50
- package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +11 -11
- package/lib/engine-components/avatar/AvatarBlink_Simple.js +76 -76
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +14 -14
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +68 -68
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +29 -29
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +121 -121
- package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +15 -15
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +79 -79
- package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +9 -9
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +29 -29
- package/lib/engine-components/codegen/components.d.ts +216 -216
- package/lib/engine-components/codegen/components.js +218 -218
- package/lib/engine-components/debug/LogStats.d.ts +5 -5
- package/lib/engine-components/debug/LogStats.js +18 -18
- package/lib/engine-components/export/gltf/GltfExport.d.ts +30 -30
- package/lib/engine-components/export/gltf/GltfExport.js +246 -246
- package/lib/engine-components/export/gltf/index.d.ts +1 -1
- package/lib/engine-components/export/gltf/index.js +1 -1
- package/lib/engine-components/export/index.d.ts +1 -1
- package/lib/engine-components/export/index.js +1 -1
- package/lib/engine-components/export/usdz/Extension.d.ts +22 -22
- package/lib/engine-components/export/usdz/Extension.js +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +162 -162
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +1789 -1789
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +130 -130
- package/lib/engine-components/export/usdz/USDZExporter.js +663 -663
- package/lib/engine-components/export/usdz/extensions/Animation.d.ts +106 -106
- package/lib/engine-components/export/usdz/extensions/Animation.js +1071 -1071
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -5
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +6 -6
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.js +451 -451
- package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +54 -54
- package/lib/engine-components/export/usdz/extensions/USDZText.js +203 -203
- package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -8
- package/lib/engine-components/export/usdz/extensions/USDZUI.js +158 -158
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -30
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +88 -88
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js +86 -86
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +28 -28
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +290 -290
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +190 -190
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +1060 -1060
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +135 -135
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +548 -548
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.d.ts +7 -7
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +115 -115
- package/lib/engine-components/export/usdz/index.d.ts +3 -3
- package/lib/engine-components/export/usdz/index.js +2 -2
- package/lib/engine-components/export/usdz/utils/animationutils.d.ts +7 -7
- package/lib/engine-components/export/usdz/utils/animationutils.js +163 -163
- package/lib/engine-components/export/usdz/utils/quicklook.d.ts +2 -2
- package/lib/engine-components/export/usdz/utils/quicklook.js +43 -43
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +177 -177
- package/lib/engine-components/particlesystem/ParticleSystem.js +1176 -1176
- package/lib/engine-components/particlesystem/ParticleSystemModules.d.ts +526 -526
- package/lib/engine-components/particlesystem/ParticleSystemModules.js +1930 -1930
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.d.ts +25 -25
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.js +87 -87
- package/lib/engine-components/particlesystem/api.d.ts +2 -2
- package/lib/engine-components/particlesystem/api.js +2 -2
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +59 -59
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +46 -46
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +113 -113
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -39
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +23 -23
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +111 -111
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +25 -25
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +104 -104
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +12 -12
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +18 -18
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +32 -32
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +91 -91
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +70 -70
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +176 -176
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +127 -127
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +70 -70
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +19 -19
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +94 -94
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +13 -13
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.js +51 -51
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +15 -15
- package/lib/engine-components/postprocessing/Effects/Vignette.js +60 -60
- package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +90 -90
- package/lib/engine-components/postprocessing/PostProcessingEffect.js +168 -168
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +42 -42
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +494 -494
- package/lib/engine-components/postprocessing/Volume.d.ts +90 -90
- package/lib/engine-components/postprocessing/Volume.js +385 -385
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +26 -26
- package/lib/engine-components/postprocessing/VolumeParameter.js +136 -136
- package/lib/engine-components/postprocessing/VolumeProfile.d.ts +15 -15
- package/lib/engine-components/postprocessing/VolumeProfile.js +60 -60
- package/lib/engine-components/postprocessing/index.d.ts +6 -6
- package/lib/engine-components/postprocessing/index.js +6 -6
- package/lib/engine-components/postprocessing/utils.d.ts +55 -55
- package/lib/engine-components/postprocessing/utils.js +119 -119
- package/lib/engine-components/timeline/PlayableDirector.d.ts +163 -163
- package/lib/engine-components/timeline/PlayableDirector.js +686 -686
- package/lib/engine-components/timeline/SignalAsset.d.ts +24 -24
- package/lib/engine-components/timeline/SignalAsset.js +130 -130
- package/lib/engine-components/timeline/TimelineModels.d.ts +89 -89
- package/lib/engine-components/timeline/TimelineModels.js +22 -22
- package/lib/engine-components/timeline/TimelineTracks.d.ts +110 -110
- package/lib/engine-components/timeline/TimelineTracks.js +879 -879
- package/lib/engine-components/timeline/index.d.ts +4 -4
- package/lib/engine-components/timeline/index.js +3 -3
- package/lib/engine-components/ui/BaseUIComponent.d.ts +48 -48
- package/lib/engine-components/ui/BaseUIComponent.js +170 -170
- package/lib/engine-components/ui/Button.d.ts +64 -64
- package/lib/engine-components/ui/Button.js +315 -315
- package/lib/engine-components/ui/Canvas.d.ts +74 -74
- package/lib/engine-components/ui/Canvas.js +407 -407
- package/lib/engine-components/ui/CanvasGroup.d.ts +19 -19
- package/lib/engine-components/ui/CanvasGroup.js +58 -58
- package/lib/engine-components/ui/EventSystem.d.ts +125 -125
- package/lib/engine-components/ui/EventSystem.js +765 -765
- package/lib/engine-components/ui/Graphic.d.ts +55 -55
- package/lib/engine-components/ui/Graphic.js +255 -255
- package/lib/engine-components/ui/Image.d.ts +35 -35
- package/lib/engine-components/ui/Image.js +116 -116
- package/lib/engine-components/ui/InputField.d.ts +42 -42
- package/lib/engine-components/ui/InputField.js +268 -268
- package/lib/engine-components/ui/Interfaces.d.ts +38 -38
- package/lib/engine-components/ui/Interfaces.js +12 -12
- package/lib/engine-components/ui/Layout.d.ts +84 -84
- package/lib/engine-components/ui/Layout.js +330 -330
- package/lib/engine-components/ui/Outline.d.ts +7 -7
- package/lib/engine-components/ui/Outline.js +20 -20
- package/lib/engine-components/ui/PointerEvents.d.ts +115 -115
- package/lib/engine-components/ui/PointerEvents.js +145 -145
- package/lib/engine-components/ui/RaycastUtils.d.ts +11 -11
- package/lib/engine-components/ui/RaycastUtils.js +67 -67
- package/lib/engine-components/ui/Raycaster.d.ts +30 -30
- package/lib/engine-components/ui/Raycaster.js +95 -95
- package/lib/engine-components/ui/RectTransform.d.ts +61 -61
- package/lib/engine-components/ui/RectTransform.js +356 -356
- package/lib/engine-components/ui/SpatialHtml.d.ts +8 -8
- package/lib/engine-components/ui/SpatialHtml.js +79 -79
- package/lib/engine-components/ui/Symbols.d.ts +1 -1
- package/lib/engine-components/ui/Symbols.js +1 -1
- package/lib/engine-components/ui/Text.d.ts +78 -78
- package/lib/engine-components/ui/Text.js +539 -539
- package/lib/engine-components/ui/Utils.d.ts +24 -24
- package/lib/engine-components/ui/Utils.js +90 -90
- package/lib/engine-components/ui/index.d.ts +1 -1
- package/lib/engine-components/ui/index.js +1 -1
- package/lib/engine-components/utils/EnvironmentScene.d.ts +5 -5
- package/lib/engine-components/utils/EnvironmentScene.js +205 -205
- package/lib/engine-components/utils/LookAt.d.ts +31 -31
- package/lib/engine-components/utils/LookAt.js +82 -82
- package/lib/engine-components/utils/OpenURL.d.ts +42 -42
- package/lib/engine-components/utils/OpenURL.js +119 -119
- package/lib/engine-components/webxr/Avatar.d.ts +25 -25
- package/lib/engine-components/webxr/Avatar.js +255 -255
- package/lib/engine-components/webxr/TeleportTarget.d.ts +7 -7
- package/lib/engine-components/webxr/TeleportTarget.js +7 -7
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +30 -30
- package/lib/engine-components/webxr/WebARCameraBackground.js +155 -155
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +98 -98
- package/lib/engine-components/webxr/WebARSessionRoot.js +770 -770
- package/lib/engine-components/webxr/WebXR.d.ts +232 -232
- package/lib/engine-components/webxr/WebXR.js +561 -561
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +27 -27
- package/lib/engine-components/webxr/WebXRAvatar.js +44 -44
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +86 -86
- package/lib/engine-components/webxr/WebXRImageTracking.js +471 -471
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +92 -92
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +500 -500
- package/lib/engine-components/webxr/WebXRRig.d.ts +32 -32
- package/lib/engine-components/webxr/WebXRRig.js +72 -72
- package/lib/engine-components/webxr/XRFlag.d.ts +38 -38
- package/lib/engine-components/webxr/XRFlag.js +139 -139
- package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +47 -47
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js +120 -120
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +43 -43
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +352 -352
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +78 -78
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +506 -506
- package/lib/engine-components/webxr/index.d.ts +3 -3
- package/lib/engine-components/webxr/index.js +3 -3
- package/lib/engine-components/webxr/types.d.ts +3 -3
- package/lib/engine-components/webxr/types.js +1 -1
- package/lib/engine-components-experimental/Presentation.d.ts +6 -6
- package/lib/engine-components-experimental/Presentation.js +9 -9
- package/lib/engine-components-experimental/api.d.ts +4 -4
- package/lib/engine-components-experimental/api.js +4 -4
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +156 -156
- package/lib/engine-components-experimental/networking/PlayerSync.js +377 -377
- package/lib/engine-schemes/api.d.ts +12 -12
- package/lib/engine-schemes/api.js +12 -12
- package/lib/engine-schemes/schemes.d.ts +7 -7
- package/lib/engine-schemes/schemes.js +19 -19
- package/lib/engine-schemes/synced-camera-model.d.ts +25 -25
- package/lib/engine-schemes/synced-camera-model.js +67 -67
- package/lib/engine-schemes/synced-transform-model.d.ts +31 -31
- package/lib/engine-schemes/synced-transform-model.js +66 -66
- package/lib/engine-schemes/transform.d.ts +12 -12
- package/lib/engine-schemes/transform.js +39 -39
- package/lib/engine-schemes/vec2.d.ts +10 -10
- package/lib/engine-schemes/vec2.js +25 -25
- package/lib/engine-schemes/vec3.d.ts +11 -11
- package/lib/engine-schemes/vec3.js +29 -29
- package/lib/engine-schemes/vec4.d.ts +12 -12
- package/lib/engine-schemes/vec4.js +33 -33
- package/lib/engine-schemes/vr-user-state-buffer.d.ts +37 -37
- package/lib/engine-schemes/vr-user-state-buffer.js +110 -110
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.d.ts +6 -6
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js +45 -45
- package/lib/needle-engine.d.ts +7 -7
- package/lib/needle-engine.js +64 -64
- package/package.json +2 -2
- package/plugins/common/buildinfo.js +64 -64
- package/plugins/common/cloud.js +1 -1
- package/plugins/common/config.cjs +31 -31
- package/plugins/common/config.js +35 -35
- package/plugins/common/files.js +31 -31
- package/plugins/common/generator.js +10 -10
- package/plugins/common/license.js +452 -452
- package/plugins/common/logger.js +327 -320
- package/plugins/common/npm.js +15 -15
- package/plugins/common/timers.js +7 -7
- package/plugins/common/version.js +37 -37
- package/plugins/gltf-packer.mjs +1 -1
- package/plugins/next/alias.cjs +39 -39
- package/plugins/next/license.cjs +24 -24
- package/plugins/next/meshbvhworker.cjs +18 -18
- package/plugins/next/next.js +141 -141
- package/plugins/types/index.d.ts +2 -2
- package/plugins/types/license.d.ts +24 -24
- package/plugins/types/needleConfig.d.ts +27 -27
- package/plugins/types/next.d.ts +2 -2
- package/plugins/types/userconfig.d.ts +124 -124
- package/plugins/types/vite.d.ts +13 -13
- package/plugins/types/webmanifest.d.ts +32 -32
- package/plugins/vite/alias.js +189 -189
- package/plugins/vite/asap.js +251 -251
- package/plugins/vite/build-pipeline.js +371 -371
- package/plugins/vite/build.js +19 -19
- package/plugins/vite/buildinfo.js +41 -41
- package/plugins/vite/config.js +106 -106
- package/plugins/vite/copyfiles.js +138 -138
- package/plugins/vite/defines.js +70 -70
- package/plugins/vite/dependencies.js +232 -232
- package/plugins/vite/dependency-watcher.js +237 -237
- package/plugins/vite/drop-client.js +76 -76
- package/plugins/vite/drop.js +87 -87
- package/plugins/vite/editor-connection.js +124 -124
- package/plugins/vite/facebook-instant-games.js +102 -102
- package/plugins/vite/gzip.js +5 -5
- package/plugins/vite/imports-logger.js +143 -143
- package/plugins/vite/index.js +147 -147
- package/plugins/vite/license.js +56 -56
- package/plugins/vite/local-files.js +440 -440
- package/plugins/vite/logger.client.js +272 -262
- package/plugins/vite/logger.js +100 -100
- package/plugins/vite/materialx.js +31 -31
- package/plugins/vite/meta.js +163 -163
- package/plugins/vite/npm.js +7 -7
- package/plugins/vite/peer.js +29 -29
- package/plugins/vite/poster-client.js +73 -73
- package/plugins/vite/poster.js +79 -79
- package/plugins/vite/pwa.js +604 -604
- package/plugins/vite/reload-client.js +15 -15
- package/plugins/vite/reload.js +351 -351
- package/plugins/vite/server.js +66 -66
- package/plugins/vite/transform-codegen.js +55 -55
- package/plugins/vite/transform.js +32 -32
- package/plugins/vite/vite-4.4-hack.js +31 -31
- package/src/asap/needle-asap.ts +111 -111
- package/src/asap/sessiongranted.ts +75 -75
- package/src/asap/utils.ts +4 -4
- package/src/engine/analytics/index.ts +10 -10
- package/src/engine/analytics/lcp.ts +35 -35
- package/src/engine/api.ts +82 -82
- package/src/engine/assets/index.ts +59 -59
- package/src/engine/assets/static.js +5 -5
- package/src/engine/codegen/register_types.ts +300 -300
- package/src/engine/debug/debug.ts +51 -51
- package/src/engine/debug/debug_console.ts +333 -333
- package/src/engine/debug/debug_overlay.ts +332 -332
- package/src/engine/debug/debug_spatial_console.ts +429 -429
- package/src/engine/debug/index.ts +1 -1
- package/src/engine/engine_addressables.ts +671 -680
- package/src/engine/engine_animation.ts +145 -145
- package/src/engine/engine_application.ts +113 -113
- package/src/engine/engine_assetdatabase.ts +389 -389
- package/src/engine/engine_audio.ts +24 -24
- package/src/engine/engine_camera.ts +39 -39
- package/src/engine/engine_components.ts +366 -366
- package/src/engine/engine_components_internal.ts +40 -40
- package/src/engine/engine_constants.ts +52 -52
- package/src/engine/engine_context.ts +1824 -1824
- package/src/engine/engine_context_registry.ts +129 -129
- package/src/engine/engine_coroutine.ts +54 -54
- package/src/engine/engine_create_objects.ts +411 -411
- package/src/engine/engine_default_parameters.ts +3 -3
- package/src/engine/engine_editor-sync.ts +28 -28
- package/src/engine/engine_fileloader.js +9 -9
- package/src/engine/engine_gameobject.ts +712 -712
- package/src/engine/engine_generic_utils.js +13 -13
- package/src/engine/engine_gizmos.ts +577 -577
- package/src/engine/engine_gltf.ts +29 -29
- package/src/engine/engine_gltf_builtin_components.ts +403 -403
- package/src/engine/engine_hot_reload.ts +210 -210
- package/src/engine/engine_input.ts +1500 -1500
- package/src/engine/engine_input_utils.ts +23 -23
- package/src/engine/engine_instancing.ts +45 -45
- package/src/engine/engine_license.ts +386 -386
- package/src/engine/engine_lifecycle_api.ts +113 -113
- package/src/engine/engine_lifecycle_functions_internal.ts +193 -193
- package/src/engine/engine_lightdata.ts +125 -117
- package/src/engine/engine_loaders.callbacks.ts +136 -136
- package/src/engine/engine_loaders.gltf.ts +82 -82
- package/src/engine/engine_loaders.ts +378 -378
- package/src/engine/engine_lods.ts +186 -168
- package/src/engine/engine_mainloop_utils.ts +472 -472
- package/src/engine/engine_math.ts +282 -282
- package/src/engine/engine_modules.ts +83 -83
- package/src/engine/engine_networking.ts +862 -862
- package/src/engine/engine_networking_auto.ts +352 -352
- package/src/engine/engine_networking_blob.ts +275 -275
- package/src/engine/engine_networking_files.ts +217 -217
- package/src/engine/engine_networking_files_default_components.ts +58 -58
- package/src/engine/engine_networking_instantiate.ts +419 -419
- package/src/engine/engine_networking_peer.ts +159 -159
- package/src/engine/engine_networking_streams.ts +713 -713
- package/src/engine/engine_networking_types.ts +24 -24
- package/src/engine/engine_networking_utils.ts +23 -23
- package/src/engine/engine_networking_websocket.ts +2 -2
- package/src/engine/engine_patcher.ts +199 -199
- package/src/engine/engine_physics.ts +783 -783
- package/src/engine/engine_physics.types.ts +46 -46
- package/src/engine/engine_physics_rapier.ts +1577 -1577
- package/src/engine/engine_playerview.ts +80 -80
- package/src/engine/engine_scenelighting.ts +294 -294
- package/src/engine/engine_serialization.ts +2 -2
- package/src/engine/engine_serialization_builtin_serializer.ts +473 -473
- package/src/engine/engine_serialization_core.ts +720 -720
- package/src/engine/engine_serialization_decorator.ts +80 -80
- package/src/engine/engine_setup.ts +1 -1
- package/src/engine/engine_shaders.ts +267 -267
- package/src/engine/engine_shims.ts +32 -32
- package/src/engine/engine_test_utils.ts +109 -109
- package/src/engine/engine_texture.ts +82 -82
- package/src/engine/engine_three_utils.ts +928 -928
- package/src/engine/engine_time.ts +94 -94
- package/src/engine/engine_time_utils.ts +237 -237
- package/src/engine/engine_tonemapping.ts +208 -208
- package/src/engine/engine_types.ts +730 -730
- package/src/engine/engine_typestore.ts +63 -63
- package/src/engine/engine_util_decorator.ts +136 -136
- package/src/engine/engine_utils.ts +1115 -1115
- package/src/engine/engine_utils_format.ts +273 -273
- package/src/engine/engine_utils_screenshot.ts +708 -708
- package/src/engine/engine_utils_screenshot.xr.ts +103 -103
- package/src/engine/export/gltf/Writers.ts +34 -34
- package/src/engine/export/gltf/index.ts +158 -158
- package/src/engine/export/index.ts +2 -2
- package/src/engine/export/state.ts +19 -19
- package/src/engine/export/utils.ts +9 -9
- package/src/engine/extensions/EXT_texture_exr.ts +50 -50
- package/src/engine/extensions/NEEDLE_animator_controller_model.ts +195 -195
- package/src/engine/extensions/NEEDLE_components.ts +268 -268
- package/src/engine/extensions/NEEDLE_gameobject_data.ts +81 -81
- package/src/engine/extensions/NEEDLE_lighting_settings.ts +185 -185
- package/src/engine/extensions/NEEDLE_lightmaps.ts +119 -119
- package/src/engine/extensions/NEEDLE_persistent_assets.ts +76 -76
- package/src/engine/extensions/NEEDLE_render_objects.ts +209 -209
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +640 -640
- package/src/engine/extensions/extension_resolver.ts +4 -4
- package/src/engine/extensions/extension_utils.ts +166 -166
- package/src/engine/extensions/extensions.ts +140 -140
- package/src/engine/extensions/index.ts +5 -5
- package/src/engine/extensions/usage_tracker.ts +100 -100
- package/src/engine/js-extensions/Camera.ts +37 -37
- package/src/engine/js-extensions/ExtensionUtils.ts +85 -85
- package/src/engine/js-extensions/Layers.ts +23 -23
- package/src/engine/js-extensions/Object3D.ts +296 -296
- package/src/engine/js-extensions/RGBAColor.ts +126 -126
- package/src/engine/js-extensions/Vector.ts +18 -18
- package/src/engine/js-extensions/index.ts +4 -4
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +125 -125
- package/src/engine/shaders/shaderData.ts +67 -67
- package/src/engine/tests/test_utils.ts +63 -63
- package/src/engine/webcomponents/WebXRButtons.ts +260 -260
- package/src/engine/webcomponents/api.ts +6 -6
- package/src/engine/webcomponents/buttons.ts +292 -292
- package/src/engine/webcomponents/fonts.ts +41 -41
- package/src/engine/webcomponents/icons.ts +57 -57
- package/src/engine/webcomponents/index.ts +1 -1
- package/src/engine/webcomponents/logo-element.ts +78 -78
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +573 -573
- package/src/engine/webcomponents/needle menu/needle-menu.ts +1118 -1118
- package/src/engine/webcomponents/needle-button.ts +181 -181
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +186 -186
- package/src/engine/webcomponents/needle-engine.attributes.ts +82 -82
- package/src/engine/webcomponents/needle-engine.extras.ts +16 -16
- package/src/engine/webcomponents/needle-engine.loading.ts +373 -373
- package/src/engine/webcomponents/needle-engine.ts +860 -860
- package/src/engine/xr/NeedleXRController.ts +1125 -1125
- package/src/engine/xr/NeedleXRSession.ts +1624 -1624
- package/src/engine/xr/NeedleXRSync.ts +220 -220
- package/src/engine/xr/SceneTransition.ts +78 -78
- package/src/engine/xr/TempXRContext.ts +216 -216
- package/src/engine/xr/XRRig.ts +9 -9
- package/src/engine/xr/api.ts +5 -5
- package/src/engine/xr/events.ts +102 -102
- package/src/engine/xr/internal.ts +34 -34
- package/src/engine/xr/usdz.ts +30 -30
- package/src/engine/xr/utils.ts +39 -39
- package/src/engine-components/AlignmentConstraint.ts +36 -36
- package/src/engine-components/Animation.ts +557 -557
- package/src/engine-components/AnimationCurve.ts +150 -150
- package/src/engine-components/AnimationUtils.ts +28 -28
- package/src/engine-components/AnimationUtilsAutoplay.ts +43 -43
- package/src/engine-components/Animator.ts +397 -397
- package/src/engine-components/AnimatorController.ts +1293 -1293
- package/src/engine-components/AudioListener.ts +92 -92
- package/src/engine-components/AudioSource.ts +644 -644
- package/src/engine-components/AvatarLoader.ts +263 -263
- package/src/engine-components/AxesHelper.ts +59 -59
- package/src/engine-components/BasicIKConstraint.ts +54 -54
- package/src/engine-components/BoxCollider.ts +1 -1
- package/src/engine-components/BoxHelperComponent.ts +114 -114
- package/src/engine-components/Camera.ts +719 -719
- package/src/engine-components/CameraUtils.ts +138 -138
- package/src/engine-components/CharacterController.ts +253 -253
- package/src/engine-components/Collider.ts +374 -374
- package/src/engine-components/Component.ts +1297 -1297
- package/src/engine-components/ContactShadows.ts +506 -506
- package/src/engine-components/DeleteBox.ts +62 -62
- package/src/engine-components/DeviceFlag.ts +46 -46
- package/src/engine-components/DragControls.ts +1623 -1623
- package/src/engine-components/DropListener.ts +713 -713
- package/src/engine-components/Duplicatable.ts +198 -198
- package/src/engine-components/EventList.ts +266 -266
- package/src/engine-components/EventTrigger.ts +74 -74
- package/src/engine-components/EventType.ts +22 -22
- package/src/engine-components/Fog.ts +60 -60
- package/src/engine-components/Gizmos.ts +56 -56
- package/src/engine-components/GridHelper.ts +48 -48
- package/src/engine-components/GroundProjection.ts +356 -356
- package/src/engine-components/Interactable.ts +14 -14
- package/src/engine-components/Joints.ts +52 -52
- package/src/engine-components/LODGroup.ts +153 -153
- package/src/engine-components/Light.ts +558 -558
- package/src/engine-components/LookAtConstraint.ts +25 -25
- package/src/engine-components/NeedleMenu.ts +84 -84
- package/src/engine-components/NestedGltf.ts +86 -86
- package/src/engine-components/Networking.ts +114 -114
- package/src/engine-components/OffsetConstraint.ts +60 -60
- package/src/engine-components/OrbitControls.ts +1074 -1074
- package/src/engine-components/PlayerColor.ts +103 -103
- package/src/engine-components/ReflectionProbe.ts +220 -220
- package/src/engine-components/Renderer.ts +903 -903
- package/src/engine-components/RendererInstancing.ts +855 -855
- package/src/engine-components/RendererLightmap.ts +198 -198
- package/src/engine-components/RigidBody.ts +526 -526
- package/src/engine-components/SceneSwitcher.ts +1030 -1030
- package/src/engine-components/ScreenCapture.ts +592 -592
- package/src/engine-components/ShadowCatcher.ts +172 -172
- package/src/engine-components/Skybox.ts +475 -475
- package/src/engine-components/SmoothFollow.ts +76 -76
- package/src/engine-components/SpatialTrigger.ts +229 -229
- package/src/engine-components/SpectatorCamera.ts +787 -787
- package/src/engine-components/SphereCollider.ts +1 -1
- package/src/engine-components/SpriteRenderer.ts +468 -468
- package/src/engine-components/SyncedCamera.ts +220 -220
- package/src/engine-components/SyncedRoom.ts +380 -380
- package/src/engine-components/SyncedTransform.ts +383 -383
- package/src/engine-components/TestRunner.ts +118 -118
- package/src/engine-components/TransformGizmo.ts +219 -219
- package/src/engine-components/VideoPlayer.ts +1025 -1025
- package/src/engine-components/Voip.ts +363 -363
- package/src/engine-components/api.ts +60 -60
- package/src/engine-components/avatar/AvatarBlink_Simple.ts +69 -69
- package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +63 -63
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +139 -139
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +83 -83
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +31 -31
- package/src/engine-components/codegen/components.ts +217 -217
- package/src/engine-components/debug/LogStats.ts +21 -21
- package/src/engine-components/export/gltf/GltfExport.ts +265 -265
- package/src/engine-components/export/usdz/Extension.ts +24 -24
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2426 -2426
- package/src/engine-components/export/usdz/USDZExporter.ts +705 -705
- package/src/engine-components/export/usdz/extensions/Animation.ts +1204 -1204
- package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +9 -9
- package/src/engine-components/export/usdz/extensions/NodeMaterialConverter.ts +532 -532
- package/src/engine-components/export/usdz/extensions/USDZText.ts +240 -240
- package/src/engine-components/export/usdz/extensions/USDZUI.ts +189 -189
- package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -99
- package/src/engine-components/export/usdz/extensions/behavior/AudioExtension.ts +102 -102
- package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +320 -320
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1225 -1225
- package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +646 -646
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +132 -132
- package/src/engine-components/export/usdz/index.ts +2 -2
- package/src/engine-components/export/usdz/utils/animationutils.ts +191 -191
- package/src/engine-components/export/usdz/utils/quicklook.ts +50 -50
- package/src/engine-components/particlesystem/ParticleSystem.ts +1287 -1287
- package/src/engine-components/particlesystem/ParticleSystemModules.ts +1765 -1765
- package/src/engine-components/particlesystem/ParticleSystemSubEmitter.ts +111 -111
- package/src/engine-components/particlesystem/api.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +64 -64
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +116 -116
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +37 -37
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +106 -106
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +103 -103
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +25 -25
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +32 -32
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +90 -90
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +192 -192
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +143 -143
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +61 -61
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +103 -103
- package/src/engine-components/postprocessing/Effects/Tonemapping.utils.ts +60 -60
- package/src/engine-components/postprocessing/Effects/Vignette.ts +59 -59
- package/src/engine-components/postprocessing/PostProcessingEffect.ts +192 -192
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +572 -572
- package/src/engine-components/postprocessing/Volume.ts +426 -426
- package/src/engine-components/postprocessing/VolumeParameter.ts +158 -158
- package/src/engine-components/postprocessing/VolumeProfile.ts +61 -61
- package/src/engine-components/postprocessing/index.ts +5 -5
- package/src/engine-components/postprocessing/utils.ts +154 -154
- package/src/engine-components/timeline/PlayableDirector.ts +722 -722
- package/src/engine-components/timeline/SignalAsset.ts +144 -144
- package/src/engine-components/timeline/TimelineModels.ts +92 -92
- package/src/engine-components/timeline/TimelineTracks.ts +967 -967
- package/src/engine-components/timeline/index.ts +3 -3
- package/src/engine-components/ui/BaseUIComponent.ts +203 -203
- package/src/engine-components/ui/Button.ts +307 -307
- package/src/engine-components/ui/Canvas.ts +419 -419
- package/src/engine-components/ui/CanvasGroup.ts +54 -54
- package/src/engine-components/ui/EventSystem.ts +854 -854
- package/src/engine-components/ui/Graphic.ts +275 -275
- package/src/engine-components/ui/Image.ts +112 -112
- package/src/engine-components/ui/InputField.ts +321 -321
- package/src/engine-components/ui/Interfaces.ts +57 -57
- package/src/engine-components/ui/Layout.ts +334 -334
- package/src/engine-components/ui/Outline.ts +13 -13
- package/src/engine-components/ui/PointerEvents.ts +206 -206
- package/src/engine-components/ui/RaycastUtils.ts +69 -69
- package/src/engine-components/ui/Raycaster.ts +102 -102
- package/src/engine-components/ui/RectTransform.ts +375 -375
- package/src/engine-components/ui/SpatialHtml.ts +79 -79
- package/src/engine-components/ui/Symbols.ts +1 -1
- package/src/engine-components/ui/Text.ts +578 -578
- package/src/engine-components/ui/Utils.ts +113 -113
- package/src/engine-components/utils/EnvironmentScene.ts +245 -245
- package/src/engine-components/utils/LookAt.ts +88 -88
- package/src/engine-components/utils/OpenURL.ts +114 -114
- package/src/engine-components/webxr/Avatar.ts +265 -265
- package/src/engine-components/webxr/TeleportTarget.ts +9 -9
- package/src/engine-components/webxr/WebARCameraBackground.ts +175 -175
- package/src/engine-components/webxr/WebARSessionRoot.ts +880 -880
- package/src/engine-components/webxr/WebXR.ts +585 -585
- package/src/engine-components/webxr/WebXRAvatar.ts +66 -66
- package/src/engine-components/webxr/WebXRImageTracking.ts +519 -519
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +570 -570
- package/src/engine-components/webxr/WebXRRig.ts +77 -77
- package/src/engine-components/webxr/XRFlag.ts +147 -147
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +118 -118
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +373 -373
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +550 -550
- package/src/engine-components/webxr/index.ts +2 -2
- package/src/engine-components/webxr/types.ts +3 -3
- package/src/engine-components-experimental/Presentation.ts +12 -12
- package/src/engine-components-experimental/api.ts +4 -4
- package/src/engine-components-experimental/networking/PlayerSync.ts +401 -401
- package/src/engine-schemes/COMPILE_SCHEMES.bat +3 -3
- package/src/engine-schemes/COMPILE_TS.bat +11 -11
- package/src/engine-schemes/README.md +1 -1
- package/src/engine-schemes/api.ts +12 -12
- package/src/engine-schemes/dist/api.js +17 -0
- package/src/engine-schemes/dist/api.js.meta +7 -0
- package/src/engine-schemes/dist/schemes.js +25 -0
- package/src/engine-schemes/dist/schemes.js.meta +7 -0
- package/src/engine-schemes/dist/synced-camera-model.js +74 -0
- package/src/engine-schemes/dist/synced-camera-model.js.meta +7 -0
- package/src/engine-schemes/dist/synced-transform-model.js +73 -0
- package/src/engine-schemes/dist/synced-transform-model.js.meta +7 -0
- package/src/engine-schemes/dist/transform.js +46 -0
- package/src/engine-schemes/dist/transform.js.meta +7 -0
- package/src/engine-schemes/dist/vec2.js +32 -0
- package/src/engine-schemes/dist/vec2.js.meta +7 -0
- package/src/engine-schemes/dist/vec3.js +36 -0
- package/src/engine-schemes/dist/vec3.js.meta +7 -0
- package/src/engine-schemes/dist/vec4.js +40 -0
- package/src/engine-schemes/dist/vec4.js.meta +7 -0
- package/src/engine-schemes/dist/vr-user-state-buffer.js +110 -0
- package/src/engine-schemes/dist/vr-user-state-buffer.js.meta +7 -0
- package/src/engine-schemes/schemes.ts +28 -28
- package/src/engine-schemes/synced-camera-model.ts +92 -92
- package/src/engine-schemes/synced-transform-model.ts +90 -90
- package/src/engine-schemes/syncedCamera.fbs +10 -10
- package/src/engine-schemes/transform.ts +50 -50
- package/src/engine-schemes/transforms.fbs +25 -25
- package/src/engine-schemes/vec.fbs +19 -19
- package/src/engine-schemes/vec2.ts +33 -33
- package/src/engine-schemes/vec3.ts +38 -38
- package/src/engine-schemes/vec4.ts +43 -43
- package/src/engine-schemes/vr-user-state-buffer.ts +145 -145
- package/src/engine-schemes/vrUserStateBuffer.fbs +17 -17
- package/src/include/draco/draco_decoder.js +34 -34
- package/src/include/ktx2/basis_transcoder.js +21 -21
- package/src/include/needle/arial-msdf.json +1471 -1471
- package/src/include/three/DragControls.js +231 -231
- package/src/include/three/EXT_mesh_gpu_instancing_exporter.js +66 -66
- package/src/needle-engine.ts +70 -70
- package/dist/generateMeshBVH.worker-BaNp_Xtp.js +0 -25
- package/dist/gltf-progressive-Bl4okF1b.min.js +0 -8
- package/dist/gltf-progressive-DSpdn0QT.js +0 -1054
- package/dist/gltf-progressive-P8b8a0qY.umd.cjs +0 -8
|
@@ -1,578 +1,578 @@
|
|
|
1
|
-
/// <reference types="webxr" />
|
|
2
|
-
import type { QueryFilterFlags, World } from "@dimforge/rapier3d-compat";
|
|
3
|
-
import { AnimationClip, Color, Material, Mesh, Object3D, Quaternion } from "three";
|
|
4
|
-
import { Vector3 } from "three";
|
|
5
|
-
import { type GLTF as THREE_GLTF } from "three/examples/jsm/loaders/GLTFLoader.js";
|
|
6
|
-
import type { Camera as CameraComponent } from "../engine-components/api.js";
|
|
7
|
-
import type { Context } from "./engine_context.js";
|
|
8
|
-
import { InstantiateContext } from "./engine_gameobject.js";
|
|
9
|
-
import { CollisionDetectionMode, type PhysicsMaterial, RigidbodyConstraints } from "./engine_physics.types.js";
|
|
10
|
-
import type { NeedleXRSession } from "./engine_xr.js";
|
|
11
|
-
/** Removes all properties that match TypesToFilter */
|
|
12
|
-
type FilterTypes<T, TypesToFilter> = {
|
|
13
|
-
[P in keyof T as T[P] extends TypesToFilter ? never : P]: T[P];
|
|
14
|
-
};
|
|
15
|
-
/** Removes all undefined functions */
|
|
16
|
-
type NoUndefinedNoFunctions<T> = FilterTypes<T, Function | undefined | null>;
|
|
17
|
-
type FilterStartingWith<T, Prefix extends string> = {
|
|
18
|
-
[K in keyof T as K extends string ? (K extends `${Prefix}${infer _}` ? never : K) : never]: T[K];
|
|
19
|
-
};
|
|
20
|
-
/** Removes all properties that start with an underscore */
|
|
21
|
-
type NoInternals<T> = FilterStartingWith<T, "_">;
|
|
22
|
-
type NoInternalNeedleEngineState<T> = Omit<T, "destroyed" | "gameObject" | "activeAndEnabled" | "context" | "isComponent" | "scene" | "up" | "forward" | "right" | "worldRotation" | "worldEuler" | "worldPosition" | "worldQuaternion">;
|
|
23
|
-
export type ComponentInit<T> = Partial<NoInternalNeedleEngineState<NoInternals<NoUndefinedNoFunctions<T>>>>;
|
|
24
|
-
/** GLTF, GLB or VRM */
|
|
25
|
-
export type GLTF = THREE_GLTF;
|
|
26
|
-
/** FBX type */
|
|
27
|
-
export type FBX = {
|
|
28
|
-
animations: AnimationClip[];
|
|
29
|
-
scene: Object3D;
|
|
30
|
-
scenes: Object3D[];
|
|
31
|
-
};
|
|
32
|
-
/** OBJ type */
|
|
33
|
-
export type OBJ = {
|
|
34
|
-
animations: AnimationClip[];
|
|
35
|
-
scene: Object3D;
|
|
36
|
-
scenes: Object3D[];
|
|
37
|
-
};
|
|
38
|
-
export type CustomModel = {
|
|
39
|
-
animations: AnimationClip[];
|
|
40
|
-
scene: Object3D;
|
|
41
|
-
scenes: Object3D[];
|
|
42
|
-
};
|
|
43
|
-
/** All possible model types that Needle Engine can load */
|
|
44
|
-
export type Model = (GLTF | FBX | OBJ | CustomModel);
|
|
45
|
-
export declare function isGLTFModel(model: Model): model is GLTF;
|
|
46
|
-
/** A loaded model */
|
|
47
|
-
export type LoadedModel = {
|
|
48
|
-
src: string;
|
|
49
|
-
file: Model;
|
|
50
|
-
};
|
|
51
|
-
/** used to find data registered via gltf files e.g. find lightmaps for a Renderer component that were shipped inside a gltf */
|
|
52
|
-
export declare type SourceIdentifier = string;
|
|
53
|
-
export type Constructor<T> = abstract new (...args: any[]) => T;
|
|
54
|
-
export type ConstructorConcrete<T> = new (...args: any[]) => T;
|
|
55
|
-
export type GuidsMap = {
|
|
56
|
-
[key: string]: string;
|
|
57
|
-
};
|
|
58
|
-
export interface UIDProvider {
|
|
59
|
-
seed: number;
|
|
60
|
-
generateUUID(): string;
|
|
61
|
-
}
|
|
62
|
-
export declare type CoroutineData = {
|
|
63
|
-
comp: IComponent;
|
|
64
|
-
main: Generator;
|
|
65
|
-
chained?: Array<Generator>;
|
|
66
|
-
};
|
|
67
|
-
export interface ITime {
|
|
68
|
-
get time(): number;
|
|
69
|
-
get deltaTime(): number;
|
|
70
|
-
}
|
|
71
|
-
export interface IInput {
|
|
72
|
-
convertScreenspaceToRaycastSpace(vec: Vec2): void;
|
|
73
|
-
getPointerPosition(i: number): Vec2 | null;
|
|
74
|
-
}
|
|
75
|
-
export interface IPhysics {
|
|
76
|
-
engine?: IPhysicsEngine;
|
|
77
|
-
}
|
|
78
|
-
export type IContext = Context;
|
|
79
|
-
export type INeedleXRSession = NeedleXRSession;
|
|
80
|
-
export declare interface INeedleEngineComponent extends HTMLElement {
|
|
81
|
-
getAROverlayContainer(): HTMLElement;
|
|
82
|
-
onEnterAR(session: XRSession, overlayContainer: HTMLElement): any;
|
|
83
|
-
onExitAR(session: XRSession): any;
|
|
84
|
-
}
|
|
85
|
-
export declare enum HideFlags {
|
|
86
|
-
None = 0,
|
|
87
|
-
/** When enabled the glTF exporter will omit this object and all children from being exported */
|
|
88
|
-
DontExport = 1
|
|
89
|
-
}
|
|
90
|
-
export declare interface IGameObject extends Object3D {
|
|
91
|
-
/** the object's unique identifier */
|
|
92
|
-
guid: string | undefined;
|
|
93
|
-
/** if the object is enabled in the hierarchy (usually equivalent to `visible`) */
|
|
94
|
-
activeSelf: boolean;
|
|
95
|
-
/** call to destroy this object including all components that are attached to it. Will destroy all children recursively */
|
|
96
|
-
destroy(): void;
|
|
97
|
-
/** Add a new component to this object. Expects a component type (e.g. `addNewComponent(Animator)`) */
|
|
98
|
-
addNewComponent<T extends IComponent>(type: Constructor<T>, init?: ComponentInit<T>): T;
|
|
99
|
-
/** Remove a component from this object. Expected a component instance
|
|
100
|
-
* @returns the removed component (equal to the passed in component)
|
|
101
|
-
*/
|
|
102
|
-
addComponent<T extends IComponent>(comp: T | ConstructorConcrete<T>, init?: ComponentInit<T>): T;
|
|
103
|
-
removeComponent<T extends IComponent>(comp: T): T;
|
|
104
|
-
/** Searches for a component type on this object. If no component of the searched type exists yet a new instance will be created and returned */
|
|
105
|
-
getOrAddComponent<T>(typeName: Constructor<T> | null): T;
|
|
106
|
-
/** Tries to find a component of a type on this object.
|
|
107
|
-
* @returns the first instance of a component on this object that matches the passed in type or null if no component of this type (or a subtype) exists */
|
|
108
|
-
getComponent<T>(type: Constructor<T>): T | null;
|
|
109
|
-
/** @returns all components of a certain type on this object */
|
|
110
|
-
getComponents<T>(type: Constructor<T>, arr?: T[]): Array<T>;
|
|
111
|
-
/** Finds a component of a certain type on this object OR a child object if any exists */
|
|
112
|
-
getComponentInChildren<T>(type: Constructor<T>): T | null;
|
|
113
|
-
/** Finds all components of a certain type on this object AND all children (recursively) */
|
|
114
|
-
getComponentsInChildren<T>(type: Constructor<T>, arr?: T[]): Array<T>;
|
|
115
|
-
/** Finds a component of a certain type on this object OR a parent object if any exists */
|
|
116
|
-
getComponentInParent<T>(type: Constructor<T>): T | null;
|
|
117
|
-
/** Finds all components of a certain type on this object AND all parents (recursively) */
|
|
118
|
-
getComponentsInParent<T>(type: Constructor<T>, arr?: T[]): Array<T>;
|
|
119
|
-
get worldPosition(): Vector3;
|
|
120
|
-
set worldPosition(val: Vector3);
|
|
121
|
-
get worldQuaternion(): Quaternion;
|
|
122
|
-
set worldQuaternion(val: Quaternion);
|
|
123
|
-
get worldRotation(): Vector3;
|
|
124
|
-
set worldRotation(val: Vector3);
|
|
125
|
-
get worldScale(): Vector3;
|
|
126
|
-
set worldScale(val: Vector3);
|
|
127
|
-
get worldForward(): Vector3;
|
|
128
|
-
get worldRight(): Vector3;
|
|
129
|
-
get worldUp(): Vector3;
|
|
130
|
-
}
|
|
131
|
-
export interface IHasGuid {
|
|
132
|
-
guid: string;
|
|
133
|
-
}
|
|
134
|
-
export interface IComponent extends IHasGuid {
|
|
135
|
-
get isComponent(): boolean;
|
|
136
|
-
/** the object this component is attached to */
|
|
137
|
-
gameObject: IGameObject;
|
|
138
|
-
enabled: boolean;
|
|
139
|
-
sourceId?: SourceIdentifier;
|
|
140
|
-
get name(): string;
|
|
141
|
-
get layer(): number;
|
|
142
|
-
get destroyed(): boolean;
|
|
143
|
-
get tag(): string;
|
|
144
|
-
context: any;
|
|
145
|
-
get activeAndEnabled(): boolean;
|
|
146
|
-
/** @internal */
|
|
147
|
-
__internalNewInstanceCreated(init?: ComponentInit<any>): any;
|
|
148
|
-
/** @internal */
|
|
149
|
-
_internalInit(init?: ComponentInit<any>): any;
|
|
150
|
-
/** @internal */
|
|
151
|
-
__internalAwake(): any;
|
|
152
|
-
/** @internal */
|
|
153
|
-
__internalStart(): any;
|
|
154
|
-
/** @internal */
|
|
155
|
-
__internalEnable(isAddingOrRemovingFromScene?: boolean): any;
|
|
156
|
-
/** @internal */
|
|
157
|
-
__internalDisable(isAddingOrRemovingFromScene?: boolean): any;
|
|
158
|
-
/** @internal */
|
|
159
|
-
__internalDestroy(): any;
|
|
160
|
-
/** @internal */
|
|
161
|
-
resolveGuids?(guidsMap: GuidsMap): void;
|
|
162
|
-
/** experimental, called when the script is registered for the first time, this is called even if the component is not enabled. */
|
|
163
|
-
registering?(): any;
|
|
164
|
-
awake(): any;
|
|
165
|
-
onEnable(): any;
|
|
166
|
-
onDisable(): any;
|
|
167
|
-
onDestroy(): any;
|
|
168
|
-
destroy(): any;
|
|
169
|
-
/** called for properties decorated with the @validate decorator */
|
|
170
|
-
onValidate?(property?: string): any;
|
|
171
|
-
/** called when this.context.isPaused changes or when rendering loop changes due to changing DOM element visibility
|
|
172
|
-
* e.g. when the DOM element becomes hidden or out ot view
|
|
173
|
-
*/
|
|
174
|
-
onPausedChanged?(isPaused: boolean, wasPaused: boolean): any;
|
|
175
|
-
start?(): void;
|
|
176
|
-
earlyUpdate?(): void;
|
|
177
|
-
update?(): void;
|
|
178
|
-
lateUpdate?(): void;
|
|
179
|
-
onBeforeRender?(frame: XRFrame | null): void;
|
|
180
|
-
onAfterRender?(): void;
|
|
181
|
-
onCollisionEnter?(col: Collision): any;
|
|
182
|
-
onCollisionExit?(col: Collision): any;
|
|
183
|
-
onCollisionStay?(col: Collision): any;
|
|
184
|
-
onTriggerEnter?(col: ICollider): any;
|
|
185
|
-
onTriggerStay?(col: ICollider): any;
|
|
186
|
-
onTriggerExit?(col: ICollider): any;
|
|
187
|
-
get forward(): Vector3;
|
|
188
|
-
get worldPosition(): Vector3;
|
|
189
|
-
get worldQuaternion(): Quaternion;
|
|
190
|
-
}
|
|
191
|
-
export declare function isComponent(obj: any): obj is IComponent;
|
|
192
|
-
export type ICamera = CameraComponent;
|
|
193
|
-
export type IAnimationComponent = Pick<IComponent, "gameObject"> & {
|
|
194
|
-
isAnimationComponent: boolean;
|
|
195
|
-
addClip?(clip: AnimationClip): any;
|
|
196
|
-
};
|
|
197
|
-
/** Interface for a camera controller component that can be attached to a camera to control it */
|
|
198
|
-
export declare interface ICameraController {
|
|
199
|
-
get isCameraController(): boolean;
|
|
200
|
-
}
|
|
201
|
-
export declare interface ILight extends IComponent {
|
|
202
|
-
intensity: number;
|
|
203
|
-
color: Color;
|
|
204
|
-
}
|
|
205
|
-
export declare interface ISharedMaterials {
|
|
206
|
-
[num: number]: Material;
|
|
207
|
-
get length(): number;
|
|
208
|
-
}
|
|
209
|
-
export declare interface IRenderer extends IComponent {
|
|
210
|
-
sharedMaterial: Material;
|
|
211
|
-
get sharedMaterials(): ISharedMaterials;
|
|
212
|
-
}
|
|
213
|
-
export declare interface IEventList {
|
|
214
|
-
readonly isEventList: true;
|
|
215
|
-
__internalOnInstantiate(map: InstantiateContext): IEventList;
|
|
216
|
-
}
|
|
217
|
-
export declare interface ICollider extends IComponent {
|
|
218
|
-
get isCollider(): any;
|
|
219
|
-
attachedRigidbody: IRigidbody | null;
|
|
220
|
-
/**
|
|
221
|
-
* Note: Make sure to call updatePhysicsMaterial after having changed this property
|
|
222
|
-
*/
|
|
223
|
-
isTrigger: boolean;
|
|
224
|
-
/**
|
|
225
|
-
* The physics material determines how the collider interacts with other colliders (e.g. bouncyness)
|
|
226
|
-
* Note: Make sure to call updatePhysicsMaterial after having changed this property
|
|
227
|
-
*/
|
|
228
|
-
sharedMaterial?: PhysicsMaterial;
|
|
229
|
-
center?: Vec3 & {
|
|
230
|
-
multiply(vec: Vec3): any;
|
|
231
|
-
};
|
|
232
|
-
updateProperties(): void;
|
|
233
|
-
updatePhysicsMaterial(): void;
|
|
234
|
-
/** The collider membership indicates what groups the collider is part of (e.g. group 2 and 3)
|
|
235
|
-
* An `undefined` array indicates that the collider is part of all groups
|
|
236
|
-
* Note: Make sure to call updateProperties after having changed this property
|
|
237
|
-
* Default: [0]
|
|
238
|
-
*/
|
|
239
|
-
membership?: number[];
|
|
240
|
-
/** The collider filter indicates what groups the collider can interact with (e.g. group 3 and 4)
|
|
241
|
-
* An `undefined` array indicates that the collider can interact with all groups
|
|
242
|
-
* Note: Make sure to call updateProperties after having changed this property
|
|
243
|
-
* Default: undefined
|
|
244
|
-
*/
|
|
245
|
-
filter?: number[];
|
|
246
|
-
}
|
|
247
|
-
export declare interface ISphereCollider extends ICollider {
|
|
248
|
-
radius: number;
|
|
249
|
-
}
|
|
250
|
-
export declare interface IBoxCollider extends ICollider {
|
|
251
|
-
size: Vec3;
|
|
252
|
-
}
|
|
253
|
-
export declare interface IRigidbody extends IComponent {
|
|
254
|
-
get isRigidbody(): boolean;
|
|
255
|
-
constraints: RigidbodyConstraints;
|
|
256
|
-
isKinematic: boolean;
|
|
257
|
-
/** When true the mass will automatically calculated by attached colliders */
|
|
258
|
-
autoMass: boolean;
|
|
259
|
-
mass: number;
|
|
260
|
-
drag: number;
|
|
261
|
-
angularDrag: number;
|
|
262
|
-
useGravity: boolean;
|
|
263
|
-
centerOfMass: Vec3;
|
|
264
|
-
gravityScale: number;
|
|
265
|
-
dominanceGroup: number;
|
|
266
|
-
collisionDetectionMode: CollisionDetectionMode;
|
|
267
|
-
lockPositionX: boolean;
|
|
268
|
-
lockPositionY: boolean;
|
|
269
|
-
lockPositionZ: boolean;
|
|
270
|
-
lockRotationX: boolean;
|
|
271
|
-
lockRotationY: boolean;
|
|
272
|
-
lockRotationZ: boolean;
|
|
273
|
-
}
|
|
274
|
-
export declare const $physicsKey: unique symbol;
|
|
275
|
-
export declare type ICollisionContext = {
|
|
276
|
-
getCollider(obj: Object3D): ICollider;
|
|
277
|
-
};
|
|
278
|
-
export type Vec2 = {
|
|
279
|
-
x: number;
|
|
280
|
-
y: number;
|
|
281
|
-
};
|
|
282
|
-
export type Vec3 = {
|
|
283
|
-
x: number;
|
|
284
|
-
y: number;
|
|
285
|
-
z: number;
|
|
286
|
-
};
|
|
287
|
-
export type Vec4 = {
|
|
288
|
-
x: number;
|
|
289
|
-
y: number;
|
|
290
|
-
z: number;
|
|
291
|
-
w: number;
|
|
292
|
-
};
|
|
293
|
-
/**
|
|
294
|
-
* Holds information about physics contacts
|
|
295
|
-
*/
|
|
296
|
-
export declare class ContactPoint {
|
|
297
|
-
private readonly _point;
|
|
298
|
-
private readonly _normal;
|
|
299
|
-
private readonly _tangentVelocity;
|
|
300
|
-
/** the distance of the collision point */
|
|
301
|
-
readonly distance: number;
|
|
302
|
-
/** the impulse velocity */
|
|
303
|
-
readonly impulse: number;
|
|
304
|
-
readonly friction: number;
|
|
305
|
-
/** worldspace point */
|
|
306
|
-
get point(): Vector3;
|
|
307
|
-
/** worldspace normal */
|
|
308
|
-
get normal(): Vector3;
|
|
309
|
-
/** worldspace tangent */
|
|
310
|
-
get tangentVelocity(): Vector3;
|
|
311
|
-
/** @internal */
|
|
312
|
-
constructor(point: Vec3, dist: number, normal: Vec3, impulse: number, friction: number, tangentVelocity: Vec3);
|
|
313
|
-
}
|
|
314
|
-
/**
|
|
315
|
-
* Holds information about a collision event. Includes a list of contact points and the colliders involved
|
|
316
|
-
*/
|
|
317
|
-
export declare class Collision {
|
|
318
|
-
/** The contact points of this collision. Contains information about positions, normals, distance, friction, impulse... */
|
|
319
|
-
readonly contacts: ContactPoint[];
|
|
320
|
-
/** @internal */
|
|
321
|
-
constructor(obj: IGameObject, otherCollider: ICollider, contacts: ContactPoint[]);
|
|
322
|
-
/** the gameobject this collision event belongs to (e.g. if onCollisionEnter is called then `me` is the same as `this.gameObject`) */
|
|
323
|
-
readonly me: IGameObject;
|
|
324
|
-
private _collider;
|
|
325
|
-
/** the other collider the collision happened with */
|
|
326
|
-
get collider(): ICollider;
|
|
327
|
-
private _gameObject;
|
|
328
|
-
/** the other object the collision happened with */
|
|
329
|
-
get gameObject(): IGameObject;
|
|
330
|
-
/** the other rigidbody we hit, null if none attached */
|
|
331
|
-
get rigidBody(): IRigidbody | null;
|
|
332
|
-
}
|
|
333
|
-
export type RaycastResult = null | {
|
|
334
|
-
point: Vector3;
|
|
335
|
-
collider: ICollider;
|
|
336
|
-
normal?: Vector3;
|
|
337
|
-
};
|
|
338
|
-
export declare class SphereOverlapResult {
|
|
339
|
-
object: Object3D;
|
|
340
|
-
collider: ICollider;
|
|
341
|
-
constructor(object: Object3D, collider: ICollider);
|
|
342
|
-
}
|
|
343
|
-
export interface IPhysicsEngine {
|
|
344
|
-
/** Initializes the physics engine */
|
|
345
|
-
initialize(): Promise<boolean>;
|
|
346
|
-
/** Indicates whether the physics engine has been initialized */
|
|
347
|
-
get isInitialized(): boolean;
|
|
348
|
-
/** Advances physics simulation by the given time step */
|
|
349
|
-
step(dt: number): void;
|
|
350
|
-
postStep(): any;
|
|
351
|
-
/** Indicates whether the physics engine is currently updating */
|
|
352
|
-
get isUpdating(): boolean;
|
|
353
|
-
/** Clears all cached data (e.g., mesh data when creating scaled mesh colliders) */
|
|
354
|
-
clearCaches(): any;
|
|
355
|
-
/** Enables or disables the physics engine */
|
|
356
|
-
enabled: boolean;
|
|
357
|
-
/** Returns the underlying physics world object */
|
|
358
|
-
get world(): World | undefined;
|
|
359
|
-
/** Sets the gravity vector for the physics simulation */
|
|
360
|
-
set gravity(vec3: Vec3);
|
|
361
|
-
/** Gets the current gravity vector */
|
|
362
|
-
get gravity(): Vec3;
|
|
363
|
-
/**
|
|
364
|
-
* Gets the rapier physics body for a Needle component
|
|
365
|
-
* @param obj The collider or rigidbody component
|
|
366
|
-
* @returns The underlying physics body or null if not found
|
|
367
|
-
*/
|
|
368
|
-
getBody(obj: ICollider | IRigidbody): null | any;
|
|
369
|
-
/**
|
|
370
|
-
* Gets the Needle Engine component for a rapier physics object
|
|
371
|
-
* @param rapierObject The rapier physics object
|
|
372
|
-
* @returns The associated component or null if not found
|
|
373
|
-
*/
|
|
374
|
-
getComponent(rapierObject: object): IComponent | null;
|
|
375
|
-
/**
|
|
376
|
-
* Performs a fast raycast against physics colliders
|
|
377
|
-
* @param origin Ray origin in screen or worldspace
|
|
378
|
-
* @param direction Ray direction in worldspace
|
|
379
|
-
* @param options Additional raycast configuration options
|
|
380
|
-
* @returns Raycast result containing hit point and collider, or null if no hit
|
|
381
|
-
*/
|
|
382
|
-
raycast(origin?: Vec2 | Vec3, direction?: Vec3, options?: {
|
|
383
|
-
maxDistance?: number;
|
|
384
|
-
/** True if you want to also hit objects when the raycast starts from inside a collider */
|
|
385
|
-
solid?: boolean;
|
|
386
|
-
queryFilterFlags?: QueryFilterFlags;
|
|
387
|
-
/**
|
|
388
|
-
* Raycast filter groups. Groups are used to apply the collision group rules for the scene query.
|
|
389
|
-
* The scene query will only consider hits with colliders with collision groups compatible with
|
|
390
|
-
* this collision group (using the bitwise test described in the collision groups section).
|
|
391
|
-
* For example membership 0x0001 and filter 0x0002 should be 0x00010002
|
|
392
|
-
* @see https://rapier.rs/docs/user_guides/javascript/colliders#collision-groups-and-solver-groups
|
|
393
|
-
*/
|
|
394
|
-
filterGroups?: number;
|
|
395
|
-
/**
|
|
396
|
-
* Predicate to filter colliders in raycast results
|
|
397
|
-
* @param collider The collider being tested
|
|
398
|
-
* @returns False to ignore this collider, true to include it
|
|
399
|
-
*/
|
|
400
|
-
filterPredicate?: (collider: ICollider) => boolean;
|
|
401
|
-
}): RaycastResult;
|
|
402
|
-
/**
|
|
403
|
-
* Performs a raycast that also returns the normal vector at the hit point
|
|
404
|
-
* @param origin Ray origin in screen or worldspace
|
|
405
|
-
* @param direction Ray direction in worldspace
|
|
406
|
-
* @param options Additional raycast configuration options
|
|
407
|
-
* @returns Raycast result containing hit point, normal, and collider, or null if no hit
|
|
408
|
-
*/
|
|
409
|
-
raycastAndGetNormal(origin?: Vec2 | Vec3, direction?: Vec3, options?: {
|
|
410
|
-
maxDistance?: number;
|
|
411
|
-
/** True if you want to also hit objects when the raycast starts from inside a collider */
|
|
412
|
-
solid?: boolean;
|
|
413
|
-
queryFilterFlags?: QueryFilterFlags;
|
|
414
|
-
/**
|
|
415
|
-
* Raycast filter groups. Groups are used to apply the collision group rules for the scene query.
|
|
416
|
-
* The scene query will only consider hits with colliders with collision groups compatible with
|
|
417
|
-
* this collision group (using the bitwise test described in the collision groups section).
|
|
418
|
-
* For example membership 0x0001 and filter 0x0002 should be 0x00010002
|
|
419
|
-
* @see https://rapier.rs/docs/user_guides/javascript/colliders#collision-groups-and-solver-groups
|
|
420
|
-
*/
|
|
421
|
-
filterGroups?: number;
|
|
422
|
-
/**
|
|
423
|
-
* Predicate to filter colliders in raycast results
|
|
424
|
-
* @param collider The collider being tested
|
|
425
|
-
* @returns False to ignore this collider, true to include it
|
|
426
|
-
*/
|
|
427
|
-
filterPredicate?: (collider: ICollider) => boolean;
|
|
428
|
-
}): RaycastResult;
|
|
429
|
-
/**
|
|
430
|
-
* Finds all colliders within a sphere
|
|
431
|
-
* @param point The center point of the sphere
|
|
432
|
-
* @param radius The radius of the sphere
|
|
433
|
-
* @returns Array of objects that overlap with the sphere
|
|
434
|
-
*/
|
|
435
|
-
sphereOverlap(point: Vector3, radius: number): Array<SphereOverlapResult>;
|
|
436
|
-
/**
|
|
437
|
-
* Adds a sphere collider to the physics world
|
|
438
|
-
* @param collider The collider component to add
|
|
439
|
-
*/
|
|
440
|
-
addSphereCollider(collider: ICollider): any;
|
|
441
|
-
/**
|
|
442
|
-
* Adds a box collider to the physics world
|
|
443
|
-
* @param collider The collider component to add
|
|
444
|
-
* @param size The size of the box
|
|
445
|
-
*/
|
|
446
|
-
addBoxCollider(collider: ICollider, size: Vector3): any;
|
|
447
|
-
/**
|
|
448
|
-
* Adds a capsule collider to the physics world
|
|
449
|
-
* @param collider The collider component to add
|
|
450
|
-
* @param radius The radius of the capsule
|
|
451
|
-
* @param height The height of the capsule
|
|
452
|
-
*/
|
|
453
|
-
addCapsuleCollider(collider: ICollider, radius: number, height: number): any;
|
|
454
|
-
/**
|
|
455
|
-
* Adds a mesh collider to the physics world
|
|
456
|
-
* @param collider The collider component to add
|
|
457
|
-
* @param mesh The mesh to use for collision
|
|
458
|
-
* @param convex Whether the collision mesh should be treated as convex
|
|
459
|
-
* @param scale Optional scale to apply to the mesh
|
|
460
|
-
*/
|
|
461
|
-
addMeshCollider(collider: ICollider, mesh: Mesh, convex: boolean, scale?: Vector3 | undefined): any;
|
|
462
|
-
/**
|
|
463
|
-
* Updates the physics material properties of a collider
|
|
464
|
-
* @param collider The collider to update
|
|
465
|
-
*/
|
|
466
|
-
updatePhysicsMaterial(collider: ICollider): any;
|
|
467
|
-
/**
|
|
468
|
-
* Wakes up a sleeping rigidbody
|
|
469
|
-
* @param rb The rigidbody to wake up
|
|
470
|
-
*/
|
|
471
|
-
wakeup(rb: IRigidbody): any;
|
|
472
|
-
/**
|
|
473
|
-
* Checks if a rigidbody is currently sleeping
|
|
474
|
-
* @param rb The rigidbody to check
|
|
475
|
-
* @returns Whether the rigidbody is sleeping or undefined if cannot be determined
|
|
476
|
-
*/
|
|
477
|
-
isSleeping(rb: IRigidbody): boolean | undefined;
|
|
478
|
-
/**
|
|
479
|
-
* Updates the physical properties of a rigidbody or collider
|
|
480
|
-
* @param rb The rigidbody or collider to update
|
|
481
|
-
*/
|
|
482
|
-
updateProperties(rb: IRigidbody | ICollider): any;
|
|
483
|
-
/**
|
|
484
|
-
* Resets all forces acting on a rigidbody
|
|
485
|
-
* @param rb The rigidbody to reset forces on
|
|
486
|
-
* @param wakeup Whether to wake up the rigidbody
|
|
487
|
-
*/
|
|
488
|
-
resetForces(rb: IRigidbody, wakeup: boolean): any;
|
|
489
|
-
/**
|
|
490
|
-
* Resets all torques acting on a rigidbody
|
|
491
|
-
* @param rb The rigidbody to reset torques on
|
|
492
|
-
* @param wakeup Whether to wake up the rigidbody
|
|
493
|
-
*/
|
|
494
|
-
resetTorques(rb: IRigidbody, wakeup: boolean): any;
|
|
495
|
-
/**
|
|
496
|
-
* Adds a continuous force to a rigidbody
|
|
497
|
-
* @param rb The rigidbody to add force to
|
|
498
|
-
* @param vec The force vector to add
|
|
499
|
-
* @param wakeup Whether to wake up the rigidbody
|
|
500
|
-
*/
|
|
501
|
-
addForce(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
|
|
502
|
-
/**
|
|
503
|
-
* Applies an instantaneous impulse to a rigidbody
|
|
504
|
-
* @param rb The rigidbody to apply impulse to
|
|
505
|
-
* @param vec The impulse vector to apply
|
|
506
|
-
* @param wakeup Whether to wake up the rigidbody
|
|
507
|
-
*/
|
|
508
|
-
applyImpulse(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
|
|
509
|
-
/**
|
|
510
|
-
* Gets the linear velocity of a rigidbody or the rigidbody attached to a collider
|
|
511
|
-
* @param rb The rigidbody or collider to get velocity from
|
|
512
|
-
* @returns The linear velocity vector or null if not available
|
|
513
|
-
*/
|
|
514
|
-
getLinearVelocity(rb: IRigidbody | ICollider): Vec3 | null;
|
|
515
|
-
/**
|
|
516
|
-
* Gets the angular velocity of a rigidbody
|
|
517
|
-
* @param rb The rigidbody to get angular velocity from
|
|
518
|
-
* @returns The angular velocity vector or null if not available
|
|
519
|
-
*/
|
|
520
|
-
getAngularVelocity(rb: IRigidbody): Vec3 | null;
|
|
521
|
-
/**
|
|
522
|
-
* Sets the angular velocity of a rigidbody
|
|
523
|
-
* @param rb The rigidbody to set angular velocity for
|
|
524
|
-
* @param vec The angular velocity vector to set
|
|
525
|
-
* @param wakeup Whether to wake up the rigidbody
|
|
526
|
-
*/
|
|
527
|
-
setAngularVelocity(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
|
|
528
|
-
/**
|
|
529
|
-
* Sets the linear velocity of a rigidbody
|
|
530
|
-
* @param rb The rigidbody to set linear velocity for
|
|
531
|
-
* @param vec The linear velocity vector to set
|
|
532
|
-
* @param wakeup Whether to wake up the rigidbody
|
|
533
|
-
*/
|
|
534
|
-
setLinearVelocity(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
|
|
535
|
-
/**
|
|
536
|
-
* Updates the position and/or rotation of a physics body
|
|
537
|
-
* @param comp The collider or rigidbody component to update
|
|
538
|
-
* @param translation Whether to update the position
|
|
539
|
-
* @param rotation Whether to update the rotation
|
|
540
|
-
*/
|
|
541
|
-
updateBody(comp: ICollider | IRigidbody, translation: boolean, rotation: boolean): any;
|
|
542
|
-
/**
|
|
543
|
-
* Removes a physics body from the simulation
|
|
544
|
-
* @param body The component whose physics body should be removed
|
|
545
|
-
*/
|
|
546
|
-
removeBody(body: IComponent): any;
|
|
547
|
-
/**
|
|
548
|
-
* Gets the physics body for a component
|
|
549
|
-
* @param obj The collider or rigidbody component
|
|
550
|
-
* @returns The underlying physics body or null if not found
|
|
551
|
-
*/
|
|
552
|
-
getBody(obj: ICollider | IRigidbody): null | any;
|
|
553
|
-
addFixedJoint(body1: IRigidbody, body2: IRigidbody): any;
|
|
554
|
-
addHingeJoint(body1: IRigidbody, body2: IRigidbody, anchor: Vec3, axis: Vec3): any;
|
|
555
|
-
/** Enable to render collider shapes */
|
|
556
|
-
debugRenderColliders: boolean;
|
|
557
|
-
/** Enable to visualize raycasts in the scene with gizmos */
|
|
558
|
-
debugRenderRaycasts: boolean;
|
|
559
|
-
}
|
|
560
|
-
/**
|
|
561
|
-
* Available cursor types
|
|
562
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
|
|
563
|
-
*/
|
|
564
|
-
export type CursorTypeName = "auto" | "default" | "none" | "context-menu" | "help" | "pointer" | "progress" | "wait" | "cell" | "crosshair" | "text" | "vertical-text" | "alias" | "copy" | "move" | "no-drop" | "not-allowed" | "grab" | "grabbing" | "all-scroll" | "col-resize" | "row-resize" | "n-resize" | "e-resize" | "s-resize" | "w-resize" | "nw-resize" | "se-resize" | "sw-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "zoom-in" | "zoom-out";
|
|
565
|
-
/** Typical mouse button names for most devices */
|
|
566
|
-
export type MouseButtonName = "left" | "right" | "middle";
|
|
567
|
-
/** Button names on typical controllers (since there seems to be no agreed naming)
|
|
568
|
-
* https://w3c.github.io/gamepad/#remapping
|
|
569
|
-
*/
|
|
570
|
-
export type GamepadButtonName = "a-button" | "b-button" | "x-button" | "y-button";
|
|
571
|
-
/** Needle-defined names for stylus (MX Ink) */
|
|
572
|
-
export type StylusButtonName = "stylus-touch" | "stylus-tip";
|
|
573
|
-
/** Button names as used in the xr profile */
|
|
574
|
-
export type XRControllerButtonName = "thumbrest" | "xr-standard-trigger" | "xr-standard-squeeze" | "xr-standard-thumbstick" | "xr-standard-touchpad" | "menu" | GamepadButtonName | StylusButtonName;
|
|
575
|
-
export type XRGestureName = "pinch";
|
|
576
|
-
/** All known (types) button names for various devices and cases combined. You should use the device specific names if you e.g. know you only deal with a mouse use MouseButtonName */
|
|
577
|
-
export type ButtonName = "unknown" | MouseButtonName | GamepadButtonName | XRControllerButtonName | XRGestureName;
|
|
578
|
-
export {};
|
|
1
|
+
/// <reference types="webxr" />
|
|
2
|
+
import type { QueryFilterFlags, World } from "@dimforge/rapier3d-compat";
|
|
3
|
+
import { AnimationClip, Color, Material, Mesh, Object3D, Quaternion } from "three";
|
|
4
|
+
import { Vector3 } from "three";
|
|
5
|
+
import { type GLTF as THREE_GLTF } from "three/examples/jsm/loaders/GLTFLoader.js";
|
|
6
|
+
import type { Camera as CameraComponent } from "../engine-components/api.js";
|
|
7
|
+
import type { Context } from "./engine_context.js";
|
|
8
|
+
import { InstantiateContext } from "./engine_gameobject.js";
|
|
9
|
+
import { CollisionDetectionMode, type PhysicsMaterial, RigidbodyConstraints } from "./engine_physics.types.js";
|
|
10
|
+
import type { NeedleXRSession } from "./engine_xr.js";
|
|
11
|
+
/** Removes all properties that match TypesToFilter */
|
|
12
|
+
type FilterTypes<T, TypesToFilter> = {
|
|
13
|
+
[P in keyof T as T[P] extends TypesToFilter ? never : P]: T[P];
|
|
14
|
+
};
|
|
15
|
+
/** Removes all undefined functions */
|
|
16
|
+
type NoUndefinedNoFunctions<T> = FilterTypes<T, Function | undefined | null>;
|
|
17
|
+
type FilterStartingWith<T, Prefix extends string> = {
|
|
18
|
+
[K in keyof T as K extends string ? (K extends `${Prefix}${infer _}` ? never : K) : never]: T[K];
|
|
19
|
+
};
|
|
20
|
+
/** Removes all properties that start with an underscore */
|
|
21
|
+
type NoInternals<T> = FilterStartingWith<T, "_">;
|
|
22
|
+
type NoInternalNeedleEngineState<T> = Omit<T, "destroyed" | "gameObject" | "activeAndEnabled" | "context" | "isComponent" | "scene" | "up" | "forward" | "right" | "worldRotation" | "worldEuler" | "worldPosition" | "worldQuaternion">;
|
|
23
|
+
export type ComponentInit<T> = Partial<NoInternalNeedleEngineState<NoInternals<NoUndefinedNoFunctions<T>>>>;
|
|
24
|
+
/** GLTF, GLB or VRM */
|
|
25
|
+
export type GLTF = THREE_GLTF;
|
|
26
|
+
/** FBX type */
|
|
27
|
+
export type FBX = {
|
|
28
|
+
animations: AnimationClip[];
|
|
29
|
+
scene: Object3D;
|
|
30
|
+
scenes: Object3D[];
|
|
31
|
+
};
|
|
32
|
+
/** OBJ type */
|
|
33
|
+
export type OBJ = {
|
|
34
|
+
animations: AnimationClip[];
|
|
35
|
+
scene: Object3D;
|
|
36
|
+
scenes: Object3D[];
|
|
37
|
+
};
|
|
38
|
+
export type CustomModel = {
|
|
39
|
+
animations: AnimationClip[];
|
|
40
|
+
scene: Object3D;
|
|
41
|
+
scenes: Object3D[];
|
|
42
|
+
};
|
|
43
|
+
/** All possible model types that Needle Engine can load */
|
|
44
|
+
export type Model = (GLTF | FBX | OBJ | CustomModel);
|
|
45
|
+
export declare function isGLTFModel(model: Model): model is GLTF;
|
|
46
|
+
/** A loaded model */
|
|
47
|
+
export type LoadedModel = {
|
|
48
|
+
src: string;
|
|
49
|
+
file: Model;
|
|
50
|
+
};
|
|
51
|
+
/** used to find data registered via gltf files e.g. find lightmaps for a Renderer component that were shipped inside a gltf */
|
|
52
|
+
export declare type SourceIdentifier = string;
|
|
53
|
+
export type Constructor<T> = abstract new (...args: any[]) => T;
|
|
54
|
+
export type ConstructorConcrete<T> = new (...args: any[]) => T;
|
|
55
|
+
export type GuidsMap = {
|
|
56
|
+
[key: string]: string;
|
|
57
|
+
};
|
|
58
|
+
export interface UIDProvider {
|
|
59
|
+
seed: number;
|
|
60
|
+
generateUUID(): string;
|
|
61
|
+
}
|
|
62
|
+
export declare type CoroutineData = {
|
|
63
|
+
comp: IComponent;
|
|
64
|
+
main: Generator;
|
|
65
|
+
chained?: Array<Generator>;
|
|
66
|
+
};
|
|
67
|
+
export interface ITime {
|
|
68
|
+
get time(): number;
|
|
69
|
+
get deltaTime(): number;
|
|
70
|
+
}
|
|
71
|
+
export interface IInput {
|
|
72
|
+
convertScreenspaceToRaycastSpace(vec: Vec2): void;
|
|
73
|
+
getPointerPosition(i: number): Vec2 | null;
|
|
74
|
+
}
|
|
75
|
+
export interface IPhysics {
|
|
76
|
+
engine?: IPhysicsEngine;
|
|
77
|
+
}
|
|
78
|
+
export type IContext = Context;
|
|
79
|
+
export type INeedleXRSession = NeedleXRSession;
|
|
80
|
+
export declare interface INeedleEngineComponent extends HTMLElement {
|
|
81
|
+
getAROverlayContainer(): HTMLElement;
|
|
82
|
+
onEnterAR(session: XRSession, overlayContainer: HTMLElement): any;
|
|
83
|
+
onExitAR(session: XRSession): any;
|
|
84
|
+
}
|
|
85
|
+
export declare enum HideFlags {
|
|
86
|
+
None = 0,
|
|
87
|
+
/** When enabled the glTF exporter will omit this object and all children from being exported */
|
|
88
|
+
DontExport = 1
|
|
89
|
+
}
|
|
90
|
+
export declare interface IGameObject extends Object3D {
|
|
91
|
+
/** the object's unique identifier */
|
|
92
|
+
guid: string | undefined;
|
|
93
|
+
/** if the object is enabled in the hierarchy (usually equivalent to `visible`) */
|
|
94
|
+
activeSelf: boolean;
|
|
95
|
+
/** call to destroy this object including all components that are attached to it. Will destroy all children recursively */
|
|
96
|
+
destroy(): void;
|
|
97
|
+
/** Add a new component to this object. Expects a component type (e.g. `addNewComponent(Animator)`) */
|
|
98
|
+
addNewComponent<T extends IComponent>(type: Constructor<T>, init?: ComponentInit<T>): T;
|
|
99
|
+
/** Remove a component from this object. Expected a component instance
|
|
100
|
+
* @returns the removed component (equal to the passed in component)
|
|
101
|
+
*/
|
|
102
|
+
addComponent<T extends IComponent>(comp: T | ConstructorConcrete<T>, init?: ComponentInit<T>): T;
|
|
103
|
+
removeComponent<T extends IComponent>(comp: T): T;
|
|
104
|
+
/** Searches for a component type on this object. If no component of the searched type exists yet a new instance will be created and returned */
|
|
105
|
+
getOrAddComponent<T>(typeName: Constructor<T> | null): T;
|
|
106
|
+
/** Tries to find a component of a type on this object.
|
|
107
|
+
* @returns the first instance of a component on this object that matches the passed in type or null if no component of this type (or a subtype) exists */
|
|
108
|
+
getComponent<T>(type: Constructor<T>): T | null;
|
|
109
|
+
/** @returns all components of a certain type on this object */
|
|
110
|
+
getComponents<T>(type: Constructor<T>, arr?: T[]): Array<T>;
|
|
111
|
+
/** Finds a component of a certain type on this object OR a child object if any exists */
|
|
112
|
+
getComponentInChildren<T>(type: Constructor<T>): T | null;
|
|
113
|
+
/** Finds all components of a certain type on this object AND all children (recursively) */
|
|
114
|
+
getComponentsInChildren<T>(type: Constructor<T>, arr?: T[]): Array<T>;
|
|
115
|
+
/** Finds a component of a certain type on this object OR a parent object if any exists */
|
|
116
|
+
getComponentInParent<T>(type: Constructor<T>): T | null;
|
|
117
|
+
/** Finds all components of a certain type on this object AND all parents (recursively) */
|
|
118
|
+
getComponentsInParent<T>(type: Constructor<T>, arr?: T[]): Array<T>;
|
|
119
|
+
get worldPosition(): Vector3;
|
|
120
|
+
set worldPosition(val: Vector3);
|
|
121
|
+
get worldQuaternion(): Quaternion;
|
|
122
|
+
set worldQuaternion(val: Quaternion);
|
|
123
|
+
get worldRotation(): Vector3;
|
|
124
|
+
set worldRotation(val: Vector3);
|
|
125
|
+
get worldScale(): Vector3;
|
|
126
|
+
set worldScale(val: Vector3);
|
|
127
|
+
get worldForward(): Vector3;
|
|
128
|
+
get worldRight(): Vector3;
|
|
129
|
+
get worldUp(): Vector3;
|
|
130
|
+
}
|
|
131
|
+
export interface IHasGuid {
|
|
132
|
+
guid: string;
|
|
133
|
+
}
|
|
134
|
+
export interface IComponent extends IHasGuid {
|
|
135
|
+
get isComponent(): boolean;
|
|
136
|
+
/** the object this component is attached to */
|
|
137
|
+
gameObject: IGameObject;
|
|
138
|
+
enabled: boolean;
|
|
139
|
+
sourceId?: SourceIdentifier;
|
|
140
|
+
get name(): string;
|
|
141
|
+
get layer(): number;
|
|
142
|
+
get destroyed(): boolean;
|
|
143
|
+
get tag(): string;
|
|
144
|
+
context: any;
|
|
145
|
+
get activeAndEnabled(): boolean;
|
|
146
|
+
/** @internal */
|
|
147
|
+
__internalNewInstanceCreated(init?: ComponentInit<any>): any;
|
|
148
|
+
/** @internal */
|
|
149
|
+
_internalInit(init?: ComponentInit<any>): any;
|
|
150
|
+
/** @internal */
|
|
151
|
+
__internalAwake(): any;
|
|
152
|
+
/** @internal */
|
|
153
|
+
__internalStart(): any;
|
|
154
|
+
/** @internal */
|
|
155
|
+
__internalEnable(isAddingOrRemovingFromScene?: boolean): any;
|
|
156
|
+
/** @internal */
|
|
157
|
+
__internalDisable(isAddingOrRemovingFromScene?: boolean): any;
|
|
158
|
+
/** @internal */
|
|
159
|
+
__internalDestroy(): any;
|
|
160
|
+
/** @internal */
|
|
161
|
+
resolveGuids?(guidsMap: GuidsMap): void;
|
|
162
|
+
/** experimental, called when the script is registered for the first time, this is called even if the component is not enabled. */
|
|
163
|
+
registering?(): any;
|
|
164
|
+
awake(): any;
|
|
165
|
+
onEnable(): any;
|
|
166
|
+
onDisable(): any;
|
|
167
|
+
onDestroy(): any;
|
|
168
|
+
destroy(): any;
|
|
169
|
+
/** called for properties decorated with the @validate decorator */
|
|
170
|
+
onValidate?(property?: string): any;
|
|
171
|
+
/** called when this.context.isPaused changes or when rendering loop changes due to changing DOM element visibility
|
|
172
|
+
* e.g. when the DOM element becomes hidden or out ot view
|
|
173
|
+
*/
|
|
174
|
+
onPausedChanged?(isPaused: boolean, wasPaused: boolean): any;
|
|
175
|
+
start?(): void;
|
|
176
|
+
earlyUpdate?(): void;
|
|
177
|
+
update?(): void;
|
|
178
|
+
lateUpdate?(): void;
|
|
179
|
+
onBeforeRender?(frame: XRFrame | null): void;
|
|
180
|
+
onAfterRender?(): void;
|
|
181
|
+
onCollisionEnter?(col: Collision): any;
|
|
182
|
+
onCollisionExit?(col: Collision): any;
|
|
183
|
+
onCollisionStay?(col: Collision): any;
|
|
184
|
+
onTriggerEnter?(col: ICollider): any;
|
|
185
|
+
onTriggerStay?(col: ICollider): any;
|
|
186
|
+
onTriggerExit?(col: ICollider): any;
|
|
187
|
+
get forward(): Vector3;
|
|
188
|
+
get worldPosition(): Vector3;
|
|
189
|
+
get worldQuaternion(): Quaternion;
|
|
190
|
+
}
|
|
191
|
+
export declare function isComponent(obj: any): obj is IComponent;
|
|
192
|
+
export type ICamera = CameraComponent;
|
|
193
|
+
export type IAnimationComponent = Pick<IComponent, "gameObject"> & {
|
|
194
|
+
isAnimationComponent: boolean;
|
|
195
|
+
addClip?(clip: AnimationClip): any;
|
|
196
|
+
};
|
|
197
|
+
/** Interface for a camera controller component that can be attached to a camera to control it */
|
|
198
|
+
export declare interface ICameraController {
|
|
199
|
+
get isCameraController(): boolean;
|
|
200
|
+
}
|
|
201
|
+
export declare interface ILight extends IComponent {
|
|
202
|
+
intensity: number;
|
|
203
|
+
color: Color;
|
|
204
|
+
}
|
|
205
|
+
export declare interface ISharedMaterials {
|
|
206
|
+
[num: number]: Material;
|
|
207
|
+
get length(): number;
|
|
208
|
+
}
|
|
209
|
+
export declare interface IRenderer extends IComponent {
|
|
210
|
+
sharedMaterial: Material;
|
|
211
|
+
get sharedMaterials(): ISharedMaterials;
|
|
212
|
+
}
|
|
213
|
+
export declare interface IEventList {
|
|
214
|
+
readonly isEventList: true;
|
|
215
|
+
__internalOnInstantiate(map: InstantiateContext): IEventList;
|
|
216
|
+
}
|
|
217
|
+
export declare interface ICollider extends IComponent {
|
|
218
|
+
get isCollider(): any;
|
|
219
|
+
attachedRigidbody: IRigidbody | null;
|
|
220
|
+
/**
|
|
221
|
+
* Note: Make sure to call updatePhysicsMaterial after having changed this property
|
|
222
|
+
*/
|
|
223
|
+
isTrigger: boolean;
|
|
224
|
+
/**
|
|
225
|
+
* The physics material determines how the collider interacts with other colliders (e.g. bouncyness)
|
|
226
|
+
* Note: Make sure to call updatePhysicsMaterial after having changed this property
|
|
227
|
+
*/
|
|
228
|
+
sharedMaterial?: PhysicsMaterial;
|
|
229
|
+
center?: Vec3 & {
|
|
230
|
+
multiply(vec: Vec3): any;
|
|
231
|
+
};
|
|
232
|
+
updateProperties(): void;
|
|
233
|
+
updatePhysicsMaterial(): void;
|
|
234
|
+
/** The collider membership indicates what groups the collider is part of (e.g. group 2 and 3)
|
|
235
|
+
* An `undefined` array indicates that the collider is part of all groups
|
|
236
|
+
* Note: Make sure to call updateProperties after having changed this property
|
|
237
|
+
* Default: [0]
|
|
238
|
+
*/
|
|
239
|
+
membership?: number[];
|
|
240
|
+
/** The collider filter indicates what groups the collider can interact with (e.g. group 3 and 4)
|
|
241
|
+
* An `undefined` array indicates that the collider can interact with all groups
|
|
242
|
+
* Note: Make sure to call updateProperties after having changed this property
|
|
243
|
+
* Default: undefined
|
|
244
|
+
*/
|
|
245
|
+
filter?: number[];
|
|
246
|
+
}
|
|
247
|
+
export declare interface ISphereCollider extends ICollider {
|
|
248
|
+
radius: number;
|
|
249
|
+
}
|
|
250
|
+
export declare interface IBoxCollider extends ICollider {
|
|
251
|
+
size: Vec3;
|
|
252
|
+
}
|
|
253
|
+
export declare interface IRigidbody extends IComponent {
|
|
254
|
+
get isRigidbody(): boolean;
|
|
255
|
+
constraints: RigidbodyConstraints;
|
|
256
|
+
isKinematic: boolean;
|
|
257
|
+
/** When true the mass will automatically calculated by attached colliders */
|
|
258
|
+
autoMass: boolean;
|
|
259
|
+
mass: number;
|
|
260
|
+
drag: number;
|
|
261
|
+
angularDrag: number;
|
|
262
|
+
useGravity: boolean;
|
|
263
|
+
centerOfMass: Vec3;
|
|
264
|
+
gravityScale: number;
|
|
265
|
+
dominanceGroup: number;
|
|
266
|
+
collisionDetectionMode: CollisionDetectionMode;
|
|
267
|
+
lockPositionX: boolean;
|
|
268
|
+
lockPositionY: boolean;
|
|
269
|
+
lockPositionZ: boolean;
|
|
270
|
+
lockRotationX: boolean;
|
|
271
|
+
lockRotationY: boolean;
|
|
272
|
+
lockRotationZ: boolean;
|
|
273
|
+
}
|
|
274
|
+
export declare const $physicsKey: unique symbol;
|
|
275
|
+
export declare type ICollisionContext = {
|
|
276
|
+
getCollider(obj: Object3D): ICollider;
|
|
277
|
+
};
|
|
278
|
+
export type Vec2 = {
|
|
279
|
+
x: number;
|
|
280
|
+
y: number;
|
|
281
|
+
};
|
|
282
|
+
export type Vec3 = {
|
|
283
|
+
x: number;
|
|
284
|
+
y: number;
|
|
285
|
+
z: number;
|
|
286
|
+
};
|
|
287
|
+
export type Vec4 = {
|
|
288
|
+
x: number;
|
|
289
|
+
y: number;
|
|
290
|
+
z: number;
|
|
291
|
+
w: number;
|
|
292
|
+
};
|
|
293
|
+
/**
|
|
294
|
+
* Holds information about physics contacts
|
|
295
|
+
*/
|
|
296
|
+
export declare class ContactPoint {
|
|
297
|
+
private readonly _point;
|
|
298
|
+
private readonly _normal;
|
|
299
|
+
private readonly _tangentVelocity;
|
|
300
|
+
/** the distance of the collision point */
|
|
301
|
+
readonly distance: number;
|
|
302
|
+
/** the impulse velocity */
|
|
303
|
+
readonly impulse: number;
|
|
304
|
+
readonly friction: number;
|
|
305
|
+
/** worldspace point */
|
|
306
|
+
get point(): Vector3;
|
|
307
|
+
/** worldspace normal */
|
|
308
|
+
get normal(): Vector3;
|
|
309
|
+
/** worldspace tangent */
|
|
310
|
+
get tangentVelocity(): Vector3;
|
|
311
|
+
/** @internal */
|
|
312
|
+
constructor(point: Vec3, dist: number, normal: Vec3, impulse: number, friction: number, tangentVelocity: Vec3);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Holds information about a collision event. Includes a list of contact points and the colliders involved
|
|
316
|
+
*/
|
|
317
|
+
export declare class Collision {
|
|
318
|
+
/** The contact points of this collision. Contains information about positions, normals, distance, friction, impulse... */
|
|
319
|
+
readonly contacts: ContactPoint[];
|
|
320
|
+
/** @internal */
|
|
321
|
+
constructor(obj: IGameObject, otherCollider: ICollider, contacts: ContactPoint[]);
|
|
322
|
+
/** the gameobject this collision event belongs to (e.g. if onCollisionEnter is called then `me` is the same as `this.gameObject`) */
|
|
323
|
+
readonly me: IGameObject;
|
|
324
|
+
private _collider;
|
|
325
|
+
/** the other collider the collision happened with */
|
|
326
|
+
get collider(): ICollider;
|
|
327
|
+
private _gameObject;
|
|
328
|
+
/** the other object the collision happened with */
|
|
329
|
+
get gameObject(): IGameObject;
|
|
330
|
+
/** the other rigidbody we hit, null if none attached */
|
|
331
|
+
get rigidBody(): IRigidbody | null;
|
|
332
|
+
}
|
|
333
|
+
export type RaycastResult = null | {
|
|
334
|
+
point: Vector3;
|
|
335
|
+
collider: ICollider;
|
|
336
|
+
normal?: Vector3;
|
|
337
|
+
};
|
|
338
|
+
export declare class SphereOverlapResult {
|
|
339
|
+
object: Object3D;
|
|
340
|
+
collider: ICollider;
|
|
341
|
+
constructor(object: Object3D, collider: ICollider);
|
|
342
|
+
}
|
|
343
|
+
export interface IPhysicsEngine {
|
|
344
|
+
/** Initializes the physics engine */
|
|
345
|
+
initialize(): Promise<boolean>;
|
|
346
|
+
/** Indicates whether the physics engine has been initialized */
|
|
347
|
+
get isInitialized(): boolean;
|
|
348
|
+
/** Advances physics simulation by the given time step */
|
|
349
|
+
step(dt: number): void;
|
|
350
|
+
postStep(): any;
|
|
351
|
+
/** Indicates whether the physics engine is currently updating */
|
|
352
|
+
get isUpdating(): boolean;
|
|
353
|
+
/** Clears all cached data (e.g., mesh data when creating scaled mesh colliders) */
|
|
354
|
+
clearCaches(): any;
|
|
355
|
+
/** Enables or disables the physics engine */
|
|
356
|
+
enabled: boolean;
|
|
357
|
+
/** Returns the underlying physics world object */
|
|
358
|
+
get world(): World | undefined;
|
|
359
|
+
/** Sets the gravity vector for the physics simulation */
|
|
360
|
+
set gravity(vec3: Vec3);
|
|
361
|
+
/** Gets the current gravity vector */
|
|
362
|
+
get gravity(): Vec3;
|
|
363
|
+
/**
|
|
364
|
+
* Gets the rapier physics body for a Needle component
|
|
365
|
+
* @param obj The collider or rigidbody component
|
|
366
|
+
* @returns The underlying physics body or null if not found
|
|
367
|
+
*/
|
|
368
|
+
getBody(obj: ICollider | IRigidbody): null | any;
|
|
369
|
+
/**
|
|
370
|
+
* Gets the Needle Engine component for a rapier physics object
|
|
371
|
+
* @param rapierObject The rapier physics object
|
|
372
|
+
* @returns The associated component or null if not found
|
|
373
|
+
*/
|
|
374
|
+
getComponent(rapierObject: object): IComponent | null;
|
|
375
|
+
/**
|
|
376
|
+
* Performs a fast raycast against physics colliders
|
|
377
|
+
* @param origin Ray origin in screen or worldspace
|
|
378
|
+
* @param direction Ray direction in worldspace
|
|
379
|
+
* @param options Additional raycast configuration options
|
|
380
|
+
* @returns Raycast result containing hit point and collider, or null if no hit
|
|
381
|
+
*/
|
|
382
|
+
raycast(origin?: Vec2 | Vec3, direction?: Vec3, options?: {
|
|
383
|
+
maxDistance?: number;
|
|
384
|
+
/** True if you want to also hit objects when the raycast starts from inside a collider */
|
|
385
|
+
solid?: boolean;
|
|
386
|
+
queryFilterFlags?: QueryFilterFlags;
|
|
387
|
+
/**
|
|
388
|
+
* Raycast filter groups. Groups are used to apply the collision group rules for the scene query.
|
|
389
|
+
* The scene query will only consider hits with colliders with collision groups compatible with
|
|
390
|
+
* this collision group (using the bitwise test described in the collision groups section).
|
|
391
|
+
* For example membership 0x0001 and filter 0x0002 should be 0x00010002
|
|
392
|
+
* @see https://rapier.rs/docs/user_guides/javascript/colliders#collision-groups-and-solver-groups
|
|
393
|
+
*/
|
|
394
|
+
filterGroups?: number;
|
|
395
|
+
/**
|
|
396
|
+
* Predicate to filter colliders in raycast results
|
|
397
|
+
* @param collider The collider being tested
|
|
398
|
+
* @returns False to ignore this collider, true to include it
|
|
399
|
+
*/
|
|
400
|
+
filterPredicate?: (collider: ICollider) => boolean;
|
|
401
|
+
}): RaycastResult;
|
|
402
|
+
/**
|
|
403
|
+
* Performs a raycast that also returns the normal vector at the hit point
|
|
404
|
+
* @param origin Ray origin in screen or worldspace
|
|
405
|
+
* @param direction Ray direction in worldspace
|
|
406
|
+
* @param options Additional raycast configuration options
|
|
407
|
+
* @returns Raycast result containing hit point, normal, and collider, or null if no hit
|
|
408
|
+
*/
|
|
409
|
+
raycastAndGetNormal(origin?: Vec2 | Vec3, direction?: Vec3, options?: {
|
|
410
|
+
maxDistance?: number;
|
|
411
|
+
/** True if you want to also hit objects when the raycast starts from inside a collider */
|
|
412
|
+
solid?: boolean;
|
|
413
|
+
queryFilterFlags?: QueryFilterFlags;
|
|
414
|
+
/**
|
|
415
|
+
* Raycast filter groups. Groups are used to apply the collision group rules for the scene query.
|
|
416
|
+
* The scene query will only consider hits with colliders with collision groups compatible with
|
|
417
|
+
* this collision group (using the bitwise test described in the collision groups section).
|
|
418
|
+
* For example membership 0x0001 and filter 0x0002 should be 0x00010002
|
|
419
|
+
* @see https://rapier.rs/docs/user_guides/javascript/colliders#collision-groups-and-solver-groups
|
|
420
|
+
*/
|
|
421
|
+
filterGroups?: number;
|
|
422
|
+
/**
|
|
423
|
+
* Predicate to filter colliders in raycast results
|
|
424
|
+
* @param collider The collider being tested
|
|
425
|
+
* @returns False to ignore this collider, true to include it
|
|
426
|
+
*/
|
|
427
|
+
filterPredicate?: (collider: ICollider) => boolean;
|
|
428
|
+
}): RaycastResult;
|
|
429
|
+
/**
|
|
430
|
+
* Finds all colliders within a sphere
|
|
431
|
+
* @param point The center point of the sphere
|
|
432
|
+
* @param radius The radius of the sphere
|
|
433
|
+
* @returns Array of objects that overlap with the sphere
|
|
434
|
+
*/
|
|
435
|
+
sphereOverlap(point: Vector3, radius: number): Array<SphereOverlapResult>;
|
|
436
|
+
/**
|
|
437
|
+
* Adds a sphere collider to the physics world
|
|
438
|
+
* @param collider The collider component to add
|
|
439
|
+
*/
|
|
440
|
+
addSphereCollider(collider: ICollider): any;
|
|
441
|
+
/**
|
|
442
|
+
* Adds a box collider to the physics world
|
|
443
|
+
* @param collider The collider component to add
|
|
444
|
+
* @param size The size of the box
|
|
445
|
+
*/
|
|
446
|
+
addBoxCollider(collider: ICollider, size: Vector3): any;
|
|
447
|
+
/**
|
|
448
|
+
* Adds a capsule collider to the physics world
|
|
449
|
+
* @param collider The collider component to add
|
|
450
|
+
* @param radius The radius of the capsule
|
|
451
|
+
* @param height The height of the capsule
|
|
452
|
+
*/
|
|
453
|
+
addCapsuleCollider(collider: ICollider, radius: number, height: number): any;
|
|
454
|
+
/**
|
|
455
|
+
* Adds a mesh collider to the physics world
|
|
456
|
+
* @param collider The collider component to add
|
|
457
|
+
* @param mesh The mesh to use for collision
|
|
458
|
+
* @param convex Whether the collision mesh should be treated as convex
|
|
459
|
+
* @param scale Optional scale to apply to the mesh
|
|
460
|
+
*/
|
|
461
|
+
addMeshCollider(collider: ICollider, mesh: Mesh, convex: boolean, scale?: Vector3 | undefined): any;
|
|
462
|
+
/**
|
|
463
|
+
* Updates the physics material properties of a collider
|
|
464
|
+
* @param collider The collider to update
|
|
465
|
+
*/
|
|
466
|
+
updatePhysicsMaterial(collider: ICollider): any;
|
|
467
|
+
/**
|
|
468
|
+
* Wakes up a sleeping rigidbody
|
|
469
|
+
* @param rb The rigidbody to wake up
|
|
470
|
+
*/
|
|
471
|
+
wakeup(rb: IRigidbody): any;
|
|
472
|
+
/**
|
|
473
|
+
* Checks if a rigidbody is currently sleeping
|
|
474
|
+
* @param rb The rigidbody to check
|
|
475
|
+
* @returns Whether the rigidbody is sleeping or undefined if cannot be determined
|
|
476
|
+
*/
|
|
477
|
+
isSleeping(rb: IRigidbody): boolean | undefined;
|
|
478
|
+
/**
|
|
479
|
+
* Updates the physical properties of a rigidbody or collider
|
|
480
|
+
* @param rb The rigidbody or collider to update
|
|
481
|
+
*/
|
|
482
|
+
updateProperties(rb: IRigidbody | ICollider): any;
|
|
483
|
+
/**
|
|
484
|
+
* Resets all forces acting on a rigidbody
|
|
485
|
+
* @param rb The rigidbody to reset forces on
|
|
486
|
+
* @param wakeup Whether to wake up the rigidbody
|
|
487
|
+
*/
|
|
488
|
+
resetForces(rb: IRigidbody, wakeup: boolean): any;
|
|
489
|
+
/**
|
|
490
|
+
* Resets all torques acting on a rigidbody
|
|
491
|
+
* @param rb The rigidbody to reset torques on
|
|
492
|
+
* @param wakeup Whether to wake up the rigidbody
|
|
493
|
+
*/
|
|
494
|
+
resetTorques(rb: IRigidbody, wakeup: boolean): any;
|
|
495
|
+
/**
|
|
496
|
+
* Adds a continuous force to a rigidbody
|
|
497
|
+
* @param rb The rigidbody to add force to
|
|
498
|
+
* @param vec The force vector to add
|
|
499
|
+
* @param wakeup Whether to wake up the rigidbody
|
|
500
|
+
*/
|
|
501
|
+
addForce(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
|
|
502
|
+
/**
|
|
503
|
+
* Applies an instantaneous impulse to a rigidbody
|
|
504
|
+
* @param rb The rigidbody to apply impulse to
|
|
505
|
+
* @param vec The impulse vector to apply
|
|
506
|
+
* @param wakeup Whether to wake up the rigidbody
|
|
507
|
+
*/
|
|
508
|
+
applyImpulse(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
|
|
509
|
+
/**
|
|
510
|
+
* Gets the linear velocity of a rigidbody or the rigidbody attached to a collider
|
|
511
|
+
* @param rb The rigidbody or collider to get velocity from
|
|
512
|
+
* @returns The linear velocity vector or null if not available
|
|
513
|
+
*/
|
|
514
|
+
getLinearVelocity(rb: IRigidbody | ICollider): Vec3 | null;
|
|
515
|
+
/**
|
|
516
|
+
* Gets the angular velocity of a rigidbody
|
|
517
|
+
* @param rb The rigidbody to get angular velocity from
|
|
518
|
+
* @returns The angular velocity vector or null if not available
|
|
519
|
+
*/
|
|
520
|
+
getAngularVelocity(rb: IRigidbody): Vec3 | null;
|
|
521
|
+
/**
|
|
522
|
+
* Sets the angular velocity of a rigidbody
|
|
523
|
+
* @param rb The rigidbody to set angular velocity for
|
|
524
|
+
* @param vec The angular velocity vector to set
|
|
525
|
+
* @param wakeup Whether to wake up the rigidbody
|
|
526
|
+
*/
|
|
527
|
+
setAngularVelocity(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
|
|
528
|
+
/**
|
|
529
|
+
* Sets the linear velocity of a rigidbody
|
|
530
|
+
* @param rb The rigidbody to set linear velocity for
|
|
531
|
+
* @param vec The linear velocity vector to set
|
|
532
|
+
* @param wakeup Whether to wake up the rigidbody
|
|
533
|
+
*/
|
|
534
|
+
setLinearVelocity(rb: IRigidbody, vec: Vec3, wakeup: boolean): any;
|
|
535
|
+
/**
|
|
536
|
+
* Updates the position and/or rotation of a physics body
|
|
537
|
+
* @param comp The collider or rigidbody component to update
|
|
538
|
+
* @param translation Whether to update the position
|
|
539
|
+
* @param rotation Whether to update the rotation
|
|
540
|
+
*/
|
|
541
|
+
updateBody(comp: ICollider | IRigidbody, translation: boolean, rotation: boolean): any;
|
|
542
|
+
/**
|
|
543
|
+
* Removes a physics body from the simulation
|
|
544
|
+
* @param body The component whose physics body should be removed
|
|
545
|
+
*/
|
|
546
|
+
removeBody(body: IComponent): any;
|
|
547
|
+
/**
|
|
548
|
+
* Gets the physics body for a component
|
|
549
|
+
* @param obj The collider or rigidbody component
|
|
550
|
+
* @returns The underlying physics body or null if not found
|
|
551
|
+
*/
|
|
552
|
+
getBody(obj: ICollider | IRigidbody): null | any;
|
|
553
|
+
addFixedJoint(body1: IRigidbody, body2: IRigidbody): any;
|
|
554
|
+
addHingeJoint(body1: IRigidbody, body2: IRigidbody, anchor: Vec3, axis: Vec3): any;
|
|
555
|
+
/** Enable to render collider shapes */
|
|
556
|
+
debugRenderColliders: boolean;
|
|
557
|
+
/** Enable to visualize raycasts in the scene with gizmos */
|
|
558
|
+
debugRenderRaycasts: boolean;
|
|
559
|
+
}
|
|
560
|
+
/**
|
|
561
|
+
* Available cursor types
|
|
562
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
|
|
563
|
+
*/
|
|
564
|
+
export type CursorTypeName = "auto" | "default" | "none" | "context-menu" | "help" | "pointer" | "progress" | "wait" | "cell" | "crosshair" | "text" | "vertical-text" | "alias" | "copy" | "move" | "no-drop" | "not-allowed" | "grab" | "grabbing" | "all-scroll" | "col-resize" | "row-resize" | "n-resize" | "e-resize" | "s-resize" | "w-resize" | "nw-resize" | "se-resize" | "sw-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "zoom-in" | "zoom-out";
|
|
565
|
+
/** Typical mouse button names for most devices */
|
|
566
|
+
export type MouseButtonName = "left" | "right" | "middle";
|
|
567
|
+
/** Button names on typical controllers (since there seems to be no agreed naming)
|
|
568
|
+
* https://w3c.github.io/gamepad/#remapping
|
|
569
|
+
*/
|
|
570
|
+
export type GamepadButtonName = "a-button" | "b-button" | "x-button" | "y-button";
|
|
571
|
+
/** Needle-defined names for stylus (MX Ink) */
|
|
572
|
+
export type StylusButtonName = "stylus-touch" | "stylus-tip";
|
|
573
|
+
/** Button names as used in the xr profile */
|
|
574
|
+
export type XRControllerButtonName = "thumbrest" | "xr-standard-trigger" | "xr-standard-squeeze" | "xr-standard-thumbstick" | "xr-standard-touchpad" | "menu" | GamepadButtonName | StylusButtonName;
|
|
575
|
+
export type XRGestureName = "pinch";
|
|
576
|
+
/** All known (types) button names for various devices and cases combined. You should use the device specific names if you e.g. know you only deal with a mouse use MouseButtonName */
|
|
577
|
+
export type ButtonName = "unknown" | MouseButtonName | GamepadButtonName | XRControllerButtonName | XRGestureName;
|
|
578
|
+
export {};
|