@needle-tools/engine 4.7.0-alpha → 4.7.0-next.da47826
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3768 -3768
- package/LICENSE.md +10 -10
- package/README.md +64 -64
- package/components.needle.json +1 -1
- package/dist/generateMeshBVH.worker-BaNp_Xtp.js +25 -0
- package/dist/{gltf-progressive-Bm9eEfgu.min.js → gltf-progressive-Bl4okF1b.min.js} +1 -1
- package/dist/{gltf-progressive-GjIqwSG3.js → gltf-progressive-DSpdn0QT.js} +2 -2
- package/dist/{gltf-progressive-Dn6o99rH.umd.cjs → gltf-progressive-P8b8a0qY.umd.cjs} +1 -1
- package/dist/{needle-engine.bundle-CK8cQ3FX.umd.cjs → needle-engine.bundle-Bu88IoKB.umd.cjs} +57 -57
- package/dist/{needle-engine.bundle-CXtflnL6.js → needle-engine.bundle-CO1Ub9sm.js} +638 -638
- package/dist/{needle-engine.bundle-BEUFTdl6.min.js → needle-engine.bundle-D95XN5pP.min.js} +62 -62
- package/dist/needle-engine.d.ts +130 -129
- package/dist/needle-engine.js +4 -4
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-8AQTeZsr.umd.cjs → postprocessing-CjW23fio.umd.cjs} +2 -2
- package/dist/{postprocessing-BkxN_08g.js → postprocessing-DYLNOL3W.js} +3 -3
- package/dist/{postprocessing-BDScN9yu.min.js → postprocessing-xYQWCHFu.min.js} +2 -2
- package/dist/{three-DMrv-4ar.umd.cjs → three-B_hneGZr.umd.cjs} +4 -4
- package/dist/{three-Bz6X1mrw.js → three-DrqIzZTH.js} +4198 -4198
- package/dist/{three-Boa-jOq-.min.js → three-DuDKwKB8.min.js} +33 -33
- package/dist/{three-examples-GggCDHv0.js → three-examples-B50TT3Iu.js} +5 -5
- package/dist/{three-examples-DuVhxqft.min.js → three-examples-DaDLBuy6.min.js} +14 -14
- package/dist/{three-examples-C7ryg8vN.umd.cjs → three-examples-X3OadjXB.umd.cjs} +3 -3
- package/dist/{three-mesh-ui-CY6Izc7C.min.js → three-mesh-ui-B3p3gyUz.min.js} +1 -1
- package/dist/{three-mesh-ui-CwlN0FUC.umd.cjs → three-mesh-ui-CQiIQIlA.umd.cjs} +1 -1
- package/dist/{three-mesh-ui-CLNOfsWn.js → three-mesh-ui-CxuWt7m-.js} +1 -1
- package/dist/{vendor-zxXa3Dmr.min.js → vendor-BlSxe9JJ.min.js} +3 -3
- package/dist/{vendor-BSD1RQIh.js → vendor-BmYIgaS1.js} +3 -3
- package/dist/{vendor-DHr4aqIZ.umd.cjs → vendor-Cavtu3CP.umd.cjs} +3 -3
- package/lib/asap/needle-asap.d.ts +1 -1
- package/lib/asap/needle-asap.js +95 -95
- package/lib/asap/sessiongranted.d.ts +3 -3
- package/lib/asap/sessiongranted.js +65 -65
- package/lib/asap/utils.d.ts +1 -1
- package/lib/asap/utils.js +3 -3
- package/lib/engine/analytics/index.d.ts +6 -6
- package/lib/engine/analytics/index.js +12 -12
- package/lib/engine/analytics/lcp.d.ts +3 -3
- package/lib/engine/analytics/lcp.js +34 -34
- package/lib/engine/api.d.ts +82 -82
- package/lib/engine/api.js +81 -81
- package/lib/engine/assets/index.d.ts +11 -11
- package/lib/engine/assets/index.js +47 -47
- package/lib/engine/assets/static.d.ts +1 -1
- package/lib/engine/assets/static.js +4 -4
- package/lib/engine/codegen/register_types.d.ts +1 -1
- package/lib/engine/codegen/register_types.js +300 -300
- package/lib/engine/debug/debug.d.ts +15 -15
- package/lib/engine/debug/debug.js +44 -44
- package/lib/engine/debug/debug_console.d.ts +2 -2
- package/lib/engine/debug/debug_console.js +307 -307
- package/lib/engine/debug/debug_overlay.d.ts +22 -22
- package/lib/engine/debug/debug_overlay.js +316 -316
- package/lib/engine/debug/debug_spatial_console.d.ts +2 -2
- package/lib/engine/debug/debug_spatial_console.js +390 -390
- package/lib/engine/debug/index.d.ts +2 -2
- package/lib/engine/debug/index.js +2 -2
- package/lib/engine/engine_addressables.d.ts +166 -166
- package/lib/engine/engine_addressables.js +608 -608
- package/lib/engine/engine_animation.d.ts +43 -43
- package/lib/engine/engine_animation.js +133 -133
- package/lib/engine/engine_application.d.ts +45 -45
- package/lib/engine/engine_application.js +104 -104
- package/lib/engine/engine_assetdatabase.d.ts +25 -25
- package/lib/engine/engine_assetdatabase.js +346 -346
- package/lib/engine/engine_audio.d.ts +4 -4
- package/lib/engine/engine_audio.js +23 -23
- package/lib/engine/engine_camera.d.ts +13 -13
- package/lib/engine/engine_camera.js +30 -30
- package/lib/engine/engine_components.d.ts +110 -110
- package/lib/engine/engine_components.js +374 -374
- package/lib/engine/engine_components_internal.d.ts +9 -9
- package/lib/engine/engine_components_internal.js +36 -36
- package/lib/engine/engine_constants.d.ts +10 -10
- package/lib/engine/engine_constants.js +41 -41
- package/lib/engine/engine_context.d.ts +475 -475
- package/lib/engine/engine_context.js +1672 -1672
- package/lib/engine/engine_context_registry.d.ts +71 -71
- package/lib/engine/engine_context_registry.js +117 -117
- package/lib/engine/engine_coroutine.d.ts +35 -35
- package/lib/engine/engine_coroutine.js +52 -52
- package/lib/engine/engine_create_objects.d.ts +119 -119
- package/lib/engine/engine_create_objects.js +320 -320
- package/lib/engine/engine_default_parameters.d.ts +2 -2
- package/lib/engine/engine_default_parameters.js +3 -3
- package/lib/engine/engine_editor-sync.d.ts +21 -21
- package/lib/engine/engine_editor-sync.js +4 -4
- package/lib/engine/engine_fileloader.d.ts +2 -2
- package/lib/engine/engine_fileloader.js +8 -8
- package/lib/engine/engine_gameobject.d.ts +68 -68
- package/lib/engine/engine_gameobject.js +619 -619
- package/lib/engine/engine_generic_utils.d.ts +1 -1
- package/lib/engine/engine_generic_utils.js +13 -13
- package/lib/engine/engine_gizmos.d.ts +149 -149
- package/lib/engine/engine_gizmos.js +530 -530
- package/lib/engine/engine_gltf.d.ts +12 -12
- package/lib/engine/engine_gltf.js +15 -15
- package/lib/engine/engine_gltf_builtin_components.d.ts +11 -11
- package/lib/engine/engine_gltf_builtin_components.js +341 -341
- package/lib/engine/engine_hot_reload.d.ts +8 -8
- package/lib/engine/engine_hot_reload.js +197 -197
- package/lib/engine/engine_input.d.ts +362 -362
- package/lib/engine/engine_input.js +1294 -1294
- package/lib/engine/engine_input_utils.d.ts +2 -2
- package/lib/engine/engine_input_utils.js +22 -22
- package/lib/engine/engine_instancing.d.ts +19 -19
- package/lib/engine/engine_instancing.js +39 -39
- package/lib/engine/engine_license.d.ts +11 -11
- package/lib/engine/engine_license.js +369 -369
- package/lib/engine/engine_lifecycle_api.d.ts +83 -83
- package/lib/engine/engine_lifecycle_api.js +106 -106
- package/lib/engine/engine_lifecycle_functions_internal.d.ts +32 -32
- package/lib/engine/engine_lifecycle_functions_internal.js +146 -146
- package/lib/engine/engine_lightdata.d.ts +23 -23
- package/lib/engine/engine_lightdata.js +91 -91
- package/lib/engine/engine_loaders.callbacks.d.ts +97 -97
- package/lib/engine/engine_loaders.callbacks.js +86 -86
- package/lib/engine/engine_loaders.d.ts +48 -48
- package/lib/engine/engine_loaders.gltf.d.ts +13 -13
- package/lib/engine/engine_loaders.gltf.js +62 -62
- package/lib/engine/engine_loaders.js +337 -337
- package/lib/engine/engine_lods.d.ts +31 -31
- package/lib/engine/engine_lods.js +146 -146
- package/lib/engine/engine_mainloop_utils.d.ts +32 -32
- package/lib/engine/engine_mainloop_utils.js +466 -466
- package/lib/engine/engine_math.d.ts +114 -114
- package/lib/engine/engine_math.js +247 -247
- package/lib/engine/engine_modules.d.ts +36 -36
- package/lib/engine/engine_modules.js +85 -85
- package/lib/engine/engine_networking.d.ts +260 -260
- package/lib/engine/engine_networking.js +764 -764
- package/lib/engine/engine_networking_auto.d.ts +24 -24
- package/lib/engine/engine_networking_auto.js +310 -310
- package/lib/engine/engine_networking_blob.d.ts +48 -48
- package/lib/engine/engine_networking_blob.js +228 -228
- package/lib/engine/engine_networking_files.d.ts +35 -35
- package/lib/engine/engine_networking_files.js +172 -172
- package/lib/engine/engine_networking_files_default_components.d.ts +6 -6
- package/lib/engine/engine_networking_files_default_components.js +42 -42
- package/lib/engine/engine_networking_instantiate.d.ts +100 -100
- package/lib/engine/engine_networking_instantiate.js +345 -345
- package/lib/engine/engine_networking_peer.d.ts +15 -15
- package/lib/engine/engine_networking_peer.js +132 -132
- package/lib/engine/engine_networking_streams.d.ts +123 -123
- package/lib/engine/engine_networking_streams.js +645 -645
- package/lib/engine/engine_networking_types.d.ts +22 -22
- package/lib/engine/engine_networking_types.js +7 -7
- package/lib/engine/engine_networking_utils.d.ts +2 -2
- package/lib/engine/engine_networking_utils.js +20 -20
- package/lib/engine/engine_networking_websocket.d.ts +1 -1
- package/lib/engine/engine_networking_websocket.js +2 -2
- package/lib/engine/engine_patcher.d.ts +10 -10
- package/lib/engine/engine_patcher.js +142 -142
- package/lib/engine/engine_physics.d.ts +152 -152
- package/lib/engine/engine_physics.js +645 -645
- package/lib/engine/engine_physics.types.d.ts +40 -40
- package/lib/engine/engine_physics.types.js +33 -33
- package/lib/engine/engine_physics_rapier.d.ts +147 -147
- package/lib/engine/engine_physics_rapier.js +1433 -1433
- package/lib/engine/engine_playerview.d.ts +26 -26
- package/lib/engine/engine_playerview.js +64 -64
- package/lib/engine/engine_scenelighting.d.ts +71 -71
- package/lib/engine/engine_scenelighting.js +226 -226
- package/lib/engine/engine_serialization.d.ts +3 -3
- package/lib/engine/engine_serialization.js +3 -3
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +72 -72
- package/lib/engine/engine_serialization_builtin_serializer.js +403 -403
- package/lib/engine/engine_serialization_core.d.ts +94 -94
- package/lib/engine/engine_serialization_core.js +607 -607
- package/lib/engine/engine_serialization_decorator.d.ts +23 -23
- package/lib/engine/engine_serialization_decorator.js +66 -66
- package/lib/engine/engine_setup.d.ts +1 -1
- package/lib/engine/engine_setup.js +2 -2
- package/lib/engine/engine_shaders.d.ts +53 -53
- package/lib/engine/engine_shaders.js +252 -252
- package/lib/engine/engine_shims.d.ts +4 -4
- package/lib/engine/engine_shims.js +24 -24
- package/lib/engine/engine_test_utils.d.ts +39 -39
- package/lib/engine/engine_test_utils.js +83 -83
- package/lib/engine/engine_texture.d.ts +28 -28
- package/lib/engine/engine_texture.js +64 -64
- package/lib/engine/engine_three_utils.d.ts +204 -204
- package/lib/engine/engine_three_utils.js +784 -784
- package/lib/engine/engine_time.d.ts +51 -51
- package/lib/engine/engine_time.js +82 -82
- package/lib/engine/engine_time_utils.d.ts +88 -88
- package/lib/engine/engine_time_utils.js +215 -215
- package/lib/engine/engine_tonemapping.d.ts +6 -6
- package/lib/engine/engine_tonemapping.js +197 -197
- package/lib/engine/engine_types.d.ts +578 -578
- package/lib/engine/engine_types.js +95 -95
- package/lib/engine/engine_typestore.d.ts +28 -28
- package/lib/engine/engine_typestore.js +55 -55
- package/lib/engine/engine_util_decorator.d.ts +13 -13
- package/lib/engine/engine_util_decorator.js +116 -116
- package/lib/engine/engine_utils.d.ts +248 -248
- package/lib/engine/engine_utils.js +1012 -1012
- package/lib/engine/engine_utils_format.d.ts +24 -24
- package/lib/engine/engine_utils_format.js +239 -239
- package/lib/engine/engine_utils_screenshot.d.ts +159 -159
- package/lib/engine/engine_utils_screenshot.js +522 -522
- package/lib/engine/engine_utils_screenshot.xr.d.ts +5 -5
- package/lib/engine/engine_utils_screenshot.xr.js +90 -90
- package/lib/engine/engine_xr.d.ts +1 -1
- package/lib/engine/engine_xr.js +1 -1
- package/lib/engine/export/gltf/Writers.d.ts +19 -19
- package/lib/engine/export/gltf/Writers.js +24 -24
- package/lib/engine/export/gltf/index.d.ts +11 -11
- package/lib/engine/export/gltf/index.js +123 -123
- package/lib/engine/export/index.d.ts +2 -2
- package/lib/engine/export/index.js +2 -2
- package/lib/engine/export/state.d.ts +7 -7
- package/lib/engine/export/state.js +17 -17
- package/lib/engine/export/utils.d.ts +2 -2
- package/lib/engine/export/utils.js +7 -7
- package/lib/engine/extensions/EXT_texture_exr.d.ts +8 -8
- package/lib/engine/extensions/EXT_texture_exr.js +32 -32
- package/lib/engine/extensions/NEEDLE_animator_controller_model.d.ts +122 -122
- package/lib/engine/extensions/NEEDLE_animator_controller_model.js +95 -95
- package/lib/engine/extensions/NEEDLE_components.d.ts +35 -35
- package/lib/engine/extensions/NEEDLE_components.js +220 -220
- package/lib/engine/extensions/NEEDLE_gameobject_data.d.ts +10 -10
- package/lib/engine/extensions/NEEDLE_gameobject_data.js +57 -57
- package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +37 -37
- package/lib/engine/extensions/NEEDLE_lighting_settings.js +157 -157
- package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +18 -18
- package/lib/engine/extensions/NEEDLE_lightmaps.js +99 -99
- package/lib/engine/extensions/NEEDLE_persistent_assets.d.ts +11 -11
- package/lib/engine/extensions/NEEDLE_persistent_assets.js +63 -63
- package/lib/engine/extensions/NEEDLE_progressive.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_progressive.js +1 -1
- package/lib/engine/extensions/NEEDLE_render_objects.d.ts +13 -13
- package/lib/engine/extensions/NEEDLE_render_objects.js +159 -159
- package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +38 -38
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +564 -564
- package/lib/engine/extensions/extension_resolver.d.ts +4 -4
- package/lib/engine/extensions/extension_resolver.js +1 -1
- package/lib/engine/extensions/extension_utils.d.ts +12 -12
- package/lib/engine/extensions/extension_utils.js +152 -152
- package/lib/engine/extensions/extensions.d.ts +32 -32
- package/lib/engine/extensions/extensions.js +107 -107
- package/lib/engine/extensions/index.d.ts +6 -6
- package/lib/engine/extensions/index.js +6 -6
- package/lib/engine/extensions/usage_tracker.d.ts +13 -13
- package/lib/engine/extensions/usage_tracker.js +65 -65
- package/lib/engine/js-extensions/Camera.d.ts +1 -1
- package/lib/engine/js-extensions/Camera.js +39 -39
- package/lib/engine/js-extensions/ExtensionUtils.d.ts +9 -9
- package/lib/engine/js-extensions/ExtensionUtils.js +67 -67
- package/lib/engine/js-extensions/Layers.d.ts +6 -6
- package/lib/engine/js-extensions/Layers.js +22 -22
- package/lib/engine/js-extensions/Object3D.d.ts +120 -120
- package/lib/engine/js-extensions/Object3D.js +136 -136
- package/lib/engine/js-extensions/RGBAColor.d.ts +23 -23
- package/lib/engine/js-extensions/RGBAColor.js +111 -111
- package/lib/engine/js-extensions/Vector.d.ts +3 -3
- package/lib/engine/js-extensions/Vector.js +13 -13
- package/lib/engine/js-extensions/index.d.ts +5 -5
- package/lib/engine/js-extensions/index.js +5 -5
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.d.ts +4 -4
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +79 -79
- package/lib/engine/shaders/shaderData.d.ts +55 -55
- package/lib/engine/shaders/shaderData.js +58 -58
- package/lib/engine/tests/test_utils.d.ts +2 -2
- package/lib/engine/tests/test_utils.js +53 -53
- package/lib/engine/webcomponents/WebXRButtons.d.ts +56 -56
- package/lib/engine/webcomponents/WebXRButtons.js +230 -230
- package/lib/engine/webcomponents/api.d.ts +5 -5
- package/lib/engine/webcomponents/api.js +4 -4
- package/lib/engine/webcomponents/buttons.d.ts +51 -51
- package/lib/engine/webcomponents/buttons.js +264 -264
- package/lib/engine/webcomponents/fonts.d.ts +9 -9
- package/lib/engine/webcomponents/fonts.js +32 -32
- package/lib/engine/webcomponents/icons.d.ts +9 -9
- package/lib/engine/webcomponents/icons.js +52 -52
- package/lib/engine/webcomponents/index.d.ts +1 -1
- package/lib/engine/webcomponents/index.js +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +10 -10
- package/lib/engine/webcomponents/logo-element.js +67 -67
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.d.ts +37 -37
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +513 -513
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +155 -155
- package/lib/engine/webcomponents/needle menu/needle-menu.js +1029 -1029
- package/lib/engine/webcomponents/needle-button.d.ts +34 -34
- package/lib/engine/webcomponents/needle-button.js +161 -161
- package/lib/engine/webcomponents/needle-engine.ar-overlay.d.ts +21 -21
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +166 -166
- package/lib/engine/webcomponents/needle-engine.attributes.d.ts +69 -69
- package/lib/engine/webcomponents/needle-engine.attributes.js +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +116 -116
- package/lib/engine/webcomponents/needle-engine.extras.d.ts +6 -6
- package/lib/engine/webcomponents/needle-engine.extras.js +13 -13
- package/lib/engine/webcomponents/needle-engine.js +821 -821
- package/lib/engine/webcomponents/needle-engine.loading.d.ts +44 -44
- package/lib/engine/webcomponents/needle-engine.loading.js +341 -341
- package/lib/engine/xr/NeedleXRController.d.ts +313 -313
- package/lib/engine/xr/NeedleXRController.js +1007 -1007
- package/lib/engine/xr/NeedleXRSession.d.ts +340 -340
- package/lib/engine/xr/NeedleXRSession.js +1463 -1463
- package/lib/engine/xr/NeedleXRSync.d.ts +22 -22
- package/lib/engine/xr/NeedleXRSync.js +188 -188
- package/lib/engine/xr/SceneTransition.d.ts +18 -18
- package/lib/engine/xr/SceneTransition.js +69 -69
- package/lib/engine/xr/TempXRContext.d.ts +34 -34
- package/lib/engine/xr/TempXRContext.js +187 -187
- package/lib/engine/xr/XRRig.d.ts +7 -7
- package/lib/engine/xr/XRRig.js +1 -1
- package/lib/engine/xr/api.d.ts +6 -6
- package/lib/engine/xr/api.js +6 -6
- package/lib/engine/xr/events.d.ts +66 -66
- package/lib/engine/xr/events.js +93 -93
- package/lib/engine/xr/internal.d.ts +12 -12
- package/lib/engine/xr/internal.js +25 -25
- package/lib/engine/xr/usdz.d.ts +12 -12
- package/lib/engine/xr/usdz.js +29 -29
- package/lib/engine/xr/utils.d.ts +11 -11
- package/lib/engine/xr/utils.js +34 -34
- package/lib/engine-components/AlignmentConstraint.d.ts +10 -10
- package/lib/engine-components/AlignmentConstraint.js +39 -39
- package/lib/engine-components/Animation.d.ts +156 -156
- package/lib/engine-components/Animation.js +508 -508
- package/lib/engine-components/AnimationCurve.d.ts +40 -40
- package/lib/engine-components/AnimationCurve.js +159 -159
- package/lib/engine-components/AnimationUtils.d.ts +8 -8
- package/lib/engine-components/AnimationUtils.js +27 -27
- package/lib/engine-components/AnimationUtilsAutoplay.d.ts +1 -1
- package/lib/engine-components/AnimationUtilsAutoplay.js +39 -39
- package/lib/engine-components/Animator.d.ts +217 -217
- package/lib/engine-components/Animator.js +354 -354
- package/lib/engine-components/AnimatorController.d.ts +227 -227
- package/lib/engine-components/AnimatorController.js +1152 -1152
- package/lib/engine-components/AudioListener.d.ts +33 -33
- package/lib/engine-components/AudioListener.js +86 -86
- package/lib/engine-components/AudioSource.d.ts +217 -217
- package/lib/engine-components/AudioSource.js +635 -635
- package/lib/engine-components/AvatarLoader.d.ts +80 -80
- package/lib/engine-components/AvatarLoader.js +231 -231
- package/lib/engine-components/AxesHelper.d.ts +32 -32
- package/lib/engine-components/AxesHelper.js +67 -67
- package/lib/engine-components/BasicIKConstraint.d.ts +9 -9
- package/lib/engine-components/BasicIKConstraint.js +43 -43
- package/lib/engine-components/BoxCollider.d.ts +2 -2
- package/lib/engine-components/BoxCollider.js +2 -2
- package/lib/engine-components/BoxHelperComponent.d.ts +47 -47
- package/lib/engine-components/BoxHelperComponent.js +102 -102
- package/lib/engine-components/Camera.d.ts +231 -231
- package/lib/engine-components/Camera.js +700 -700
- package/lib/engine-components/CameraUtils.d.ts +1 -1
- package/lib/engine-components/CameraUtils.js +121 -121
- package/lib/engine-components/CharacterController.d.ts +55 -55
- package/lib/engine-components/CharacterController.js +236 -236
- package/lib/engine-components/Collider.d.ts +188 -188
- package/lib/engine-components/Collider.js +369 -369
- package/lib/engine-components/Component.d.ts +792 -792
- package/lib/engine-components/Component.js +920 -920
- package/lib/engine-components/ContactShadows.d.ts +94 -94
- package/lib/engine-components/ContactShadows.js +453 -453
- package/lib/engine-components/DeleteBox.d.ts +19 -19
- package/lib/engine-components/DeleteBox.js +58 -58
- package/lib/engine-components/DeviceFlag.d.ts +16 -16
- package/lib/engine-components/DeviceFlag.js +47 -47
- package/lib/engine-components/DragControls.d.ts +170 -170
- package/lib/engine-components/DragControls.js +1421 -1421
- package/lib/engine-components/DropListener.d.ts +215 -215
- package/lib/engine-components/DropListener.js +642 -642
- package/lib/engine-components/Duplicatable.d.ts +35 -35
- package/lib/engine-components/Duplicatable.js +202 -202
- package/lib/engine-components/EventList.d.ts +54 -54
- package/lib/engine-components/EventList.js +232 -232
- package/lib/engine-components/EventTrigger.d.ts +33 -33
- package/lib/engine-components/EventTrigger.js +75 -75
- package/lib/engine-components/EventType.d.ts +22 -22
- package/lib/engine-components/EventType.js +23 -23
- package/lib/engine-components/Fog.d.ts +22 -22
- package/lib/engine-components/Fog.js +61 -61
- package/lib/engine-components/Gizmos.d.ts +17 -17
- package/lib/engine-components/Gizmos.js +64 -64
- package/lib/engine-components/GridHelper.d.ts +20 -20
- package/lib/engine-components/GridHelper.js +54 -54
- package/lib/engine-components/GroundProjection.d.ts +67 -67
- package/lib/engine-components/GroundProjection.js +343 -343
- package/lib/engine-components/Interactable.d.ts +12 -12
- package/lib/engine-components/Interactable.js +12 -12
- package/lib/engine-components/Joints.d.ts +19 -19
- package/lib/engine-components/Joints.js +51 -51
- package/lib/engine-components/LODGroup.d.ts +35 -35
- package/lib/engine-components/LODGroup.js +152 -152
- package/lib/engine-components/Light.d.ts +180 -180
- package/lib/engine-components/Light.js +535 -535
- package/lib/engine-components/LookAtConstraint.d.ts +19 -19
- package/lib/engine-components/LookAtConstraint.js +35 -35
- package/lib/engine-components/NeedleMenu.d.ts +50 -50
- package/lib/engine-components/NeedleMenu.js +92 -92
- package/lib/engine-components/NestedGltf.d.ts +25 -25
- package/lib/engine-components/NestedGltf.js +88 -88
- package/lib/engine-components/Networking.d.ts +54 -54
- package/lib/engine-components/Networking.js +112 -112
- package/lib/engine-components/OffsetConstraint.d.ts +14 -14
- package/lib/engine-components/OffsetConstraint.js +65 -65
- package/lib/engine-components/OrbitControls.d.ts +268 -268
- package/lib/engine-components/OrbitControls.js +1015 -1015
- package/lib/engine-components/PlayerColor.d.ts +19 -19
- package/lib/engine-components/PlayerColor.js +94 -94
- package/lib/engine-components/ReflectionProbe.d.ts +28 -28
- package/lib/engine-components/ReflectionProbe.js +204 -204
- package/lib/engine-components/Renderer.d.ts +153 -153
- package/lib/engine-components/Renderer.js +834 -834
- package/lib/engine-components/RendererInstancing.d.ts +140 -140
- package/lib/engine-components/RendererInstancing.js +744 -744
- package/lib/engine-components/RendererLightmap.d.ts +24 -24
- package/lib/engine-components/RendererLightmap.js +182 -182
- package/lib/engine-components/RigidBody.d.ts +155 -155
- package/lib/engine-components/RigidBody.js +517 -517
- package/lib/engine-components/SceneSwitcher.d.ts +263 -263
- package/lib/engine-components/SceneSwitcher.js +971 -971
- package/lib/engine-components/ScreenCapture.d.ts +144 -144
- package/lib/engine-components/ScreenCapture.js +547 -547
- package/lib/engine-components/ShadowCatcher.d.ts +33 -33
- package/lib/engine-components/ShadowCatcher.js +166 -166
- package/lib/engine-components/Skybox.d.ts +88 -88
- package/lib/engine-components/Skybox.js +469 -469
- package/lib/engine-components/SmoothFollow.d.ts +34 -34
- package/lib/engine-components/SmoothFollow.js +82 -82
- package/lib/engine-components/SpatialTrigger.d.ts +102 -102
- package/lib/engine-components/SpatialTrigger.js +225 -225
- package/lib/engine-components/SpectatorCamera.d.ts +111 -111
- package/lib/engine-components/SpectatorCamera.js +715 -715
- package/lib/engine-components/SphereCollider.d.ts +2 -2
- package/lib/engine-components/SphereCollider.js +2 -2
- package/lib/engine-components/SpriteRenderer.d.ts +132 -132
- package/lib/engine-components/SpriteRenderer.js +472 -472
- package/lib/engine-components/SyncedCamera.d.ts +41 -41
- package/lib/engine-components/SyncedCamera.js +199 -199
- package/lib/engine-components/SyncedRoom.d.ts +106 -106
- package/lib/engine-components/SyncedRoom.js +371 -371
- package/lib/engine-components/SyncedTransform.d.ts +94 -94
- package/lib/engine-components/SyncedTransform.js +331 -331
- package/lib/engine-components/TestRunner.d.ts +16 -16
- package/lib/engine-components/TestRunner.js +102 -102
- package/lib/engine-components/TransformGizmo.d.ts +75 -75
- package/lib/engine-components/TransformGizmo.js +209 -209
- package/lib/engine-components/VideoPlayer.d.ts +184 -184
- package/lib/engine-components/VideoPlayer.js +978 -978
- package/lib/engine-components/Voip.d.ts +67 -67
- package/lib/engine-components/Voip.js +360 -360
- package/lib/engine-components/api.d.ts +51 -51
- package/lib/engine-components/api.js +50 -50
- package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +11 -11
- package/lib/engine-components/avatar/AvatarBlink_Simple.js +76 -76
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +14 -14
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +68 -68
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +29 -29
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +121 -121
- package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +15 -15
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +79 -79
- package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +9 -9
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +29 -29
- package/lib/engine-components/codegen/components.d.ts +216 -216
- package/lib/engine-components/codegen/components.js +218 -218
- package/lib/engine-components/debug/LogStats.d.ts +5 -5
- package/lib/engine-components/debug/LogStats.js +18 -18
- package/lib/engine-components/export/gltf/GltfExport.d.ts +30 -30
- package/lib/engine-components/export/gltf/GltfExport.js +246 -246
- package/lib/engine-components/export/gltf/index.d.ts +1 -1
- package/lib/engine-components/export/gltf/index.js +1 -1
- package/lib/engine-components/export/index.d.ts +1 -1
- package/lib/engine-components/export/index.js +1 -1
- package/lib/engine-components/export/usdz/Extension.d.ts +22 -22
- package/lib/engine-components/export/usdz/Extension.js +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +162 -162
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +1789 -1789
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +130 -130
- package/lib/engine-components/export/usdz/USDZExporter.js +663 -663
- package/lib/engine-components/export/usdz/extensions/Animation.d.ts +106 -106
- package/lib/engine-components/export/usdz/extensions/Animation.js +1071 -1071
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -5
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +6 -6
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.js +451 -451
- package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +54 -54
- package/lib/engine-components/export/usdz/extensions/USDZText.js +203 -203
- package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -8
- package/lib/engine-components/export/usdz/extensions/USDZUI.js +158 -158
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -30
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +88 -88
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js +86 -86
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +28 -28
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +290 -290
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +190 -190
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +1060 -1060
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +135 -135
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +548 -548
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.d.ts +7 -7
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +115 -115
- package/lib/engine-components/export/usdz/index.d.ts +3 -3
- package/lib/engine-components/export/usdz/index.js +2 -2
- package/lib/engine-components/export/usdz/utils/animationutils.d.ts +7 -7
- package/lib/engine-components/export/usdz/utils/animationutils.js +163 -163
- package/lib/engine-components/export/usdz/utils/quicklook.d.ts +2 -2
- package/lib/engine-components/export/usdz/utils/quicklook.js +43 -43
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +177 -177
- package/lib/engine-components/particlesystem/ParticleSystem.js +1176 -1176
- package/lib/engine-components/particlesystem/ParticleSystemModules.d.ts +526 -526
- package/lib/engine-components/particlesystem/ParticleSystemModules.js +1930 -1930
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.d.ts +25 -25
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.js +87 -87
- package/lib/engine-components/particlesystem/api.d.ts +2 -2
- package/lib/engine-components/particlesystem/api.js +2 -2
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +52 -52
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +46 -46
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +113 -113
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -39
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +23 -23
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +111 -111
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +25 -25
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +104 -104
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +12 -12
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +18 -18
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +32 -32
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +91 -91
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +70 -70
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +176 -176
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +127 -127
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +70 -70
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +19 -19
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +94 -94
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +13 -13
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.js +51 -51
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +15 -15
- package/lib/engine-components/postprocessing/Effects/Vignette.js +60 -60
- package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +90 -90
- package/lib/engine-components/postprocessing/PostProcessingEffect.js +168 -168
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +42 -42
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +480 -480
- package/lib/engine-components/postprocessing/Volume.d.ts +90 -90
- package/lib/engine-components/postprocessing/Volume.js +385 -385
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +26 -26
- package/lib/engine-components/postprocessing/VolumeParameter.js +136 -136
- package/lib/engine-components/postprocessing/VolumeProfile.d.ts +15 -15
- package/lib/engine-components/postprocessing/VolumeProfile.js +60 -60
- package/lib/engine-components/postprocessing/index.d.ts +6 -6
- package/lib/engine-components/postprocessing/index.js +6 -6
- package/lib/engine-components/postprocessing/utils.d.ts +55 -55
- package/lib/engine-components/postprocessing/utils.js +119 -119
- package/lib/engine-components/timeline/PlayableDirector.d.ts +163 -163
- package/lib/engine-components/timeline/PlayableDirector.js +686 -686
- package/lib/engine-components/timeline/SignalAsset.d.ts +24 -24
- package/lib/engine-components/timeline/SignalAsset.js +130 -130
- package/lib/engine-components/timeline/TimelineModels.d.ts +89 -89
- package/lib/engine-components/timeline/TimelineModels.js +22 -22
- package/lib/engine-components/timeline/TimelineTracks.d.ts +110 -110
- package/lib/engine-components/timeline/TimelineTracks.js +879 -879
- package/lib/engine-components/timeline/index.d.ts +4 -4
- package/lib/engine-components/timeline/index.js +3 -3
- package/lib/engine-components/ui/BaseUIComponent.d.ts +48 -48
- package/lib/engine-components/ui/BaseUIComponent.js +170 -170
- package/lib/engine-components/ui/Button.d.ts +64 -64
- package/lib/engine-components/ui/Button.js +315 -315
- package/lib/engine-components/ui/Canvas.d.ts +74 -74
- package/lib/engine-components/ui/Canvas.js +407 -407
- package/lib/engine-components/ui/CanvasGroup.d.ts +19 -19
- package/lib/engine-components/ui/CanvasGroup.js +58 -58
- package/lib/engine-components/ui/EventSystem.d.ts +125 -125
- package/lib/engine-components/ui/EventSystem.js +765 -765
- package/lib/engine-components/ui/Graphic.d.ts +55 -55
- package/lib/engine-components/ui/Graphic.js +255 -255
- package/lib/engine-components/ui/Image.d.ts +35 -35
- package/lib/engine-components/ui/Image.js +116 -116
- package/lib/engine-components/ui/InputField.d.ts +42 -42
- package/lib/engine-components/ui/InputField.js +268 -268
- package/lib/engine-components/ui/Interfaces.d.ts +38 -38
- package/lib/engine-components/ui/Interfaces.js +12 -12
- package/lib/engine-components/ui/Layout.d.ts +84 -84
- package/lib/engine-components/ui/Layout.js +330 -330
- package/lib/engine-components/ui/Outline.d.ts +7 -7
- package/lib/engine-components/ui/Outline.js +20 -20
- package/lib/engine-components/ui/PointerEvents.d.ts +115 -115
- package/lib/engine-components/ui/PointerEvents.js +145 -145
- package/lib/engine-components/ui/RaycastUtils.d.ts +11 -11
- package/lib/engine-components/ui/RaycastUtils.js +67 -67
- package/lib/engine-components/ui/Raycaster.d.ts +30 -30
- package/lib/engine-components/ui/Raycaster.js +95 -95
- package/lib/engine-components/ui/RectTransform.d.ts +61 -61
- package/lib/engine-components/ui/RectTransform.js +356 -356
- package/lib/engine-components/ui/SpatialHtml.d.ts +8 -8
- package/lib/engine-components/ui/SpatialHtml.js +79 -79
- package/lib/engine-components/ui/Symbols.d.ts +1 -1
- package/lib/engine-components/ui/Symbols.js +1 -1
- package/lib/engine-components/ui/Text.d.ts +78 -78
- package/lib/engine-components/ui/Text.js +539 -539
- package/lib/engine-components/ui/Utils.d.ts +24 -24
- package/lib/engine-components/ui/Utils.js +90 -90
- package/lib/engine-components/ui/index.d.ts +1 -1
- package/lib/engine-components/ui/index.js +1 -1
- package/lib/engine-components/utils/EnvironmentScene.d.ts +5 -5
- package/lib/engine-components/utils/EnvironmentScene.js +205 -205
- package/lib/engine-components/utils/LookAt.d.ts +31 -31
- package/lib/engine-components/utils/LookAt.js +82 -82
- package/lib/engine-components/utils/OpenURL.d.ts +42 -42
- package/lib/engine-components/utils/OpenURL.js +119 -119
- package/lib/engine-components/webxr/Avatar.d.ts +25 -25
- package/lib/engine-components/webxr/Avatar.js +255 -255
- package/lib/engine-components/webxr/TeleportTarget.d.ts +7 -7
- package/lib/engine-components/webxr/TeleportTarget.js +7 -7
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +30 -30
- package/lib/engine-components/webxr/WebARCameraBackground.js +155 -155
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +98 -98
- package/lib/engine-components/webxr/WebARSessionRoot.js +770 -770
- package/lib/engine-components/webxr/WebXR.d.ts +232 -232
- package/lib/engine-components/webxr/WebXR.js +561 -561
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +27 -27
- package/lib/engine-components/webxr/WebXRAvatar.js +44 -44
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +86 -86
- package/lib/engine-components/webxr/WebXRImageTracking.js +471 -471
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +92 -92
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +500 -500
- package/lib/engine-components/webxr/WebXRRig.d.ts +32 -32
- package/lib/engine-components/webxr/WebXRRig.js +72 -72
- package/lib/engine-components/webxr/XRFlag.d.ts +38 -38
- package/lib/engine-components/webxr/XRFlag.js +139 -139
- package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +47 -47
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js +120 -120
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +43 -43
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +352 -352
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +78 -78
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +506 -506
- package/lib/engine-components/webxr/index.d.ts +3 -3
- package/lib/engine-components/webxr/index.js +3 -3
- package/lib/engine-components/webxr/types.d.ts +3 -3
- package/lib/engine-components/webxr/types.js +1 -1
- package/lib/engine-components-experimental/Presentation.d.ts +6 -6
- package/lib/engine-components-experimental/Presentation.js +9 -9
- package/lib/engine-components-experimental/api.d.ts +4 -4
- package/lib/engine-components-experimental/api.js +4 -4
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +156 -156
- package/lib/engine-components-experimental/networking/PlayerSync.js +377 -377
- package/lib/engine-schemes/api.d.ts +12 -12
- package/lib/engine-schemes/api.js +12 -12
- package/lib/engine-schemes/schemes.d.ts +7 -7
- package/lib/engine-schemes/schemes.js +19 -19
- package/lib/engine-schemes/synced-camera-model.d.ts +25 -25
- package/lib/engine-schemes/synced-camera-model.js +67 -67
- package/lib/engine-schemes/synced-transform-model.d.ts +31 -31
- package/lib/engine-schemes/synced-transform-model.js +66 -66
- package/lib/engine-schemes/transform.d.ts +12 -12
- package/lib/engine-schemes/transform.js +39 -39
- package/lib/engine-schemes/vec2.d.ts +10 -10
- package/lib/engine-schemes/vec2.js +25 -25
- package/lib/engine-schemes/vec3.d.ts +11 -11
- package/lib/engine-schemes/vec3.js +29 -29
- package/lib/engine-schemes/vec4.d.ts +12 -12
- package/lib/engine-schemes/vec4.js +33 -33
- package/lib/engine-schemes/vr-user-state-buffer.d.ts +37 -37
- package/lib/engine-schemes/vr-user-state-buffer.js +110 -110
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.d.ts +6 -6
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js +45 -45
- package/lib/needle-engine.d.ts +7 -7
- package/lib/needle-engine.js +64 -64
- package/package.json +2 -2
- package/plugins/common/buildinfo.js +64 -64
- package/plugins/common/cloud.js +1 -1
- package/plugins/common/config.cjs +31 -31
- package/plugins/common/config.js +35 -35
- package/plugins/common/files.js +31 -31
- package/plugins/common/generator.js +10 -10
- package/plugins/common/license.js +452 -452
- package/plugins/common/npm.js +15 -15
- package/plugins/common/timers.js +7 -7
- package/plugins/common/version.js +37 -37
- package/plugins/gltf-packer.mjs +1 -1
- package/plugins/next/alias.cjs +39 -39
- package/plugins/next/license.cjs +24 -24
- package/plugins/next/meshbvhworker.cjs +18 -18
- package/plugins/next/next.js +141 -141
- package/plugins/types/index.d.ts +2 -2
- package/plugins/types/license.d.ts +24 -24
- package/plugins/types/needleConfig.d.ts +27 -27
- package/plugins/types/next.d.ts +2 -2
- package/plugins/types/userconfig.d.ts +120 -120
- package/plugins/types/vite.d.ts +13 -13
- package/plugins/types/webmanifest.d.ts +32 -32
- package/plugins/vite/alias.js +174 -174
- package/plugins/vite/asap.js +251 -251
- package/plugins/vite/build-pipeline.js +371 -371
- package/plugins/vite/build.js +19 -19
- package/plugins/vite/buildinfo.js +41 -41
- package/plugins/vite/config.js +106 -106
- package/plugins/vite/copyfiles.js +138 -138
- package/plugins/vite/defines.js +70 -70
- package/plugins/vite/dependencies.js +232 -232
- package/plugins/vite/dependency-watcher.js +237 -237
- package/plugins/vite/drop-client.js +76 -76
- package/plugins/vite/drop.js +87 -87
- package/plugins/vite/editor-connection.js +124 -124
- package/plugins/vite/facebook-instant-games.js +102 -102
- package/plugins/vite/gzip.js +5 -5
- package/plugins/vite/imports-logger.js +143 -143
- package/plugins/vite/index.js +143 -143
- package/plugins/vite/license.js +56 -56
- package/plugins/vite/local-files.js +440 -440
- package/plugins/vite/meta.js +163 -163
- package/plugins/vite/npm.js +7 -7
- package/plugins/vite/peer.js +29 -29
- package/plugins/vite/poster-client.js +73 -73
- package/plugins/vite/poster.js +79 -79
- package/plugins/vite/pwa.js +604 -604
- package/plugins/vite/reload-client.js +15 -15
- package/plugins/vite/reload.js +351 -351
- package/plugins/vite/server.js +66 -66
- package/plugins/vite/transform-codegen.js +55 -55
- package/plugins/vite/transform.js +31 -31
- package/plugins/vite/vite-4.4-hack.js +31 -31
- package/src/asap/needle-asap.ts +111 -111
- package/src/asap/sessiongranted.ts +75 -75
- package/src/asap/utils.ts +4 -4
- package/src/engine/analytics/index.ts +10 -10
- package/src/engine/analytics/lcp.ts +35 -35
- package/src/engine/api.ts +82 -82
- package/src/engine/assets/index.ts +59 -59
- package/src/engine/assets/static.js +5 -5
- package/src/engine/codegen/register_types.ts +300 -300
- package/src/engine/debug/debug.ts +51 -51
- package/src/engine/debug/debug_console.ts +333 -333
- package/src/engine/debug/debug_overlay.ts +332 -332
- package/src/engine/debug/debug_spatial_console.ts +429 -429
- package/src/engine/debug/index.ts +1 -1
- package/src/engine/engine_addressables.ts +680 -680
- package/src/engine/engine_animation.ts +145 -145
- package/src/engine/engine_application.ts +113 -113
- package/src/engine/engine_assetdatabase.ts +389 -389
- package/src/engine/engine_audio.ts +24 -24
- package/src/engine/engine_camera.ts +39 -39
- package/src/engine/engine_components.ts +366 -366
- package/src/engine/engine_components_internal.ts +40 -40
- package/src/engine/engine_constants.ts +52 -52
- package/src/engine/engine_context.ts +1823 -1823
- package/src/engine/engine_context_registry.ts +129 -129
- package/src/engine/engine_coroutine.ts +54 -54
- package/src/engine/engine_create_objects.ts +411 -411
- package/src/engine/engine_default_parameters.ts +3 -3
- package/src/engine/engine_editor-sync.ts +28 -28
- package/src/engine/engine_fileloader.js +9 -9
- package/src/engine/engine_gameobject.ts +712 -712
- package/src/engine/engine_generic_utils.js +13 -13
- package/src/engine/engine_gizmos.ts +577 -577
- package/src/engine/engine_gltf.ts +29 -29
- package/src/engine/engine_gltf_builtin_components.ts +403 -403
- package/src/engine/engine_hot_reload.ts +210 -210
- package/src/engine/engine_input.ts +1500 -1500
- package/src/engine/engine_input_utils.ts +23 -23
- package/src/engine/engine_instancing.ts +45 -45
- package/src/engine/engine_license.ts +386 -386
- package/src/engine/engine_lifecycle_api.ts +113 -113
- package/src/engine/engine_lifecycle_functions_internal.ts +193 -193
- package/src/engine/engine_lightdata.ts +117 -117
- package/src/engine/engine_loaders.callbacks.ts +136 -136
- package/src/engine/engine_loaders.gltf.ts +82 -82
- package/src/engine/engine_loaders.ts +378 -378
- package/src/engine/engine_lods.ts +168 -168
- package/src/engine/engine_mainloop_utils.ts +472 -472
- package/src/engine/engine_math.ts +282 -282
- package/src/engine/engine_modules.ts +83 -83
- package/src/engine/engine_networking.ts +862 -862
- package/src/engine/engine_networking_auto.ts +352 -352
- package/src/engine/engine_networking_blob.ts +275 -275
- package/src/engine/engine_networking_files.ts +217 -217
- package/src/engine/engine_networking_files_default_components.ts +58 -58
- package/src/engine/engine_networking_instantiate.ts +419 -419
- package/src/engine/engine_networking_peer.ts +159 -159
- package/src/engine/engine_networking_streams.ts +713 -713
- package/src/engine/engine_networking_types.ts +24 -24
- package/src/engine/engine_networking_utils.ts +23 -23
- package/src/engine/engine_networking_websocket.ts +2 -2
- package/src/engine/engine_patcher.ts +199 -199
- package/src/engine/engine_physics.ts +783 -783
- package/src/engine/engine_physics.types.ts +46 -46
- package/src/engine/engine_physics_rapier.ts +1577 -1577
- package/src/engine/engine_playerview.ts +80 -80
- package/src/engine/engine_scenelighting.ts +294 -294
- package/src/engine/engine_serialization.ts +2 -2
- package/src/engine/engine_serialization_builtin_serializer.ts +473 -473
- package/src/engine/engine_serialization_core.ts +720 -720
- package/src/engine/engine_serialization_decorator.ts +80 -80
- package/src/engine/engine_setup.ts +1 -1
- package/src/engine/engine_shaders.ts +267 -267
- package/src/engine/engine_shims.ts +32 -32
- package/src/engine/engine_test_utils.ts +109 -109
- package/src/engine/engine_texture.ts +82 -82
- package/src/engine/engine_three_utils.ts +925 -925
- package/src/engine/engine_time.ts +94 -94
- package/src/engine/engine_time_utils.ts +237 -237
- package/src/engine/engine_tonemapping.ts +208 -208
- package/src/engine/engine_types.ts +730 -730
- package/src/engine/engine_typestore.ts +63 -63
- package/src/engine/engine_util_decorator.ts +136 -136
- package/src/engine/engine_utils.ts +1115 -1115
- package/src/engine/engine_utils_format.ts +273 -273
- package/src/engine/engine_utils_screenshot.ts +708 -708
- package/src/engine/engine_utils_screenshot.xr.ts +103 -103
- package/src/engine/export/gltf/Writers.ts +34 -34
- package/src/engine/export/gltf/index.ts +158 -158
- package/src/engine/export/index.ts +2 -2
- package/src/engine/export/state.ts +19 -19
- package/src/engine/export/utils.ts +9 -9
- package/src/engine/extensions/EXT_texture_exr.ts +50 -50
- package/src/engine/extensions/NEEDLE_animator_controller_model.ts +195 -195
- package/src/engine/extensions/NEEDLE_components.ts +268 -268
- package/src/engine/extensions/NEEDLE_gameobject_data.ts +81 -81
- package/src/engine/extensions/NEEDLE_lighting_settings.ts +185 -185
- package/src/engine/extensions/NEEDLE_lightmaps.ts +119 -119
- package/src/engine/extensions/NEEDLE_persistent_assets.ts +76 -76
- package/src/engine/extensions/NEEDLE_render_objects.ts +209 -209
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +640 -640
- package/src/engine/extensions/extension_resolver.ts +4 -4
- package/src/engine/extensions/extension_utils.ts +166 -166
- package/src/engine/extensions/extensions.ts +140 -140
- package/src/engine/extensions/index.ts +5 -5
- package/src/engine/extensions/usage_tracker.ts +100 -100
- package/src/engine/js-extensions/Camera.ts +37 -37
- package/src/engine/js-extensions/ExtensionUtils.ts +85 -85
- package/src/engine/js-extensions/Layers.ts +23 -23
- package/src/engine/js-extensions/Object3D.ts +296 -296
- package/src/engine/js-extensions/RGBAColor.ts +126 -126
- package/src/engine/js-extensions/Vector.ts +18 -18
- package/src/engine/js-extensions/index.ts +4 -4
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +125 -125
- package/src/engine/shaders/shaderData.ts +67 -67
- package/src/engine/tests/test_utils.ts +63 -63
- package/src/engine/webcomponents/WebXRButtons.ts +260 -260
- package/src/engine/webcomponents/api.ts +6 -6
- package/src/engine/webcomponents/buttons.ts +292 -292
- package/src/engine/webcomponents/fonts.ts +41 -41
- package/src/engine/webcomponents/icons.ts +57 -57
- package/src/engine/webcomponents/index.ts +1 -1
- package/src/engine/webcomponents/logo-element.ts +78 -78
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +573 -573
- package/src/engine/webcomponents/needle menu/needle-menu.ts +1118 -1118
- package/src/engine/webcomponents/needle-button.ts +181 -181
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +186 -186
- package/src/engine/webcomponents/needle-engine.attributes.ts +82 -82
- package/src/engine/webcomponents/needle-engine.extras.ts +16 -16
- package/src/engine/webcomponents/needle-engine.loading.ts +373 -373
- package/src/engine/webcomponents/needle-engine.ts +860 -860
- package/src/engine/xr/NeedleXRController.ts +1125 -1125
- package/src/engine/xr/NeedleXRSession.ts +1624 -1624
- package/src/engine/xr/NeedleXRSync.ts +220 -220
- package/src/engine/xr/SceneTransition.ts +78 -78
- package/src/engine/xr/TempXRContext.ts +216 -216
- package/src/engine/xr/XRRig.ts +9 -9
- package/src/engine/xr/api.ts +5 -5
- package/src/engine/xr/events.ts +102 -102
- package/src/engine/xr/internal.ts +34 -34
- package/src/engine/xr/usdz.ts +30 -30
- package/src/engine/xr/utils.ts +39 -39
- package/src/engine-components/AlignmentConstraint.ts +36 -36
- package/src/engine-components/Animation.ts +557 -557
- package/src/engine-components/AnimationCurve.ts +150 -150
- package/src/engine-components/AnimationUtils.ts +28 -28
- package/src/engine-components/AnimationUtilsAutoplay.ts +43 -43
- package/src/engine-components/Animator.ts +397 -397
- package/src/engine-components/AnimatorController.ts +1293 -1293
- package/src/engine-components/AudioListener.ts +92 -92
- package/src/engine-components/AudioSource.ts +644 -644
- package/src/engine-components/AvatarLoader.ts +263 -263
- package/src/engine-components/AxesHelper.ts +59 -59
- package/src/engine-components/BasicIKConstraint.ts +54 -54
- package/src/engine-components/BoxCollider.ts +1 -1
- package/src/engine-components/BoxHelperComponent.ts +114 -114
- package/src/engine-components/Camera.ts +719 -719
- package/src/engine-components/CameraUtils.ts +136 -136
- package/src/engine-components/CharacterController.ts +253 -253
- package/src/engine-components/Collider.ts +374 -374
- package/src/engine-components/Component.ts +1297 -1297
- package/src/engine-components/ContactShadows.ts +506 -506
- package/src/engine-components/DeleteBox.ts +62 -62
- package/src/engine-components/DeviceFlag.ts +46 -46
- package/src/engine-components/DragControls.ts +1623 -1623
- package/src/engine-components/DropListener.ts +713 -713
- package/src/engine-components/Duplicatable.ts +198 -198
- package/src/engine-components/EventList.ts +266 -266
- package/src/engine-components/EventTrigger.ts +74 -74
- package/src/engine-components/EventType.ts +22 -22
- package/src/engine-components/Fog.ts +60 -60
- package/src/engine-components/Gizmos.ts +56 -56
- package/src/engine-components/GridHelper.ts +48 -48
- package/src/engine-components/GroundProjection.ts +356 -356
- package/src/engine-components/Interactable.ts +14 -14
- package/src/engine-components/Joints.ts +52 -52
- package/src/engine-components/LODGroup.ts +153 -153
- package/src/engine-components/Light.ts +558 -558
- package/src/engine-components/LookAtConstraint.ts +25 -25
- package/src/engine-components/NeedleMenu.ts +84 -84
- package/src/engine-components/NestedGltf.ts +86 -86
- package/src/engine-components/Networking.ts +114 -114
- package/src/engine-components/OffsetConstraint.ts +60 -60
- package/src/engine-components/OrbitControls.ts +1074 -1074
- package/src/engine-components/PlayerColor.ts +103 -103
- package/src/engine-components/ReflectionProbe.ts +220 -220
- package/src/engine-components/Renderer.ts +903 -903
- package/src/engine-components/RendererInstancing.ts +855 -855
- package/src/engine-components/RendererLightmap.ts +198 -198
- package/src/engine-components/RigidBody.ts +526 -526
- package/src/engine-components/SceneSwitcher.ts +1030 -1030
- package/src/engine-components/ScreenCapture.ts +592 -592
- package/src/engine-components/ShadowCatcher.ts +172 -172
- package/src/engine-components/Skybox.ts +475 -475
- package/src/engine-components/SmoothFollow.ts +76 -76
- package/src/engine-components/SpatialTrigger.ts +229 -229
- package/src/engine-components/SpectatorCamera.ts +787 -787
- package/src/engine-components/SphereCollider.ts +1 -1
- package/src/engine-components/SpriteRenderer.ts +468 -468
- package/src/engine-components/SyncedCamera.ts +220 -220
- package/src/engine-components/SyncedRoom.ts +380 -380
- package/src/engine-components/SyncedTransform.ts +383 -383
- package/src/engine-components/TestRunner.ts +118 -118
- package/src/engine-components/TransformGizmo.ts +219 -219
- package/src/engine-components/VideoPlayer.ts +1025 -1025
- package/src/engine-components/Voip.ts +363 -363
- package/src/engine-components/api.ts +60 -60
- package/src/engine-components/avatar/AvatarBlink_Simple.ts +69 -69
- package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +63 -63
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +139 -139
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +83 -83
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +31 -31
- package/src/engine-components/codegen/components.ts +217 -217
- package/src/engine-components/debug/LogStats.ts +21 -21
- package/src/engine-components/export/gltf/GltfExport.ts +265 -265
- package/src/engine-components/export/usdz/Extension.ts +24 -24
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2426 -2426
- package/src/engine-components/export/usdz/USDZExporter.ts +705 -705
- package/src/engine-components/export/usdz/extensions/Animation.ts +1204 -1204
- package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +9 -9
- package/src/engine-components/export/usdz/extensions/NodeMaterialConverter.ts +532 -532
- package/src/engine-components/export/usdz/extensions/USDZText.ts +240 -240
- package/src/engine-components/export/usdz/extensions/USDZUI.ts +189 -189
- package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -99
- package/src/engine-components/export/usdz/extensions/behavior/AudioExtension.ts +102 -102
- package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +320 -320
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1225 -1225
- package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +646 -646
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +132 -132
- package/src/engine-components/export/usdz/index.ts +2 -2
- package/src/engine-components/export/usdz/utils/animationutils.ts +191 -191
- package/src/engine-components/export/usdz/utils/quicklook.ts +50 -50
- package/src/engine-components/particlesystem/ParticleSystem.ts +1287 -1287
- package/src/engine-components/particlesystem/ParticleSystemModules.ts +1765 -1765
- package/src/engine-components/particlesystem/ParticleSystemSubEmitter.ts +111 -111
- package/src/engine-components/particlesystem/api.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +57 -57
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +116 -116
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +37 -37
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +106 -106
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +103 -103
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +25 -25
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +32 -32
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +90 -90
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +192 -192
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +143 -143
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +61 -61
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +103 -103
- package/src/engine-components/postprocessing/Effects/Tonemapping.utils.ts +60 -60
- package/src/engine-components/postprocessing/Effects/Vignette.ts +59 -59
- package/src/engine-components/postprocessing/PostProcessingEffect.ts +192 -192
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +560 -560
- package/src/engine-components/postprocessing/Volume.ts +426 -426
- package/src/engine-components/postprocessing/VolumeParameter.ts +158 -158
- package/src/engine-components/postprocessing/VolumeProfile.ts +61 -61
- package/src/engine-components/postprocessing/index.ts +5 -5
- package/src/engine-components/postprocessing/utils.ts +154 -154
- package/src/engine-components/timeline/PlayableDirector.ts +722 -722
- package/src/engine-components/timeline/SignalAsset.ts +144 -144
- package/src/engine-components/timeline/TimelineModels.ts +92 -92
- package/src/engine-components/timeline/TimelineTracks.ts +967 -967
- package/src/engine-components/timeline/index.ts +3 -3
- package/src/engine-components/ui/BaseUIComponent.ts +203 -203
- package/src/engine-components/ui/Button.ts +307 -307
- package/src/engine-components/ui/Canvas.ts +419 -419
- package/src/engine-components/ui/CanvasGroup.ts +54 -54
- package/src/engine-components/ui/EventSystem.ts +854 -854
- package/src/engine-components/ui/Graphic.ts +275 -275
- package/src/engine-components/ui/Image.ts +112 -112
- package/src/engine-components/ui/InputField.ts +321 -321
- package/src/engine-components/ui/Interfaces.ts +57 -57
- package/src/engine-components/ui/Layout.ts +334 -334
- package/src/engine-components/ui/Outline.ts +13 -13
- package/src/engine-components/ui/PointerEvents.ts +206 -206
- package/src/engine-components/ui/RaycastUtils.ts +69 -69
- package/src/engine-components/ui/Raycaster.ts +102 -102
- package/src/engine-components/ui/RectTransform.ts +375 -375
- package/src/engine-components/ui/SpatialHtml.ts +79 -79
- package/src/engine-components/ui/Symbols.ts +1 -1
- package/src/engine-components/ui/Text.ts +578 -578
- package/src/engine-components/ui/Utils.ts +113 -113
- package/src/engine-components/utils/EnvironmentScene.ts +245 -245
- package/src/engine-components/utils/LookAt.ts +88 -88
- package/src/engine-components/utils/OpenURL.ts +114 -114
- package/src/engine-components/webxr/Avatar.ts +265 -265
- package/src/engine-components/webxr/TeleportTarget.ts +9 -9
- package/src/engine-components/webxr/WebARCameraBackground.ts +175 -175
- package/src/engine-components/webxr/WebARSessionRoot.ts +880 -880
- package/src/engine-components/webxr/WebXR.ts +585 -585
- package/src/engine-components/webxr/WebXRAvatar.ts +66 -66
- package/src/engine-components/webxr/WebXRImageTracking.ts +519 -519
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +570 -570
- package/src/engine-components/webxr/WebXRRig.ts +77 -77
- package/src/engine-components/webxr/XRFlag.ts +147 -147
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +118 -118
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +373 -373
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +550 -550
- package/src/engine-components/webxr/index.ts +2 -2
- package/src/engine-components/webxr/types.ts +3 -3
- package/src/engine-components-experimental/Presentation.ts +12 -12
- package/src/engine-components-experimental/api.ts +4 -4
- package/src/engine-components-experimental/networking/PlayerSync.ts +401 -401
- package/src/engine-schemes/COMPILE_SCHEMES.bat +3 -3
- package/src/engine-schemes/COMPILE_TS.bat +11 -11
- package/src/engine-schemes/README.md +1 -1
- package/src/engine-schemes/api.ts +12 -12
- package/src/engine-schemes/schemes.ts +28 -28
- package/src/engine-schemes/synced-camera-model.ts +92 -92
- package/src/engine-schemes/synced-transform-model.ts +90 -90
- package/src/engine-schemes/syncedCamera.fbs +10 -10
- package/src/engine-schemes/transform.ts +50 -50
- package/src/engine-schemes/transforms.fbs +25 -25
- package/src/engine-schemes/vec.fbs +19 -19
- package/src/engine-schemes/vec2.ts +33 -33
- package/src/engine-schemes/vec3.ts +38 -38
- package/src/engine-schemes/vec4.ts +43 -43
- package/src/engine-schemes/vr-user-state-buffer.ts +145 -145
- package/src/engine-schemes/vrUserStateBuffer.fbs +17 -17
- package/src/include/draco/draco_decoder.js +34 -34
- package/src/include/ktx2/basis_transcoder.js +21 -21
- package/src/include/needle/arial-msdf.json +1471 -1471
- package/src/include/three/DragControls.js +231 -231
- package/src/include/three/EXT_mesh_gpu_instancing_exporter.js +66 -66
- package/src/needle-engine.ts +70 -70
- package/dist/generateMeshBVH.worker-Cdfpaq5W.js +0 -25
- package/src/engine-schemes/dist/api.js +0 -17
- package/src/engine-schemes/dist/api.js.meta +0 -7
- package/src/engine-schemes/dist/schemes.js +0 -25
- package/src/engine-schemes/dist/schemes.js.meta +0 -7
- package/src/engine-schemes/dist/synced-camera-model.js +0 -74
- package/src/engine-schemes/dist/synced-camera-model.js.meta +0 -7
- package/src/engine-schemes/dist/synced-transform-model.js +0 -73
- package/src/engine-schemes/dist/synced-transform-model.js.meta +0 -7
- package/src/engine-schemes/dist/transform.js +0 -46
- package/src/engine-schemes/dist/transform.js.meta +0 -7
- package/src/engine-schemes/dist/vec2.js +0 -32
- package/src/engine-schemes/dist/vec2.js.meta +0 -7
- package/src/engine-schemes/dist/vec3.js +0 -36
- package/src/engine-schemes/dist/vec3.js.meta +0 -7
- package/src/engine-schemes/dist/vec4.js +0 -40
- package/src/engine-schemes/dist/vec4.js.meta +0 -7
- package/src/engine-schemes/dist/vr-user-state-buffer.js +0 -110
- package/src/engine-schemes/dist/vr-user-state-buffer.js.meta +0 -7
|
@@ -1,340 +1,340 @@
|
|
|
1
|
-
/// <reference types="webxr" />
|
|
2
|
-
import { Quaternion, Vector3 } from "three";
|
|
3
|
-
import { Context } from "../engine_context.js";
|
|
4
|
-
import type { IComponent, INeedleXRSession } from "../engine_types.js";
|
|
5
|
-
import { NeedleXRController } from "./NeedleXRController.js";
|
|
6
|
-
import { NeedleXRSync } from "./NeedleXRSync.js";
|
|
7
|
-
import { SceneTransition } from "./SceneTransition.js";
|
|
8
|
-
import type { IXRRig } from "./XRRig.js";
|
|
9
|
-
/** @link https://developer.mozilla.org/en-US/docs/Web/API/XRFrame/fillPoses */
|
|
10
|
-
declare type FillPosesFunction = (spaces: IterableIterator<XRJointSpace>, referenceSpace: XRSpace, targetArray: Float32Array) => void;
|
|
11
|
-
declare type NeedleXRFrame = XRFrame & {
|
|
12
|
-
fillPoses?: FillPosesFunction;
|
|
13
|
-
};
|
|
14
|
-
/** NeedleXRSession event argument.
|
|
15
|
-
* Use `args.xr` to access the NeedleXRSession */
|
|
16
|
-
export type NeedleXREventArgs = {
|
|
17
|
-
readonly xr: NeedleXRSession;
|
|
18
|
-
};
|
|
19
|
-
export type SessionChangedEvt = (args: NeedleXREventArgs) => void;
|
|
20
|
-
export type SessionRequestedEvent = (args: {
|
|
21
|
-
readonly mode: XRSessionMode;
|
|
22
|
-
readonly init: XRSessionInit;
|
|
23
|
-
}) => void;
|
|
24
|
-
export type SessionRequestedEndEvent = (args: {
|
|
25
|
-
readonly mode: XRSessionMode;
|
|
26
|
-
readonly init: XRSessionInit;
|
|
27
|
-
newSession: XRSession | null;
|
|
28
|
-
}) => void;
|
|
29
|
-
/** Result of a XR hit-test
|
|
30
|
-
* @property {XRHitTestResult} hit The original XRHitTestResult
|
|
31
|
-
* @property {Vector3} position The hit position in world space
|
|
32
|
-
* @property {Quaternion} quaternion The hit rotation in world space
|
|
33
|
-
*/
|
|
34
|
-
export type NeedleXRHitTestResult = {
|
|
35
|
-
readonly hit: XRHitTestResult;
|
|
36
|
-
readonly position: Vector3;
|
|
37
|
-
readonly quaternion: Quaternion;
|
|
38
|
-
};
|
|
39
|
-
export interface INeedleXRSessionEventReceiver extends Pick<IComponent, "destroyed"> {
|
|
40
|
-
get activeAndEnabled(): boolean;
|
|
41
|
-
supportsXR?(mode: XRSessionMode): boolean;
|
|
42
|
-
/** Called before requesting a XR session */
|
|
43
|
-
onBeforeXR?(mode: XRSessionMode, args: XRSessionInit): void;
|
|
44
|
-
onEnterXR?(args: NeedleXREventArgs): void;
|
|
45
|
-
onUpdateXR?(args: NeedleXREventArgs): void;
|
|
46
|
-
onLeaveXR?(args: NeedleXREventArgs): void;
|
|
47
|
-
onXRControllerAdded?(args: NeedleXRControllerEventArgs): void;
|
|
48
|
-
onXRControllerRemoved?(args: NeedleXRControllerEventArgs): void;
|
|
49
|
-
}
|
|
50
|
-
/** Contains a reference to the currently active webxr session and the controller that has changed */
|
|
51
|
-
export type NeedleXRControllerEventArgs = NeedleXREventArgs & {
|
|
52
|
-
controller: NeedleXRController;
|
|
53
|
-
change: "added" | "removed";
|
|
54
|
-
};
|
|
55
|
-
/** Event Arguments when a controller changed event is invoked (added or removed)
|
|
56
|
-
* Access the controller via `args.controller`, the `args.change` property indicates if the controller was added or removed
|
|
57
|
-
*/
|
|
58
|
-
export type ControllerChangedEvt = (args: NeedleXRControllerEventArgs) => void;
|
|
59
|
-
/**
|
|
60
|
-
* This class manages an XRSession to provide helper methods and events. It provides easy access to the XRInputSources (controllers and hands)
|
|
61
|
-
* - Start a XRSession with `NeedleXRSession.start(...)`
|
|
62
|
-
* - Stop a XRSession with `NeedleXRSession.stop()`
|
|
63
|
-
* - Access a running XRSession with `NeedleXRSession.active`
|
|
64
|
-
*
|
|
65
|
-
* If a XRSession is active you can use all XR-related event methods on your components to receive XR events e.g. `onEnterXR`, `onUpdateXR`, `onLeaveXR`
|
|
66
|
-
* ```ts
|
|
67
|
-
* export class MyComponent extends Behaviour {
|
|
68
|
-
* // callback invoked whenever the XRSession is started or your component is added to a scene with an active XRSession
|
|
69
|
-
* onEnterXR(args: NeedleXREventArgs) {
|
|
70
|
-
* console.log("Entered XR");
|
|
71
|
-
* // access the NeedleXRSession via args.xr
|
|
72
|
-
* }
|
|
73
|
-
* // callback invoked whenever a controller is added (or you switch from controller to hand tracking)
|
|
74
|
-
* onControllerAdded(args: NeedleXRControllerEventArgs) { }
|
|
75
|
-
* }
|
|
76
|
-
* ```
|
|
77
|
-
*
|
|
78
|
-
* ### XRRig
|
|
79
|
-
* The XRRig can be accessed via the `rig` property
|
|
80
|
-
* Set a custom XRRig via `NeedleXRSession.addRig(...)` or `NeedleXRSession.removeRig(...)`
|
|
81
|
-
* By default the active XRRig with the highest priority in the scene is used
|
|
82
|
-
*/
|
|
83
|
-
export declare class NeedleXRSession implements INeedleXRSession {
|
|
84
|
-
private static _sync;
|
|
85
|
-
static getXRSync(context: Context): NeedleXRSync;
|
|
86
|
-
static get currentSessionRequest(): XRSessionMode | null;
|
|
87
|
-
private static _currentSessionRequestMode;
|
|
88
|
-
/**
|
|
89
|
-
* @returns the active @type {NeedleXRSession} (if any active) or null
|
|
90
|
-
*/
|
|
91
|
-
static get active(): NeedleXRSession | null;
|
|
92
|
-
/** The active xr session mode (if any xr session is active)
|
|
93
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode
|
|
94
|
-
*/
|
|
95
|
-
static get activeMode(): XRSessionMode | null;
|
|
96
|
-
/** XRSystem via navigator.xr access
|
|
97
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSystem
|
|
98
|
-
*/
|
|
99
|
-
static get xrSystem(): XRSystem | undefined;
|
|
100
|
-
/**
|
|
101
|
-
* @returns true if the browser supports WebXR (`immersive-vr` or `immersive-ar`)
|
|
102
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSystem/isSessionSupported
|
|
103
|
-
*/
|
|
104
|
-
static isXRSupported(): Promise<boolean>;
|
|
105
|
-
/**
|
|
106
|
-
* @returns true if the browser supports immersive-vr (WebXR)
|
|
107
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSystem/isSessionSupported
|
|
108
|
-
*/
|
|
109
|
-
static isVRSupported(): Promise<boolean>;
|
|
110
|
-
/**
|
|
111
|
-
* @returns true if the browser supports immersive-ar (WebXR)
|
|
112
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSystem/isSessionSupported
|
|
113
|
-
*/
|
|
114
|
-
static isARSupported(): Promise<boolean>;
|
|
115
|
-
/**
|
|
116
|
-
* @param mode The XRSessionMode to check if it is supported
|
|
117
|
-
* @returns true if the browser supports the given XRSessionMode
|
|
118
|
-
*/
|
|
119
|
-
static isSessionSupported(mode: XRSessionMode): Promise<boolean>;
|
|
120
|
-
private static _currentSessionRequest?;
|
|
121
|
-
private static _activeSession;
|
|
122
|
-
/** Register to listen to XRSession start events. Unsubscribe with `offXRSessionStart` */
|
|
123
|
-
static onSessionRequestStart(evt: SessionRequestedEvent): void;
|
|
124
|
-
/** Unsubscribe from request start evt. Register with `onSessionRequestStart` */
|
|
125
|
-
static offSessionRequestStart(evt: SessionRequestedEvent): void;
|
|
126
|
-
private static readonly _sessionRequestStartListeners;
|
|
127
|
-
/** Called after the session request has finished */
|
|
128
|
-
static onSessionRequestEnd(evt: SessionRequestedEndEvent): void;
|
|
129
|
-
/** Unsubscribe from request end evt */
|
|
130
|
-
static offSessionRequestEnd(evt: SessionRequestedEndEvent): void;
|
|
131
|
-
private static readonly _sessionRequestEndListeners;
|
|
132
|
-
/** Listen to XR session started. Unsubscribe with `offXRSessionStart` */
|
|
133
|
-
static onXRSessionStart(evt: SessionChangedEvt): void;
|
|
134
|
-
/** Unsubscribe from XRSession started events */
|
|
135
|
-
static offXRSessionStart(evt: SessionChangedEvt): void;
|
|
136
|
-
private static readonly _xrStartListeners;
|
|
137
|
-
/** Listen to XR session ended. Unsubscribe with `offXRSessionEnd` */
|
|
138
|
-
static onXRSessionEnd(evt: SessionChangedEvt): void;
|
|
139
|
-
/** Unsubscribe from XRSession started events */
|
|
140
|
-
static offXRSessionEnd(evt: SessionChangedEvt): void;
|
|
141
|
-
private static readonly _xrEndListeners;
|
|
142
|
-
/** Listen to controller added events.
|
|
143
|
-
* Events are cleared when starting a new session
|
|
144
|
-
**/
|
|
145
|
-
static onControllerAdded(evt: ControllerChangedEvt): void;
|
|
146
|
-
/** Unsubscribe from controller added evts */
|
|
147
|
-
static offControllerAdded(evt: ControllerChangedEvt): void;
|
|
148
|
-
private static readonly _controllerAddedListeners;
|
|
149
|
-
/** Listen to controller removed events
|
|
150
|
-
* Events are cleared when starting a new session
|
|
151
|
-
**/
|
|
152
|
-
static onControllerRemoved(evt: ControllerChangedEvt): void;
|
|
153
|
-
/** Unsubscribe from controller removed events */
|
|
154
|
-
static offControllerRemoved(evt: ControllerChangedEvt): void;
|
|
155
|
-
private static readonly _controllerRemovedListeners;
|
|
156
|
-
/** If the browser supports offerSession - creating a VR or AR button in the browser navigation bar */
|
|
157
|
-
static offerSession(mode: XRSessionMode, init: XRSessionInit | "default", context: Context): boolean;
|
|
158
|
-
/** @returns a new XRSession init object with defaults */
|
|
159
|
-
static getDefaultSessionInit(mode: Omit<XRSessionMode, "inline">): XRSessionInit;
|
|
160
|
-
/** start a new webXR session (make sure to stop already running sessions before calling this method)
|
|
161
|
-
* @param mode The XRSessionMode to start (e.g. `immersive-vr` or `immersive-ar`) or `ar` to start `immersive-ar` on supported devices OR on iOS devices it will export an interactive USDZ and open in Quicklook.
|
|
162
|
-
* Get more information about WebXR modes: https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode
|
|
163
|
-
* @param init The XRSessionInit to use (optional), docs: https://developer.mozilla.org/en-US/docs/Web/API/XRSessionInit
|
|
164
|
-
* @param context The Needle Engine context to use
|
|
165
|
-
*/
|
|
166
|
-
static start(mode: XRSessionMode | "ar", init?: XRSessionInit, context?: Context): Promise<NeedleXRSession | null>;
|
|
167
|
-
static setSession(mode: XRSessionMode, session: XRSession, init: XRSessionInit, context: Context): NeedleXRSession;
|
|
168
|
-
private static $_stop_request;
|
|
169
|
-
/** stops the active XR session */
|
|
170
|
-
static stop(): void;
|
|
171
|
-
private static onEnd;
|
|
172
|
-
/** The needle engine context this session was started from */
|
|
173
|
-
readonly context: Context;
|
|
174
|
-
get sync(): NeedleXRSync | null;
|
|
175
|
-
/** Returns true if the xr session is still active */
|
|
176
|
-
get running(): boolean;
|
|
177
|
-
/**
|
|
178
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSession
|
|
179
|
-
*/
|
|
180
|
-
readonly session: XRSession;
|
|
181
|
-
/** XR Session Mode: AR or VR */
|
|
182
|
-
readonly mode: XRSessionMode;
|
|
183
|
-
/**
|
|
184
|
-
* The XRSession interface's read-only interactionMode property describes the best space (according to the user agent) for the application to draw an interactive UI for the current session.
|
|
185
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSession/interactionMode
|
|
186
|
-
*/
|
|
187
|
-
get interactionMode(): "screen-space" | "world-space";
|
|
188
|
-
/**
|
|
189
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSession/visibilityState
|
|
190
|
-
* @returns {XRVisibilityState} The visibility state of the XRSession
|
|
191
|
-
*/
|
|
192
|
-
get visibilityState(): XRVisibilityState;
|
|
193
|
-
/**
|
|
194
|
-
* Check if the session is `visible-blurred` - this means e.g. the keyboard is shown
|
|
195
|
-
*/
|
|
196
|
-
get isVisibleBlurred(): boolean;
|
|
197
|
-
/**
|
|
198
|
-
* Check if the session has system keyboard support
|
|
199
|
-
*/
|
|
200
|
-
get isSystemKeyboardSupported(): boolean;
|
|
201
|
-
/**
|
|
202
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSession/environmentBlendMode
|
|
203
|
-
*/
|
|
204
|
-
get environmentBlendMode(): XREnvironmentBlendMode;
|
|
205
|
-
/**
|
|
206
|
-
* The current XR frame
|
|
207
|
-
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRFrame
|
|
208
|
-
*/
|
|
209
|
-
get frame(): NeedleXRFrame;
|
|
210
|
-
/** The currently active/connected controllers */
|
|
211
|
-
readonly controllers: NeedleXRController[];
|
|
212
|
-
/** shorthand to query the left controller. Use `controllers` to get access to all connected controllers */
|
|
213
|
-
get leftController(): NeedleXRController | undefined;
|
|
214
|
-
/** shorthand to query the right controller. Use `controllers` to get access to all connected controllers */
|
|
215
|
-
get rightController(): NeedleXRController | undefined;
|
|
216
|
-
/** @returns the given controller if it is connected */
|
|
217
|
-
getController(side: XRHandedness | number): NeedleXRController | null;
|
|
218
|
-
/** Returns true if running in pass through mode in immersive AR (e.g. user is wearing a headset while in AR) */
|
|
219
|
-
get isPassThrough(): boolean;
|
|
220
|
-
get isAR(): boolean;
|
|
221
|
-
get isVR(): boolean;
|
|
222
|
-
/** If the AR mode is not immersive (meaning the user is e.g. holding a phone instead of wearing a AR passthrough headset) */
|
|
223
|
-
get isScreenBasedAR(): boolean;
|
|
224
|
-
get posePosition(): Vector3;
|
|
225
|
-
get poseOrientation(): Quaternion;
|
|
226
|
-
/** @returns the context.renderer.xr.getReferenceSpace() result */
|
|
227
|
-
get referenceSpace(): XRSpace | null;
|
|
228
|
-
/** @returns the XRFrame `viewerpose` using the xr `referenceSpace` */
|
|
229
|
-
get viewerPose(): XRViewerPose | undefined;
|
|
230
|
-
/** @returns `true` if any image is currently being tracked */
|
|
231
|
-
/** returns true if images are currently being tracked */
|
|
232
|
-
get isTrackingImages(): boolean;
|
|
233
|
-
/** The currently active XR rig */
|
|
234
|
-
get rig(): IXRRig | null;
|
|
235
|
-
private _rigScale;
|
|
236
|
-
private _lastRigScaleUpdate;
|
|
237
|
-
/** Get the XR Rig worldscale.
|
|
238
|
-
*
|
|
239
|
-
* **For AR**
|
|
240
|
-
* If you want to modify the scale in AR at runtime get the WebARSessionRoot component via `findObjectOfType(WebARSessionRoot)` and then set the `arScale` value.
|
|
241
|
-
*
|
|
242
|
-
*/
|
|
243
|
-
get rigScale(): number;
|
|
244
|
-
/** add a rig to the available XR rigs - if it's priority is higher than the currently active rig it will be enabled */
|
|
245
|
-
addRig(rig: IXRRig): void;
|
|
246
|
-
/** Remove a rig from the available XR Rigs */
|
|
247
|
-
removeRig(rig: IXRRig): void;
|
|
248
|
-
/** Sets a XRRig to be active which will parent the camera to this rig */
|
|
249
|
-
setRigActive(rig: IXRRig): void;
|
|
250
|
-
/**
|
|
251
|
-
* @returns the user position in the rig space
|
|
252
|
-
*/
|
|
253
|
-
getUserOffsetInRig(): Vector3;
|
|
254
|
-
private updateActiveXRRig;
|
|
255
|
-
private _rigs;
|
|
256
|
-
private _viewerHitTestSource;
|
|
257
|
-
/** Returns a XR hit test result (if hit-testing is available) in rig space
|
|
258
|
-
* @param source If provided, the hit test will be performed for the given controller
|
|
259
|
-
*/
|
|
260
|
-
getHitTest(source?: NeedleXRController): NeedleXRHitTestResult | null;
|
|
261
|
-
private getControllerHitTest;
|
|
262
|
-
private convertHitTestResult;
|
|
263
|
-
/** convert a XRRigidTransform from XR session space to threejs / Needle Engine XR space */
|
|
264
|
-
convertSpace(transform: XRRigidTransform): {
|
|
265
|
-
position: Vector3;
|
|
266
|
-
quaternion: Quaternion;
|
|
267
|
-
};
|
|
268
|
-
/** this is the implictly created XR rig */
|
|
269
|
-
private readonly _defaultRig;
|
|
270
|
-
/** all scripts that receive some sort of XR update event */
|
|
271
|
-
private readonly _xr_scripts;
|
|
272
|
-
/** scripts that have onUpdateXR event methods */
|
|
273
|
-
private readonly _xr_update_scripts;
|
|
274
|
-
/** scripts that are in the scene but inactive (e.g. disabled parent gameObject) */
|
|
275
|
-
private readonly _inactive_scripts;
|
|
276
|
-
private readonly _controllerAdded;
|
|
277
|
-
private readonly _controllerRemoved;
|
|
278
|
-
private readonly _originalCameraWorldPosition?;
|
|
279
|
-
private readonly _originalCameraWorldRotation?;
|
|
280
|
-
private readonly _originalCameraWorldScale?;
|
|
281
|
-
private readonly _originalCameraParent?;
|
|
282
|
-
/** we store the main camera reference here each frame to make sure we have a rendering camera
|
|
283
|
-
* this e.g. the case when the XR rig with the camera gets disabled (and thus this.context.mainCamera is unassigned)
|
|
284
|
-
*/
|
|
285
|
-
private _mainCamera;
|
|
286
|
-
private constructor();
|
|
287
|
-
/** called when renderer.setSession is fulfilled */
|
|
288
|
-
private onRendererSessionSet;
|
|
289
|
-
private onInputSourceAdded;
|
|
290
|
-
/** Disconnects the controller, invokes events and notifies previou controller (if any) */
|
|
291
|
-
private disconnectInputSource;
|
|
292
|
-
/** End the XR Session */
|
|
293
|
-
end(): void;
|
|
294
|
-
private _ended;
|
|
295
|
-
private readonly _newControllers;
|
|
296
|
-
private onEnd;
|
|
297
|
-
private _didStart;
|
|
298
|
-
/** Called every frame by the engine */
|
|
299
|
-
private onBefore;
|
|
300
|
-
private onRenderDebug;
|
|
301
|
-
private onBeforeRender;
|
|
302
|
-
private onAfterRender;
|
|
303
|
-
/** register a new XR script if it hasnt added yet */
|
|
304
|
-
private addScript;
|
|
305
|
-
/** mark a script as inactive and invokes callbacks */
|
|
306
|
-
private markInactive;
|
|
307
|
-
private handleInactiveScripts;
|
|
308
|
-
private readonly _script_to_remove;
|
|
309
|
-
private removeScript;
|
|
310
|
-
private invokeCallback_EnterXR;
|
|
311
|
-
private invokeCallback_ControllerAdded;
|
|
312
|
-
private invokeCallback_ControllerRemoved;
|
|
313
|
-
private invokeCallback_LeaveXR;
|
|
314
|
-
private syncCameraCullingMask;
|
|
315
|
-
private invokeControllerEvent;
|
|
316
|
-
private _camera;
|
|
317
|
-
private readonly _cameraRenderParent;
|
|
318
|
-
private _previousCameraParent;
|
|
319
|
-
private readonly _customforward;
|
|
320
|
-
private originalCameraNearPlane?;
|
|
321
|
-
/** This is used to have the XR system camera look into threejs Z forward direction (instead of -z) */
|
|
322
|
-
private applyCustomForward;
|
|
323
|
-
private revertCustomForward;
|
|
324
|
-
private _viewerPose?;
|
|
325
|
-
private readonly _transformOrientation;
|
|
326
|
-
private readonly _transformPosition;
|
|
327
|
-
private internalUpdateState;
|
|
328
|
-
private _transition?;
|
|
329
|
-
get transition(): SceneTransition;
|
|
330
|
-
/** Call to fade rendering to black for a short moment (the returned promise will be resolved when fully black)
|
|
331
|
-
* This can be used to mask scene transitions or teleportation
|
|
332
|
-
* @returns a promise that is resolved when the screen is fully black
|
|
333
|
-
* @example `fadeTransition().then(() => { <fully_black> })`
|
|
334
|
-
*/
|
|
335
|
-
fadeTransition(): Promise<void>;
|
|
336
|
-
/** e.g. FadeToBlack */
|
|
337
|
-
private updateFade;
|
|
338
|
-
private onUpdateFade_PostRender;
|
|
339
|
-
}
|
|
340
|
-
export {};
|
|
1
|
+
/// <reference types="webxr" />
|
|
2
|
+
import { Quaternion, Vector3 } from "three";
|
|
3
|
+
import { Context } from "../engine_context.js";
|
|
4
|
+
import type { IComponent, INeedleXRSession } from "../engine_types.js";
|
|
5
|
+
import { NeedleXRController } from "./NeedleXRController.js";
|
|
6
|
+
import { NeedleXRSync } from "./NeedleXRSync.js";
|
|
7
|
+
import { SceneTransition } from "./SceneTransition.js";
|
|
8
|
+
import type { IXRRig } from "./XRRig.js";
|
|
9
|
+
/** @link https://developer.mozilla.org/en-US/docs/Web/API/XRFrame/fillPoses */
|
|
10
|
+
declare type FillPosesFunction = (spaces: IterableIterator<XRJointSpace>, referenceSpace: XRSpace, targetArray: Float32Array) => void;
|
|
11
|
+
declare type NeedleXRFrame = XRFrame & {
|
|
12
|
+
fillPoses?: FillPosesFunction;
|
|
13
|
+
};
|
|
14
|
+
/** NeedleXRSession event argument.
|
|
15
|
+
* Use `args.xr` to access the NeedleXRSession */
|
|
16
|
+
export type NeedleXREventArgs = {
|
|
17
|
+
readonly xr: NeedleXRSession;
|
|
18
|
+
};
|
|
19
|
+
export type SessionChangedEvt = (args: NeedleXREventArgs) => void;
|
|
20
|
+
export type SessionRequestedEvent = (args: {
|
|
21
|
+
readonly mode: XRSessionMode;
|
|
22
|
+
readonly init: XRSessionInit;
|
|
23
|
+
}) => void;
|
|
24
|
+
export type SessionRequestedEndEvent = (args: {
|
|
25
|
+
readonly mode: XRSessionMode;
|
|
26
|
+
readonly init: XRSessionInit;
|
|
27
|
+
newSession: XRSession | null;
|
|
28
|
+
}) => void;
|
|
29
|
+
/** Result of a XR hit-test
|
|
30
|
+
* @property {XRHitTestResult} hit The original XRHitTestResult
|
|
31
|
+
* @property {Vector3} position The hit position in world space
|
|
32
|
+
* @property {Quaternion} quaternion The hit rotation in world space
|
|
33
|
+
*/
|
|
34
|
+
export type NeedleXRHitTestResult = {
|
|
35
|
+
readonly hit: XRHitTestResult;
|
|
36
|
+
readonly position: Vector3;
|
|
37
|
+
readonly quaternion: Quaternion;
|
|
38
|
+
};
|
|
39
|
+
export interface INeedleXRSessionEventReceiver extends Pick<IComponent, "destroyed"> {
|
|
40
|
+
get activeAndEnabled(): boolean;
|
|
41
|
+
supportsXR?(mode: XRSessionMode): boolean;
|
|
42
|
+
/** Called before requesting a XR session */
|
|
43
|
+
onBeforeXR?(mode: XRSessionMode, args: XRSessionInit): void;
|
|
44
|
+
onEnterXR?(args: NeedleXREventArgs): void;
|
|
45
|
+
onUpdateXR?(args: NeedleXREventArgs): void;
|
|
46
|
+
onLeaveXR?(args: NeedleXREventArgs): void;
|
|
47
|
+
onXRControllerAdded?(args: NeedleXRControllerEventArgs): void;
|
|
48
|
+
onXRControllerRemoved?(args: NeedleXRControllerEventArgs): void;
|
|
49
|
+
}
|
|
50
|
+
/** Contains a reference to the currently active webxr session and the controller that has changed */
|
|
51
|
+
export type NeedleXRControllerEventArgs = NeedleXREventArgs & {
|
|
52
|
+
controller: NeedleXRController;
|
|
53
|
+
change: "added" | "removed";
|
|
54
|
+
};
|
|
55
|
+
/** Event Arguments when a controller changed event is invoked (added or removed)
|
|
56
|
+
* Access the controller via `args.controller`, the `args.change` property indicates if the controller was added or removed
|
|
57
|
+
*/
|
|
58
|
+
export type ControllerChangedEvt = (args: NeedleXRControllerEventArgs) => void;
|
|
59
|
+
/**
|
|
60
|
+
* This class manages an XRSession to provide helper methods and events. It provides easy access to the XRInputSources (controllers and hands)
|
|
61
|
+
* - Start a XRSession with `NeedleXRSession.start(...)`
|
|
62
|
+
* - Stop a XRSession with `NeedleXRSession.stop()`
|
|
63
|
+
* - Access a running XRSession with `NeedleXRSession.active`
|
|
64
|
+
*
|
|
65
|
+
* If a XRSession is active you can use all XR-related event methods on your components to receive XR events e.g. `onEnterXR`, `onUpdateXR`, `onLeaveXR`
|
|
66
|
+
* ```ts
|
|
67
|
+
* export class MyComponent extends Behaviour {
|
|
68
|
+
* // callback invoked whenever the XRSession is started or your component is added to a scene with an active XRSession
|
|
69
|
+
* onEnterXR(args: NeedleXREventArgs) {
|
|
70
|
+
* console.log("Entered XR");
|
|
71
|
+
* // access the NeedleXRSession via args.xr
|
|
72
|
+
* }
|
|
73
|
+
* // callback invoked whenever a controller is added (or you switch from controller to hand tracking)
|
|
74
|
+
* onControllerAdded(args: NeedleXRControllerEventArgs) { }
|
|
75
|
+
* }
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* ### XRRig
|
|
79
|
+
* The XRRig can be accessed via the `rig` property
|
|
80
|
+
* Set a custom XRRig via `NeedleXRSession.addRig(...)` or `NeedleXRSession.removeRig(...)`
|
|
81
|
+
* By default the active XRRig with the highest priority in the scene is used
|
|
82
|
+
*/
|
|
83
|
+
export declare class NeedleXRSession implements INeedleXRSession {
|
|
84
|
+
private static _sync;
|
|
85
|
+
static getXRSync(context: Context): NeedleXRSync;
|
|
86
|
+
static get currentSessionRequest(): XRSessionMode | null;
|
|
87
|
+
private static _currentSessionRequestMode;
|
|
88
|
+
/**
|
|
89
|
+
* @returns the active @type {NeedleXRSession} (if any active) or null
|
|
90
|
+
*/
|
|
91
|
+
static get active(): NeedleXRSession | null;
|
|
92
|
+
/** The active xr session mode (if any xr session is active)
|
|
93
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode
|
|
94
|
+
*/
|
|
95
|
+
static get activeMode(): XRSessionMode | null;
|
|
96
|
+
/** XRSystem via navigator.xr access
|
|
97
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSystem
|
|
98
|
+
*/
|
|
99
|
+
static get xrSystem(): XRSystem | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* @returns true if the browser supports WebXR (`immersive-vr` or `immersive-ar`)
|
|
102
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSystem/isSessionSupported
|
|
103
|
+
*/
|
|
104
|
+
static isXRSupported(): Promise<boolean>;
|
|
105
|
+
/**
|
|
106
|
+
* @returns true if the browser supports immersive-vr (WebXR)
|
|
107
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSystem/isSessionSupported
|
|
108
|
+
*/
|
|
109
|
+
static isVRSupported(): Promise<boolean>;
|
|
110
|
+
/**
|
|
111
|
+
* @returns true if the browser supports immersive-ar (WebXR)
|
|
112
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSystem/isSessionSupported
|
|
113
|
+
*/
|
|
114
|
+
static isARSupported(): Promise<boolean>;
|
|
115
|
+
/**
|
|
116
|
+
* @param mode The XRSessionMode to check if it is supported
|
|
117
|
+
* @returns true if the browser supports the given XRSessionMode
|
|
118
|
+
*/
|
|
119
|
+
static isSessionSupported(mode: XRSessionMode): Promise<boolean>;
|
|
120
|
+
private static _currentSessionRequest?;
|
|
121
|
+
private static _activeSession;
|
|
122
|
+
/** Register to listen to XRSession start events. Unsubscribe with `offXRSessionStart` */
|
|
123
|
+
static onSessionRequestStart(evt: SessionRequestedEvent): void;
|
|
124
|
+
/** Unsubscribe from request start evt. Register with `onSessionRequestStart` */
|
|
125
|
+
static offSessionRequestStart(evt: SessionRequestedEvent): void;
|
|
126
|
+
private static readonly _sessionRequestStartListeners;
|
|
127
|
+
/** Called after the session request has finished */
|
|
128
|
+
static onSessionRequestEnd(evt: SessionRequestedEndEvent): void;
|
|
129
|
+
/** Unsubscribe from request end evt */
|
|
130
|
+
static offSessionRequestEnd(evt: SessionRequestedEndEvent): void;
|
|
131
|
+
private static readonly _sessionRequestEndListeners;
|
|
132
|
+
/** Listen to XR session started. Unsubscribe with `offXRSessionStart` */
|
|
133
|
+
static onXRSessionStart(evt: SessionChangedEvt): void;
|
|
134
|
+
/** Unsubscribe from XRSession started events */
|
|
135
|
+
static offXRSessionStart(evt: SessionChangedEvt): void;
|
|
136
|
+
private static readonly _xrStartListeners;
|
|
137
|
+
/** Listen to XR session ended. Unsubscribe with `offXRSessionEnd` */
|
|
138
|
+
static onXRSessionEnd(evt: SessionChangedEvt): void;
|
|
139
|
+
/** Unsubscribe from XRSession started events */
|
|
140
|
+
static offXRSessionEnd(evt: SessionChangedEvt): void;
|
|
141
|
+
private static readonly _xrEndListeners;
|
|
142
|
+
/** Listen to controller added events.
|
|
143
|
+
* Events are cleared when starting a new session
|
|
144
|
+
**/
|
|
145
|
+
static onControllerAdded(evt: ControllerChangedEvt): void;
|
|
146
|
+
/** Unsubscribe from controller added evts */
|
|
147
|
+
static offControllerAdded(evt: ControllerChangedEvt): void;
|
|
148
|
+
private static readonly _controllerAddedListeners;
|
|
149
|
+
/** Listen to controller removed events
|
|
150
|
+
* Events are cleared when starting a new session
|
|
151
|
+
**/
|
|
152
|
+
static onControllerRemoved(evt: ControllerChangedEvt): void;
|
|
153
|
+
/** Unsubscribe from controller removed events */
|
|
154
|
+
static offControllerRemoved(evt: ControllerChangedEvt): void;
|
|
155
|
+
private static readonly _controllerRemovedListeners;
|
|
156
|
+
/** If the browser supports offerSession - creating a VR or AR button in the browser navigation bar */
|
|
157
|
+
static offerSession(mode: XRSessionMode, init: XRSessionInit | "default", context: Context): boolean;
|
|
158
|
+
/** @returns a new XRSession init object with defaults */
|
|
159
|
+
static getDefaultSessionInit(mode: Omit<XRSessionMode, "inline">): XRSessionInit;
|
|
160
|
+
/** start a new webXR session (make sure to stop already running sessions before calling this method)
|
|
161
|
+
* @param mode The XRSessionMode to start (e.g. `immersive-vr` or `immersive-ar`) or `ar` to start `immersive-ar` on supported devices OR on iOS devices it will export an interactive USDZ and open in Quicklook.
|
|
162
|
+
* Get more information about WebXR modes: https://developer.mozilla.org/en-US/docs/Web/API/XRSessionMode
|
|
163
|
+
* @param init The XRSessionInit to use (optional), docs: https://developer.mozilla.org/en-US/docs/Web/API/XRSessionInit
|
|
164
|
+
* @param context The Needle Engine context to use
|
|
165
|
+
*/
|
|
166
|
+
static start(mode: XRSessionMode | "ar", init?: XRSessionInit, context?: Context): Promise<NeedleXRSession | null>;
|
|
167
|
+
static setSession(mode: XRSessionMode, session: XRSession, init: XRSessionInit, context: Context): NeedleXRSession;
|
|
168
|
+
private static $_stop_request;
|
|
169
|
+
/** stops the active XR session */
|
|
170
|
+
static stop(): void;
|
|
171
|
+
private static onEnd;
|
|
172
|
+
/** The needle engine context this session was started from */
|
|
173
|
+
readonly context: Context;
|
|
174
|
+
get sync(): NeedleXRSync | null;
|
|
175
|
+
/** Returns true if the xr session is still active */
|
|
176
|
+
get running(): boolean;
|
|
177
|
+
/**
|
|
178
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSession
|
|
179
|
+
*/
|
|
180
|
+
readonly session: XRSession;
|
|
181
|
+
/** XR Session Mode: AR or VR */
|
|
182
|
+
readonly mode: XRSessionMode;
|
|
183
|
+
/**
|
|
184
|
+
* The XRSession interface's read-only interactionMode property describes the best space (according to the user agent) for the application to draw an interactive UI for the current session.
|
|
185
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSession/interactionMode
|
|
186
|
+
*/
|
|
187
|
+
get interactionMode(): "screen-space" | "world-space";
|
|
188
|
+
/**
|
|
189
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSession/visibilityState
|
|
190
|
+
* @returns {XRVisibilityState} The visibility state of the XRSession
|
|
191
|
+
*/
|
|
192
|
+
get visibilityState(): XRVisibilityState;
|
|
193
|
+
/**
|
|
194
|
+
* Check if the session is `visible-blurred` - this means e.g. the keyboard is shown
|
|
195
|
+
*/
|
|
196
|
+
get isVisibleBlurred(): boolean;
|
|
197
|
+
/**
|
|
198
|
+
* Check if the session has system keyboard support
|
|
199
|
+
*/
|
|
200
|
+
get isSystemKeyboardSupported(): boolean;
|
|
201
|
+
/**
|
|
202
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRSession/environmentBlendMode
|
|
203
|
+
*/
|
|
204
|
+
get environmentBlendMode(): XREnvironmentBlendMode;
|
|
205
|
+
/**
|
|
206
|
+
* The current XR frame
|
|
207
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/API/XRFrame
|
|
208
|
+
*/
|
|
209
|
+
get frame(): NeedleXRFrame;
|
|
210
|
+
/** The currently active/connected controllers */
|
|
211
|
+
readonly controllers: NeedleXRController[];
|
|
212
|
+
/** shorthand to query the left controller. Use `controllers` to get access to all connected controllers */
|
|
213
|
+
get leftController(): NeedleXRController | undefined;
|
|
214
|
+
/** shorthand to query the right controller. Use `controllers` to get access to all connected controllers */
|
|
215
|
+
get rightController(): NeedleXRController | undefined;
|
|
216
|
+
/** @returns the given controller if it is connected */
|
|
217
|
+
getController(side: XRHandedness | number): NeedleXRController | null;
|
|
218
|
+
/** Returns true if running in pass through mode in immersive AR (e.g. user is wearing a headset while in AR) */
|
|
219
|
+
get isPassThrough(): boolean;
|
|
220
|
+
get isAR(): boolean;
|
|
221
|
+
get isVR(): boolean;
|
|
222
|
+
/** If the AR mode is not immersive (meaning the user is e.g. holding a phone instead of wearing a AR passthrough headset) */
|
|
223
|
+
get isScreenBasedAR(): boolean;
|
|
224
|
+
get posePosition(): Vector3;
|
|
225
|
+
get poseOrientation(): Quaternion;
|
|
226
|
+
/** @returns the context.renderer.xr.getReferenceSpace() result */
|
|
227
|
+
get referenceSpace(): XRSpace | null;
|
|
228
|
+
/** @returns the XRFrame `viewerpose` using the xr `referenceSpace` */
|
|
229
|
+
get viewerPose(): XRViewerPose | undefined;
|
|
230
|
+
/** @returns `true` if any image is currently being tracked */
|
|
231
|
+
/** returns true if images are currently being tracked */
|
|
232
|
+
get isTrackingImages(): boolean;
|
|
233
|
+
/** The currently active XR rig */
|
|
234
|
+
get rig(): IXRRig | null;
|
|
235
|
+
private _rigScale;
|
|
236
|
+
private _lastRigScaleUpdate;
|
|
237
|
+
/** Get the XR Rig worldscale.
|
|
238
|
+
*
|
|
239
|
+
* **For AR**
|
|
240
|
+
* If you want to modify the scale in AR at runtime get the WebARSessionRoot component via `findObjectOfType(WebARSessionRoot)` and then set the `arScale` value.
|
|
241
|
+
*
|
|
242
|
+
*/
|
|
243
|
+
get rigScale(): number;
|
|
244
|
+
/** add a rig to the available XR rigs - if it's priority is higher than the currently active rig it will be enabled */
|
|
245
|
+
addRig(rig: IXRRig): void;
|
|
246
|
+
/** Remove a rig from the available XR Rigs */
|
|
247
|
+
removeRig(rig: IXRRig): void;
|
|
248
|
+
/** Sets a XRRig to be active which will parent the camera to this rig */
|
|
249
|
+
setRigActive(rig: IXRRig): void;
|
|
250
|
+
/**
|
|
251
|
+
* @returns the user position in the rig space
|
|
252
|
+
*/
|
|
253
|
+
getUserOffsetInRig(): Vector3;
|
|
254
|
+
private updateActiveXRRig;
|
|
255
|
+
private _rigs;
|
|
256
|
+
private _viewerHitTestSource;
|
|
257
|
+
/** Returns a XR hit test result (if hit-testing is available) in rig space
|
|
258
|
+
* @param source If provided, the hit test will be performed for the given controller
|
|
259
|
+
*/
|
|
260
|
+
getHitTest(source?: NeedleXRController): NeedleXRHitTestResult | null;
|
|
261
|
+
private getControllerHitTest;
|
|
262
|
+
private convertHitTestResult;
|
|
263
|
+
/** convert a XRRigidTransform from XR session space to threejs / Needle Engine XR space */
|
|
264
|
+
convertSpace(transform: XRRigidTransform): {
|
|
265
|
+
position: Vector3;
|
|
266
|
+
quaternion: Quaternion;
|
|
267
|
+
};
|
|
268
|
+
/** this is the implictly created XR rig */
|
|
269
|
+
private readonly _defaultRig;
|
|
270
|
+
/** all scripts that receive some sort of XR update event */
|
|
271
|
+
private readonly _xr_scripts;
|
|
272
|
+
/** scripts that have onUpdateXR event methods */
|
|
273
|
+
private readonly _xr_update_scripts;
|
|
274
|
+
/** scripts that are in the scene but inactive (e.g. disabled parent gameObject) */
|
|
275
|
+
private readonly _inactive_scripts;
|
|
276
|
+
private readonly _controllerAdded;
|
|
277
|
+
private readonly _controllerRemoved;
|
|
278
|
+
private readonly _originalCameraWorldPosition?;
|
|
279
|
+
private readonly _originalCameraWorldRotation?;
|
|
280
|
+
private readonly _originalCameraWorldScale?;
|
|
281
|
+
private readonly _originalCameraParent?;
|
|
282
|
+
/** we store the main camera reference here each frame to make sure we have a rendering camera
|
|
283
|
+
* this e.g. the case when the XR rig with the camera gets disabled (and thus this.context.mainCamera is unassigned)
|
|
284
|
+
*/
|
|
285
|
+
private _mainCamera;
|
|
286
|
+
private constructor();
|
|
287
|
+
/** called when renderer.setSession is fulfilled */
|
|
288
|
+
private onRendererSessionSet;
|
|
289
|
+
private onInputSourceAdded;
|
|
290
|
+
/** Disconnects the controller, invokes events and notifies previou controller (if any) */
|
|
291
|
+
private disconnectInputSource;
|
|
292
|
+
/** End the XR Session */
|
|
293
|
+
end(): void;
|
|
294
|
+
private _ended;
|
|
295
|
+
private readonly _newControllers;
|
|
296
|
+
private onEnd;
|
|
297
|
+
private _didStart;
|
|
298
|
+
/** Called every frame by the engine */
|
|
299
|
+
private onBefore;
|
|
300
|
+
private onRenderDebug;
|
|
301
|
+
private onBeforeRender;
|
|
302
|
+
private onAfterRender;
|
|
303
|
+
/** register a new XR script if it hasnt added yet */
|
|
304
|
+
private addScript;
|
|
305
|
+
/** mark a script as inactive and invokes callbacks */
|
|
306
|
+
private markInactive;
|
|
307
|
+
private handleInactiveScripts;
|
|
308
|
+
private readonly _script_to_remove;
|
|
309
|
+
private removeScript;
|
|
310
|
+
private invokeCallback_EnterXR;
|
|
311
|
+
private invokeCallback_ControllerAdded;
|
|
312
|
+
private invokeCallback_ControllerRemoved;
|
|
313
|
+
private invokeCallback_LeaveXR;
|
|
314
|
+
private syncCameraCullingMask;
|
|
315
|
+
private invokeControllerEvent;
|
|
316
|
+
private _camera;
|
|
317
|
+
private readonly _cameraRenderParent;
|
|
318
|
+
private _previousCameraParent;
|
|
319
|
+
private readonly _customforward;
|
|
320
|
+
private originalCameraNearPlane?;
|
|
321
|
+
/** This is used to have the XR system camera look into threejs Z forward direction (instead of -z) */
|
|
322
|
+
private applyCustomForward;
|
|
323
|
+
private revertCustomForward;
|
|
324
|
+
private _viewerPose?;
|
|
325
|
+
private readonly _transformOrientation;
|
|
326
|
+
private readonly _transformPosition;
|
|
327
|
+
private internalUpdateState;
|
|
328
|
+
private _transition?;
|
|
329
|
+
get transition(): SceneTransition;
|
|
330
|
+
/** Call to fade rendering to black for a short moment (the returned promise will be resolved when fully black)
|
|
331
|
+
* This can be used to mask scene transitions or teleportation
|
|
332
|
+
* @returns a promise that is resolved when the screen is fully black
|
|
333
|
+
* @example `fadeTransition().then(() => { <fully_black> })`
|
|
334
|
+
*/
|
|
335
|
+
fadeTransition(): Promise<void>;
|
|
336
|
+
/** e.g. FadeToBlack */
|
|
337
|
+
private updateFade;
|
|
338
|
+
private onUpdateFade_PostRender;
|
|
339
|
+
}
|
|
340
|
+
export {};
|