@needle-tools/engine 4.7.2-alpha → 4.7.2-next.6f2cd71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3782 -3782
- package/LICENSE.md +10 -10
- package/README.md +64 -64
- package/components.needle.json +1 -1
- package/dist/generateMeshBVH.worker-BaNp_Xtp.js +25 -0
- package/dist/{gltf-progressive-zdhlW609.umd.cjs → gltf-progressive-B9o1T8Vr.umd.cjs} +1 -1
- package/dist/{gltf-progressive-YjtQYFa9.js → gltf-progressive-DO0SisAM.js} +2 -2
- package/dist/{gltf-progressive-yOP1mp5W.min.js → gltf-progressive-DQF10PJE.min.js} +1 -1
- package/dist/{needle-engine.bundle-BhDF-YSv.min.js → needle-engine.bundle-B-NoV0t_.min.js} +64 -64
- package/dist/{needle-engine.bundle-D2myV4E4.umd.cjs → needle-engine.bundle-BMnlxDfi.umd.cjs} +59 -59
- package/dist/{needle-engine.bundle-gp00DTS4.js → needle-engine.bundle-CFi0ugBx.js} +638 -638
- package/dist/needle-engine.d.ts +130 -129
- package/dist/needle-engine.js +4 -4
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-8AQTeZsr.umd.cjs → postprocessing-CjW23fio.umd.cjs} +2 -2
- package/dist/{postprocessing-BkxN_08g.js → postprocessing-DYLNOL3W.js} +3 -3
- package/dist/{postprocessing-BDScN9yu.min.js → postprocessing-xYQWCHFu.min.js} +2 -2
- package/dist/{three-DMrv-4ar.umd.cjs → three-B_hneGZr.umd.cjs} +4 -4
- package/dist/{three-Bz6X1mrw.js → three-DrqIzZTH.js} +4198 -4198
- package/dist/{three-Boa-jOq-.min.js → three-DuDKwKB8.min.js} +33 -33
- package/dist/{three-examples-GggCDHv0.js → three-examples-B50TT3Iu.js} +5 -5
- package/dist/{three-examples-DuVhxqft.min.js → three-examples-DaDLBuy6.min.js} +14 -14
- package/dist/{three-examples-C7ryg8vN.umd.cjs → three-examples-X3OadjXB.umd.cjs} +3 -3
- package/dist/{three-mesh-ui-CY6Izc7C.min.js → three-mesh-ui-B3p3gyUz.min.js} +1 -1
- package/dist/{three-mesh-ui-CwlN0FUC.umd.cjs → three-mesh-ui-CQiIQIlA.umd.cjs} +1 -1
- package/dist/{three-mesh-ui-CLNOfsWn.js → three-mesh-ui-CxuWt7m-.js} +1 -1
- package/dist/{vendor-zxXa3Dmr.min.js → vendor-BlSxe9JJ.min.js} +3 -3
- package/dist/{vendor-BSD1RQIh.js → vendor-BmYIgaS1.js} +3 -3
- package/dist/{vendor-DHr4aqIZ.umd.cjs → vendor-Cavtu3CP.umd.cjs} +3 -3
- package/lib/asap/needle-asap.d.ts +1 -1
- package/lib/asap/needle-asap.js +95 -95
- package/lib/asap/sessiongranted.d.ts +3 -3
- package/lib/asap/sessiongranted.js +65 -65
- package/lib/asap/utils.d.ts +1 -1
- package/lib/asap/utils.js +3 -3
- package/lib/engine/analytics/index.d.ts +6 -6
- package/lib/engine/analytics/index.js +12 -12
- package/lib/engine/analytics/lcp.d.ts +3 -3
- package/lib/engine/analytics/lcp.js +34 -34
- package/lib/engine/api.d.ts +82 -82
- package/lib/engine/api.js +81 -81
- package/lib/engine/assets/index.d.ts +11 -11
- package/lib/engine/assets/index.js +47 -47
- package/lib/engine/assets/static.d.ts +1 -1
- package/lib/engine/assets/static.js +4 -4
- package/lib/engine/codegen/register_types.d.ts +1 -1
- package/lib/engine/codegen/register_types.js +300 -300
- package/lib/engine/debug/debug.d.ts +15 -15
- package/lib/engine/debug/debug.js +44 -44
- package/lib/engine/debug/debug_console.d.ts +2 -2
- package/lib/engine/debug/debug_console.js +307 -307
- package/lib/engine/debug/debug_overlay.d.ts +22 -22
- package/lib/engine/debug/debug_overlay.js +316 -316
- package/lib/engine/debug/debug_spatial_console.d.ts +2 -2
- package/lib/engine/debug/debug_spatial_console.js +390 -390
- package/lib/engine/debug/index.d.ts +2 -2
- package/lib/engine/debug/index.js +2 -2
- package/lib/engine/engine_addressables.d.ts +164 -164
- package/lib/engine/engine_addressables.js +601 -601
- package/lib/engine/engine_animation.d.ts +43 -43
- package/lib/engine/engine_animation.js +133 -133
- package/lib/engine/engine_application.d.ts +45 -45
- package/lib/engine/engine_application.js +104 -104
- package/lib/engine/engine_assetdatabase.d.ts +25 -25
- package/lib/engine/engine_assetdatabase.js +346 -346
- package/lib/engine/engine_audio.d.ts +4 -4
- package/lib/engine/engine_audio.js +23 -23
- package/lib/engine/engine_camera.d.ts +13 -13
- package/lib/engine/engine_camera.js +30 -30
- package/lib/engine/engine_components.d.ts +110 -110
- package/lib/engine/engine_components.js +374 -374
- package/lib/engine/engine_components_internal.d.ts +9 -9
- package/lib/engine/engine_components_internal.js +36 -36
- package/lib/engine/engine_constants.d.ts +10 -10
- package/lib/engine/engine_constants.js +41 -41
- package/lib/engine/engine_context.d.ts +475 -475
- package/lib/engine/engine_context.js +1673 -1673
- package/lib/engine/engine_context_registry.d.ts +71 -71
- package/lib/engine/engine_context_registry.js +117 -117
- package/lib/engine/engine_coroutine.d.ts +35 -35
- package/lib/engine/engine_coroutine.js +52 -52
- package/lib/engine/engine_create_objects.d.ts +119 -119
- package/lib/engine/engine_create_objects.js +320 -320
- package/lib/engine/engine_default_parameters.d.ts +2 -2
- package/lib/engine/engine_default_parameters.js +3 -3
- package/lib/engine/engine_editor-sync.d.ts +21 -21
- package/lib/engine/engine_editor-sync.js +4 -4
- package/lib/engine/engine_fileloader.d.ts +2 -2
- package/lib/engine/engine_fileloader.js +8 -8
- package/lib/engine/engine_gameobject.d.ts +68 -68
- package/lib/engine/engine_gameobject.js +619 -619
- package/lib/engine/engine_generic_utils.d.ts +1 -1
- package/lib/engine/engine_generic_utils.js +13 -13
- package/lib/engine/engine_gizmos.d.ts +149 -149
- package/lib/engine/engine_gizmos.js +530 -530
- package/lib/engine/engine_gltf.d.ts +12 -12
- package/lib/engine/engine_gltf.js +15 -15
- package/lib/engine/engine_gltf_builtin_components.d.ts +11 -11
- package/lib/engine/engine_gltf_builtin_components.js +341 -341
- package/lib/engine/engine_hot_reload.d.ts +8 -8
- package/lib/engine/engine_hot_reload.js +197 -197
- package/lib/engine/engine_input.d.ts +362 -362
- package/lib/engine/engine_input.js +1294 -1294
- package/lib/engine/engine_input_utils.d.ts +2 -2
- package/lib/engine/engine_input_utils.js +22 -22
- package/lib/engine/engine_instancing.d.ts +19 -19
- package/lib/engine/engine_instancing.js +39 -39
- package/lib/engine/engine_license.d.ts +11 -11
- package/lib/engine/engine_license.js +369 -369
- package/lib/engine/engine_lifecycle_api.d.ts +83 -83
- package/lib/engine/engine_lifecycle_api.js +106 -106
- package/lib/engine/engine_lifecycle_functions_internal.d.ts +32 -32
- package/lib/engine/engine_lifecycle_functions_internal.js +146 -146
- package/lib/engine/engine_lightdata.d.ts +23 -23
- package/lib/engine/engine_lightdata.js +101 -101
- package/lib/engine/engine_loaders.callbacks.d.ts +97 -97
- package/lib/engine/engine_loaders.callbacks.js +86 -86
- package/lib/engine/engine_loaders.d.ts +48 -48
- package/lib/engine/engine_loaders.gltf.d.ts +13 -13
- package/lib/engine/engine_loaders.gltf.js +62 -62
- package/lib/engine/engine_loaders.js +337 -337
- package/lib/engine/engine_lods.d.ts +35 -35
- package/lib/engine/engine_lods.js +160 -160
- package/lib/engine/engine_mainloop_utils.d.ts +32 -32
- package/lib/engine/engine_mainloop_utils.js +466 -466
- package/lib/engine/engine_math.d.ts +114 -114
- package/lib/engine/engine_math.js +247 -247
- package/lib/engine/engine_modules.d.ts +36 -36
- package/lib/engine/engine_modules.js +85 -85
- package/lib/engine/engine_networking.d.ts +260 -260
- package/lib/engine/engine_networking.js +764 -764
- package/lib/engine/engine_networking_auto.d.ts +24 -24
- package/lib/engine/engine_networking_auto.js +310 -310
- package/lib/engine/engine_networking_blob.d.ts +48 -48
- package/lib/engine/engine_networking_blob.js +228 -228
- package/lib/engine/engine_networking_files.d.ts +35 -35
- package/lib/engine/engine_networking_files.js +172 -172
- package/lib/engine/engine_networking_files_default_components.d.ts +6 -6
- package/lib/engine/engine_networking_files_default_components.js +42 -42
- package/lib/engine/engine_networking_instantiate.d.ts +100 -100
- package/lib/engine/engine_networking_instantiate.js +345 -345
- package/lib/engine/engine_networking_peer.d.ts +15 -15
- package/lib/engine/engine_networking_peer.js +132 -132
- package/lib/engine/engine_networking_streams.d.ts +123 -123
- package/lib/engine/engine_networking_streams.js +645 -645
- package/lib/engine/engine_networking_types.d.ts +22 -22
- package/lib/engine/engine_networking_types.js +7 -7
- package/lib/engine/engine_networking_utils.d.ts +2 -2
- package/lib/engine/engine_networking_utils.js +20 -20
- package/lib/engine/engine_networking_websocket.d.ts +1 -1
- package/lib/engine/engine_networking_websocket.js +2 -2
- package/lib/engine/engine_patcher.d.ts +10 -10
- package/lib/engine/engine_patcher.js +142 -142
- package/lib/engine/engine_physics.d.ts +152 -152
- package/lib/engine/engine_physics.js +645 -645
- package/lib/engine/engine_physics.types.d.ts +40 -40
- package/lib/engine/engine_physics.types.js +33 -33
- package/lib/engine/engine_physics_rapier.d.ts +147 -147
- package/lib/engine/engine_physics_rapier.js +1433 -1433
- package/lib/engine/engine_playerview.d.ts +26 -26
- package/lib/engine/engine_playerview.js +64 -64
- package/lib/engine/engine_scenelighting.d.ts +71 -71
- package/lib/engine/engine_scenelighting.js +226 -226
- package/lib/engine/engine_serialization.d.ts +3 -3
- package/lib/engine/engine_serialization.js +3 -3
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +72 -72
- package/lib/engine/engine_serialization_builtin_serializer.js +403 -403
- package/lib/engine/engine_serialization_core.d.ts +94 -94
- package/lib/engine/engine_serialization_core.js +607 -607
- package/lib/engine/engine_serialization_decorator.d.ts +23 -23
- package/lib/engine/engine_serialization_decorator.js +66 -66
- package/lib/engine/engine_setup.d.ts +1 -1
- package/lib/engine/engine_setup.js +2 -2
- package/lib/engine/engine_shaders.d.ts +53 -53
- package/lib/engine/engine_shaders.js +252 -252
- package/lib/engine/engine_shims.d.ts +4 -4
- package/lib/engine/engine_shims.js +24 -24
- package/lib/engine/engine_test_utils.d.ts +39 -39
- package/lib/engine/engine_test_utils.js +83 -83
- package/lib/engine/engine_texture.d.ts +28 -28
- package/lib/engine/engine_texture.js +64 -64
- package/lib/engine/engine_three_utils.d.ts +204 -204
- package/lib/engine/engine_three_utils.js +788 -788
- package/lib/engine/engine_time.d.ts +51 -51
- package/lib/engine/engine_time.js +82 -82
- package/lib/engine/engine_time_utils.d.ts +88 -88
- package/lib/engine/engine_time_utils.js +215 -215
- package/lib/engine/engine_tonemapping.d.ts +6 -6
- package/lib/engine/engine_tonemapping.js +197 -197
- package/lib/engine/engine_types.d.ts +578 -578
- package/lib/engine/engine_types.js +95 -95
- package/lib/engine/engine_typestore.d.ts +28 -28
- package/lib/engine/engine_typestore.js +55 -55
- package/lib/engine/engine_util_decorator.d.ts +13 -13
- package/lib/engine/engine_util_decorator.js +116 -116
- package/lib/engine/engine_utils.d.ts +248 -248
- package/lib/engine/engine_utils.js +1012 -1012
- package/lib/engine/engine_utils_format.d.ts +24 -24
- package/lib/engine/engine_utils_format.js +239 -239
- package/lib/engine/engine_utils_screenshot.d.ts +159 -159
- package/lib/engine/engine_utils_screenshot.js +522 -522
- package/lib/engine/engine_utils_screenshot.xr.d.ts +5 -5
- package/lib/engine/engine_utils_screenshot.xr.js +90 -90
- package/lib/engine/engine_xr.d.ts +1 -1
- package/lib/engine/engine_xr.js +1 -1
- package/lib/engine/export/gltf/Writers.d.ts +19 -19
- package/lib/engine/export/gltf/Writers.js +24 -24
- package/lib/engine/export/gltf/index.d.ts +11 -11
- package/lib/engine/export/gltf/index.js +123 -123
- package/lib/engine/export/index.d.ts +2 -2
- package/lib/engine/export/index.js +2 -2
- package/lib/engine/export/state.d.ts +7 -7
- package/lib/engine/export/state.js +17 -17
- package/lib/engine/export/utils.d.ts +2 -2
- package/lib/engine/export/utils.js +7 -7
- package/lib/engine/extensions/EXT_texture_exr.d.ts +8 -8
- package/lib/engine/extensions/EXT_texture_exr.js +32 -32
- package/lib/engine/extensions/NEEDLE_animator_controller_model.d.ts +122 -122
- package/lib/engine/extensions/NEEDLE_animator_controller_model.js +95 -95
- package/lib/engine/extensions/NEEDLE_components.d.ts +35 -35
- package/lib/engine/extensions/NEEDLE_components.js +220 -220
- package/lib/engine/extensions/NEEDLE_gameobject_data.d.ts +10 -10
- package/lib/engine/extensions/NEEDLE_gameobject_data.js +57 -57
- package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +37 -37
- package/lib/engine/extensions/NEEDLE_lighting_settings.js +157 -157
- package/lib/engine/extensions/NEEDLE_lightmaps.d.ts +18 -18
- package/lib/engine/extensions/NEEDLE_lightmaps.js +99 -99
- package/lib/engine/extensions/NEEDLE_persistent_assets.d.ts +11 -11
- package/lib/engine/extensions/NEEDLE_persistent_assets.js +63 -63
- package/lib/engine/extensions/NEEDLE_progressive.d.ts +1 -1
- package/lib/engine/extensions/NEEDLE_progressive.js +1 -1
- package/lib/engine/extensions/NEEDLE_render_objects.d.ts +13 -13
- package/lib/engine/extensions/NEEDLE_render_objects.js +159 -159
- package/lib/engine/extensions/NEEDLE_techniques_webgl.d.ts +38 -38
- package/lib/engine/extensions/NEEDLE_techniques_webgl.js +564 -564
- package/lib/engine/extensions/extension_resolver.d.ts +4 -4
- package/lib/engine/extensions/extension_resolver.js +1 -1
- package/lib/engine/extensions/extension_utils.d.ts +12 -12
- package/lib/engine/extensions/extension_utils.js +152 -152
- package/lib/engine/extensions/extensions.d.ts +32 -32
- package/lib/engine/extensions/extensions.js +107 -107
- package/lib/engine/extensions/index.d.ts +6 -6
- package/lib/engine/extensions/index.js +6 -6
- package/lib/engine/extensions/usage_tracker.d.ts +13 -13
- package/lib/engine/extensions/usage_tracker.js +65 -65
- package/lib/engine/js-extensions/Camera.d.ts +1 -1
- package/lib/engine/js-extensions/Camera.js +39 -39
- package/lib/engine/js-extensions/ExtensionUtils.d.ts +9 -9
- package/lib/engine/js-extensions/ExtensionUtils.js +67 -67
- package/lib/engine/js-extensions/Layers.d.ts +6 -6
- package/lib/engine/js-extensions/Layers.js +22 -22
- package/lib/engine/js-extensions/Object3D.d.ts +120 -120
- package/lib/engine/js-extensions/Object3D.js +136 -136
- package/lib/engine/js-extensions/RGBAColor.d.ts +23 -23
- package/lib/engine/js-extensions/RGBAColor.js +111 -111
- package/lib/engine/js-extensions/Vector.d.ts +3 -3
- package/lib/engine/js-extensions/Vector.js +13 -13
- package/lib/engine/js-extensions/index.d.ts +5 -5
- package/lib/engine/js-extensions/index.js +5 -5
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.d.ts +4 -4
- package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +79 -79
- package/lib/engine/shaders/shaderData.d.ts +55 -55
- package/lib/engine/shaders/shaderData.js +58 -58
- package/lib/engine/tests/test_utils.d.ts +2 -2
- package/lib/engine/tests/test_utils.js +53 -53
- package/lib/engine/webcomponents/WebXRButtons.d.ts +56 -56
- package/lib/engine/webcomponents/WebXRButtons.js +230 -230
- package/lib/engine/webcomponents/api.d.ts +5 -5
- package/lib/engine/webcomponents/api.js +4 -4
- package/lib/engine/webcomponents/buttons.d.ts +51 -51
- package/lib/engine/webcomponents/buttons.js +264 -264
- package/lib/engine/webcomponents/fonts.d.ts +9 -9
- package/lib/engine/webcomponents/fonts.js +32 -32
- package/lib/engine/webcomponents/icons.d.ts +9 -9
- package/lib/engine/webcomponents/icons.js +52 -52
- package/lib/engine/webcomponents/index.d.ts +1 -1
- package/lib/engine/webcomponents/index.js +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +10 -10
- package/lib/engine/webcomponents/logo-element.js +67 -67
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.d.ts +37 -37
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +513 -513
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +155 -155
- package/lib/engine/webcomponents/needle menu/needle-menu.js +1029 -1029
- package/lib/engine/webcomponents/needle-button.d.ts +34 -34
- package/lib/engine/webcomponents/needle-button.js +161 -161
- package/lib/engine/webcomponents/needle-engine.ar-overlay.d.ts +21 -21
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +166 -166
- package/lib/engine/webcomponents/needle-engine.attributes.d.ts +69 -69
- package/lib/engine/webcomponents/needle-engine.attributes.js +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +116 -116
- package/lib/engine/webcomponents/needle-engine.extras.d.ts +6 -6
- package/lib/engine/webcomponents/needle-engine.extras.js +13 -13
- package/lib/engine/webcomponents/needle-engine.js +821 -821
- package/lib/engine/webcomponents/needle-engine.loading.d.ts +44 -44
- package/lib/engine/webcomponents/needle-engine.loading.js +341 -341
- package/lib/engine/xr/NeedleXRController.d.ts +313 -313
- package/lib/engine/xr/NeedleXRController.js +1007 -1007
- package/lib/engine/xr/NeedleXRSession.d.ts +340 -340
- package/lib/engine/xr/NeedleXRSession.js +1463 -1463
- package/lib/engine/xr/NeedleXRSync.d.ts +22 -22
- package/lib/engine/xr/NeedleXRSync.js +188 -188
- package/lib/engine/xr/SceneTransition.d.ts +18 -18
- package/lib/engine/xr/SceneTransition.js +69 -69
- package/lib/engine/xr/TempXRContext.d.ts +34 -34
- package/lib/engine/xr/TempXRContext.js +187 -187
- package/lib/engine/xr/XRRig.d.ts +7 -7
- package/lib/engine/xr/XRRig.js +1 -1
- package/lib/engine/xr/api.d.ts +6 -6
- package/lib/engine/xr/api.js +6 -6
- package/lib/engine/xr/events.d.ts +66 -66
- package/lib/engine/xr/events.js +93 -93
- package/lib/engine/xr/internal.d.ts +12 -12
- package/lib/engine/xr/internal.js +25 -25
- package/lib/engine/xr/usdz.d.ts +12 -12
- package/lib/engine/xr/usdz.js +29 -29
- package/lib/engine/xr/utils.d.ts +11 -11
- package/lib/engine/xr/utils.js +34 -34
- package/lib/engine-components/AlignmentConstraint.d.ts +10 -10
- package/lib/engine-components/AlignmentConstraint.js +39 -39
- package/lib/engine-components/Animation.d.ts +156 -156
- package/lib/engine-components/Animation.js +508 -508
- package/lib/engine-components/AnimationCurve.d.ts +40 -40
- package/lib/engine-components/AnimationCurve.js +159 -159
- package/lib/engine-components/AnimationUtils.d.ts +8 -8
- package/lib/engine-components/AnimationUtils.js +27 -27
- package/lib/engine-components/AnimationUtilsAutoplay.d.ts +1 -1
- package/lib/engine-components/AnimationUtilsAutoplay.js +39 -39
- package/lib/engine-components/Animator.d.ts +217 -217
- package/lib/engine-components/Animator.js +354 -354
- package/lib/engine-components/AnimatorController.d.ts +227 -227
- package/lib/engine-components/AnimatorController.js +1152 -1152
- package/lib/engine-components/AudioListener.d.ts +33 -33
- package/lib/engine-components/AudioListener.js +86 -86
- package/lib/engine-components/AudioSource.d.ts +217 -217
- package/lib/engine-components/AudioSource.js +635 -635
- package/lib/engine-components/AvatarLoader.d.ts +80 -80
- package/lib/engine-components/AvatarLoader.js +231 -231
- package/lib/engine-components/AxesHelper.d.ts +32 -32
- package/lib/engine-components/AxesHelper.js +67 -67
- package/lib/engine-components/BasicIKConstraint.d.ts +9 -9
- package/lib/engine-components/BasicIKConstraint.js +43 -43
- package/lib/engine-components/BoxCollider.d.ts +2 -2
- package/lib/engine-components/BoxCollider.js +2 -2
- package/lib/engine-components/BoxHelperComponent.d.ts +47 -47
- package/lib/engine-components/BoxHelperComponent.js +102 -102
- package/lib/engine-components/Camera.d.ts +231 -231
- package/lib/engine-components/Camera.js +700 -700
- package/lib/engine-components/CameraUtils.d.ts +1 -1
- package/lib/engine-components/CameraUtils.js +123 -123
- package/lib/engine-components/CharacterController.d.ts +55 -55
- package/lib/engine-components/CharacterController.js +236 -236
- package/lib/engine-components/Collider.d.ts +188 -188
- package/lib/engine-components/Collider.js +369 -369
- package/lib/engine-components/Component.d.ts +792 -792
- package/lib/engine-components/Component.js +920 -920
- package/lib/engine-components/ContactShadows.d.ts +94 -94
- package/lib/engine-components/ContactShadows.js +453 -453
- package/lib/engine-components/DeleteBox.d.ts +19 -19
- package/lib/engine-components/DeleteBox.js +58 -58
- package/lib/engine-components/DeviceFlag.d.ts +16 -16
- package/lib/engine-components/DeviceFlag.js +47 -47
- package/lib/engine-components/DragControls.d.ts +170 -170
- package/lib/engine-components/DragControls.js +1421 -1421
- package/lib/engine-components/DropListener.d.ts +215 -215
- package/lib/engine-components/DropListener.js +642 -642
- package/lib/engine-components/Duplicatable.d.ts +35 -35
- package/lib/engine-components/Duplicatable.js +202 -202
- package/lib/engine-components/EventList.d.ts +54 -54
- package/lib/engine-components/EventList.js +232 -232
- package/lib/engine-components/EventTrigger.d.ts +33 -33
- package/lib/engine-components/EventTrigger.js +75 -75
- package/lib/engine-components/EventType.d.ts +22 -22
- package/lib/engine-components/EventType.js +23 -23
- package/lib/engine-components/Fog.d.ts +22 -22
- package/lib/engine-components/Fog.js +61 -61
- package/lib/engine-components/Gizmos.d.ts +17 -17
- package/lib/engine-components/Gizmos.js +64 -64
- package/lib/engine-components/GridHelper.d.ts +20 -20
- package/lib/engine-components/GridHelper.js +54 -54
- package/lib/engine-components/GroundProjection.d.ts +67 -67
- package/lib/engine-components/GroundProjection.js +343 -343
- package/lib/engine-components/Interactable.d.ts +12 -12
- package/lib/engine-components/Interactable.js +12 -12
- package/lib/engine-components/Joints.d.ts +19 -19
- package/lib/engine-components/Joints.js +51 -51
- package/lib/engine-components/LODGroup.d.ts +35 -35
- package/lib/engine-components/LODGroup.js +152 -152
- package/lib/engine-components/Light.d.ts +180 -180
- package/lib/engine-components/Light.js +535 -535
- package/lib/engine-components/LookAtConstraint.d.ts +19 -19
- package/lib/engine-components/LookAtConstraint.js +35 -35
- package/lib/engine-components/NeedleMenu.d.ts +50 -50
- package/lib/engine-components/NeedleMenu.js +92 -92
- package/lib/engine-components/NestedGltf.d.ts +25 -25
- package/lib/engine-components/NestedGltf.js +88 -88
- package/lib/engine-components/Networking.d.ts +54 -54
- package/lib/engine-components/Networking.js +112 -112
- package/lib/engine-components/OffsetConstraint.d.ts +14 -14
- package/lib/engine-components/OffsetConstraint.js +65 -65
- package/lib/engine-components/OrbitControls.d.ts +268 -268
- package/lib/engine-components/OrbitControls.js +1015 -1015
- package/lib/engine-components/PlayerColor.d.ts +19 -19
- package/lib/engine-components/PlayerColor.js +94 -94
- package/lib/engine-components/ReflectionProbe.d.ts +28 -28
- package/lib/engine-components/ReflectionProbe.js +204 -204
- package/lib/engine-components/Renderer.d.ts +153 -153
- package/lib/engine-components/Renderer.js +834 -834
- package/lib/engine-components/RendererInstancing.d.ts +140 -140
- package/lib/engine-components/RendererInstancing.js +744 -744
- package/lib/engine-components/RendererLightmap.d.ts +24 -24
- package/lib/engine-components/RendererLightmap.js +182 -182
- package/lib/engine-components/RigidBody.d.ts +155 -155
- package/lib/engine-components/RigidBody.js +517 -517
- package/lib/engine-components/SceneSwitcher.d.ts +263 -263
- package/lib/engine-components/SceneSwitcher.js +971 -971
- package/lib/engine-components/ScreenCapture.d.ts +144 -144
- package/lib/engine-components/ScreenCapture.js +547 -547
- package/lib/engine-components/ShadowCatcher.d.ts +33 -33
- package/lib/engine-components/ShadowCatcher.js +166 -166
- package/lib/engine-components/Skybox.d.ts +88 -88
- package/lib/engine-components/Skybox.js +469 -469
- package/lib/engine-components/SmoothFollow.d.ts +34 -34
- package/lib/engine-components/SmoothFollow.js +82 -82
- package/lib/engine-components/SpatialTrigger.d.ts +102 -102
- package/lib/engine-components/SpatialTrigger.js +225 -225
- package/lib/engine-components/SpectatorCamera.d.ts +111 -111
- package/lib/engine-components/SpectatorCamera.js +715 -715
- package/lib/engine-components/SphereCollider.d.ts +2 -2
- package/lib/engine-components/SphereCollider.js +2 -2
- package/lib/engine-components/SpriteRenderer.d.ts +132 -132
- package/lib/engine-components/SpriteRenderer.js +472 -472
- package/lib/engine-components/SyncedCamera.d.ts +41 -41
- package/lib/engine-components/SyncedCamera.js +199 -199
- package/lib/engine-components/SyncedRoom.d.ts +106 -106
- package/lib/engine-components/SyncedRoom.js +371 -371
- package/lib/engine-components/SyncedTransform.d.ts +94 -94
- package/lib/engine-components/SyncedTransform.js +331 -331
- package/lib/engine-components/TestRunner.d.ts +16 -16
- package/lib/engine-components/TestRunner.js +102 -102
- package/lib/engine-components/TransformGizmo.d.ts +75 -75
- package/lib/engine-components/TransformGizmo.js +209 -209
- package/lib/engine-components/VideoPlayer.d.ts +184 -184
- package/lib/engine-components/VideoPlayer.js +978 -978
- package/lib/engine-components/Voip.d.ts +67 -67
- package/lib/engine-components/Voip.js +360 -360
- package/lib/engine-components/api.d.ts +51 -51
- package/lib/engine-components/api.js +50 -50
- package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +11 -11
- package/lib/engine-components/avatar/AvatarBlink_Simple.js +76 -76
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +14 -14
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +68 -68
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +29 -29
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +121 -121
- package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +15 -15
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +79 -79
- package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +9 -9
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +29 -29
- package/lib/engine-components/codegen/components.d.ts +216 -216
- package/lib/engine-components/codegen/components.js +218 -218
- package/lib/engine-components/debug/LogStats.d.ts +5 -5
- package/lib/engine-components/debug/LogStats.js +18 -18
- package/lib/engine-components/export/gltf/GltfExport.d.ts +30 -30
- package/lib/engine-components/export/gltf/GltfExport.js +246 -246
- package/lib/engine-components/export/gltf/index.d.ts +1 -1
- package/lib/engine-components/export/gltf/index.js +1 -1
- package/lib/engine-components/export/index.d.ts +1 -1
- package/lib/engine-components/export/index.js +1 -1
- package/lib/engine-components/export/usdz/Extension.d.ts +22 -22
- package/lib/engine-components/export/usdz/Extension.js +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +162 -162
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +1789 -1789
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +130 -130
- package/lib/engine-components/export/usdz/USDZExporter.js +663 -663
- package/lib/engine-components/export/usdz/extensions/Animation.d.ts +106 -106
- package/lib/engine-components/export/usdz/extensions/Animation.js +1071 -1071
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.d.ts +5 -5
- package/lib/engine-components/export/usdz/extensions/DocumentExtension.js +6 -6
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.js +451 -451
- package/lib/engine-components/export/usdz/extensions/USDZText.d.ts +54 -54
- package/lib/engine-components/export/usdz/extensions/USDZText.js +203 -203
- package/lib/engine-components/export/usdz/extensions/USDZUI.d.ts +8 -8
- package/lib/engine-components/export/usdz/extensions/USDZUI.js +158 -158
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.d.ts +30 -30
- package/lib/engine-components/export/usdz/extensions/behavior/Actions.js +88 -88
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.d.ts +10 -10
- package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js +86 -86
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.d.ts +28 -28
- package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js +290 -290
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +190 -190
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +1060 -1060
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.d.ts +135 -135
- package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js +548 -548
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.d.ts +7 -7
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +115 -115
- package/lib/engine-components/export/usdz/index.d.ts +3 -3
- package/lib/engine-components/export/usdz/index.js +2 -2
- package/lib/engine-components/export/usdz/utils/animationutils.d.ts +7 -7
- package/lib/engine-components/export/usdz/utils/animationutils.js +163 -163
- package/lib/engine-components/export/usdz/utils/quicklook.d.ts +2 -2
- package/lib/engine-components/export/usdz/utils/quicklook.js +43 -43
- package/lib/engine-components/particlesystem/ParticleSystem.d.ts +177 -177
- package/lib/engine-components/particlesystem/ParticleSystem.js +1176 -1176
- package/lib/engine-components/particlesystem/ParticleSystemModules.d.ts +526 -526
- package/lib/engine-components/particlesystem/ParticleSystemModules.js +1930 -1930
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.d.ts +25 -25
- package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.js +87 -87
- package/lib/engine-components/particlesystem/api.d.ts +2 -2
- package/lib/engine-components/particlesystem/api.js +2 -2
- package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/Antialiasing.js +59 -59
- package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +46 -46
- package/lib/engine-components/postprocessing/Effects/BloomEffect.js +113 -113
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +39 -39
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +23 -23
- package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +111 -111
- package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +25 -25
- package/lib/engine-components/postprocessing/Effects/DepthOfField.js +104 -104
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +12 -12
- package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +18 -18
- package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +11 -11
- package/lib/engine-components/postprocessing/Effects/Pixelation.js +32 -32
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +91 -91
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +70 -70
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +176 -176
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +18 -18
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +127 -127
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +17 -17
- package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +70 -70
- package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +19 -19
- package/lib/engine-components/postprocessing/Effects/Tonemapping.js +94 -94
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +13 -13
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.js +51 -51
- package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +15 -15
- package/lib/engine-components/postprocessing/Effects/Vignette.js +60 -60
- package/lib/engine-components/postprocessing/PostProcessingEffect.d.ts +90 -90
- package/lib/engine-components/postprocessing/PostProcessingEffect.js +168 -168
- package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +42 -42
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +494 -494
- package/lib/engine-components/postprocessing/Volume.d.ts +90 -90
- package/lib/engine-components/postprocessing/Volume.js +385 -385
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +26 -26
- package/lib/engine-components/postprocessing/VolumeParameter.js +136 -136
- package/lib/engine-components/postprocessing/VolumeProfile.d.ts +15 -15
- package/lib/engine-components/postprocessing/VolumeProfile.js +60 -60
- package/lib/engine-components/postprocessing/index.d.ts +6 -6
- package/lib/engine-components/postprocessing/index.js +6 -6
- package/lib/engine-components/postprocessing/utils.d.ts +55 -55
- package/lib/engine-components/postprocessing/utils.js +119 -119
- package/lib/engine-components/timeline/PlayableDirector.d.ts +163 -163
- package/lib/engine-components/timeline/PlayableDirector.js +686 -686
- package/lib/engine-components/timeline/SignalAsset.d.ts +24 -24
- package/lib/engine-components/timeline/SignalAsset.js +130 -130
- package/lib/engine-components/timeline/TimelineModels.d.ts +89 -89
- package/lib/engine-components/timeline/TimelineModels.js +22 -22
- package/lib/engine-components/timeline/TimelineTracks.d.ts +110 -110
- package/lib/engine-components/timeline/TimelineTracks.js +879 -879
- package/lib/engine-components/timeline/index.d.ts +4 -4
- package/lib/engine-components/timeline/index.js +3 -3
- package/lib/engine-components/ui/BaseUIComponent.d.ts +48 -48
- package/lib/engine-components/ui/BaseUIComponent.js +170 -170
- package/lib/engine-components/ui/Button.d.ts +64 -64
- package/lib/engine-components/ui/Button.js +315 -315
- package/lib/engine-components/ui/Canvas.d.ts +74 -74
- package/lib/engine-components/ui/Canvas.js +407 -407
- package/lib/engine-components/ui/CanvasGroup.d.ts +19 -19
- package/lib/engine-components/ui/CanvasGroup.js +58 -58
- package/lib/engine-components/ui/EventSystem.d.ts +125 -125
- package/lib/engine-components/ui/EventSystem.js +765 -765
- package/lib/engine-components/ui/Graphic.d.ts +55 -55
- package/lib/engine-components/ui/Graphic.js +255 -255
- package/lib/engine-components/ui/Image.d.ts +35 -35
- package/lib/engine-components/ui/Image.js +116 -116
- package/lib/engine-components/ui/InputField.d.ts +42 -42
- package/lib/engine-components/ui/InputField.js +268 -268
- package/lib/engine-components/ui/Interfaces.d.ts +38 -38
- package/lib/engine-components/ui/Interfaces.js +12 -12
- package/lib/engine-components/ui/Layout.d.ts +84 -84
- package/lib/engine-components/ui/Layout.js +330 -330
- package/lib/engine-components/ui/Outline.d.ts +7 -7
- package/lib/engine-components/ui/Outline.js +20 -20
- package/lib/engine-components/ui/PointerEvents.d.ts +115 -115
- package/lib/engine-components/ui/PointerEvents.js +145 -145
- package/lib/engine-components/ui/RaycastUtils.d.ts +11 -11
- package/lib/engine-components/ui/RaycastUtils.js +67 -67
- package/lib/engine-components/ui/Raycaster.d.ts +30 -30
- package/lib/engine-components/ui/Raycaster.js +95 -95
- package/lib/engine-components/ui/RectTransform.d.ts +61 -61
- package/lib/engine-components/ui/RectTransform.js +356 -356
- package/lib/engine-components/ui/SpatialHtml.d.ts +8 -8
- package/lib/engine-components/ui/SpatialHtml.js +79 -79
- package/lib/engine-components/ui/Symbols.d.ts +1 -1
- package/lib/engine-components/ui/Symbols.js +1 -1
- package/lib/engine-components/ui/Text.d.ts +78 -78
- package/lib/engine-components/ui/Text.js +539 -539
- package/lib/engine-components/ui/Utils.d.ts +24 -24
- package/lib/engine-components/ui/Utils.js +90 -90
- package/lib/engine-components/ui/index.d.ts +1 -1
- package/lib/engine-components/ui/index.js +1 -1
- package/lib/engine-components/utils/EnvironmentScene.d.ts +5 -5
- package/lib/engine-components/utils/EnvironmentScene.js +205 -205
- package/lib/engine-components/utils/LookAt.d.ts +31 -31
- package/lib/engine-components/utils/LookAt.js +82 -82
- package/lib/engine-components/utils/OpenURL.d.ts +42 -42
- package/lib/engine-components/utils/OpenURL.js +119 -119
- package/lib/engine-components/webxr/Avatar.d.ts +25 -25
- package/lib/engine-components/webxr/Avatar.js +255 -255
- package/lib/engine-components/webxr/TeleportTarget.d.ts +7 -7
- package/lib/engine-components/webxr/TeleportTarget.js +7 -7
- package/lib/engine-components/webxr/WebARCameraBackground.d.ts +30 -30
- package/lib/engine-components/webxr/WebARCameraBackground.js +155 -155
- package/lib/engine-components/webxr/WebARSessionRoot.d.ts +98 -98
- package/lib/engine-components/webxr/WebARSessionRoot.js +770 -770
- package/lib/engine-components/webxr/WebXR.d.ts +232 -232
- package/lib/engine-components/webxr/WebXR.js +561 -561
- package/lib/engine-components/webxr/WebXRAvatar.d.ts +27 -27
- package/lib/engine-components/webxr/WebXRAvatar.js +44 -44
- package/lib/engine-components/webxr/WebXRImageTracking.d.ts +86 -86
- package/lib/engine-components/webxr/WebXRImageTracking.js +471 -471
- package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +92 -92
- package/lib/engine-components/webxr/WebXRPlaneTracking.js +500 -500
- package/lib/engine-components/webxr/WebXRRig.d.ts +32 -32
- package/lib/engine-components/webxr/WebXRRig.js +72 -72
- package/lib/engine-components/webxr/XRFlag.d.ts +38 -38
- package/lib/engine-components/webxr/XRFlag.js +139 -139
- package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +47 -47
- package/lib/engine-components/webxr/controllers/XRControllerFollow.js +120 -120
- package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +43 -43
- package/lib/engine-components/webxr/controllers/XRControllerModel.js +352 -352
- package/lib/engine-components/webxr/controllers/XRControllerMovement.d.ts +78 -78
- package/lib/engine-components/webxr/controllers/XRControllerMovement.js +506 -506
- package/lib/engine-components/webxr/index.d.ts +3 -3
- package/lib/engine-components/webxr/index.js +3 -3
- package/lib/engine-components/webxr/types.d.ts +3 -3
- package/lib/engine-components/webxr/types.js +1 -1
- package/lib/engine-components-experimental/Presentation.d.ts +6 -6
- package/lib/engine-components-experimental/Presentation.js +9 -9
- package/lib/engine-components-experimental/api.d.ts +4 -4
- package/lib/engine-components-experimental/api.js +4 -4
- package/lib/engine-components-experimental/networking/PlayerSync.d.ts +156 -156
- package/lib/engine-components-experimental/networking/PlayerSync.js +377 -377
- package/lib/engine-schemes/api.d.ts +12 -12
- package/lib/engine-schemes/api.js +12 -12
- package/lib/engine-schemes/schemes.d.ts +7 -7
- package/lib/engine-schemes/schemes.js +19 -19
- package/lib/engine-schemes/synced-camera-model.d.ts +25 -25
- package/lib/engine-schemes/synced-camera-model.js +67 -67
- package/lib/engine-schemes/synced-transform-model.d.ts +31 -31
- package/lib/engine-schemes/synced-transform-model.js +66 -66
- package/lib/engine-schemes/transform.d.ts +12 -12
- package/lib/engine-schemes/transform.js +39 -39
- package/lib/engine-schemes/vec2.d.ts +10 -10
- package/lib/engine-schemes/vec2.js +25 -25
- package/lib/engine-schemes/vec3.d.ts +11 -11
- package/lib/engine-schemes/vec3.js +29 -29
- package/lib/engine-schemes/vec4.d.ts +12 -12
- package/lib/engine-schemes/vec4.js +33 -33
- package/lib/engine-schemes/vr-user-state-buffer.d.ts +37 -37
- package/lib/engine-schemes/vr-user-state-buffer.js +110 -110
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.d.ts +6 -6
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js +45 -45
- package/lib/needle-engine.d.ts +7 -7
- package/lib/needle-engine.js +64 -64
- package/package.json +3 -3
- package/plugins/common/buildinfo.js +64 -64
- package/plugins/common/cloud.js +1 -1
- package/plugins/common/config.cjs +31 -31
- package/plugins/common/config.js +35 -35
- package/plugins/common/files.js +31 -31
- package/plugins/common/generator.js +10 -10
- package/plugins/common/license.js +452 -452
- package/plugins/common/logger.js +327 -327
- package/plugins/common/npm.js +15 -15
- package/plugins/common/timers.js +7 -7
- package/plugins/common/version.js +37 -37
- package/plugins/gltf-packer.mjs +1 -1
- package/plugins/next/alias.cjs +39 -39
- package/plugins/next/license.cjs +24 -24
- package/plugins/next/meshbvhworker.cjs +18 -18
- package/plugins/next/next.js +141 -141
- package/plugins/types/index.d.ts +2 -2
- package/plugins/types/license.d.ts +24 -24
- package/plugins/types/needleConfig.d.ts +27 -27
- package/plugins/types/next.d.ts +2 -2
- package/plugins/types/userconfig.d.ts +124 -124
- package/plugins/types/vite.d.ts +13 -13
- package/plugins/types/webmanifest.d.ts +32 -32
- package/plugins/vite/alias.js +189 -189
- package/plugins/vite/asap.js +251 -251
- package/plugins/vite/build-pipeline.js +371 -371
- package/plugins/vite/build.js +19 -19
- package/plugins/vite/buildinfo.js +41 -41
- package/plugins/vite/config.js +106 -106
- package/plugins/vite/copyfiles.js +138 -138
- package/plugins/vite/defines.js +70 -70
- package/plugins/vite/dependencies.js +232 -232
- package/plugins/vite/dependency-watcher.js +237 -237
- package/plugins/vite/drop-client.js +76 -76
- package/plugins/vite/drop.js +87 -87
- package/plugins/vite/editor-connection.js +124 -124
- package/plugins/vite/facebook-instant-games.js +102 -102
- package/plugins/vite/gzip.js +5 -5
- package/plugins/vite/imports-logger.js +143 -143
- package/plugins/vite/index.js +147 -147
- package/plugins/vite/license.js +56 -56
- package/plugins/vite/local-files.js +440 -440
- package/plugins/vite/logger.client.js +272 -272
- package/plugins/vite/logger.js +100 -100
- package/plugins/vite/materialx.js +31 -31
- package/plugins/vite/meta.js +163 -163
- package/plugins/vite/npm.js +7 -7
- package/plugins/vite/peer.js +29 -29
- package/plugins/vite/poster-client.js +73 -73
- package/plugins/vite/poster.js +79 -79
- package/plugins/vite/pwa.js +604 -604
- package/plugins/vite/reload-client.js +15 -15
- package/plugins/vite/reload.js +351 -351
- package/plugins/vite/server.js +66 -66
- package/plugins/vite/transform-codegen.js +55 -55
- package/plugins/vite/transform.js +32 -32
- package/plugins/vite/vite-4.4-hack.js +31 -31
- package/src/asap/needle-asap.ts +111 -111
- package/src/asap/sessiongranted.ts +75 -75
- package/src/asap/utils.ts +4 -4
- package/src/engine/analytics/index.ts +10 -10
- package/src/engine/analytics/lcp.ts +35 -35
- package/src/engine/api.ts +82 -82
- package/src/engine/assets/index.ts +59 -59
- package/src/engine/assets/static.js +5 -5
- package/src/engine/codegen/register_types.ts +300 -300
- package/src/engine/debug/debug.ts +51 -51
- package/src/engine/debug/debug_console.ts +333 -333
- package/src/engine/debug/debug_overlay.ts +332 -332
- package/src/engine/debug/debug_spatial_console.ts +429 -429
- package/src/engine/debug/index.ts +1 -1
- package/src/engine/engine_addressables.ts +671 -671
- package/src/engine/engine_animation.ts +145 -145
- package/src/engine/engine_application.ts +113 -113
- package/src/engine/engine_assetdatabase.ts +389 -389
- package/src/engine/engine_audio.ts +24 -24
- package/src/engine/engine_camera.ts +39 -39
- package/src/engine/engine_components.ts +366 -366
- package/src/engine/engine_components_internal.ts +40 -40
- package/src/engine/engine_constants.ts +52 -52
- package/src/engine/engine_context.ts +1824 -1824
- package/src/engine/engine_context_registry.ts +129 -129
- package/src/engine/engine_coroutine.ts +54 -54
- package/src/engine/engine_create_objects.ts +411 -411
- package/src/engine/engine_default_parameters.ts +3 -3
- package/src/engine/engine_editor-sync.ts +28 -28
- package/src/engine/engine_fileloader.js +9 -9
- package/src/engine/engine_gameobject.ts +712 -712
- package/src/engine/engine_generic_utils.js +13 -13
- package/src/engine/engine_gizmos.ts +577 -577
- package/src/engine/engine_gltf.ts +29 -29
- package/src/engine/engine_gltf_builtin_components.ts +403 -403
- package/src/engine/engine_hot_reload.ts +210 -210
- package/src/engine/engine_input.ts +1500 -1500
- package/src/engine/engine_input_utils.ts +23 -23
- package/src/engine/engine_instancing.ts +45 -45
- package/src/engine/engine_license.ts +386 -386
- package/src/engine/engine_lifecycle_api.ts +113 -113
- package/src/engine/engine_lifecycle_functions_internal.ts +193 -193
- package/src/engine/engine_lightdata.ts +125 -125
- package/src/engine/engine_loaders.callbacks.ts +136 -136
- package/src/engine/engine_loaders.gltf.ts +82 -82
- package/src/engine/engine_loaders.ts +378 -378
- package/src/engine/engine_lods.ts +186 -186
- package/src/engine/engine_mainloop_utils.ts +472 -472
- package/src/engine/engine_math.ts +282 -282
- package/src/engine/engine_modules.ts +83 -83
- package/src/engine/engine_networking.ts +862 -862
- package/src/engine/engine_networking_auto.ts +352 -352
- package/src/engine/engine_networking_blob.ts +275 -275
- package/src/engine/engine_networking_files.ts +217 -217
- package/src/engine/engine_networking_files_default_components.ts +58 -58
- package/src/engine/engine_networking_instantiate.ts +419 -419
- package/src/engine/engine_networking_peer.ts +159 -159
- package/src/engine/engine_networking_streams.ts +713 -713
- package/src/engine/engine_networking_types.ts +24 -24
- package/src/engine/engine_networking_utils.ts +23 -23
- package/src/engine/engine_networking_websocket.ts +2 -2
- package/src/engine/engine_patcher.ts +199 -199
- package/src/engine/engine_physics.ts +783 -783
- package/src/engine/engine_physics.types.ts +46 -46
- package/src/engine/engine_physics_rapier.ts +1577 -1577
- package/src/engine/engine_playerview.ts +80 -80
- package/src/engine/engine_scenelighting.ts +294 -294
- package/src/engine/engine_serialization.ts +2 -2
- package/src/engine/engine_serialization_builtin_serializer.ts +473 -473
- package/src/engine/engine_serialization_core.ts +720 -720
- package/src/engine/engine_serialization_decorator.ts +80 -80
- package/src/engine/engine_setup.ts +1 -1
- package/src/engine/engine_shaders.ts +267 -267
- package/src/engine/engine_shims.ts +32 -32
- package/src/engine/engine_test_utils.ts +109 -109
- package/src/engine/engine_texture.ts +82 -82
- package/src/engine/engine_three_utils.ts +928 -928
- package/src/engine/engine_time.ts +94 -94
- package/src/engine/engine_time_utils.ts +237 -237
- package/src/engine/engine_tonemapping.ts +208 -208
- package/src/engine/engine_types.ts +730 -730
- package/src/engine/engine_typestore.ts +63 -63
- package/src/engine/engine_util_decorator.ts +136 -136
- package/src/engine/engine_utils.ts +1115 -1115
- package/src/engine/engine_utils_format.ts +273 -273
- package/src/engine/engine_utils_screenshot.ts +708 -708
- package/src/engine/engine_utils_screenshot.xr.ts +103 -103
- package/src/engine/export/gltf/Writers.ts +34 -34
- package/src/engine/export/gltf/index.ts +158 -158
- package/src/engine/export/index.ts +2 -2
- package/src/engine/export/state.ts +19 -19
- package/src/engine/export/utils.ts +9 -9
- package/src/engine/extensions/EXT_texture_exr.ts +50 -50
- package/src/engine/extensions/NEEDLE_animator_controller_model.ts +195 -195
- package/src/engine/extensions/NEEDLE_components.ts +268 -268
- package/src/engine/extensions/NEEDLE_gameobject_data.ts +81 -81
- package/src/engine/extensions/NEEDLE_lighting_settings.ts +185 -185
- package/src/engine/extensions/NEEDLE_lightmaps.ts +119 -119
- package/src/engine/extensions/NEEDLE_persistent_assets.ts +76 -76
- package/src/engine/extensions/NEEDLE_render_objects.ts +209 -209
- package/src/engine/extensions/NEEDLE_techniques_webgl.ts +640 -640
- package/src/engine/extensions/extension_resolver.ts +4 -4
- package/src/engine/extensions/extension_utils.ts +166 -166
- package/src/engine/extensions/extensions.ts +140 -140
- package/src/engine/extensions/index.ts +5 -5
- package/src/engine/extensions/usage_tracker.ts +100 -100
- package/src/engine/js-extensions/Camera.ts +37 -37
- package/src/engine/js-extensions/ExtensionUtils.ts +85 -85
- package/src/engine/js-extensions/Layers.ts +23 -23
- package/src/engine/js-extensions/Object3D.ts +296 -296
- package/src/engine/js-extensions/RGBAColor.ts +126 -126
- package/src/engine/js-extensions/Vector.ts +18 -18
- package/src/engine/js-extensions/index.ts +4 -4
- package/src/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js +125 -125
- package/src/engine/shaders/shaderData.ts +67 -67
- package/src/engine/tests/test_utils.ts +63 -63
- package/src/engine/webcomponents/WebXRButtons.ts +260 -260
- package/src/engine/webcomponents/api.ts +6 -6
- package/src/engine/webcomponents/buttons.ts +292 -292
- package/src/engine/webcomponents/fonts.ts +41 -41
- package/src/engine/webcomponents/icons.ts +57 -57
- package/src/engine/webcomponents/index.ts +1 -1
- package/src/engine/webcomponents/logo-element.ts +78 -78
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +573 -573
- package/src/engine/webcomponents/needle menu/needle-menu.ts +1118 -1118
- package/src/engine/webcomponents/needle-button.ts +181 -181
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +186 -186
- package/src/engine/webcomponents/needle-engine.attributes.ts +82 -82
- package/src/engine/webcomponents/needle-engine.extras.ts +16 -16
- package/src/engine/webcomponents/needle-engine.loading.ts +373 -373
- package/src/engine/webcomponents/needle-engine.ts +860 -860
- package/src/engine/xr/NeedleXRController.ts +1125 -1125
- package/src/engine/xr/NeedleXRSession.ts +1624 -1624
- package/src/engine/xr/NeedleXRSync.ts +220 -220
- package/src/engine/xr/SceneTransition.ts +78 -78
- package/src/engine/xr/TempXRContext.ts +216 -216
- package/src/engine/xr/XRRig.ts +9 -9
- package/src/engine/xr/api.ts +5 -5
- package/src/engine/xr/events.ts +102 -102
- package/src/engine/xr/internal.ts +34 -34
- package/src/engine/xr/usdz.ts +30 -30
- package/src/engine/xr/utils.ts +39 -39
- package/src/engine-components/AlignmentConstraint.ts +36 -36
- package/src/engine-components/Animation.ts +557 -557
- package/src/engine-components/AnimationCurve.ts +150 -150
- package/src/engine-components/AnimationUtils.ts +28 -28
- package/src/engine-components/AnimationUtilsAutoplay.ts +43 -43
- package/src/engine-components/Animator.ts +397 -397
- package/src/engine-components/AnimatorController.ts +1293 -1293
- package/src/engine-components/AudioListener.ts +92 -92
- package/src/engine-components/AudioSource.ts +644 -644
- package/src/engine-components/AvatarLoader.ts +263 -263
- package/src/engine-components/AxesHelper.ts +59 -59
- package/src/engine-components/BasicIKConstraint.ts +54 -54
- package/src/engine-components/BoxCollider.ts +1 -1
- package/src/engine-components/BoxHelperComponent.ts +114 -114
- package/src/engine-components/Camera.ts +719 -719
- package/src/engine-components/CameraUtils.ts +138 -138
- package/src/engine-components/CharacterController.ts +253 -253
- package/src/engine-components/Collider.ts +374 -374
- package/src/engine-components/Component.ts +1297 -1297
- package/src/engine-components/ContactShadows.ts +506 -506
- package/src/engine-components/DeleteBox.ts +62 -62
- package/src/engine-components/DeviceFlag.ts +46 -46
- package/src/engine-components/DragControls.ts +1623 -1623
- package/src/engine-components/DropListener.ts +713 -713
- package/src/engine-components/Duplicatable.ts +198 -198
- package/src/engine-components/EventList.ts +266 -266
- package/src/engine-components/EventTrigger.ts +74 -74
- package/src/engine-components/EventType.ts +22 -22
- package/src/engine-components/Fog.ts +60 -60
- package/src/engine-components/Gizmos.ts +56 -56
- package/src/engine-components/GridHelper.ts +48 -48
- package/src/engine-components/GroundProjection.ts +356 -356
- package/src/engine-components/Interactable.ts +14 -14
- package/src/engine-components/Joints.ts +52 -52
- package/src/engine-components/LODGroup.ts +153 -153
- package/src/engine-components/Light.ts +558 -558
- package/src/engine-components/LookAtConstraint.ts +25 -25
- package/src/engine-components/NeedleMenu.ts +84 -84
- package/src/engine-components/NestedGltf.ts +86 -86
- package/src/engine-components/Networking.ts +114 -114
- package/src/engine-components/OffsetConstraint.ts +60 -60
- package/src/engine-components/OrbitControls.ts +1074 -1074
- package/src/engine-components/PlayerColor.ts +103 -103
- package/src/engine-components/ReflectionProbe.ts +220 -220
- package/src/engine-components/Renderer.ts +903 -903
- package/src/engine-components/RendererInstancing.ts +855 -855
- package/src/engine-components/RendererLightmap.ts +198 -198
- package/src/engine-components/RigidBody.ts +526 -526
- package/src/engine-components/SceneSwitcher.ts +1030 -1030
- package/src/engine-components/ScreenCapture.ts +592 -592
- package/src/engine-components/ShadowCatcher.ts +172 -172
- package/src/engine-components/Skybox.ts +475 -475
- package/src/engine-components/SmoothFollow.ts +76 -76
- package/src/engine-components/SpatialTrigger.ts +229 -229
- package/src/engine-components/SpectatorCamera.ts +787 -787
- package/src/engine-components/SphereCollider.ts +1 -1
- package/src/engine-components/SpriteRenderer.ts +468 -468
- package/src/engine-components/SyncedCamera.ts +220 -220
- package/src/engine-components/SyncedRoom.ts +380 -380
- package/src/engine-components/SyncedTransform.ts +383 -383
- package/src/engine-components/TestRunner.ts +118 -118
- package/src/engine-components/TransformGizmo.ts +219 -219
- package/src/engine-components/VideoPlayer.ts +1025 -1025
- package/src/engine-components/Voip.ts +363 -363
- package/src/engine-components/api.ts +60 -60
- package/src/engine-components/avatar/AvatarBlink_Simple.ts +69 -69
- package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +63 -63
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +139 -139
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +83 -83
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +31 -31
- package/src/engine-components/codegen/components.ts +217 -217
- package/src/engine-components/debug/LogStats.ts +21 -21
- package/src/engine-components/export/gltf/GltfExport.ts +265 -265
- package/src/engine-components/export/usdz/Extension.ts +24 -24
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2426 -2426
- package/src/engine-components/export/usdz/USDZExporter.ts +705 -705
- package/src/engine-components/export/usdz/extensions/Animation.ts +1204 -1204
- package/src/engine-components/export/usdz/extensions/DocumentExtension.ts +9 -9
- package/src/engine-components/export/usdz/extensions/NodeMaterialConverter.ts +532 -532
- package/src/engine-components/export/usdz/extensions/USDZText.ts +240 -240
- package/src/engine-components/export/usdz/extensions/USDZUI.ts +189 -189
- package/src/engine-components/export/usdz/extensions/behavior/Actions.ts +99 -99
- package/src/engine-components/export/usdz/extensions/behavior/AudioExtension.ts +102 -102
- package/src/engine-components/export/usdz/extensions/behavior/Behaviour.ts +320 -320
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1225 -1225
- package/src/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.ts +646 -646
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +132 -132
- package/src/engine-components/export/usdz/index.ts +2 -2
- package/src/engine-components/export/usdz/utils/animationutils.ts +191 -191
- package/src/engine-components/export/usdz/utils/quicklook.ts +50 -50
- package/src/engine-components/particlesystem/ParticleSystem.ts +1287 -1287
- package/src/engine-components/particlesystem/ParticleSystemModules.ts +1765 -1765
- package/src/engine-components/particlesystem/ParticleSystemSubEmitter.ts +111 -111
- package/src/engine-components/particlesystem/api.ts +1 -1
- package/src/engine-components/postprocessing/Effects/Antialiasing.ts +64 -64
- package/src/engine-components/postprocessing/Effects/BloomEffect.ts +116 -116
- package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +37 -37
- package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +106 -106
- package/src/engine-components/postprocessing/Effects/DepthOfField.ts +103 -103
- package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +25 -25
- package/src/engine-components/postprocessing/Effects/Pixelation.ts +32 -32
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +90 -90
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +192 -192
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +143 -143
- package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +61 -61
- package/src/engine-components/postprocessing/Effects/Tonemapping.ts +103 -103
- package/src/engine-components/postprocessing/Effects/Tonemapping.utils.ts +60 -60
- package/src/engine-components/postprocessing/Effects/Vignette.ts +59 -59
- package/src/engine-components/postprocessing/PostProcessingEffect.ts +192 -192
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +572 -572
- package/src/engine-components/postprocessing/Volume.ts +426 -426
- package/src/engine-components/postprocessing/VolumeParameter.ts +158 -158
- package/src/engine-components/postprocessing/VolumeProfile.ts +61 -61
- package/src/engine-components/postprocessing/index.ts +5 -5
- package/src/engine-components/postprocessing/utils.ts +154 -154
- package/src/engine-components/timeline/PlayableDirector.ts +722 -722
- package/src/engine-components/timeline/SignalAsset.ts +144 -144
- package/src/engine-components/timeline/TimelineModels.ts +92 -92
- package/src/engine-components/timeline/TimelineTracks.ts +967 -967
- package/src/engine-components/timeline/index.ts +3 -3
- package/src/engine-components/ui/BaseUIComponent.ts +203 -203
- package/src/engine-components/ui/Button.ts +307 -307
- package/src/engine-components/ui/Canvas.ts +419 -419
- package/src/engine-components/ui/CanvasGroup.ts +54 -54
- package/src/engine-components/ui/EventSystem.ts +854 -854
- package/src/engine-components/ui/Graphic.ts +275 -275
- package/src/engine-components/ui/Image.ts +112 -112
- package/src/engine-components/ui/InputField.ts +321 -321
- package/src/engine-components/ui/Interfaces.ts +57 -57
- package/src/engine-components/ui/Layout.ts +334 -334
- package/src/engine-components/ui/Outline.ts +13 -13
- package/src/engine-components/ui/PointerEvents.ts +206 -206
- package/src/engine-components/ui/RaycastUtils.ts +69 -69
- package/src/engine-components/ui/Raycaster.ts +102 -102
- package/src/engine-components/ui/RectTransform.ts +375 -375
- package/src/engine-components/ui/SpatialHtml.ts +79 -79
- package/src/engine-components/ui/Symbols.ts +1 -1
- package/src/engine-components/ui/Text.ts +578 -578
- package/src/engine-components/ui/Utils.ts +113 -113
- package/src/engine-components/utils/EnvironmentScene.ts +245 -245
- package/src/engine-components/utils/LookAt.ts +88 -88
- package/src/engine-components/utils/OpenURL.ts +114 -114
- package/src/engine-components/webxr/Avatar.ts +265 -265
- package/src/engine-components/webxr/TeleportTarget.ts +9 -9
- package/src/engine-components/webxr/WebARCameraBackground.ts +175 -175
- package/src/engine-components/webxr/WebARSessionRoot.ts +880 -880
- package/src/engine-components/webxr/WebXR.ts +585 -585
- package/src/engine-components/webxr/WebXRAvatar.ts +66 -66
- package/src/engine-components/webxr/WebXRImageTracking.ts +519 -519
- package/src/engine-components/webxr/WebXRPlaneTracking.ts +570 -570
- package/src/engine-components/webxr/WebXRRig.ts +77 -77
- package/src/engine-components/webxr/XRFlag.ts +147 -147
- package/src/engine-components/webxr/controllers/XRControllerFollow.ts +118 -118
- package/src/engine-components/webxr/controllers/XRControllerModel.ts +373 -373
- package/src/engine-components/webxr/controllers/XRControllerMovement.ts +550 -550
- package/src/engine-components/webxr/index.ts +2 -2
- package/src/engine-components/webxr/types.ts +3 -3
- package/src/engine-components-experimental/Presentation.ts +12 -12
- package/src/engine-components-experimental/api.ts +4 -4
- package/src/engine-components-experimental/networking/PlayerSync.ts +401 -401
- package/src/engine-schemes/COMPILE_SCHEMES.bat +3 -3
- package/src/engine-schemes/COMPILE_TS.bat +11 -11
- package/src/engine-schemes/README.md +1 -1
- package/src/engine-schemes/api.ts +12 -12
- package/src/engine-schemes/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,231 +1,231 @@
|
|
|
1
|
-
import { USDZExporter } from "../../engine-components/export/usdz/USDZExporter.js";
|
|
2
|
-
import { isDevEnvironment, showBalloonMessage } from "../debug/index.js";
|
|
3
|
-
import { findObjectOfType } from "../engine_components.js";
|
|
4
|
-
import { Context } from "../engine_setup.js";
|
|
5
|
-
import { DeviceUtilities } from "../engine_utils.js";
|
|
6
|
-
import { NeedleXRSession } from "../engine_xr.js";
|
|
7
|
-
import { onXRSessionEnd, onXRSessionStart } from "../xr/events.js";
|
|
8
|
-
import { ButtonsFactory } from "./buttons.js";
|
|
9
|
-
import { getIconElement } from "./icons.js";
|
|
10
|
-
// TODO: move these buttons into their own web components so their logic is encapsulated (e.g. the CSS animation when a xr session is requested)
|
|
11
|
-
/**
|
|
12
|
-
* Factory to create WebXR buttons for AR, VR, Quicklook and Send to Quest
|
|
13
|
-
* The buttons are created as HTMLButtonElements and can be added to the DOM.
|
|
14
|
-
* The buttons will automatically hide when a XR session is started and show again when the session ends.
|
|
15
|
-
*/
|
|
16
|
-
export class WebXRButtonFactory {
|
|
17
|
-
static _instance;
|
|
18
|
-
static create() {
|
|
19
|
-
return new WebXRButtonFactory();
|
|
20
|
-
}
|
|
21
|
-
static getOrCreate() {
|
|
22
|
-
if (!this._instance) {
|
|
23
|
-
this._instance = this.create();
|
|
24
|
-
}
|
|
25
|
-
return this._instance;
|
|
26
|
-
}
|
|
27
|
-
get isSecureConnection() { return window.location.protocol === "https:"; }
|
|
28
|
-
get quicklookButton() { return this._quicklookButton; }
|
|
29
|
-
_quicklookButton;
|
|
30
|
-
get arButton() { return this._arButton; }
|
|
31
|
-
_arButton;
|
|
32
|
-
get vrButton() { return this._vrButton; }
|
|
33
|
-
_vrButton;
|
|
34
|
-
get sendToQuestButton() { return this._sendToQuestButton; }
|
|
35
|
-
_sendToQuestButton;
|
|
36
|
-
get qrButton() { return ButtonsFactory.getOrCreate().createQRCode(); }
|
|
37
|
-
/** get or create the quicklook button
|
|
38
|
-
* Behaviour of the button:
|
|
39
|
-
* - if the button is clicked a USDZExporter component will be searched for in the scene and if found, it will be used to export the scene to USDZ / Quicklook
|
|
40
|
-
*/
|
|
41
|
-
createQuicklookButton() {
|
|
42
|
-
if (this._quicklookButton)
|
|
43
|
-
return this._quicklookButton;
|
|
44
|
-
const button = document.createElement("button");
|
|
45
|
-
this._quicklookButton = button;
|
|
46
|
-
button.dataset["needle"] = "quicklook-button";
|
|
47
|
-
const supportsQuickLook = DeviceUtilities.supportsQuickLookAR();
|
|
48
|
-
// we can immediately enter this scene, because the platform supports rel="ar" links
|
|
49
|
-
if (supportsQuickLook) {
|
|
50
|
-
button.innerText = "View in AR";
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
button.innerText = "View in AR";
|
|
54
|
-
}
|
|
55
|
-
button.prepend(getIconElement("view_in_ar"));
|
|
56
|
-
let createdExporter = false;
|
|
57
|
-
let usdzExporter = null;
|
|
58
|
-
button.addEventListener("click", () => {
|
|
59
|
-
usdzExporter = findObjectOfType(USDZExporter);
|
|
60
|
-
// if the scene doesnt have an USDZExporter component, create one
|
|
61
|
-
if (!usdzExporter) {
|
|
62
|
-
createdExporter = true;
|
|
63
|
-
usdzExporter = new USDZExporter();
|
|
64
|
-
}
|
|
65
|
-
// if we have created a USDZExporter
|
|
66
|
-
if (createdExporter)
|
|
67
|
-
usdzExporter.objectToExport = Context.Current.scene;
|
|
68
|
-
if (usdzExporter) {
|
|
69
|
-
button.classList.add("this-mode-is-requested");
|
|
70
|
-
usdzExporter.exportAndOpen().then(() => {
|
|
71
|
-
button.classList.remove("this-mode-is-requested");
|
|
72
|
-
}).catch(err => {
|
|
73
|
-
button.classList.remove("this-mode-is-requested");
|
|
74
|
-
console.error(err);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
console.warn("No USDZExporter component found in the scene");
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
this.hideElementDuringXRSession(button);
|
|
82
|
-
return button;
|
|
83
|
-
}
|
|
84
|
-
/** get or create the WebXR AR button
|
|
85
|
-
* @param init optional session init options
|
|
86
|
-
* Behaviour of the button:
|
|
87
|
-
* - if the device supports AR, the button will be visible and clickable
|
|
88
|
-
* - if the device does not support AR, the button will be hidden
|
|
89
|
-
* - if the device changes and now supports AR, the button will be visible
|
|
90
|
-
*/
|
|
91
|
-
createARButton(init) {
|
|
92
|
-
if (this._arButton)
|
|
93
|
-
return this._arButton;
|
|
94
|
-
const mode = "immersive-ar";
|
|
95
|
-
const button = document.createElement("button");
|
|
96
|
-
this._arButton = button;
|
|
97
|
-
button.classList.add("webxr-button");
|
|
98
|
-
button.dataset["needle"] = "webxr-ar-button";
|
|
99
|
-
button.innerText = "Enter AR";
|
|
100
|
-
button.prepend(getIconElement("view_in_ar"));
|
|
101
|
-
button.title = "Click to start an AR session";
|
|
102
|
-
button.addEventListener("click", () => NeedleXRSession.start(mode, init));
|
|
103
|
-
this.updateSessionSupported(button, mode);
|
|
104
|
-
this.listenToXRSessionState(button, mode);
|
|
105
|
-
this.hideElementDuringXRSession(button);
|
|
106
|
-
if (!this.isSecureConnection) {
|
|
107
|
-
button.disabled = true;
|
|
108
|
-
button.title = "WebXR requires a secure connection (HTTPS)";
|
|
109
|
-
}
|
|
110
|
-
if (!DeviceUtilities.isMozillaXR()) // WebXR Viewer can't attach events before session start
|
|
111
|
-
navigator.xr?.addEventListener("devicechange", () => this.updateSessionSupported(button, mode));
|
|
112
|
-
return button;
|
|
113
|
-
}
|
|
114
|
-
/** get or create the WebXR VR button
|
|
115
|
-
* @param init optional session init options
|
|
116
|
-
* Behaviour of the button:
|
|
117
|
-
* - if the device supports VR, the button will be visible and clickable
|
|
118
|
-
* - if the device does not support VR, the button will be hidden
|
|
119
|
-
* - if the device changes and now supports VR, the button will be visible
|
|
120
|
-
*/
|
|
121
|
-
createVRButton(init) {
|
|
122
|
-
if (this._vrButton)
|
|
123
|
-
return this._vrButton;
|
|
124
|
-
const mode = "immersive-vr";
|
|
125
|
-
const button = document.createElement("button");
|
|
126
|
-
this._vrButton = button;
|
|
127
|
-
button.classList.add("webxr-button");
|
|
128
|
-
button.dataset["needle"] = "webxr-vr-button";
|
|
129
|
-
button.innerText = "Enter VR";
|
|
130
|
-
button.prepend(getIconElement("panorama_photosphere"));
|
|
131
|
-
button.title = "Click to start a VR session";
|
|
132
|
-
button.addEventListener("click", () => NeedleXRSession.start(mode, init));
|
|
133
|
-
this.updateSessionSupported(button, mode);
|
|
134
|
-
this.listenToXRSessionState(button, mode);
|
|
135
|
-
this.hideElementDuringXRSession(button);
|
|
136
|
-
if (!this.isSecureConnection) {
|
|
137
|
-
button.disabled = true;
|
|
138
|
-
button.title = "WebXR requires a secure connection (HTTPS)";
|
|
139
|
-
}
|
|
140
|
-
if (!DeviceUtilities.isMozillaXR()) // WebXR Viewer can't attach events before session start
|
|
141
|
-
navigator.xr?.addEventListener("devicechange", () => this.updateSessionSupported(button, mode));
|
|
142
|
-
return button;
|
|
143
|
-
}
|
|
144
|
-
/** get or create the Send To Quest button
|
|
145
|
-
* Behaviour of the button:
|
|
146
|
-
* - if the button is clicked, the current URL will be sent to the Oculus Browser on the Quest
|
|
147
|
-
*/
|
|
148
|
-
createSendToQuestButton() {
|
|
149
|
-
if (this._sendToQuestButton)
|
|
150
|
-
return this._sendToQuestButton;
|
|
151
|
-
const baseUrl = `https://oculus.com/open_url/?url=`;
|
|
152
|
-
const button = document.createElement("button");
|
|
153
|
-
this._sendToQuestButton = button;
|
|
154
|
-
button.dataset["needle"] = "webxr-sendtoquest-button";
|
|
155
|
-
button.innerText = "Open on Quest";
|
|
156
|
-
button.prepend(getIconElement("share_windows"));
|
|
157
|
-
button.title = "Click to send this page to the Oculus Browser on your Quest";
|
|
158
|
-
button.addEventListener("click", () => {
|
|
159
|
-
const urlParameter = encodeURIComponent(window.location.href);
|
|
160
|
-
const url = baseUrl + urlParameter;
|
|
161
|
-
if (window.open(url) == null) {
|
|
162
|
-
showBalloonMessage("This page doesn't allow popups. Please paste " + url + " into your browser.");
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
this.listenToXRSessionState(button);
|
|
166
|
-
this.hideElementDuringXRSession(button);
|
|
167
|
-
// make sure to hide the button when we have VR support directly on the device
|
|
168
|
-
if (!DeviceUtilities.isMozillaXR()) { // WebXR Viewer can't attach events before session start
|
|
169
|
-
navigator.xr?.addEventListener("devicechange", () => {
|
|
170
|
-
if (navigator.xr?.isSessionSupported("immersive-vr")) {
|
|
171
|
-
button.style.display = "none";
|
|
172
|
-
}
|
|
173
|
-
else {
|
|
174
|
-
button.style.display = "";
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
return button;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* @deprecated please use ButtonsFactory.getOrCreate().createQRCode(). This method will be removed in a future update
|
|
182
|
-
*/
|
|
183
|
-
createQRCode() {
|
|
184
|
-
return ButtonsFactory.getOrCreate().createQRCode();
|
|
185
|
-
}
|
|
186
|
-
updateSessionSupported(button, mode) {
|
|
187
|
-
if (!("xr" in navigator)) {
|
|
188
|
-
button.style.display = "none";
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
NeedleXRSession.isSessionSupported(mode).then(supported => {
|
|
192
|
-
button.style.display = !supported ? "none" : "";
|
|
193
|
-
if (isDevEnvironment() && !supported)
|
|
194
|
-
console.log("[WebXR] \"" + mode + "\" is not supported on this device – make sure your server runs using HTTPS and you have a device connected that supports " + mode);
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
hideElementDuringXRSession(element) {
|
|
198
|
-
onXRSessionStart(_ => {
|
|
199
|
-
element["previous-display"] = element.style.display;
|
|
200
|
-
element.style.display = "none";
|
|
201
|
-
});
|
|
202
|
-
onXRSessionEnd(_ => {
|
|
203
|
-
if (element["previous-display"] != undefined)
|
|
204
|
-
element.style.display = element["previous-display"];
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
listenToXRSessionState(button, mode) {
|
|
208
|
-
if (mode) {
|
|
209
|
-
NeedleXRSession.onSessionRequestStart(args => {
|
|
210
|
-
if (args.mode === mode) {
|
|
211
|
-
button.classList.add("this-mode-is-requested");
|
|
212
|
-
// button["original-text"] = button.innerText;
|
|
213
|
-
// let modeText = mode === "immersive-vr" ? "VR" : "AR";
|
|
214
|
-
// button.innerText = "Starting " + modeText + "...";
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
button["was-disabled"] = button.disabled;
|
|
218
|
-
button.disabled = true;
|
|
219
|
-
button.classList.add("other-mode-is-requested");
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
NeedleXRSession.onSessionRequestEnd(_ => {
|
|
223
|
-
button.classList.remove("this-mode-is-requested");
|
|
224
|
-
button.classList.remove("other-mode-is-requested");
|
|
225
|
-
button.disabled = button["was-disabled"];
|
|
226
|
-
// button.innerText = button["original-text"];
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
1
|
+
import { USDZExporter } from "../../engine-components/export/usdz/USDZExporter.js";
|
|
2
|
+
import { isDevEnvironment, showBalloonMessage } from "../debug/index.js";
|
|
3
|
+
import { findObjectOfType } from "../engine_components.js";
|
|
4
|
+
import { Context } from "../engine_setup.js";
|
|
5
|
+
import { DeviceUtilities } from "../engine_utils.js";
|
|
6
|
+
import { NeedleXRSession } from "../engine_xr.js";
|
|
7
|
+
import { onXRSessionEnd, onXRSessionStart } from "../xr/events.js";
|
|
8
|
+
import { ButtonsFactory } from "./buttons.js";
|
|
9
|
+
import { getIconElement } from "./icons.js";
|
|
10
|
+
// TODO: move these buttons into their own web components so their logic is encapsulated (e.g. the CSS animation when a xr session is requested)
|
|
11
|
+
/**
|
|
12
|
+
* Factory to create WebXR buttons for AR, VR, Quicklook and Send to Quest
|
|
13
|
+
* The buttons are created as HTMLButtonElements and can be added to the DOM.
|
|
14
|
+
* The buttons will automatically hide when a XR session is started and show again when the session ends.
|
|
15
|
+
*/
|
|
16
|
+
export class WebXRButtonFactory {
|
|
17
|
+
static _instance;
|
|
18
|
+
static create() {
|
|
19
|
+
return new WebXRButtonFactory();
|
|
20
|
+
}
|
|
21
|
+
static getOrCreate() {
|
|
22
|
+
if (!this._instance) {
|
|
23
|
+
this._instance = this.create();
|
|
24
|
+
}
|
|
25
|
+
return this._instance;
|
|
26
|
+
}
|
|
27
|
+
get isSecureConnection() { return window.location.protocol === "https:"; }
|
|
28
|
+
get quicklookButton() { return this._quicklookButton; }
|
|
29
|
+
_quicklookButton;
|
|
30
|
+
get arButton() { return this._arButton; }
|
|
31
|
+
_arButton;
|
|
32
|
+
get vrButton() { return this._vrButton; }
|
|
33
|
+
_vrButton;
|
|
34
|
+
get sendToQuestButton() { return this._sendToQuestButton; }
|
|
35
|
+
_sendToQuestButton;
|
|
36
|
+
get qrButton() { return ButtonsFactory.getOrCreate().createQRCode(); }
|
|
37
|
+
/** get or create the quicklook button
|
|
38
|
+
* Behaviour of the button:
|
|
39
|
+
* - if the button is clicked a USDZExporter component will be searched for in the scene and if found, it will be used to export the scene to USDZ / Quicklook
|
|
40
|
+
*/
|
|
41
|
+
createQuicklookButton() {
|
|
42
|
+
if (this._quicklookButton)
|
|
43
|
+
return this._quicklookButton;
|
|
44
|
+
const button = document.createElement("button");
|
|
45
|
+
this._quicklookButton = button;
|
|
46
|
+
button.dataset["needle"] = "quicklook-button";
|
|
47
|
+
const supportsQuickLook = DeviceUtilities.supportsQuickLookAR();
|
|
48
|
+
// we can immediately enter this scene, because the platform supports rel="ar" links
|
|
49
|
+
if (supportsQuickLook) {
|
|
50
|
+
button.innerText = "View in AR";
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
button.innerText = "View in AR";
|
|
54
|
+
}
|
|
55
|
+
button.prepend(getIconElement("view_in_ar"));
|
|
56
|
+
let createdExporter = false;
|
|
57
|
+
let usdzExporter = null;
|
|
58
|
+
button.addEventListener("click", () => {
|
|
59
|
+
usdzExporter = findObjectOfType(USDZExporter);
|
|
60
|
+
// if the scene doesnt have an USDZExporter component, create one
|
|
61
|
+
if (!usdzExporter) {
|
|
62
|
+
createdExporter = true;
|
|
63
|
+
usdzExporter = new USDZExporter();
|
|
64
|
+
}
|
|
65
|
+
// if we have created a USDZExporter
|
|
66
|
+
if (createdExporter)
|
|
67
|
+
usdzExporter.objectToExport = Context.Current.scene;
|
|
68
|
+
if (usdzExporter) {
|
|
69
|
+
button.classList.add("this-mode-is-requested");
|
|
70
|
+
usdzExporter.exportAndOpen().then(() => {
|
|
71
|
+
button.classList.remove("this-mode-is-requested");
|
|
72
|
+
}).catch(err => {
|
|
73
|
+
button.classList.remove("this-mode-is-requested");
|
|
74
|
+
console.error(err);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
console.warn("No USDZExporter component found in the scene");
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
this.hideElementDuringXRSession(button);
|
|
82
|
+
return button;
|
|
83
|
+
}
|
|
84
|
+
/** get or create the WebXR AR button
|
|
85
|
+
* @param init optional session init options
|
|
86
|
+
* Behaviour of the button:
|
|
87
|
+
* - if the device supports AR, the button will be visible and clickable
|
|
88
|
+
* - if the device does not support AR, the button will be hidden
|
|
89
|
+
* - if the device changes and now supports AR, the button will be visible
|
|
90
|
+
*/
|
|
91
|
+
createARButton(init) {
|
|
92
|
+
if (this._arButton)
|
|
93
|
+
return this._arButton;
|
|
94
|
+
const mode = "immersive-ar";
|
|
95
|
+
const button = document.createElement("button");
|
|
96
|
+
this._arButton = button;
|
|
97
|
+
button.classList.add("webxr-button");
|
|
98
|
+
button.dataset["needle"] = "webxr-ar-button";
|
|
99
|
+
button.innerText = "Enter AR";
|
|
100
|
+
button.prepend(getIconElement("view_in_ar"));
|
|
101
|
+
button.title = "Click to start an AR session";
|
|
102
|
+
button.addEventListener("click", () => NeedleXRSession.start(mode, init));
|
|
103
|
+
this.updateSessionSupported(button, mode);
|
|
104
|
+
this.listenToXRSessionState(button, mode);
|
|
105
|
+
this.hideElementDuringXRSession(button);
|
|
106
|
+
if (!this.isSecureConnection) {
|
|
107
|
+
button.disabled = true;
|
|
108
|
+
button.title = "WebXR requires a secure connection (HTTPS)";
|
|
109
|
+
}
|
|
110
|
+
if (!DeviceUtilities.isMozillaXR()) // WebXR Viewer can't attach events before session start
|
|
111
|
+
navigator.xr?.addEventListener("devicechange", () => this.updateSessionSupported(button, mode));
|
|
112
|
+
return button;
|
|
113
|
+
}
|
|
114
|
+
/** get or create the WebXR VR button
|
|
115
|
+
* @param init optional session init options
|
|
116
|
+
* Behaviour of the button:
|
|
117
|
+
* - if the device supports VR, the button will be visible and clickable
|
|
118
|
+
* - if the device does not support VR, the button will be hidden
|
|
119
|
+
* - if the device changes and now supports VR, the button will be visible
|
|
120
|
+
*/
|
|
121
|
+
createVRButton(init) {
|
|
122
|
+
if (this._vrButton)
|
|
123
|
+
return this._vrButton;
|
|
124
|
+
const mode = "immersive-vr";
|
|
125
|
+
const button = document.createElement("button");
|
|
126
|
+
this._vrButton = button;
|
|
127
|
+
button.classList.add("webxr-button");
|
|
128
|
+
button.dataset["needle"] = "webxr-vr-button";
|
|
129
|
+
button.innerText = "Enter VR";
|
|
130
|
+
button.prepend(getIconElement("panorama_photosphere"));
|
|
131
|
+
button.title = "Click to start a VR session";
|
|
132
|
+
button.addEventListener("click", () => NeedleXRSession.start(mode, init));
|
|
133
|
+
this.updateSessionSupported(button, mode);
|
|
134
|
+
this.listenToXRSessionState(button, mode);
|
|
135
|
+
this.hideElementDuringXRSession(button);
|
|
136
|
+
if (!this.isSecureConnection) {
|
|
137
|
+
button.disabled = true;
|
|
138
|
+
button.title = "WebXR requires a secure connection (HTTPS)";
|
|
139
|
+
}
|
|
140
|
+
if (!DeviceUtilities.isMozillaXR()) // WebXR Viewer can't attach events before session start
|
|
141
|
+
navigator.xr?.addEventListener("devicechange", () => this.updateSessionSupported(button, mode));
|
|
142
|
+
return button;
|
|
143
|
+
}
|
|
144
|
+
/** get or create the Send To Quest button
|
|
145
|
+
* Behaviour of the button:
|
|
146
|
+
* - if the button is clicked, the current URL will be sent to the Oculus Browser on the Quest
|
|
147
|
+
*/
|
|
148
|
+
createSendToQuestButton() {
|
|
149
|
+
if (this._sendToQuestButton)
|
|
150
|
+
return this._sendToQuestButton;
|
|
151
|
+
const baseUrl = `https://oculus.com/open_url/?url=`;
|
|
152
|
+
const button = document.createElement("button");
|
|
153
|
+
this._sendToQuestButton = button;
|
|
154
|
+
button.dataset["needle"] = "webxr-sendtoquest-button";
|
|
155
|
+
button.innerText = "Open on Quest";
|
|
156
|
+
button.prepend(getIconElement("share_windows"));
|
|
157
|
+
button.title = "Click to send this page to the Oculus Browser on your Quest";
|
|
158
|
+
button.addEventListener("click", () => {
|
|
159
|
+
const urlParameter = encodeURIComponent(window.location.href);
|
|
160
|
+
const url = baseUrl + urlParameter;
|
|
161
|
+
if (window.open(url) == null) {
|
|
162
|
+
showBalloonMessage("This page doesn't allow popups. Please paste " + url + " into your browser.");
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
this.listenToXRSessionState(button);
|
|
166
|
+
this.hideElementDuringXRSession(button);
|
|
167
|
+
// make sure to hide the button when we have VR support directly on the device
|
|
168
|
+
if (!DeviceUtilities.isMozillaXR()) { // WebXR Viewer can't attach events before session start
|
|
169
|
+
navigator.xr?.addEventListener("devicechange", () => {
|
|
170
|
+
if (navigator.xr?.isSessionSupported("immersive-vr")) {
|
|
171
|
+
button.style.display = "none";
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
button.style.display = "";
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
return button;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* @deprecated please use ButtonsFactory.getOrCreate().createQRCode(). This method will be removed in a future update
|
|
182
|
+
*/
|
|
183
|
+
createQRCode() {
|
|
184
|
+
return ButtonsFactory.getOrCreate().createQRCode();
|
|
185
|
+
}
|
|
186
|
+
updateSessionSupported(button, mode) {
|
|
187
|
+
if (!("xr" in navigator)) {
|
|
188
|
+
button.style.display = "none";
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
NeedleXRSession.isSessionSupported(mode).then(supported => {
|
|
192
|
+
button.style.display = !supported ? "none" : "";
|
|
193
|
+
if (isDevEnvironment() && !supported)
|
|
194
|
+
console.log("[WebXR] \"" + mode + "\" is not supported on this device – make sure your server runs using HTTPS and you have a device connected that supports " + mode);
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
hideElementDuringXRSession(element) {
|
|
198
|
+
onXRSessionStart(_ => {
|
|
199
|
+
element["previous-display"] = element.style.display;
|
|
200
|
+
element.style.display = "none";
|
|
201
|
+
});
|
|
202
|
+
onXRSessionEnd(_ => {
|
|
203
|
+
if (element["previous-display"] != undefined)
|
|
204
|
+
element.style.display = element["previous-display"];
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
listenToXRSessionState(button, mode) {
|
|
208
|
+
if (mode) {
|
|
209
|
+
NeedleXRSession.onSessionRequestStart(args => {
|
|
210
|
+
if (args.mode === mode) {
|
|
211
|
+
button.classList.add("this-mode-is-requested");
|
|
212
|
+
// button["original-text"] = button.innerText;
|
|
213
|
+
// let modeText = mode === "immersive-vr" ? "VR" : "AR";
|
|
214
|
+
// button.innerText = "Starting " + modeText + "...";
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
button["was-disabled"] = button.disabled;
|
|
218
|
+
button.disabled = true;
|
|
219
|
+
button.classList.add("other-mode-is-requested");
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
NeedleXRSession.onSessionRequestEnd(_ => {
|
|
223
|
+
button.classList.remove("this-mode-is-requested");
|
|
224
|
+
button.classList.remove("other-mode-is-requested");
|
|
225
|
+
button.disabled = button["was-disabled"];
|
|
226
|
+
// button.innerText = button["original-text"];
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
231
|
//# sourceMappingURL=WebXRButtons.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ButtonsFactory } from "./buttons.js";
|
|
2
|
-
export * from "./icons.js";
|
|
3
|
-
export { type NeedleMenuPostMessageModel } from "./needle menu/needle-menu.js";
|
|
4
|
-
export { NeedleButtonElement } from "./needle-button.js";
|
|
5
|
-
export { WebXRButtonFactory } from "./WebXRButtons.js";
|
|
1
|
+
export { ButtonsFactory } from "./buttons.js";
|
|
2
|
+
export * from "./icons.js";
|
|
3
|
+
export { type NeedleMenuPostMessageModel } from "./needle menu/needle-menu.js";
|
|
4
|
+
export { NeedleButtonElement } from "./needle-button.js";
|
|
5
|
+
export { WebXRButtonFactory } from "./WebXRButtons.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ButtonsFactory } from "./buttons.js";
|
|
2
|
-
export * from "./icons.js";
|
|
3
|
-
export { NeedleButtonElement } from "./needle-button.js";
|
|
4
|
-
export { WebXRButtonFactory } from "./WebXRButtons.js";
|
|
1
|
+
export { ButtonsFactory } from "./buttons.js";
|
|
2
|
+
export * from "./icons.js";
|
|
3
|
+
export { NeedleButtonElement } from "./needle-button.js";
|
|
4
|
+
export { WebXRButtonFactory } from "./WebXRButtons.js";
|
|
5
5
|
//# sourceMappingURL=api.js.map
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import { IContext } from "../engine_types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Use the ButtonsFactory to create buttons with icons and functionality
|
|
4
|
-
* Get access to the default buttons by using `ButtonsFactory.instance`
|
|
5
|
-
* The factory will create the buttons if they don't exist yet, and return the existing ones if they do (this allows you to reparent or modify created buttons)
|
|
6
|
-
*/
|
|
7
|
-
export declare class ButtonsFactory {
|
|
8
|
-
private static _instance?;
|
|
9
|
-
/**
|
|
10
|
-
* Get access to the default HTML button factory.
|
|
11
|
-
* Use this to get or create default Needle Engine buttons that can be added to your HTML UI
|
|
12
|
-
* If you want to create a new factory and create new button instances instead of shared buttons, use `ButtonsFactory.create()` instead
|
|
13
|
-
*/
|
|
14
|
-
static get instance(): ButtonsFactory;
|
|
15
|
-
/**
|
|
16
|
-
* Get access to the default HTML button factory.
|
|
17
|
-
* Use this to get or create default Needle Engine buttons that can be added to your HTML UI
|
|
18
|
-
* If you want to create a new factory and create new button instances instead of shared buttons, use `ButtonsFactory.create()` instead
|
|
19
|
-
*/
|
|
20
|
-
static getOrCreate(): ButtonsFactory;
|
|
21
|
-
/** create a new buttons factory */
|
|
22
|
-
static create(): ButtonsFactory;
|
|
23
|
-
private _fullscreenButton?;
|
|
24
|
-
/**
|
|
25
|
-
* Get the fullscreen button (or undefined if it doesn't exist yet). Call {@link ButtonsFactory.createFullscreenButton} to get or create it
|
|
26
|
-
*/
|
|
27
|
-
get fullscreenButton(): HTMLButtonElement | undefined;
|
|
28
|
-
/** Create a fullscreen button (or return the existing one if it already exists) */
|
|
29
|
-
createFullscreenButton(ctx: IContext): HTMLButtonElement | null;
|
|
30
|
-
private _muteButton?;
|
|
31
|
-
/** Get the mute button (or undefined if it doesn't exist yet). Call {@link ButtonsFactory.createMuteButton} to get or create it */
|
|
32
|
-
get muteButton(): HTMLButtonElement | undefined;
|
|
33
|
-
/** Create a mute button (or return the existing one if it already exists) */
|
|
34
|
-
createMuteButton(ctx: IContext): HTMLButtonElement;
|
|
35
|
-
private _qrButton?;
|
|
36
|
-
/**
|
|
37
|
-
* Get the QR code button (or undefined if it doesn't exist yet). Call {@link ButtonsFactory.createQRCode} to get or create it
|
|
38
|
-
*/
|
|
39
|
-
get qrButton(): HTMLButtonElement | undefined;
|
|
40
|
-
private _customQRButtonUrl;
|
|
41
|
-
/** Get or set the QR code button URL - this URL will open when scanning the QR code */
|
|
42
|
-
set qrButtonUrl(url: string);
|
|
43
|
-
get qrButtonUrl(): string;
|
|
44
|
-
/** Create a QR code button (or return the existing one if it already exists)
|
|
45
|
-
* The QR code button will show a QR code that can be scanned to open the current page on a phone
|
|
46
|
-
* The QR code will be generated with the current URL when the button is clicked
|
|
47
|
-
* @returns the QR code button element
|
|
48
|
-
*/
|
|
49
|
-
createQRCode(): HTMLButtonElement;
|
|
50
|
-
private hideElementDuringXRSession;
|
|
51
|
-
}
|
|
1
|
+
import { IContext } from "../engine_types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Use the ButtonsFactory to create buttons with icons and functionality
|
|
4
|
+
* Get access to the default buttons by using `ButtonsFactory.instance`
|
|
5
|
+
* The factory will create the buttons if they don't exist yet, and return the existing ones if they do (this allows you to reparent or modify created buttons)
|
|
6
|
+
*/
|
|
7
|
+
export declare class ButtonsFactory {
|
|
8
|
+
private static _instance?;
|
|
9
|
+
/**
|
|
10
|
+
* Get access to the default HTML button factory.
|
|
11
|
+
* Use this to get or create default Needle Engine buttons that can be added to your HTML UI
|
|
12
|
+
* If you want to create a new factory and create new button instances instead of shared buttons, use `ButtonsFactory.create()` instead
|
|
13
|
+
*/
|
|
14
|
+
static get instance(): ButtonsFactory;
|
|
15
|
+
/**
|
|
16
|
+
* Get access to the default HTML button factory.
|
|
17
|
+
* Use this to get or create default Needle Engine buttons that can be added to your HTML UI
|
|
18
|
+
* If you want to create a new factory and create new button instances instead of shared buttons, use `ButtonsFactory.create()` instead
|
|
19
|
+
*/
|
|
20
|
+
static getOrCreate(): ButtonsFactory;
|
|
21
|
+
/** create a new buttons factory */
|
|
22
|
+
static create(): ButtonsFactory;
|
|
23
|
+
private _fullscreenButton?;
|
|
24
|
+
/**
|
|
25
|
+
* Get the fullscreen button (or undefined if it doesn't exist yet). Call {@link ButtonsFactory.createFullscreenButton} to get or create it
|
|
26
|
+
*/
|
|
27
|
+
get fullscreenButton(): HTMLButtonElement | undefined;
|
|
28
|
+
/** Create a fullscreen button (or return the existing one if it already exists) */
|
|
29
|
+
createFullscreenButton(ctx: IContext): HTMLButtonElement | null;
|
|
30
|
+
private _muteButton?;
|
|
31
|
+
/** Get the mute button (or undefined if it doesn't exist yet). Call {@link ButtonsFactory.createMuteButton} to get or create it */
|
|
32
|
+
get muteButton(): HTMLButtonElement | undefined;
|
|
33
|
+
/** Create a mute button (or return the existing one if it already exists) */
|
|
34
|
+
createMuteButton(ctx: IContext): HTMLButtonElement;
|
|
35
|
+
private _qrButton?;
|
|
36
|
+
/**
|
|
37
|
+
* Get the QR code button (or undefined if it doesn't exist yet). Call {@link ButtonsFactory.createQRCode} to get or create it
|
|
38
|
+
*/
|
|
39
|
+
get qrButton(): HTMLButtonElement | undefined;
|
|
40
|
+
private _customQRButtonUrl;
|
|
41
|
+
/** Get or set the QR code button URL - this URL will open when scanning the QR code */
|
|
42
|
+
set qrButtonUrl(url: string);
|
|
43
|
+
get qrButtonUrl(): string;
|
|
44
|
+
/** Create a QR code button (or return the existing one if it already exists)
|
|
45
|
+
* The QR code button will show a QR code that can be scanned to open the current page on a phone
|
|
46
|
+
* The QR code will be generated with the current URL when the button is clicked
|
|
47
|
+
* @returns the QR code button element
|
|
48
|
+
*/
|
|
49
|
+
createQRCode(): HTMLButtonElement;
|
|
50
|
+
private hideElementDuringXRSession;
|
|
51
|
+
}
|