@needle-tools/engine 4.7.2-alpha → 4.7.2-next.0e4e068
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3782 -3782
- package/LICENSE.md +10 -10
- package/README.md +64 -64
- package/components.needle.json +1 -1
- package/dist/generateMeshBVH.worker-BaNp_Xtp.js +25 -0
- package/dist/gltf-progressive-CNdBjvz6.js +1145 -0
- package/dist/gltf-progressive-C_oN6wCA.umd.cjs +8 -0
- package/dist/gltf-progressive-MgWOszRl.min.js +8 -0
- package/dist/{needle-engine.bundle-BhDF-YSv.min.js → needle-engine.bundle-B1OlKJHF.min.js} +108 -107
- package/dist/{needle-engine.bundle-gp00DTS4.js → needle-engine.bundle-Bwsx9VYm.js} +2077 -2061
- package/dist/{needle-engine.bundle-D2myV4E4.umd.cjs → needle-engine.bundle-Cd6HpRz5.umd.cjs} +99 -98
- package/dist/needle-engine.d.ts +130 -129
- package/dist/needle-engine.js +4 -4
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-8AQTeZsr.umd.cjs → postprocessing-CjW23fio.umd.cjs} +2 -2
- package/dist/{postprocessing-BkxN_08g.js → postprocessing-DYLNOL3W.js} +3 -3
- package/dist/{postprocessing-BDScN9yu.min.js → postprocessing-xYQWCHFu.min.js} +2 -2
- package/dist/{three-DMrv-4ar.umd.cjs → three-B_hneGZr.umd.cjs} +4 -4
- package/dist/{three-Bz6X1mrw.js → three-DrqIzZTH.js} +4198 -4198
- package/dist/{three-Boa-jOq-.min.js → three-DuDKwKB8.min.js} +33 -33
- package/dist/{three-examples-GggCDHv0.js → three-examples-B50TT3Iu.js} +5 -5
- package/dist/{three-examples-DuVhxqft.min.js → three-examples-DaDLBuy6.min.js} +14 -14
- package/dist/{three-examples-C7ryg8vN.umd.cjs → three-examples-X3OadjXB.umd.cjs} +3 -3
- package/dist/{three-mesh-ui-CY6Izc7C.min.js → three-mesh-ui-B3p3gyUz.min.js} +1 -1
- package/dist/{three-mesh-ui-CwlN0FUC.umd.cjs → three-mesh-ui-CQiIQIlA.umd.cjs} +1 -1
- package/dist/{three-mesh-ui-CLNOfsWn.js → three-mesh-ui-CxuWt7m-.js} +1 -1
- package/dist/{vendor-zxXa3Dmr.min.js → vendor-BlSxe9JJ.min.js} +3 -3
- package/dist/{vendor-BSD1RQIh.js → vendor-BmYIgaS1.js} +3 -3
- package/dist/{vendor-DHr4aqIZ.umd.cjs → vendor-Cavtu3CP.umd.cjs} +3 -3
- package/lib/asap/needle-asap.d.ts +1 -1
- package/lib/asap/needle-asap.js +95 -95
- package/lib/asap/sessiongranted.d.ts +3 -3
- package/lib/asap/sessiongranted.js +65 -65
- package/lib/asap/utils.d.ts +1 -1
- package/lib/asap/utils.js +3 -3
- package/lib/engine/analytics/index.d.ts +6 -6
- package/lib/engine/analytics/index.js +12 -12
- package/lib/engine/analytics/lcp.d.ts +3 -3
- package/lib/engine/analytics/lcp.js +34 -34
- package/lib/engine/api.d.ts +82 -82
- package/lib/engine/api.js +81 -81
- package/lib/engine/assets/index.d.ts +11 -11
- package/lib/engine/assets/index.js +47 -47
- package/lib/engine/assets/static.d.ts +1 -1
- package/lib/engine/assets/static.js +4 -4
- package/lib/engine/codegen/register_types.d.ts +1 -1
- package/lib/engine/codegen/register_types.js +300 -300
- package/lib/engine/debug/debug.d.ts +15 -15
- package/lib/engine/debug/debug.js +44 -44
- package/lib/engine/debug/debug_console.d.ts +2 -2
- package/lib/engine/debug/debug_console.js +307 -307
- package/lib/engine/debug/debug_overlay.d.ts +22 -22
- package/lib/engine/debug/debug_overlay.js +316 -316
- package/lib/engine/debug/debug_spatial_console.d.ts +2 -2
- package/lib/engine/debug/debug_spatial_console.js +390 -390
- package/lib/engine/debug/index.d.ts +2 -2
- package/lib/engine/debug/index.js +2 -2
- package/lib/engine/engine_addressables.d.ts +164 -164
- package/lib/engine/engine_addressables.js +601 -601
- package/lib/engine/engine_animation.d.ts +43 -43
- package/lib/engine/engine_animation.js +133 -133
- package/lib/engine/engine_application.d.ts +45 -45
- package/lib/engine/engine_application.js +104 -104
- package/lib/engine/engine_assetdatabase.d.ts +25 -25
- package/lib/engine/engine_assetdatabase.js +346 -346
- package/lib/engine/engine_audio.d.ts +4 -4
- package/lib/engine/engine_audio.js +23 -23
- package/lib/engine/engine_camera.d.ts +13 -13
- package/lib/engine/engine_camera.js +30 -30
- package/lib/engine/engine_components.d.ts +110 -110
- package/lib/engine/engine_components.js +374 -374
- package/lib/engine/engine_components_internal.d.ts +9 -9
- package/lib/engine/engine_components_internal.js +36 -36
- package/lib/engine/engine_constants.d.ts +10 -10
- package/lib/engine/engine_constants.js +41 -41
- package/lib/engine/engine_context.d.ts +475 -475
- package/lib/engine/engine_context.js +1672 -1673
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_context_registry.d.ts +71 -71
- package/lib/engine/engine_context_registry.js +117 -117
- package/lib/engine/engine_coroutine.d.ts +35 -35
- package/lib/engine/engine_coroutine.js +52 -52
- package/lib/engine/engine_create_objects.d.ts +119 -119
- package/lib/engine/engine_create_objects.js +320 -320
- package/lib/engine/engine_default_parameters.d.ts +2 -2
- package/lib/engine/engine_default_parameters.js +3 -3
- package/lib/engine/engine_editor-sync.d.ts +21 -21
- package/lib/engine/engine_editor-sync.js +4 -4
- package/lib/engine/engine_fileloader.d.ts +2 -2
- package/lib/engine/engine_fileloader.js +8 -8
- package/lib/engine/engine_gameobject.d.ts +68 -68
- package/lib/engine/engine_gameobject.js +619 -619
- package/lib/engine/engine_generic_utils.d.ts +1 -1
- package/lib/engine/engine_generic_utils.js +13 -13
- package/lib/engine/engine_gizmos.d.ts +149 -149
- package/lib/engine/engine_gizmos.js +530 -530
- package/lib/engine/engine_gltf.d.ts +12 -12
- package/lib/engine/engine_gltf.js +15 -15
- package/lib/engine/engine_gltf_builtin_components.d.ts +11 -11
- package/lib/engine/engine_gltf_builtin_components.js +341 -341
- package/lib/engine/engine_hot_reload.d.ts +8 -8
- package/lib/engine/engine_hot_reload.js +197 -197
- package/lib/engine/engine_input.d.ts +362 -362
- package/lib/engine/engine_input.js +1294 -1294
- package/lib/engine/engine_input_utils.d.ts +2 -2
- package/lib/engine/engine_input_utils.js +22 -22
- package/lib/engine/engine_instancing.d.ts +19 -19
- package/lib/engine/engine_instancing.js +39 -39
- package/lib/engine/engine_license.d.ts +11 -11
- package/lib/engine/engine_license.js +369 -369
- package/lib/engine/engine_lifecycle_api.d.ts +83 -83
- package/lib/engine/engine_lifecycle_api.js +106 -106
- package/lib/engine/engine_lifecycle_functions_internal.d.ts +32 -32
- package/lib/engine/engine_lifecycle_functions_internal.js +146 -146
- package/lib/engine/engine_lightdata.d.ts +23 -23
- package/lib/engine/engine_lightdata.js +101 -101
- package/lib/engine/engine_loaders.callbacks.d.ts +97 -97
- package/lib/engine/engine_loaders.callbacks.js +86 -86
- package/lib/engine/engine_loaders.d.ts +48 -48
- package/lib/engine/engine_loaders.gltf.d.ts +13 -13
- package/lib/engine/engine_loaders.gltf.js +62 -62
- package/lib/engine/engine_loaders.js +337 -337
- package/lib/engine/engine_lods.d.ts +35 -35
- package/lib/engine/engine_lods.js +160 -160
- package/lib/engine/engine_lods.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.d.ts +32 -32
- package/lib/engine/engine_mainloop_utils.js +466 -466
- package/lib/engine/engine_math.d.ts +114 -114
- package/lib/engine/engine_math.js +247 -247
- package/lib/engine/engine_modules.d.ts +36 -36
- package/lib/engine/engine_modules.js +85 -85
- package/lib/engine/engine_networking.d.ts +260 -260
- package/lib/engine/engine_networking.js +764 -764
- package/lib/engine/engine_networking_auto.d.ts +24 -24
- package/lib/engine/engine_networking_auto.js +310 -310
- package/lib/engine/engine_networking_blob.d.ts +48 -48
- package/lib/engine/engine_networking_blob.js +228 -228
- package/lib/engine/engine_networking_files.d.ts +35 -35
- package/lib/engine/engine_networking_files.js +172 -172
- package/lib/engine/engine_networking_files_default_components.d.ts +6 -6
- package/lib/engine/engine_networking_files_default_components.js +42 -42
- package/lib/engine/engine_networking_instantiate.d.ts +100 -100
- package/lib/engine/engine_networking_instantiate.js +345 -345
- package/lib/engine/engine_networking_peer.d.ts +15 -15
- package/lib/engine/engine_networking_peer.js +132 -132
- package/lib/engine/engine_networking_streams.d.ts +123 -123
- package/lib/engine/engine_networking_streams.js +645 -645
- package/lib/engine/engine_networking_types.d.ts +22 -22
- package/lib/engine/engine_networking_types.js +7 -7
- package/lib/engine/engine_networking_utils.d.ts +2 -2
- package/lib/engine/engine_networking_utils.js +20 -20
- package/lib/engine/engine_networking_websocket.d.ts +1 -1
- package/lib/engine/engine_networking_websocket.js +2 -2
- package/lib/engine/engine_patcher.d.ts +10 -10
- package/lib/engine/engine_patcher.js +142 -142
- package/lib/engine/engine_physics.d.ts +152 -152
- package/lib/engine/engine_physics.js +645 -645
- package/lib/engine/engine_physics.types.d.ts +40 -40
- package/lib/engine/engine_physics.types.js +33 -33
- package/lib/engine/engine_physics_rapier.d.ts +147 -147
- package/lib/engine/engine_physics_rapier.js +1433 -1433
- package/lib/engine/engine_playerview.d.ts +26 -26
- package/lib/engine/engine_playerview.js +64 -64
- package/lib/engine/engine_scenelighting.d.ts +71 -71
- package/lib/engine/engine_scenelighting.js +226 -226
- package/lib/engine/engine_serialization.d.ts +3 -3
- package/lib/engine/engine_serialization.js +3 -3
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +72 -72
- package/lib/engine/engine_serialization_builtin_serializer.js +403 -403
- package/lib/engine/engine_serialization_core.d.ts +94 -94
- package/lib/engine/engine_serialization_core.js +607 -607
- package/lib/engine/engine_serialization_decorator.d.ts +23 -23
- package/lib/engine/engine_serialization_decorator.js +66 -66
- package/lib/engine/engine_setup.d.ts +1 -1
- package/lib/engine/engine_setup.js +2 -2
- package/lib/engine/engine_shaders.d.ts +53 -53
- package/lib/engine/engine_shaders.js +252 -252
- package/lib/engine/engine_shims.d.ts +4 -4
- package/lib/engine/engine_shims.js +24 -24
- package/lib/engine/engine_test_utils.d.ts +39 -39
- package/lib/engine/engine_test_utils.js +83 -83
- package/lib/engine/engine_texture.d.ts +28 -28
- package/lib/engine/engine_texture.js +64 -64
- package/lib/engine/engine_three_utils.d.ts +204 -204
- package/lib/engine/engine_three_utils.js +788 -788
- package/lib/engine/engine_time.d.ts +51 -51
- package/lib/engine/engine_time.js +82 -82
- package/lib/engine/engine_time_utils.d.ts +88 -88
- package/lib/engine/engine_time_utils.js +215 -215
- package/lib/engine/engine_tonemapping.d.ts +6 -6
- package/lib/engine/engine_tonemapping.js +198 -197
- package/lib/engine/engine_tonemapping.js.map +1 -1
- package/lib/engine/engine_types.d.ts +578 -578
- package/lib/engine/engine_types.js +95 -95
- package/lib/engine/engine_typestore.d.ts +28 -28
- package/lib/engine/engine_typestore.js +55 -55
- package/lib/engine/engine_util_decorator.d.ts +13 -13
- package/lib/engine/engine_util_decorator.js +116 -116
- package/lib/engine/engine_utils.d.ts +248 -248
- package/lib/engine/engine_utils.js +1012 -1012
- package/lib/engine/engine_utils_format.d.ts +24 -24
- package/lib/engine/engine_utils_format.js +239 -239
- package/lib/engine/engine_utils_screenshot.d.ts +159 -159
- package/lib/engine/engine_utils_screenshot.js +522 -522
- package/lib/engine/engine_utils_screenshot.xr.d.ts +5 -5
- package/lib/engine/engine_utils_screenshot.xr.js +90 -90
- package/lib/engine/engine_xr.d.ts +1 -1
- package/lib/engine/engine_xr.js +1 -1
- package/lib/engine/export/gltf/Writers.d.ts +19 -19
- package/lib/engine/export/gltf/Writers.js +24 -24
- package/lib/engine/export/gltf/index.d.ts +11 -11
- package/lib/engine/export/gltf/index.js +123 -123
- package/lib/engine/export/index.d.ts +2 -2
- package/lib/engine/export/index.js +2 -2
- package/lib/engine/export/state.d.ts +7 -7
- package/lib/engine/export/state.js +17 -17
- package/lib/engine/export/utils.d.ts +2 -2
- package/lib/engine/export/utils.js +7 -7
- package/lib/engine/extensions/EXT_texture_exr.d.ts +8 -8
- package/lib/engine/extensions/EXT_texture_exr.js +32 -32
- package/lib/engine/extensions/NEEDLE_animator_controller_model.d.ts +122 -122
- package/lib/engine/extensions/NEEDLE_animator_controller_model.js +95 -95
- package/lib/engine/extensions/NEEDLE_components.d.ts +35 -35
- package/lib/engine/extensions/NEEDLE_components.js +220 -220
- package/lib/engine/extensions/NEEDLE_gameobject_data.d.ts +10 -10
- package/lib/engine/extensions/NEEDLE_gameobject_data.js +57 -57
- package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +37 -37
- package/lib/engine/extensions/NEEDLE_lighting_settings.js +157 -157
- package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +18 -18
- package/lib/engine/extensions/NEEDLE_lightmaps.js +99 -99
- package/lib/engine/extensions/NEEDLE_persistent_assets.d.ts +11 -11
- package/lib/engine/extensions/NEEDLE_persistent_assets.js +63 -63
- package/lib/engine/extensions/NEEDLE_progressive.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_progressive.js +1 -1
- package/lib/engine/extensions/NEEDLE_render_objects.d.ts +13 -13
- package/lib/engine/extensions/NEEDLE_render_objects.js +159 -159
- package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +38 -38
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +564 -564
- package/lib/engine/extensions/extension_resolver.d.ts +4 -4
- package/lib/engine/extensions/extension_resolver.js +1 -1
- package/lib/engine/extensions/extension_utils.d.ts +12 -12
- package/lib/engine/extensions/extension_utils.js +152 -152
- package/lib/engine/extensions/extensions.d.ts +32 -32
- package/lib/engine/extensions/extensions.js +107 -107
- package/lib/engine/extensions/index.d.ts +6 -6
- package/lib/engine/extensions/index.js +6 -6
- package/lib/engine/extensions/usage_tracker.d.ts +13 -13
- package/lib/engine/extensions/usage_tracker.js +65 -65
- package/lib/engine/js-extensions/Camera.d.ts +1 -1
- package/lib/engine/js-extensions/Camera.js +39 -39
- package/lib/engine/js-extensions/ExtensionUtils.d.ts +9 -9
- package/lib/engine/js-extensions/ExtensionUtils.js +67 -67
- package/lib/engine/js-extensions/Layers.d.ts +6 -6
- package/lib/engine/js-extensions/Layers.js +22 -22
- package/lib/engine/js-extensions/Object3D.d.ts +120 -120
- package/lib/engine/js-extensions/Object3D.js +136 -136
- package/lib/engine/js-extensions/RGBAColor.d.ts +23 -23
- package/lib/engine/js-extensions/RGBAColor.js +111 -111
- package/lib/engine/js-extensions/Vector.d.ts +3 -3
- package/lib/engine/js-extensions/Vector.js +13 -13
- package/lib/engine/js-extensions/index.d.ts +5 -5
- package/lib/engine/js-extensions/index.js +5 -5
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.d.ts +4 -4
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +79 -79
- package/lib/engine/shaders/shaderData.d.ts +55 -55
- package/lib/engine/shaders/shaderData.js +58 -58
- package/lib/engine/tests/test_utils.d.ts +2 -2
- package/lib/engine/tests/test_utils.js +53 -53
- package/lib/engine/webcomponents/WebXRButtons.d.ts +56 -56
- package/lib/engine/webcomponents/WebXRButtons.js +230 -230
- package/lib/engine/webcomponents/api.d.ts +5 -5
- package/lib/engine/webcomponents/api.js +4 -4
- package/lib/engine/webcomponents/buttons.d.ts +51 -51
- package/lib/engine/webcomponents/buttons.js +264 -264
- package/lib/engine/webcomponents/fonts.d.ts +9 -9
- package/lib/engine/webcomponents/fonts.js +32 -32
- package/lib/engine/webcomponents/icons.d.ts +9 -9
- package/lib/engine/webcomponents/icons.js +52 -52
- package/lib/engine/webcomponents/index.d.ts +1 -1
- package/lib/engine/webcomponents/index.js +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +10 -10
- package/lib/engine/webcomponents/logo-element.js +67 -67
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.d.ts +37 -37
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +513 -513
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +155 -155
- package/lib/engine/webcomponents/needle menu/needle-menu.js +1029 -1029
- package/lib/engine/webcomponents/needle-button.d.ts +34 -34
- package/lib/engine/webcomponents/needle-button.js +161 -161
- package/lib/engine/webcomponents/needle-engine.ar-overlay.d.ts +21 -21
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +166 -166
- package/lib/engine/webcomponents/needle-engine.attributes.d.ts +69 -69
- package/lib/engine/webcomponents/needle-engine.attributes.js +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +115 -116
- package/lib/engine/webcomponents/needle-engine.extras.d.ts +6 -6
- package/lib/engine/webcomponents/needle-engine.extras.js +13 -13
- package/lib/engine/webcomponents/needle-engine.js +845 -821
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.loading.d.ts +44 -44
- package/lib/engine/webcomponents/needle-engine.loading.js +341 -341
- package/lib/engine/xr/NeedleXRController.d.ts +313 -313
- package/lib/engine/xr/NeedleXRController.js +1007 -1007
- package/lib/engine/xr/NeedleXRSession.d.ts +340 -340
- package/lib/engine/xr/NeedleXRSession.js +1463 -1463
- package/lib/engine/xr/NeedleXRSync.d.ts +22 -22
- package/lib/engine/xr/NeedleXRSync.js +188 -188
- package/lib/engine/xr/SceneTransition.d.ts +18 -18
- package/lib/engine/xr/SceneTransition.js +69 -69
- package/lib/engine/xr/TempXRContext.d.ts +34 -34
- package/lib/engine/xr/TempXRContext.js +187 -187
- package/lib/engine/xr/XRRig.d.ts +7 -7
- package/lib/engine/xr/XRRig.js +1 -1
- package/lib/engine/xr/api.d.ts +6 -6
- package/lib/engine/xr/api.js +6 -6
- package/lib/engine/xr/events.d.ts +66 -66
- package/lib/engine/xr/events.js +93 -93
- package/lib/engine/xr/internal.d.ts +12 -12
- package/lib/engine/xr/internal.js +25 -25
- package/lib/engine/xr/usdz.d.ts +12 -12
- package/lib/engine/xr/usdz.js +29 -29
- package/lib/engine/xr/utils.d.ts +11 -11
- package/lib/engine/xr/utils.js +34 -34
- package/lib/engine-components/AlignmentConstraint.d.ts +10 -10
- package/lib/engine-components/AlignmentConstraint.js +39 -39
- package/lib/engine-components/Animation.d.ts +156 -156
- package/lib/engine-components/Animation.js +508 -508
- package/lib/engine-components/AnimationCurve.d.ts +40 -40
- package/lib/engine-components/AnimationCurve.js +159 -159
- package/lib/engine-components/AnimationUtils.d.ts +8 -8
- package/lib/engine-components/AnimationUtils.js +27 -27
- package/lib/engine-components/AnimationUtilsAutoplay.d.ts +1 -1
- package/lib/engine-components/AnimationUtilsAutoplay.js +39 -39
- package/lib/engine-components/Animator.d.ts +217 -217
- package/lib/engine-components/Animator.js +354 -354
- package/lib/engine-components/AnimatorController.d.ts +227 -227
- package/lib/engine-components/AnimatorController.js +1152 -1152
- package/lib/engine-components/AudioListener.d.ts +33 -33
- package/lib/engine-components/AudioListener.js +86 -86
- package/lib/engine-components/AudioSource.d.ts +217 -217
- package/lib/engine-components/AudioSource.js +635 -635
- package/lib/engine-components/AvatarLoader.d.ts +80 -80
- package/lib/engine-components/AvatarLoader.js +231 -231
- package/lib/engine-components/AxesHelper.d.ts +32 -32
- package/lib/engine-components/AxesHelper.js +67 -67
- package/lib/engine-components/BasicIKConstraint.d.ts +9 -9
- package/lib/engine-components/BasicIKConstraint.js +43 -43
- package/lib/engine-components/BoxCollider.d.ts +2 -2
- package/lib/engine-components/BoxCollider.js +2 -2
- package/lib/engine-components/BoxHelperComponent.d.ts +47 -47
- package/lib/engine-components/BoxHelperComponent.js +102 -102
- package/lib/engine-components/Camera.d.ts +231 -231
- package/lib/engine-components/Camera.js +700 -700
- package/lib/engine-components/CameraUtils.d.ts +1 -1
- package/lib/engine-components/CameraUtils.js +123 -123
- package/lib/engine-components/CharacterController.d.ts +55 -55
- package/lib/engine-components/CharacterController.js +236 -236
- package/lib/engine-components/Collider.d.ts +188 -188
- package/lib/engine-components/Collider.js +369 -369
- package/lib/engine-components/Component.d.ts +792 -792
- package/lib/engine-components/Component.js +920 -920
- package/lib/engine-components/ContactShadows.d.ts +94 -94
- package/lib/engine-components/ContactShadows.js +453 -453
- package/lib/engine-components/DeleteBox.d.ts +19 -19
- package/lib/engine-components/DeleteBox.js +58 -58
- package/lib/engine-components/DeviceFlag.d.ts +16 -16
- package/lib/engine-components/DeviceFlag.js +47 -47
- package/lib/engine-components/DragControls.d.ts +170 -170
- package/lib/engine-components/DragControls.js +1421 -1421
- package/lib/engine-components/DropListener.d.ts +215 -215
- package/lib/engine-components/DropListener.js +642 -642
- package/lib/engine-components/Duplicatable.d.ts +35 -35
- package/lib/engine-components/Duplicatable.js +202 -202
- package/lib/engine-components/EventList.d.ts +54 -54
- package/lib/engine-components/EventList.js +232 -232
- package/lib/engine-components/EventTrigger.d.ts +33 -33
- package/lib/engine-components/EventTrigger.js +75 -75
- package/lib/engine-components/EventType.d.ts +22 -22
- package/lib/engine-components/EventType.js +23 -23
- package/lib/engine-components/Fog.d.ts +22 -22
- package/lib/engine-components/Fog.js +61 -61
- package/lib/engine-components/Gizmos.d.ts +17 -17
- package/lib/engine-components/Gizmos.js +64 -64
- package/lib/engine-components/GridHelper.d.ts +20 -20
- package/lib/engine-components/GridHelper.js +54 -54
- package/lib/engine-components/GroundProjection.d.ts +67 -67
- package/lib/engine-components/GroundProjection.js +343 -343
- package/lib/engine-components/Interactable.d.ts +12 -12
- package/lib/engine-components/Interactable.js +12 -12
- package/lib/engine-components/Joints.d.ts +19 -19
- package/lib/engine-components/Joints.js +51 -51
- package/lib/engine-components/LODGroup.d.ts +35 -35
- package/lib/engine-components/LODGroup.js +152 -152
- package/lib/engine-components/Light.d.ts +180 -180
- package/lib/engine-components/Light.js +535 -535
- package/lib/engine-components/LookAtConstraint.d.ts +19 -19
- package/lib/engine-components/LookAtConstraint.js +35 -35
- package/lib/engine-components/NeedleMenu.d.ts +50 -50
- package/lib/engine-components/NeedleMenu.js +92 -92
- package/lib/engine-components/NestedGltf.d.ts +25 -25
- package/lib/engine-components/NestedGltf.js +88 -88
- package/lib/engine-components/Networking.d.ts +54 -54
- package/lib/engine-components/Networking.js +112 -112
- package/lib/engine-components/OffsetConstraint.d.ts +14 -14
- package/lib/engine-components/OffsetConstraint.js +65 -65
- package/lib/engine-components/OrbitControls.d.ts +268 -268
- package/lib/engine-components/OrbitControls.js +1015 -1015
- package/lib/engine-components/PlayerColor.d.ts +19 -19
- package/lib/engine-components/PlayerColor.js +94 -94
- package/lib/engine-components/ReflectionProbe.d.ts +28 -28
- package/lib/engine-components/ReflectionProbe.js +204 -204
- package/lib/engine-components/Renderer.d.ts +153 -153
- package/lib/engine-components/Renderer.js +834 -834
- package/lib/engine-components/RendererInstancing.d.ts +140 -140
- package/lib/engine-components/RendererInstancing.js +744 -744
- package/lib/engine-components/RendererLightmap.d.ts +24 -24
- package/lib/engine-components/RendererLightmap.js +182 -182
- package/lib/engine-components/RigidBody.d.ts +155 -155
- package/lib/engine-components/RigidBody.js +517 -517
- package/lib/engine-components/SceneSwitcher.d.ts +263 -263
- package/lib/engine-components/SceneSwitcher.js +971 -971
- package/lib/engine-components/ScreenCapture.d.ts +144 -144
- package/lib/engine-components/ScreenCapture.js +547 -547
- package/lib/engine-components/ShadowCatcher.d.ts +33 -33
- package/lib/engine-components/ShadowCatcher.js +166 -166
- package/lib/engine-components/Skybox.d.ts +88 -88
- package/lib/engine-components/Skybox.js +469 -469
- package/lib/engine-components/SmoothFollow.d.ts +34 -34
- package/lib/engine-components/SmoothFollow.js +82 -82
- package/lib/engine-components/SpatialTrigger.d.ts +102 -102
- package/lib/engine-components/SpatialTrigger.js +225 -225
- package/lib/engine-components/SpectatorCamera.d.ts +111 -111
- package/lib/engine-components/SpectatorCamera.js +715 -715
- package/lib/engine-components/SphereCollider.d.ts +2 -2
- package/lib/engine-components/SphereCollider.js +2 -2
- package/lib/engine-components/SpriteRenderer.d.ts +132 -132
- package/lib/engine-components/SpriteRenderer.js +472 -472
- package/lib/engine-components/SyncedCamera.d.ts +41 -41
- package/lib/engine-components/SyncedCamera.js +199 -199
- package/lib/engine-components/SyncedRoom.d.ts +106 -106
- package/lib/engine-components/SyncedRoom.js +371 -371
- package/lib/engine-components/SyncedTransform.d.ts +94 -94
- package/lib/engine-components/SyncedTransform.js +331 -331
- package/lib/engine-components/TestRunner.d.ts +16 -16
- package/lib/engine-components/TestRunner.js +102 -102
- package/lib/engine-components/TransformGizmo.d.ts +75 -75
- package/lib/engine-components/TransformGizmo.js +209 -209
- package/lib/engine-components/VideoPlayer.d.ts +184 -184
- package/lib/engine-components/VideoPlayer.js +978 -978
- package/lib/engine-components/Voip.d.ts +67 -67
- package/lib/engine-components/Voip.js +360 -360
- package/lib/engine-components/api.d.ts +51 -51
- package/lib/engine-components/api.js +50 -50
- package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +11 -11
- package/lib/engine-components/avatar/AvatarBlink_Simple.js +76 -76
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +14 -14
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +68 -68
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +29 -29
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +121 -121
- package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +15 -15
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +79 -79
- package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +9 -9
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +29 -29
- package/lib/engine-components/codegen/components.d.ts +216 -216
- package/lib/engine-components/codegen/components.js +218 -218
- package/lib/engine-components/debug/LogStats.d.ts +5 -5
- package/lib/engine-components/debug/LogStats.js +18 -18
- package/lib/engine-components/export/gltf/GltfExport.d.ts +30 -30
- package/lib/engine-components/export/gltf/GltfExport.js +246 -246
- package/lib/engine-components/export/gltf/index.d.ts +1 -1
- package/lib/engine-components/export/gltf/index.js +1 -1
- package/lib/engine-components/export/index.d.ts +1 -1
- package/lib/engine-components/export/index.js +1 -1
- package/lib/engine-components/export/usdz/Extension.d.ts +22 -22
- package/lib/engine-components/export/usdz/Extension.js +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +162 -162
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +1789 -1789
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +130 -130
- package/lib/engine-components/export/usdz/USDZExporter.js +663 -663
- package/lib/engine-components/export/usdz/extensions/Animation.d.ts +106 -106
- package/lib/engine-components/export/usdz/extensions/Animation.js +1071 -1071
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -5
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +6 -6
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.js +451 -451
- package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +54 -54
- package/lib/engine-components/export/usdz/extensions/USDZText.js +203 -203
- package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -8
- package/lib/engine-components/export/usdz/extensions/USDZUI.js +158 -158
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -30
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +88 -88
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js +86 -86
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +28 -28
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +290 -290
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +190 -190
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +1060 -1060
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +135 -135
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +548 -548
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.d.ts +7 -7
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +115 -115
- package/lib/engine-components/export/usdz/index.d.ts +3 -3
- package/lib/engine-components/export/usdz/index.js +2 -2
- package/lib/engine-components/export/usdz/utils/animationutils.d.ts +7 -7
- package/lib/engine-components/export/usdz/utils/animationutils.js +163 -163
- package/lib/engine-components/export/usdz/utils/quicklook.d.ts +2 -2
- package/lib/engine-components/export/usdz/utils/quicklook.js +43 -43
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +177 -177
- package/lib/engine-components/particlesystem/ParticleSystem.js +1176 -1176
- package/lib/engine-components/particlesystem/ParticleSystemModules.d.ts +526 -526
- package/lib/engine-components/particlesystem/ParticleSystemModules.js +1930 -1930
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.d.ts +25 -25
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.js +87 -87
- package/lib/engine-components/particlesystem/api.d.ts +2 -2
- package/lib/engine-components/particlesystem/api.js +2 -2
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +59 -59
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +46 -46
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +113 -113
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -39
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +23 -23
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +111 -111
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +25 -25
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +104 -104
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +12 -12
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +18 -18
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +32 -32
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +91 -91
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +70 -70
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +176 -176
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +127 -127
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +70 -70
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +19 -19
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +94 -94
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +13 -13
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.js +51 -51
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +15 -15
- package/lib/engine-components/postprocessing/Effects/Vignette.js +60 -60
- package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +90 -90
- package/lib/engine-components/postprocessing/PostProcessingEffect.js +168 -168
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +42 -42
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +494 -494
- package/lib/engine-components/postprocessing/Volume.d.ts +90 -90
- package/lib/engine-components/postprocessing/Volume.js +385 -385
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +26 -26
- package/lib/engine-components/postprocessing/VolumeParameter.js +136 -136
- package/lib/engine-components/postprocessing/VolumeProfile.d.ts +15 -15
- package/lib/engine-components/postprocessing/VolumeProfile.js +60 -60
- package/lib/engine-components/postprocessing/index.d.ts +6 -6
- package/lib/engine-components/postprocessing/index.js +6 -6
- package/lib/engine-components/postprocessing/utils.d.ts +55 -55
- package/lib/engine-components/postprocessing/utils.js +119 -119
- package/lib/engine-components/timeline/PlayableDirector.d.ts +163 -163
- package/lib/engine-components/timeline/PlayableDirector.js +686 -686
- package/lib/engine-components/timeline/SignalAsset.d.ts +24 -24
- package/lib/engine-components/timeline/SignalAsset.js +130 -130
- package/lib/engine-components/timeline/TimelineModels.d.ts +89 -89
- package/lib/engine-components/timeline/TimelineModels.js +22 -22
- package/lib/engine-components/timeline/TimelineTracks.d.ts +110 -110
- package/lib/engine-components/timeline/TimelineTracks.js +879 -879
- package/lib/engine-components/timeline/index.d.ts +4 -4
- package/lib/engine-components/timeline/index.js +3 -3
- package/lib/engine-components/ui/BaseUIComponent.d.ts +48 -48
- package/lib/engine-components/ui/BaseUIComponent.js +170 -170
- package/lib/engine-components/ui/Button.d.ts +64 -64
- package/lib/engine-components/ui/Button.js +315 -315
- package/lib/engine-components/ui/Canvas.d.ts +74 -74
- package/lib/engine-components/ui/Canvas.js +407 -407
- package/lib/engine-components/ui/CanvasGroup.d.ts +19 -19
- package/lib/engine-components/ui/CanvasGroup.js +58 -58
- package/lib/engine-components/ui/EventSystem.d.ts +125 -125
- package/lib/engine-components/ui/EventSystem.js +765 -765
- package/lib/engine-components/ui/Graphic.d.ts +55 -55
- package/lib/engine-components/ui/Graphic.js +255 -255
- package/lib/engine-components/ui/Image.d.ts +35 -35
- package/lib/engine-components/ui/Image.js +116 -116
- package/lib/engine-components/ui/InputField.d.ts +42 -42
- package/lib/engine-components/ui/InputField.js +268 -268
- package/lib/engine-components/ui/Interfaces.d.ts +38 -38
- package/lib/engine-components/ui/Interfaces.js +12 -12
- package/lib/engine-components/ui/Layout.d.ts +84 -84
- package/lib/engine-components/ui/Layout.js +330 -330
- package/lib/engine-components/ui/Outline.d.ts +7 -7
- package/lib/engine-components/ui/Outline.js +20 -20
- package/lib/engine-components/ui/PointerEvents.d.ts +115 -115
- package/lib/engine-components/ui/PointerEvents.js +145 -145
- package/lib/engine-components/ui/RaycastUtils.d.ts +11 -11
- package/lib/engine-components/ui/RaycastUtils.js +67 -67
- package/lib/engine-components/ui/Raycaster.d.ts +30 -30
- package/lib/engine-components/ui/Raycaster.js +95 -95
- package/lib/engine-components/ui/RectTransform.d.ts +61 -61
- package/lib/engine-components/ui/RectTransform.js +356 -356
- package/lib/engine-components/ui/SpatialHtml.d.ts +8 -8
- package/lib/engine-components/ui/SpatialHtml.js +79 -79
- package/lib/engine-components/ui/Symbols.d.ts +1 -1
- package/lib/engine-components/ui/Symbols.js +1 -1
- package/lib/engine-components/ui/Text.d.ts +78 -78
- package/lib/engine-components/ui/Text.js +539 -539
- package/lib/engine-components/ui/Utils.d.ts +24 -24
- package/lib/engine-components/ui/Utils.js +90 -90
- package/lib/engine-components/ui/index.d.ts +1 -1
- package/lib/engine-components/ui/index.js +1 -1
- package/lib/engine-components/utils/EnvironmentScene.d.ts +5 -5
- package/lib/engine-components/utils/EnvironmentScene.js +205 -205
- package/lib/engine-components/utils/LookAt.d.ts +31 -31
- package/lib/engine-components/utils/LookAt.js +82 -82
- package/lib/engine-components/utils/OpenURL.d.ts +42 -42
- package/lib/engine-components/utils/OpenURL.js +119 -119
- package/lib/engine-components/webxr/Avatar.d.ts +25 -25
- package/lib/engine-components/webxr/Avatar.js +255 -255
- package/lib/engine-components/webxr/TeleportTarget.d.ts +7 -7
- package/lib/engine-components/webxr/TeleportTarget.js +7 -7
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +30 -30
- package/lib/engine-components/webxr/WebARCameraBackground.js +155 -155
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +98 -98
- package/lib/engine-components/webxr/WebARSessionRoot.js +770 -770
- package/lib/engine-components/webxr/WebXR.d.ts +232 -232
- package/lib/engine-components/webxr/WebXR.js +561 -561
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +27 -27
- package/lib/engine-components/webxr/WebXRAvatar.js +44 -44
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +86 -86
- package/lib/engine-components/webxr/WebXRImageTracking.js +471 -471
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +92 -92
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +500 -500
- package/lib/engine-components/webxr/WebXRRig.d.ts +32 -32
- package/lib/engine-components/webxr/WebXRRig.js +72 -72
- package/lib/engine-components/webxr/XRFlag.d.ts +38 -38
- package/lib/engine-components/webxr/XRFlag.js +139 -139
- package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +47 -47
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js +120 -120
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +43 -43
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +352 -352
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +78 -78
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +506 -506
- package/lib/engine-components/webxr/index.d.ts +3 -3
- package/lib/engine-components/webxr/index.js +3 -3
- package/lib/engine-components/webxr/types.d.ts +3 -3
- package/lib/engine-components/webxr/types.js +1 -1
- package/lib/engine-components-experimental/Presentation.d.ts +6 -6
- package/lib/engine-components-experimental/Presentation.js +9 -9
- package/lib/engine-components-experimental/api.d.ts +4 -4
- package/lib/engine-components-experimental/api.js +4 -4
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +156 -156
- package/lib/engine-components-experimental/networking/PlayerSync.js +377 -377
- package/lib/engine-schemes/api.d.ts +12 -12
- package/lib/engine-schemes/api.js +12 -12
- package/lib/engine-schemes/schemes.d.ts +7 -7
- package/lib/engine-schemes/schemes.js +19 -19
- package/lib/engine-schemes/synced-camera-model.d.ts +25 -25
- package/lib/engine-schemes/synced-camera-model.js +67 -67
- package/lib/engine-schemes/synced-transform-model.d.ts +31 -31
- package/lib/engine-schemes/synced-transform-model.js +66 -66
- package/lib/engine-schemes/transform.d.ts +12 -12
- package/lib/engine-schemes/transform.js +39 -39
- package/lib/engine-schemes/vec2.d.ts +10 -10
- package/lib/engine-schemes/vec2.js +25 -25
- package/lib/engine-schemes/vec3.d.ts +11 -11
- package/lib/engine-schemes/vec3.js +29 -29
- package/lib/engine-schemes/vec4.d.ts +12 -12
- package/lib/engine-schemes/vec4.js +33 -33
- package/lib/engine-schemes/vr-user-state-buffer.d.ts +37 -37
- package/lib/engine-schemes/vr-user-state-buffer.js +110 -110
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.d.ts +6 -6
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js +45 -45
- package/lib/needle-engine.d.ts +7 -7
- package/lib/needle-engine.js +64 -64
- package/package.json +3 -3
- package/plugins/common/buildinfo.js +64 -64
- package/plugins/common/cloud.js +1 -1
- package/plugins/common/config.cjs +31 -31
- package/plugins/common/config.js +35 -35
- package/plugins/common/files.js +31 -31
- package/plugins/common/generator.js +10 -10
- package/plugins/common/license.js +452 -452
- package/plugins/common/logger.js +327 -327
- package/plugins/common/npm.js +15 -15
- package/plugins/common/timers.js +7 -7
- package/plugins/common/version.js +37 -37
- package/plugins/gltf-packer.mjs +1 -1
- package/plugins/next/alias.cjs +39 -39
- package/plugins/next/license.cjs +24 -24
- package/plugins/next/meshbvhworker.cjs +18 -18
- package/plugins/next/next.js +141 -141
- package/plugins/types/index.d.ts +2 -2
- package/plugins/types/license.d.ts +24 -24
- package/plugins/types/needleConfig.d.ts +27 -27
- package/plugins/types/next.d.ts +2 -2
- package/plugins/types/userconfig.d.ts +124 -124
- package/plugins/types/vite.d.ts +13 -13
- package/plugins/types/webmanifest.d.ts +32 -32
- package/plugins/vite/alias.js +189 -189
- package/plugins/vite/asap.js +251 -251
- package/plugins/vite/build-pipeline.js +371 -371
- package/plugins/vite/build.js +19 -19
- package/plugins/vite/buildinfo.js +41 -41
- package/plugins/vite/config.js +106 -106
- package/plugins/vite/copyfiles.js +138 -138
- package/plugins/vite/defines.js +70 -70
- package/plugins/vite/dependencies.js +232 -232
- package/plugins/vite/dependency-watcher.js +237 -237
- package/plugins/vite/drop-client.js +76 -76
- package/plugins/vite/drop.js +87 -87
- package/plugins/vite/editor-connection.js +124 -124
- package/plugins/vite/facebook-instant-games.js +102 -102
- package/plugins/vite/gzip.js +5 -5
- package/plugins/vite/imports-logger.js +143 -143
- package/plugins/vite/index.js +147 -147
- package/plugins/vite/license.js +56 -56
- package/plugins/vite/local-files.js +440 -440
- package/plugins/vite/logger.client.js +272 -272
- package/plugins/vite/logger.js +100 -100
- package/plugins/vite/materialx.js +31 -31
- package/plugins/vite/meta.js +163 -163
- package/plugins/vite/npm.js +7 -7
- package/plugins/vite/peer.js +29 -29
- package/plugins/vite/poster-client.js +73 -73
- package/plugins/vite/poster.js +79 -79
- package/plugins/vite/pwa.js +604 -604
- package/plugins/vite/reload-client.js +15 -15
- package/plugins/vite/reload.js +351 -351
- package/plugins/vite/server.js +66 -66
- package/plugins/vite/transform-codegen.js +55 -55
- package/plugins/vite/transform.js +32 -32
- package/plugins/vite/vite-4.4-hack.js +31 -31
- package/src/asap/needle-asap.ts +111 -111
- package/src/asap/sessiongranted.ts +75 -75
- package/src/asap/utils.ts +4 -4
- package/src/engine/analytics/index.ts +10 -10
- package/src/engine/analytics/lcp.ts +35 -35
- package/src/engine/api.ts +82 -82
- package/src/engine/assets/index.ts +59 -59
- package/src/engine/assets/static.js +5 -5
- package/src/engine/codegen/register_types.ts +300 -300
- package/src/engine/debug/debug.ts +51 -51
- package/src/engine/debug/debug_console.ts +333 -333
- package/src/engine/debug/debug_overlay.ts +332 -332
- package/src/engine/debug/debug_spatial_console.ts +429 -429
- package/src/engine/debug/index.ts +1 -1
- package/src/engine/engine_addressables.ts +671 -671
- package/src/engine/engine_animation.ts +145 -145
- package/src/engine/engine_application.ts +113 -113
- package/src/engine/engine_assetdatabase.ts +389 -389
- package/src/engine/engine_audio.ts +24 -24
- package/src/engine/engine_camera.ts +39 -39
- package/src/engine/engine_components.ts +366 -366
- package/src/engine/engine_components_internal.ts +40 -40
- package/src/engine/engine_constants.ts +52 -52
- package/src/engine/engine_context.ts +1822 -1824
- package/src/engine/engine_context_registry.ts +129 -129
- package/src/engine/engine_coroutine.ts +54 -54
- package/src/engine/engine_create_objects.ts +411 -411
- package/src/engine/engine_default_parameters.ts +3 -3
- package/src/engine/engine_editor-sync.ts +28 -28
- package/src/engine/engine_fileloader.js +9 -9
- package/src/engine/engine_gameobject.ts +712 -712
- package/src/engine/engine_generic_utils.js +13 -13
- package/src/engine/engine_gizmos.ts +577 -577
- package/src/engine/engine_gltf.ts +29 -29
- package/src/engine/engine_gltf_builtin_components.ts +403 -403
- package/src/engine/engine_hot_reload.ts +210 -210
- package/src/engine/engine_input.ts +1500 -1500
- package/src/engine/engine_input_utils.ts +23 -23
- package/src/engine/engine_instancing.ts +45 -45
- package/src/engine/engine_license.ts +386 -386
- package/src/engine/engine_lifecycle_api.ts +113 -113
- package/src/engine/engine_lifecycle_functions_internal.ts +193 -193
- package/src/engine/engine_lightdata.ts +125 -125
- package/src/engine/engine_loaders.callbacks.ts +136 -136
- package/src/engine/engine_loaders.gltf.ts +82 -82
- package/src/engine/engine_loaders.ts +378 -378
- package/src/engine/engine_lods.ts +185 -186
- package/src/engine/engine_mainloop_utils.ts +472 -472
- package/src/engine/engine_math.ts +282 -282
- package/src/engine/engine_modules.ts +83 -83
- package/src/engine/engine_networking.ts +862 -862
- package/src/engine/engine_networking_auto.ts +352 -352
- package/src/engine/engine_networking_blob.ts +275 -275
- package/src/engine/engine_networking_files.ts +217 -217
- package/src/engine/engine_networking_files_default_components.ts +58 -58
- package/src/engine/engine_networking_instantiate.ts +419 -419
- package/src/engine/engine_networking_peer.ts +159 -159
- package/src/engine/engine_networking_streams.ts +713 -713
- package/src/engine/engine_networking_types.ts +24 -24
- package/src/engine/engine_networking_utils.ts +23 -23
- package/src/engine/engine_networking_websocket.ts +2 -2
- package/src/engine/engine_patcher.ts +199 -199
- package/src/engine/engine_physics.ts +783 -783
- package/src/engine/engine_physics.types.ts +46 -46
- package/src/engine/engine_physics_rapier.ts +1577 -1577
- package/src/engine/engine_playerview.ts +80 -80
- package/src/engine/engine_scenelighting.ts +294 -294
- package/src/engine/engine_serialization.ts +2 -2
- package/src/engine/engine_serialization_builtin_serializer.ts +473 -473
- package/src/engine/engine_serialization_core.ts +720 -720
- package/src/engine/engine_serialization_decorator.ts +80 -80
- package/src/engine/engine_setup.ts +1 -1
- package/src/engine/engine_shaders.ts +267 -267
- package/src/engine/engine_shims.ts +32 -32
- package/src/engine/engine_test_utils.ts +109 -109
- package/src/engine/engine_texture.ts +82 -82
- package/src/engine/engine_three_utils.ts +928 -928
- package/src/engine/engine_time.ts +94 -94
- package/src/engine/engine_time_utils.ts +237 -237
- package/src/engine/engine_tonemapping.ts +209 -208
- package/src/engine/engine_types.ts +730 -730
- package/src/engine/engine_typestore.ts +63 -63
- package/src/engine/engine_util_decorator.ts +136 -136
- package/src/engine/engine_utils.ts +1115 -1115
- package/src/engine/engine_utils_format.ts +273 -273
- package/src/engine/engine_utils_screenshot.ts +708 -708
- package/src/engine/engine_utils_screenshot.xr.ts +103 -103
- package/src/engine/export/gltf/Writers.ts +34 -34
- package/src/engine/export/gltf/index.ts +158 -158
- package/src/engine/export/index.ts +2 -2
- package/src/engine/export/state.ts +19 -19
- package/src/engine/export/utils.ts +9 -9
- package/src/engine/extensions/EXT_texture_exr.ts +50 -50
- package/src/engine/extensions/NEEDLE_animator_controller_model.ts +195 -195
- package/src/engine/extensions/NEEDLE_components.ts +268 -268
- package/src/engine/extensions/NEEDLE_gameobject_data.ts +81 -81
- package/src/engine/extensions/NEEDLE_lighting_settings.ts +185 -185
- package/src/engine/extensions/NEEDLE_lightmaps.ts +119 -119
- package/src/engine/extensions/NEEDLE_persistent_assets.ts +76 -76
- package/src/engine/extensions/NEEDLE_render_objects.ts +209 -209
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +640 -640
- package/src/engine/extensions/extension_resolver.ts +4 -4
- package/src/engine/extensions/extension_utils.ts +166 -166
- package/src/engine/extensions/extensions.ts +140 -140
- package/src/engine/extensions/index.ts +5 -5
- package/src/engine/extensions/usage_tracker.ts +100 -100
- package/src/engine/js-extensions/Camera.ts +37 -37
- package/src/engine/js-extensions/ExtensionUtils.ts +85 -85
- package/src/engine/js-extensions/Layers.ts +23 -23
- package/src/engine/js-extensions/Object3D.ts +296 -296
- package/src/engine/js-extensions/RGBAColor.ts +126 -126
- package/src/engine/js-extensions/Vector.ts +18 -18
- package/src/engine/js-extensions/index.ts +4 -4
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +125 -125
- package/src/engine/shaders/shaderData.ts +67 -67
- package/src/engine/tests/test_utils.ts +63 -63
- package/src/engine/webcomponents/WebXRButtons.ts +260 -260
- package/src/engine/webcomponents/api.ts +6 -6
- package/src/engine/webcomponents/buttons.ts +292 -292
- package/src/engine/webcomponents/fonts.ts +41 -41
- package/src/engine/webcomponents/icons.ts +57 -57
- package/src/engine/webcomponents/index.ts +1 -1
- package/src/engine/webcomponents/logo-element.ts +78 -78
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +573 -573
- package/src/engine/webcomponents/needle menu/needle-menu.ts +1118 -1118
- package/src/engine/webcomponents/needle-button.ts +181 -181
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +186 -186
- package/src/engine/webcomponents/needle-engine.attributes.ts +82 -82
- package/src/engine/webcomponents/needle-engine.extras.ts +16 -16
- package/src/engine/webcomponents/needle-engine.loading.ts +373 -373
- package/src/engine/webcomponents/needle-engine.ts +890 -860
- package/src/engine/xr/NeedleXRController.ts +1125 -1125
- package/src/engine/xr/NeedleXRSession.ts +1624 -1624
- package/src/engine/xr/NeedleXRSync.ts +220 -220
- package/src/engine/xr/SceneTransition.ts +78 -78
- package/src/engine/xr/TempXRContext.ts +216 -216
- package/src/engine/xr/XRRig.ts +9 -9
- package/src/engine/xr/api.ts +5 -5
- package/src/engine/xr/events.ts +102 -102
- package/src/engine/xr/internal.ts +34 -34
- package/src/engine/xr/usdz.ts +30 -30
- package/src/engine/xr/utils.ts +39 -39
- package/src/engine-components/AlignmentConstraint.ts +36 -36
- package/src/engine-components/Animation.ts +557 -557
- package/src/engine-components/AnimationCurve.ts +150 -150
- package/src/engine-components/AnimationUtils.ts +28 -28
- package/src/engine-components/AnimationUtilsAutoplay.ts +43 -43
- package/src/engine-components/Animator.ts +397 -397
- package/src/engine-components/AnimatorController.ts +1293 -1293
- package/src/engine-components/AudioListener.ts +92 -92
- package/src/engine-components/AudioSource.ts +644 -644
- package/src/engine-components/AvatarLoader.ts +263 -263
- package/src/engine-components/AxesHelper.ts +59 -59
- package/src/engine-components/BasicIKConstraint.ts +54 -54
- package/src/engine-components/BoxCollider.ts +1 -1
- package/src/engine-components/BoxHelperComponent.ts +114 -114
- package/src/engine-components/Camera.ts +719 -719
- package/src/engine-components/CameraUtils.ts +138 -138
- package/src/engine-components/CharacterController.ts +253 -253
- package/src/engine-components/Collider.ts +374 -374
- package/src/engine-components/Component.ts +1297 -1297
- package/src/engine-components/ContactShadows.ts +506 -506
- package/src/engine-components/DeleteBox.ts +62 -62
- package/src/engine-components/DeviceFlag.ts +46 -46
- package/src/engine-components/DragControls.ts +1623 -1623
- package/src/engine-components/DropListener.ts +713 -713
- package/src/engine-components/Duplicatable.ts +198 -198
- package/src/engine-components/EventList.ts +266 -266
- package/src/engine-components/EventTrigger.ts +74 -74
- package/src/engine-components/EventType.ts +22 -22
- package/src/engine-components/Fog.ts +60 -60
- package/src/engine-components/Gizmos.ts +56 -56
- package/src/engine-components/GridHelper.ts +48 -48
- package/src/engine-components/GroundProjection.ts +356 -356
- package/src/engine-components/Interactable.ts +14 -14
- package/src/engine-components/Joints.ts +52 -52
- package/src/engine-components/LODGroup.ts +153 -153
- package/src/engine-components/Light.ts +558 -558
- package/src/engine-components/LookAtConstraint.ts +25 -25
- package/src/engine-components/NeedleMenu.ts +84 -84
- package/src/engine-components/NestedGltf.ts +86 -86
- package/src/engine-components/Networking.ts +114 -114
- package/src/engine-components/OffsetConstraint.ts +60 -60
- package/src/engine-components/OrbitControls.ts +1074 -1074
- package/src/engine-components/PlayerColor.ts +103 -103
- package/src/engine-components/ReflectionProbe.ts +220 -220
- package/src/engine-components/Renderer.ts +903 -903
- package/src/engine-components/RendererInstancing.ts +855 -855
- package/src/engine-components/RendererLightmap.ts +198 -198
- package/src/engine-components/RigidBody.ts +526 -526
- package/src/engine-components/SceneSwitcher.ts +1030 -1030
- package/src/engine-components/ScreenCapture.ts +592 -592
- package/src/engine-components/ShadowCatcher.ts +172 -172
- package/src/engine-components/Skybox.ts +475 -475
- package/src/engine-components/SmoothFollow.ts +76 -76
- package/src/engine-components/SpatialTrigger.ts +229 -229
- package/src/engine-components/SpectatorCamera.ts +787 -787
- package/src/engine-components/SphereCollider.ts +1 -1
- package/src/engine-components/SpriteRenderer.ts +468 -468
- package/src/engine-components/SyncedCamera.ts +220 -220
- package/src/engine-components/SyncedRoom.ts +380 -380
- package/src/engine-components/SyncedTransform.ts +383 -383
- package/src/engine-components/TestRunner.ts +118 -118
- package/src/engine-components/TransformGizmo.ts +219 -219
- package/src/engine-components/VideoPlayer.ts +1025 -1025
- package/src/engine-components/Voip.ts +363 -363
- package/src/engine-components/api.ts +60 -60
- package/src/engine-components/avatar/AvatarBlink_Simple.ts +69 -69
- package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +63 -63
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +139 -139
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +83 -83
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +31 -31
- package/src/engine-components/codegen/components.ts +217 -217
- package/src/engine-components/debug/LogStats.ts +21 -21
- package/src/engine-components/export/gltf/GltfExport.ts +265 -265
- package/src/engine-components/export/usdz/Extension.ts +24 -24
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2426 -2426
- package/src/engine-components/export/usdz/USDZExporter.ts +705 -705
- package/src/engine-components/export/usdz/extensions/Animation.ts +1204 -1204
- package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +9 -9
- package/src/engine-components/export/usdz/extensions/NodeMaterialConverter.ts +532 -532
- package/src/engine-components/export/usdz/extensions/USDZText.ts +240 -240
- package/src/engine-components/export/usdz/extensions/USDZUI.ts +189 -189
- package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -99
- package/src/engine-components/export/usdz/extensions/behavior/AudioExtension.ts +102 -102
- package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +320 -320
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1225 -1225
- package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +646 -646
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +132 -132
- package/src/engine-components/export/usdz/index.ts +2 -2
- package/src/engine-components/export/usdz/utils/animationutils.ts +191 -191
- package/src/engine-components/export/usdz/utils/quicklook.ts +50 -50
- package/src/engine-components/particlesystem/ParticleSystem.ts +1287 -1287
- package/src/engine-components/particlesystem/ParticleSystemModules.ts +1765 -1765
- package/src/engine-components/particlesystem/ParticleSystemSubEmitter.ts +111 -111
- package/src/engine-components/particlesystem/api.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +64 -64
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +116 -116
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +37 -37
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +106 -106
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +103 -103
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +25 -25
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +32 -32
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +90 -90
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +192 -192
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +143 -143
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +61 -61
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +103 -103
- package/src/engine-components/postprocessing/Effects/Tonemapping.utils.ts +60 -60
- package/src/engine-components/postprocessing/Effects/Vignette.ts +59 -59
- package/src/engine-components/postprocessing/PostProcessingEffect.ts +192 -192
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +572 -572
- package/src/engine-components/postprocessing/Volume.ts +426 -426
- package/src/engine-components/postprocessing/VolumeParameter.ts +158 -158
- package/src/engine-components/postprocessing/VolumeProfile.ts +61 -61
- package/src/engine-components/postprocessing/index.ts +5 -5
- package/src/engine-components/postprocessing/utils.ts +154 -154
- package/src/engine-components/timeline/PlayableDirector.ts +722 -722
- package/src/engine-components/timeline/SignalAsset.ts +144 -144
- package/src/engine-components/timeline/TimelineModels.ts +92 -92
- package/src/engine-components/timeline/TimelineTracks.ts +967 -967
- package/src/engine-components/timeline/index.ts +3 -3
- package/src/engine-components/ui/BaseUIComponent.ts +203 -203
- package/src/engine-components/ui/Button.ts +307 -307
- package/src/engine-components/ui/Canvas.ts +419 -419
- package/src/engine-components/ui/CanvasGroup.ts +54 -54
- package/src/engine-components/ui/EventSystem.ts +854 -854
- package/src/engine-components/ui/Graphic.ts +275 -275
- package/src/engine-components/ui/Image.ts +112 -112
- package/src/engine-components/ui/InputField.ts +321 -321
- package/src/engine-components/ui/Interfaces.ts +57 -57
- package/src/engine-components/ui/Layout.ts +334 -334
- package/src/engine-components/ui/Outline.ts +13 -13
- package/src/engine-components/ui/PointerEvents.ts +206 -206
- package/src/engine-components/ui/RaycastUtils.ts +69 -69
- package/src/engine-components/ui/Raycaster.ts +102 -102
- package/src/engine-components/ui/RectTransform.ts +375 -375
- package/src/engine-components/ui/SpatialHtml.ts +79 -79
- package/src/engine-components/ui/Symbols.ts +1 -1
- package/src/engine-components/ui/Text.ts +578 -578
- package/src/engine-components/ui/Utils.ts +113 -113
- package/src/engine-components/utils/EnvironmentScene.ts +245 -245
- package/src/engine-components/utils/LookAt.ts +88 -88
- package/src/engine-components/utils/OpenURL.ts +114 -114
- package/src/engine-components/webxr/Avatar.ts +265 -265
- package/src/engine-components/webxr/TeleportTarget.ts +9 -9
- package/src/engine-components/webxr/WebARCameraBackground.ts +175 -175
- package/src/engine-components/webxr/WebARSessionRoot.ts +880 -880
- package/src/engine-components/webxr/WebXR.ts +585 -585
- package/src/engine-components/webxr/WebXRAvatar.ts +66 -66
- package/src/engine-components/webxr/WebXRImageTracking.ts +519 -519
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +570 -570
- package/src/engine-components/webxr/WebXRRig.ts +77 -77
- package/src/engine-components/webxr/XRFlag.ts +147 -147
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +118 -118
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +373 -373
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +550 -550
- package/src/engine-components/webxr/index.ts +2 -2
- package/src/engine-components/webxr/types.ts +3 -3
- package/src/engine-components-experimental/Presentation.ts +12 -12
- package/src/engine-components-experimental/api.ts +4 -4
- package/src/engine-components-experimental/networking/PlayerSync.ts +401 -401
- package/src/engine-schemes/COMPILE_SCHEMES.bat +3 -3
- package/src/engine-schemes/COMPILE_TS.bat +11 -11
- package/src/engine-schemes/README.md +1 -1
- package/src/engine-schemes/api.ts +12 -12
- package/src/engine-schemes/schemes.ts +28 -28
- package/src/engine-schemes/synced-camera-model.ts +92 -92
- package/src/engine-schemes/synced-transform-model.ts +90 -90
- package/src/engine-schemes/syncedCamera.fbs +10 -10
- package/src/engine-schemes/transform.ts +50 -50
- package/src/engine-schemes/transforms.fbs +25 -25
- package/src/engine-schemes/vec.fbs +19 -19
- package/src/engine-schemes/vec2.ts +33 -33
- package/src/engine-schemes/vec3.ts +38 -38
- package/src/engine-schemes/vec4.ts +43 -43
- package/src/engine-schemes/vr-user-state-buffer.ts +145 -145
- package/src/engine-schemes/vrUserStateBuffer.fbs +17 -17
- package/src/include/draco/draco_decoder.js +34 -34
- package/src/include/ktx2/basis_transcoder.js +21 -21
- package/src/include/needle/arial-msdf.json +1471 -1471
- package/src/include/three/DragControls.js +231 -231
- package/src/include/three/EXT_mesh_gpu_instancing_exporter.js +66 -66
- package/src/needle-engine.ts +70 -70
- package/dist/generateMeshBVH.worker-Cdfpaq5W.js +0 -25
- package/dist/gltf-progressive-YjtQYFa9.js +0 -1052
- package/dist/gltf-progressive-yOP1mp5W.min.js +0 -8
- package/dist/gltf-progressive-zdhlW609.umd.cjs +0 -8
- package/src/engine-schemes/dist/api.js +0 -17
- package/src/engine-schemes/dist/api.js.meta +0 -7
- package/src/engine-schemes/dist/schemes.js +0 -25
- package/src/engine-schemes/dist/schemes.js.meta +0 -7
- package/src/engine-schemes/dist/synced-camera-model.js +0 -74
- package/src/engine-schemes/dist/synced-camera-model.js.meta +0 -7
- package/src/engine-schemes/dist/synced-transform-model.js +0 -73
- package/src/engine-schemes/dist/synced-transform-model.js.meta +0 -7
- package/src/engine-schemes/dist/transform.js +0 -46
- package/src/engine-schemes/dist/transform.js.meta +0 -7
- package/src/engine-schemes/dist/vec2.js +0 -32
- package/src/engine-schemes/dist/vec2.js.meta +0 -7
- package/src/engine-schemes/dist/vec3.js +0 -36
- package/src/engine-schemes/dist/vec3.js.meta +0 -7
- package/src/engine-schemes/dist/vec4.js +0 -40
- package/src/engine-schemes/dist/vec4.js.meta +0 -7
- package/src/engine-schemes/dist/vr-user-state-buffer.js +0 -110
- package/src/engine-schemes/dist/vr-user-state-buffer.js.meta +0 -7
|
@@ -1,313 +1,313 @@
|
|
|
1
|
-
/// <reference types="webxr" />
|
|
2
|
-
import { Matrix4, Object3D, Quaternion, Ray, Vector3 } from "three";
|
|
3
|
-
import { Context } from "../engine_context.js";
|
|
4
|
-
import { IPointerHitEventReceiver } from "../engine_input.js";
|
|
5
|
-
import type { ButtonName, IGameObject, Vec3, XRControllerButtonName, XRGestureName } from "../engine_types.js";
|
|
6
|
-
import type { NeedleXRHitTestResult, NeedleXRSession } from "./NeedleXRSession.js";
|
|
7
|
-
/** true when selectstart was ever received.
|
|
8
|
-
* On VisionOS 1.1 we always have select events (as per the spec), so this is always true
|
|
9
|
-
*/
|
|
10
|
-
declare type ControllerAxes = "xr-standard-thumbstick";
|
|
11
|
-
declare type StickName = "xr-standard-thumbstick";
|
|
12
|
-
declare type Mapping = "xr-standard";
|
|
13
|
-
declare type ComponentType = "button" | "thumbstick" | "squeeze";
|
|
14
|
-
declare type GamepadKey = "button" | "xAxis" | "yAxis";
|
|
15
|
-
declare type NeedleXRControllerButtonName = ButtonName | "primary-button" | "primary";
|
|
16
|
-
declare type ComponentMap = {
|
|
17
|
-
type: ComponentType;
|
|
18
|
-
rootNodeName?: string;
|
|
19
|
-
gamepadIndices?: {
|
|
20
|
-
[key in GamepadKey]?: number;
|
|
21
|
-
};
|
|
22
|
-
visualResponses?: {
|
|
23
|
-
[key: string]: {
|
|
24
|
-
states: Array<string>;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
declare type InputDeviceLayout = {
|
|
29
|
-
selectComponentId: string;
|
|
30
|
-
components: {
|
|
31
|
-
[key: string]: ComponentMap;
|
|
32
|
-
};
|
|
33
|
-
mapping: Mapping;
|
|
34
|
-
gamepad: Array<XRControllerButtonName>;
|
|
35
|
-
axes: Array<{
|
|
36
|
-
componentId: ControllerAxes;
|
|
37
|
-
axis: "x-axis" | "y-axis";
|
|
38
|
-
}>;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* A NeedleXRController wraps a connected XRInputDevice that is either a physical controller or a hand
|
|
42
|
-
* You can access specific buttons using `getButton` and `getStick`
|
|
43
|
-
* To get spatial data in rig space (position, rotation) use the `gripPosition`, `gripQuaternion`, `rayPosition` and `rayQuaternion` properties
|
|
44
|
-
* To get spatial data in world space use the `gripWorldPosition`, `gripWorldQuaternion`, `rayWorldPosition` and `rayWorldQuaternion` properties
|
|
45
|
-
* Inputs will also be emitted as pointer events on `this.context.input` - so you can receive controller inputs on objects using the appropriate input events on your components (e.g. `onPointerDown`, `onPointerUp` etc) - use the `pointerType` property to check if the event is from a controller or not
|
|
46
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource
|
|
47
|
-
*/
|
|
48
|
-
export declare class NeedleXRController implements IPointerHitEventReceiver {
|
|
49
|
-
/** the Needle XR Session */
|
|
50
|
-
readonly xr: NeedleXRSession;
|
|
51
|
-
get context(): Context;
|
|
52
|
-
/**
|
|
53
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource
|
|
54
|
-
*/
|
|
55
|
-
readonly inputSource: XRInputSource;
|
|
56
|
-
/** the input source index */
|
|
57
|
-
readonly index: number;
|
|
58
|
-
/** When enabled the controller will create input events in the Needle Engine input system (e.g. when a button is pressed or the controller is moved)
|
|
59
|
-
* You can disable this if you don't want inputs to go through the input system but be aware that this will result in `onPointerDown` component callbacks to not be invoked anymore for this XRController
|
|
60
|
-
*/
|
|
61
|
-
emitEvents: boolean;
|
|
62
|
-
/** Is the controller still connected? */
|
|
63
|
-
get connected(): boolean;
|
|
64
|
-
private _connected;
|
|
65
|
-
get isTracking(): boolean;
|
|
66
|
-
private _isTracking;
|
|
67
|
-
/** the input source gamepad giving raw access to the gamepad values
|
|
68
|
-
* You should usually use the `getButton` and `getStick` methods instead to get access to named buttons and sticks
|
|
69
|
-
*/
|
|
70
|
-
get gamepad(): Gamepad | undefined;
|
|
71
|
-
private __gamepad?;
|
|
72
|
-
/** @returns true if this is a hand (otherwise this is a controller) */
|
|
73
|
-
get isHand(): boolean;
|
|
74
|
-
/**
|
|
75
|
-
* If this is a hand then this is the hand info (XRHand)
|
|
76
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRHand
|
|
77
|
-
*/
|
|
78
|
-
get hand(): XRHand | undefined;
|
|
79
|
-
private __hand?;
|
|
80
|
-
/** threejs XRHandSpace, shorthand for `context.renderer.xr.getHand(controllerIndex)`
|
|
81
|
-
* @link https://threejs.org/docs/#api/en/renderers/webxr/WebXRManager.getHand
|
|
82
|
-
*/
|
|
83
|
-
get handObject(): import("three").XRHandSpace;
|
|
84
|
-
/** The input source profiles */
|
|
85
|
-
get profiles(): string[];
|
|
86
|
-
/** The device input layout */
|
|
87
|
-
get layout(): InputDeviceLayout | undefined;
|
|
88
|
-
/** shorthand for `inputSource.targetRayMode` */
|
|
89
|
-
get targetRayMode(): (XRTargetRayMode | "transient-pointer");
|
|
90
|
-
/** shorthand for `inputSource.targetRaySpace` */
|
|
91
|
-
get targetRaySpace(): XRSpace;
|
|
92
|
-
/** shorthand for `inputSource.gripSpace` */
|
|
93
|
-
get gripSpace(): XRSpace | undefined;
|
|
94
|
-
/**
|
|
95
|
-
* If the controller if held in the left or right hand (or if it's a left or right hand)
|
|
96
|
-
**/
|
|
97
|
-
get side(): XRHandedness;
|
|
98
|
-
private __side;
|
|
99
|
-
/** is right side. shorthand for `side === 'right'` */
|
|
100
|
-
get isRight(): boolean;
|
|
101
|
-
/** is left side. shorthand for `side === 'left'` */
|
|
102
|
-
get isLeft(): boolean;
|
|
103
|
-
/** is XR stylus, e.g. Logitech MX Ink */
|
|
104
|
-
get isStylus(): boolean;
|
|
105
|
-
/** The XRTransientInputHitTestSource can be used to perform hit tests with the controller ray against the real world.
|
|
106
|
-
* see https://developer.mozilla.org/en-US/docs/Web/API/XRSession/requestHitTestSourceForTransientInput for more information
|
|
107
|
-
* Requires the hit-test feature to be enabled in the XRSession
|
|
108
|
-
*
|
|
109
|
-
* NOTE: The hit test source should be cancelled once it's not needed anymore. Call `cancelHitTestSource` to do this
|
|
110
|
-
*/
|
|
111
|
-
getHitTestSource(): XRTransientInputHitTestSource | undefined;
|
|
112
|
-
get hasHitTestSource(): XRTransientInputHitTestSource | undefined;
|
|
113
|
-
/** Make sure to cancel the hittest source once it's not needed anymore */
|
|
114
|
-
cancelHitTestSource(): void;
|
|
115
|
-
private _hitTestSource;
|
|
116
|
-
private _hasSelectEvent;
|
|
117
|
-
get hasSelectEvent(): boolean;
|
|
118
|
-
private _isMxInk;
|
|
119
|
-
private _isMetaQuestTouchController;
|
|
120
|
-
/** Perform a hit test against the XR planes or meshes. shorthand for `xr.getHitTest(controller)`
|
|
121
|
-
* @returns the hit test result (with position and rotation in worldspace) or null if no hit was found
|
|
122
|
-
*/
|
|
123
|
-
getHitTest(): NeedleXRHitTestResult | null;
|
|
124
|
-
/** This is cleared at the beginning of each frame */
|
|
125
|
-
private readonly _handJointPoses;
|
|
126
|
-
/** Get the hand joint pose from the current XRFrame. Results are cached for a frame to avoid calling getJointPose multiple times */
|
|
127
|
-
getHandJointPose(joint: XRJointSpace, frame?: XRFrame): XRJointPose | null | undefined;
|
|
128
|
-
/** Grip matrix in grip space */
|
|
129
|
-
private readonly _gripMatrix;
|
|
130
|
-
/** Grip position in grip space */
|
|
131
|
-
private readonly _gripPosition;
|
|
132
|
-
/** Grip rotation in grip space */
|
|
133
|
-
private readonly _gripQuaternion;
|
|
134
|
-
private readonly _linearVelocity;
|
|
135
|
-
private readonly _rayPositionRaw;
|
|
136
|
-
private readonly _rayRotationRaw;
|
|
137
|
-
/** ray matrix in grip space */
|
|
138
|
-
private readonly _rayMatrix;
|
|
139
|
-
/** Ray position in rig space */
|
|
140
|
-
private readonly _rayPosition;
|
|
141
|
-
/** Ray rotation in rig space */
|
|
142
|
-
private readonly _rayQuaternion;
|
|
143
|
-
/** Grip position in rig space */
|
|
144
|
-
get gripPosition(): Vector3;
|
|
145
|
-
/** Grip rotation in rig space */
|
|
146
|
-
get gripQuaternion(): Quaternion;
|
|
147
|
-
get gripMatrix(): Matrix4;
|
|
148
|
-
/** Grip linear velocity in rig space
|
|
149
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRPose/linearVelocity
|
|
150
|
-
*/
|
|
151
|
-
get gripLinearVelocity(): Vector3;
|
|
152
|
-
/** Ray position in rig space */
|
|
153
|
-
get rayPosition(): Vector3;
|
|
154
|
-
/** Ray rotation in rig space */
|
|
155
|
-
get rayQuaternion(): Quaternion;
|
|
156
|
-
/** Controller grip position in worldspace */
|
|
157
|
-
get gripWorldPosition(): Vector3;
|
|
158
|
-
private readonly _gripWorldPosition;
|
|
159
|
-
/** Controller grip rotation in wordspace */
|
|
160
|
-
get gripWorldQuaternion(): Quaternion;
|
|
161
|
-
private readonly _gripWorldQuaternion;
|
|
162
|
-
/** Controller ray position in worldspace (this value is calculated once per frame by default - call `updateRayWorldPosition` to force an update) */
|
|
163
|
-
get rayWorldPosition(): Vector3;
|
|
164
|
-
private readonly _rayWorldPosition;
|
|
165
|
-
/** Recalculates the ray world position */
|
|
166
|
-
updateRayWorldPosition(): void;
|
|
167
|
-
/** Controller ray rotation in wordspace (this value is calculated once per frame by default - call `updateRayWorldQuaternion` to force an update) */
|
|
168
|
-
get rayWorldQuaternion(): Quaternion;
|
|
169
|
-
private readonly _rayWorldQuaternion;
|
|
170
|
-
get pinchPosition(): Vector3;
|
|
171
|
-
private readonly _pinchPosition;
|
|
172
|
-
/** Recalculates the ray world quaternion */
|
|
173
|
-
updateRayWorldQuaternion(): void;
|
|
174
|
-
/** The controller ray in worldspace */
|
|
175
|
-
get ray(): Ray;
|
|
176
|
-
private readonly _ray;
|
|
177
|
-
/** Recalculated once per update */
|
|
178
|
-
private _hand_wristDotUp;
|
|
179
|
-
/**
|
|
180
|
-
* The dot product of the hand palm with the up vector.
|
|
181
|
-
* This is a number between -1 and 1, where 1 means the palm is directly up and -1 means the palm is directly down (upside down).
|
|
182
|
-
* This value is undefined if there's no hand
|
|
183
|
-
*/
|
|
184
|
-
get handWristDotUp(): number | undefined;
|
|
185
|
-
/**
|
|
186
|
-
* @returns true if the hand is upside down
|
|
187
|
-
*/
|
|
188
|
-
get isHandUpsideDown(): boolean;
|
|
189
|
-
/**
|
|
190
|
-
* @returns true if the hand is upside down and we got a pinch down event this frame.
|
|
191
|
-
*/
|
|
192
|
-
get isTeleportGesture(): boolean | undefined;
|
|
193
|
-
/** The controller object space.
|
|
194
|
-
* You can use it to attach objects to the controller.
|
|
195
|
-
* Children will be automatically detached and put into the scene when the controller disconnects
|
|
196
|
-
*/
|
|
197
|
-
get object(): IGameObject;
|
|
198
|
-
private readonly _object;
|
|
199
|
-
private readonly _gripSpaceObject?;
|
|
200
|
-
private readonly _raySpaceObject?;
|
|
201
|
-
/** Assigned the model that you use for rendering. This can be used as a hint for other components */
|
|
202
|
-
model: Object3D | null;
|
|
203
|
-
private readonly _debugAxesHelper;
|
|
204
|
-
private readonly _debugGripAxesHelper;
|
|
205
|
-
private readonly _debugRayAxesHelper;
|
|
206
|
-
/** returns the URL of the default controller model */
|
|
207
|
-
getModelUrl(): Promise<string | null>;
|
|
208
|
-
constructor(session: NeedleXRSession, device: XRInputSource, index: number);
|
|
209
|
-
private _hitTestSourcePromise;
|
|
210
|
-
private _requestHitTestSource;
|
|
211
|
-
onPointerHits: (_evt: any) => void;
|
|
212
|
-
onUpdate(frame: XRFrame): void;
|
|
213
|
-
onRenderDebug(): void;
|
|
214
|
-
private onUpdateFrame;
|
|
215
|
-
/** Called when the input source disconnects */
|
|
216
|
-
onDisconnected(): void;
|
|
217
|
-
/**
|
|
218
|
-
* Get a gamepad button
|
|
219
|
-
* @link https://github.com/immersive-web/webxr-gamepads-module/blob/main/gamepads-module-explainer.md
|
|
220
|
-
* @param key the controller button name e.g. x-button
|
|
221
|
-
* @returns the gamepad button if it exists on the controller - otherwise undefined
|
|
222
|
-
*/
|
|
223
|
-
getButton(key: NeedleXRControllerButtonName): NeedleGamepadButton | undefined | null;
|
|
224
|
-
/** Get a gesture state */
|
|
225
|
-
getGesture(key: XRGestureName): NeedleGamepadButton | null;
|
|
226
|
-
/**
|
|
227
|
-
* Get the pointer id for a specific button of this input device.
|
|
228
|
-
* This is useful if you want to check if a button (e.g. trigger) is currently being in use which can be queried on the inputsystem.
|
|
229
|
-
* @returns the pointer id for the button or undefined if the button is not supported
|
|
230
|
-
* @example
|
|
231
|
-
* ```ts
|
|
232
|
-
* const pointerId = controller.getPointerId("primary");
|
|
233
|
-
* if (pointerId !== undefined) {
|
|
234
|
-
* const isUsed = this.context.input.getPointerUsed(pointerId);
|
|
235
|
-
* console.log(controller.side, "used?", isUsed);
|
|
236
|
-
* }
|
|
237
|
-
* ```
|
|
238
|
-
*/
|
|
239
|
-
getPointerId(button: number): number;
|
|
240
|
-
getPointerId(button: NeedleXRControllerButtonName | XRGestureName): number | undefined;
|
|
241
|
-
private readonly _needleGamepadButtons;
|
|
242
|
-
/** combine the InputState information + the GamepadButton information (since GamepadButtons can not be extended) */
|
|
243
|
-
private toNeedleGamepadButton;
|
|
244
|
-
/**
|
|
245
|
-
* Get the values of a controller joystick
|
|
246
|
-
* @link https://github.com/immersive-web/webxr-gamepads-module/blob/main/gamepads-module-explainer.md
|
|
247
|
-
* @returns the stick values where x is left/right, y is up/down and z is the button value
|
|
248
|
-
*/
|
|
249
|
-
getStick(key: StickName | "primary"): Vec3;
|
|
250
|
-
private readonly _buttonMap;
|
|
251
|
-
private _motioncontroller?;
|
|
252
|
-
private _layout;
|
|
253
|
-
private getMotionController;
|
|
254
|
-
private initialize;
|
|
255
|
-
/**
|
|
256
|
-
* When enabled the controller will automatically emit pointer down events to the Needle Engine Input System.
|
|
257
|
-
* @default true
|
|
258
|
-
*/
|
|
259
|
-
emitPointerDownEvent: boolean;
|
|
260
|
-
/**
|
|
261
|
-
* When enabled the controller will automatically emit pointer up events to the Needle Engine Input System.
|
|
262
|
-
* @default true
|
|
263
|
-
*/
|
|
264
|
-
emitPointerUpEvent: boolean;
|
|
265
|
-
/**
|
|
266
|
-
* When enabled the controller will automatically emit pointer move events to the Needle Engine Input System.
|
|
267
|
-
* @default true
|
|
268
|
-
*/
|
|
269
|
-
emitPointerMoveEvent: boolean;
|
|
270
|
-
/**
|
|
271
|
-
* The distance threshold for pointer move events. This value is in units in rig space
|
|
272
|
-
* @default 0.03
|
|
273
|
-
*/
|
|
274
|
-
pointerMoveDistanceThreshold: number;
|
|
275
|
-
/**
|
|
276
|
-
* The angle threshold for pointer move events. This value is in radians.
|
|
277
|
-
* @default 0.05
|
|
278
|
-
*/
|
|
279
|
-
pointerMoveAngleThreshold: number;
|
|
280
|
-
private subscribeEvents;
|
|
281
|
-
private unsubscribeEvents;
|
|
282
|
-
private _selectButtonIndex;
|
|
283
|
-
private _squeezeButtonIndex;
|
|
284
|
-
private onSelectStart;
|
|
285
|
-
private onSelectEnd;
|
|
286
|
-
private onSequeezeStart;
|
|
287
|
-
private onSequeezeEnd;
|
|
288
|
-
/** Index = button index */
|
|
289
|
-
private readonly states;
|
|
290
|
-
private updateInputEvents;
|
|
291
|
-
private _didMoveLastFrame;
|
|
292
|
-
private readonly _lastPointerMovePosition;
|
|
293
|
-
private readonly _lastPointerMoveQuaternion;
|
|
294
|
-
private onUpdateMove;
|
|
295
|
-
/** cached spatial pointer init object. We re-use it to not have */
|
|
296
|
-
private readonly pointerInit;
|
|
297
|
-
private emitPointerEvent;
|
|
298
|
-
}
|
|
299
|
-
/** Enhanced GamepadButton with `isDown` and `isUp` information */
|
|
300
|
-
declare class NeedleGamepadButton {
|
|
301
|
-
/** The index of the button in the input gamepad */
|
|
302
|
-
readonly index: number | undefined;
|
|
303
|
-
readonly name: string;
|
|
304
|
-
touched: boolean;
|
|
305
|
-
pressed: boolean;
|
|
306
|
-
value: number;
|
|
307
|
-
/** was the button just pressed down the last update */
|
|
308
|
-
isDown: boolean;
|
|
309
|
-
/** was the button just released the last update */
|
|
310
|
-
isUp: boolean;
|
|
311
|
-
constructor(index: number | undefined, name: string);
|
|
312
|
-
}
|
|
313
|
-
export {};
|
|
1
|
+
/// <reference types="webxr" />
|
|
2
|
+
import { Matrix4, Object3D, Quaternion, Ray, Vector3 } from "three";
|
|
3
|
+
import { Context } from "../engine_context.js";
|
|
4
|
+
import { IPointerHitEventReceiver } from "../engine_input.js";
|
|
5
|
+
import type { ButtonName, IGameObject, Vec3, XRControllerButtonName, XRGestureName } from "../engine_types.js";
|
|
6
|
+
import type { NeedleXRHitTestResult, NeedleXRSession } from "./NeedleXRSession.js";
|
|
7
|
+
/** true when selectstart was ever received.
|
|
8
|
+
* On VisionOS 1.1 we always have select events (as per the spec), so this is always true
|
|
9
|
+
*/
|
|
10
|
+
declare type ControllerAxes = "xr-standard-thumbstick";
|
|
11
|
+
declare type StickName = "xr-standard-thumbstick";
|
|
12
|
+
declare type Mapping = "xr-standard";
|
|
13
|
+
declare type ComponentType = "button" | "thumbstick" | "squeeze";
|
|
14
|
+
declare type GamepadKey = "button" | "xAxis" | "yAxis";
|
|
15
|
+
declare type NeedleXRControllerButtonName = ButtonName | "primary-button" | "primary";
|
|
16
|
+
declare type ComponentMap = {
|
|
17
|
+
type: ComponentType;
|
|
18
|
+
rootNodeName?: string;
|
|
19
|
+
gamepadIndices?: {
|
|
20
|
+
[key in GamepadKey]?: number;
|
|
21
|
+
};
|
|
22
|
+
visualResponses?: {
|
|
23
|
+
[key: string]: {
|
|
24
|
+
states: Array<string>;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
declare type InputDeviceLayout = {
|
|
29
|
+
selectComponentId: string;
|
|
30
|
+
components: {
|
|
31
|
+
[key: string]: ComponentMap;
|
|
32
|
+
};
|
|
33
|
+
mapping: Mapping;
|
|
34
|
+
gamepad: Array<XRControllerButtonName>;
|
|
35
|
+
axes: Array<{
|
|
36
|
+
componentId: ControllerAxes;
|
|
37
|
+
axis: "x-axis" | "y-axis";
|
|
38
|
+
}>;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* A NeedleXRController wraps a connected XRInputDevice that is either a physical controller or a hand
|
|
42
|
+
* You can access specific buttons using `getButton` and `getStick`
|
|
43
|
+
* To get spatial data in rig space (position, rotation) use the `gripPosition`, `gripQuaternion`, `rayPosition` and `rayQuaternion` properties
|
|
44
|
+
* To get spatial data in world space use the `gripWorldPosition`, `gripWorldQuaternion`, `rayWorldPosition` and `rayWorldQuaternion` properties
|
|
45
|
+
* Inputs will also be emitted as pointer events on `this.context.input` - so you can receive controller inputs on objects using the appropriate input events on your components (e.g. `onPointerDown`, `onPointerUp` etc) - use the `pointerType` property to check if the event is from a controller or not
|
|
46
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource
|
|
47
|
+
*/
|
|
48
|
+
export declare class NeedleXRController implements IPointerHitEventReceiver {
|
|
49
|
+
/** the Needle XR Session */
|
|
50
|
+
readonly xr: NeedleXRSession;
|
|
51
|
+
get context(): Context;
|
|
52
|
+
/**
|
|
53
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource
|
|
54
|
+
*/
|
|
55
|
+
readonly inputSource: XRInputSource;
|
|
56
|
+
/** the input source index */
|
|
57
|
+
readonly index: number;
|
|
58
|
+
/** When enabled the controller will create input events in the Needle Engine input system (e.g. when a button is pressed or the controller is moved)
|
|
59
|
+
* You can disable this if you don't want inputs to go through the input system but be aware that this will result in `onPointerDown` component callbacks to not be invoked anymore for this XRController
|
|
60
|
+
*/
|
|
61
|
+
emitEvents: boolean;
|
|
62
|
+
/** Is the controller still connected? */
|
|
63
|
+
get connected(): boolean;
|
|
64
|
+
private _connected;
|
|
65
|
+
get isTracking(): boolean;
|
|
66
|
+
private _isTracking;
|
|
67
|
+
/** the input source gamepad giving raw access to the gamepad values
|
|
68
|
+
* You should usually use the `getButton` and `getStick` methods instead to get access to named buttons and sticks
|
|
69
|
+
*/
|
|
70
|
+
get gamepad(): Gamepad | undefined;
|
|
71
|
+
private __gamepad?;
|
|
72
|
+
/** @returns true if this is a hand (otherwise this is a controller) */
|
|
73
|
+
get isHand(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* If this is a hand then this is the hand info (XRHand)
|
|
76
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRHand
|
|
77
|
+
*/
|
|
78
|
+
get hand(): XRHand | undefined;
|
|
79
|
+
private __hand?;
|
|
80
|
+
/** threejs XRHandSpace, shorthand for `context.renderer.xr.getHand(controllerIndex)`
|
|
81
|
+
* @link https://threejs.org/docs/#api/en/renderers/webxr/WebXRManager.getHand
|
|
82
|
+
*/
|
|
83
|
+
get handObject(): import("three").XRHandSpace;
|
|
84
|
+
/** The input source profiles */
|
|
85
|
+
get profiles(): string[];
|
|
86
|
+
/** The device input layout */
|
|
87
|
+
get layout(): InputDeviceLayout | undefined;
|
|
88
|
+
/** shorthand for `inputSource.targetRayMode` */
|
|
89
|
+
get targetRayMode(): (XRTargetRayMode | "transient-pointer");
|
|
90
|
+
/** shorthand for `inputSource.targetRaySpace` */
|
|
91
|
+
get targetRaySpace(): XRSpace;
|
|
92
|
+
/** shorthand for `inputSource.gripSpace` */
|
|
93
|
+
get gripSpace(): XRSpace | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* If the controller if held in the left or right hand (or if it's a left or right hand)
|
|
96
|
+
**/
|
|
97
|
+
get side(): XRHandedness;
|
|
98
|
+
private __side;
|
|
99
|
+
/** is right side. shorthand for `side === 'right'` */
|
|
100
|
+
get isRight(): boolean;
|
|
101
|
+
/** is left side. shorthand for `side === 'left'` */
|
|
102
|
+
get isLeft(): boolean;
|
|
103
|
+
/** is XR stylus, e.g. Logitech MX Ink */
|
|
104
|
+
get isStylus(): boolean;
|
|
105
|
+
/** The XRTransientInputHitTestSource can be used to perform hit tests with the controller ray against the real world.
|
|
106
|
+
* see https://developer.mozilla.org/en-US/docs/Web/API/XRSession/requestHitTestSourceForTransientInput for more information
|
|
107
|
+
* Requires the hit-test feature to be enabled in the XRSession
|
|
108
|
+
*
|
|
109
|
+
* NOTE: The hit test source should be cancelled once it's not needed anymore. Call `cancelHitTestSource` to do this
|
|
110
|
+
*/
|
|
111
|
+
getHitTestSource(): XRTransientInputHitTestSource | undefined;
|
|
112
|
+
get hasHitTestSource(): XRTransientInputHitTestSource | undefined;
|
|
113
|
+
/** Make sure to cancel the hittest source once it's not needed anymore */
|
|
114
|
+
cancelHitTestSource(): void;
|
|
115
|
+
private _hitTestSource;
|
|
116
|
+
private _hasSelectEvent;
|
|
117
|
+
get hasSelectEvent(): boolean;
|
|
118
|
+
private _isMxInk;
|
|
119
|
+
private _isMetaQuestTouchController;
|
|
120
|
+
/** Perform a hit test against the XR planes or meshes. shorthand for `xr.getHitTest(controller)`
|
|
121
|
+
* @returns the hit test result (with position and rotation in worldspace) or null if no hit was found
|
|
122
|
+
*/
|
|
123
|
+
getHitTest(): NeedleXRHitTestResult | null;
|
|
124
|
+
/** This is cleared at the beginning of each frame */
|
|
125
|
+
private readonly _handJointPoses;
|
|
126
|
+
/** Get the hand joint pose from the current XRFrame. Results are cached for a frame to avoid calling getJointPose multiple times */
|
|
127
|
+
getHandJointPose(joint: XRJointSpace, frame?: XRFrame): XRJointPose | null | undefined;
|
|
128
|
+
/** Grip matrix in grip space */
|
|
129
|
+
private readonly _gripMatrix;
|
|
130
|
+
/** Grip position in grip space */
|
|
131
|
+
private readonly _gripPosition;
|
|
132
|
+
/** Grip rotation in grip space */
|
|
133
|
+
private readonly _gripQuaternion;
|
|
134
|
+
private readonly _linearVelocity;
|
|
135
|
+
private readonly _rayPositionRaw;
|
|
136
|
+
private readonly _rayRotationRaw;
|
|
137
|
+
/** ray matrix in grip space */
|
|
138
|
+
private readonly _rayMatrix;
|
|
139
|
+
/** Ray position in rig space */
|
|
140
|
+
private readonly _rayPosition;
|
|
141
|
+
/** Ray rotation in rig space */
|
|
142
|
+
private readonly _rayQuaternion;
|
|
143
|
+
/** Grip position in rig space */
|
|
144
|
+
get gripPosition(): Vector3;
|
|
145
|
+
/** Grip rotation in rig space */
|
|
146
|
+
get gripQuaternion(): Quaternion;
|
|
147
|
+
get gripMatrix(): Matrix4;
|
|
148
|
+
/** Grip linear velocity in rig space
|
|
149
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRPose/linearVelocity
|
|
150
|
+
*/
|
|
151
|
+
get gripLinearVelocity(): Vector3;
|
|
152
|
+
/** Ray position in rig space */
|
|
153
|
+
get rayPosition(): Vector3;
|
|
154
|
+
/** Ray rotation in rig space */
|
|
155
|
+
get rayQuaternion(): Quaternion;
|
|
156
|
+
/** Controller grip position in worldspace */
|
|
157
|
+
get gripWorldPosition(): Vector3;
|
|
158
|
+
private readonly _gripWorldPosition;
|
|
159
|
+
/** Controller grip rotation in wordspace */
|
|
160
|
+
get gripWorldQuaternion(): Quaternion;
|
|
161
|
+
private readonly _gripWorldQuaternion;
|
|
162
|
+
/** Controller ray position in worldspace (this value is calculated once per frame by default - call `updateRayWorldPosition` to force an update) */
|
|
163
|
+
get rayWorldPosition(): Vector3;
|
|
164
|
+
private readonly _rayWorldPosition;
|
|
165
|
+
/** Recalculates the ray world position */
|
|
166
|
+
updateRayWorldPosition(): void;
|
|
167
|
+
/** Controller ray rotation in wordspace (this value is calculated once per frame by default - call `updateRayWorldQuaternion` to force an update) */
|
|
168
|
+
get rayWorldQuaternion(): Quaternion;
|
|
169
|
+
private readonly _rayWorldQuaternion;
|
|
170
|
+
get pinchPosition(): Vector3;
|
|
171
|
+
private readonly _pinchPosition;
|
|
172
|
+
/** Recalculates the ray world quaternion */
|
|
173
|
+
updateRayWorldQuaternion(): void;
|
|
174
|
+
/** The controller ray in worldspace */
|
|
175
|
+
get ray(): Ray;
|
|
176
|
+
private readonly _ray;
|
|
177
|
+
/** Recalculated once per update */
|
|
178
|
+
private _hand_wristDotUp;
|
|
179
|
+
/**
|
|
180
|
+
* The dot product of the hand palm with the up vector.
|
|
181
|
+
* This is a number between -1 and 1, where 1 means the palm is directly up and -1 means the palm is directly down (upside down).
|
|
182
|
+
* This value is undefined if there's no hand
|
|
183
|
+
*/
|
|
184
|
+
get handWristDotUp(): number | undefined;
|
|
185
|
+
/**
|
|
186
|
+
* @returns true if the hand is upside down
|
|
187
|
+
*/
|
|
188
|
+
get isHandUpsideDown(): boolean;
|
|
189
|
+
/**
|
|
190
|
+
* @returns true if the hand is upside down and we got a pinch down event this frame.
|
|
191
|
+
*/
|
|
192
|
+
get isTeleportGesture(): boolean | undefined;
|
|
193
|
+
/** The controller object space.
|
|
194
|
+
* You can use it to attach objects to the controller.
|
|
195
|
+
* Children will be automatically detached and put into the scene when the controller disconnects
|
|
196
|
+
*/
|
|
197
|
+
get object(): IGameObject;
|
|
198
|
+
private readonly _object;
|
|
199
|
+
private readonly _gripSpaceObject?;
|
|
200
|
+
private readonly _raySpaceObject?;
|
|
201
|
+
/** Assigned the model that you use for rendering. This can be used as a hint for other components */
|
|
202
|
+
model: Object3D | null;
|
|
203
|
+
private readonly _debugAxesHelper;
|
|
204
|
+
private readonly _debugGripAxesHelper;
|
|
205
|
+
private readonly _debugRayAxesHelper;
|
|
206
|
+
/** returns the URL of the default controller model */
|
|
207
|
+
getModelUrl(): Promise<string | null>;
|
|
208
|
+
constructor(session: NeedleXRSession, device: XRInputSource, index: number);
|
|
209
|
+
private _hitTestSourcePromise;
|
|
210
|
+
private _requestHitTestSource;
|
|
211
|
+
onPointerHits: (_evt: any) => void;
|
|
212
|
+
onUpdate(frame: XRFrame): void;
|
|
213
|
+
onRenderDebug(): void;
|
|
214
|
+
private onUpdateFrame;
|
|
215
|
+
/** Called when the input source disconnects */
|
|
216
|
+
onDisconnected(): void;
|
|
217
|
+
/**
|
|
218
|
+
* Get a gamepad button
|
|
219
|
+
* @link https://github.com/immersive-web/webxr-gamepads-module/blob/main/gamepads-module-explainer.md
|
|
220
|
+
* @param key the controller button name e.g. x-button
|
|
221
|
+
* @returns the gamepad button if it exists on the controller - otherwise undefined
|
|
222
|
+
*/
|
|
223
|
+
getButton(key: NeedleXRControllerButtonName): NeedleGamepadButton | undefined | null;
|
|
224
|
+
/** Get a gesture state */
|
|
225
|
+
getGesture(key: XRGestureName): NeedleGamepadButton | null;
|
|
226
|
+
/**
|
|
227
|
+
* Get the pointer id for a specific button of this input device.
|
|
228
|
+
* This is useful if you want to check if a button (e.g. trigger) is currently being in use which can be queried on the inputsystem.
|
|
229
|
+
* @returns the pointer id for the button or undefined if the button is not supported
|
|
230
|
+
* @example
|
|
231
|
+
* ```ts
|
|
232
|
+
* const pointerId = controller.getPointerId("primary");
|
|
233
|
+
* if (pointerId !== undefined) {
|
|
234
|
+
* const isUsed = this.context.input.getPointerUsed(pointerId);
|
|
235
|
+
* console.log(controller.side, "used?", isUsed);
|
|
236
|
+
* }
|
|
237
|
+
* ```
|
|
238
|
+
*/
|
|
239
|
+
getPointerId(button: number): number;
|
|
240
|
+
getPointerId(button: NeedleXRControllerButtonName | XRGestureName): number | undefined;
|
|
241
|
+
private readonly _needleGamepadButtons;
|
|
242
|
+
/** combine the InputState information + the GamepadButton information (since GamepadButtons can not be extended) */
|
|
243
|
+
private toNeedleGamepadButton;
|
|
244
|
+
/**
|
|
245
|
+
* Get the values of a controller joystick
|
|
246
|
+
* @link https://github.com/immersive-web/webxr-gamepads-module/blob/main/gamepads-module-explainer.md
|
|
247
|
+
* @returns the stick values where x is left/right, y is up/down and z is the button value
|
|
248
|
+
*/
|
|
249
|
+
getStick(key: StickName | "primary"): Vec3;
|
|
250
|
+
private readonly _buttonMap;
|
|
251
|
+
private _motioncontroller?;
|
|
252
|
+
private _layout;
|
|
253
|
+
private getMotionController;
|
|
254
|
+
private initialize;
|
|
255
|
+
/**
|
|
256
|
+
* When enabled the controller will automatically emit pointer down events to the Needle Engine Input System.
|
|
257
|
+
* @default true
|
|
258
|
+
*/
|
|
259
|
+
emitPointerDownEvent: boolean;
|
|
260
|
+
/**
|
|
261
|
+
* When enabled the controller will automatically emit pointer up events to the Needle Engine Input System.
|
|
262
|
+
* @default true
|
|
263
|
+
*/
|
|
264
|
+
emitPointerUpEvent: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* When enabled the controller will automatically emit pointer move events to the Needle Engine Input System.
|
|
267
|
+
* @default true
|
|
268
|
+
*/
|
|
269
|
+
emitPointerMoveEvent: boolean;
|
|
270
|
+
/**
|
|
271
|
+
* The distance threshold for pointer move events. This value is in units in rig space
|
|
272
|
+
* @default 0.03
|
|
273
|
+
*/
|
|
274
|
+
pointerMoveDistanceThreshold: number;
|
|
275
|
+
/**
|
|
276
|
+
* The angle threshold for pointer move events. This value is in radians.
|
|
277
|
+
* @default 0.05
|
|
278
|
+
*/
|
|
279
|
+
pointerMoveAngleThreshold: number;
|
|
280
|
+
private subscribeEvents;
|
|
281
|
+
private unsubscribeEvents;
|
|
282
|
+
private _selectButtonIndex;
|
|
283
|
+
private _squeezeButtonIndex;
|
|
284
|
+
private onSelectStart;
|
|
285
|
+
private onSelectEnd;
|
|
286
|
+
private onSequeezeStart;
|
|
287
|
+
private onSequeezeEnd;
|
|
288
|
+
/** Index = button index */
|
|
289
|
+
private readonly states;
|
|
290
|
+
private updateInputEvents;
|
|
291
|
+
private _didMoveLastFrame;
|
|
292
|
+
private readonly _lastPointerMovePosition;
|
|
293
|
+
private readonly _lastPointerMoveQuaternion;
|
|
294
|
+
private onUpdateMove;
|
|
295
|
+
/** cached spatial pointer init object. We re-use it to not have */
|
|
296
|
+
private readonly pointerInit;
|
|
297
|
+
private emitPointerEvent;
|
|
298
|
+
}
|
|
299
|
+
/** Enhanced GamepadButton with `isDown` and `isUp` information */
|
|
300
|
+
declare class NeedleGamepadButton {
|
|
301
|
+
/** The index of the button in the input gamepad */
|
|
302
|
+
readonly index: number | undefined;
|
|
303
|
+
readonly name: string;
|
|
304
|
+
touched: boolean;
|
|
305
|
+
pressed: boolean;
|
|
306
|
+
value: number;
|
|
307
|
+
/** was the button just pressed down the last update */
|
|
308
|
+
isDown: boolean;
|
|
309
|
+
/** was the button just released the last update */
|
|
310
|
+
isUp: boolean;
|
|
311
|
+
constructor(index: number | undefined, name: string);
|
|
312
|
+
}
|
|
313
|
+
export {};
|