@babylonjs/viewer 7.41.1-alpha → 7.42.0
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/configuration/configuration.d.ts +107 -0
- package/configuration/configuration.js +16 -0
- package/configuration/configuration.js.map +1 -0
- package/configuration/configurationCompatibility.d.ts +8 -0
- package/configuration/configurationCompatibility.js +66 -0
- package/configuration/configurationCompatibility.js.map +1 -0
- package/configuration/configurationContainer.d.ts +10 -0
- package/configuration/configurationContainer.js +10 -0
- package/configuration/configurationContainer.js.map +1 -0
- package/configuration/globals.d.ts +6 -0
- package/configuration/globals.js +18 -0
- package/configuration/globals.js.map +1 -0
- package/configuration/index.d.ts +2 -0
- package/configuration/index.js +4 -0
- package/configuration/index.js.map +1 -0
- package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
- package/configuration/interfaces/cameraConfiguration.js +2 -0
- package/configuration/interfaces/cameraConfiguration.js.map +1 -0
- package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
- package/configuration/interfaces/colorGradingConfiguration.js +2 -0
- package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
- package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
- package/configuration/interfaces/environmentMapConfiguration.js +2 -0
- package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
- package/configuration/interfaces/groundConfiguration.d.ts +24 -0
- package/configuration/interfaces/groundConfiguration.js +2 -0
- package/configuration/interfaces/groundConfiguration.js.map +1 -0
- package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
- package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
- package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
- package/configuration/interfaces/index.d.ts +15 -0
- package/configuration/interfaces/index.js +16 -0
- package/configuration/interfaces/index.js.map +1 -0
- package/configuration/interfaces/lightConfiguration.d.ts +60 -0
- package/configuration/interfaces/lightConfiguration.js +2 -0
- package/configuration/interfaces/lightConfiguration.js.map +1 -0
- package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
- package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
- package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
- package/configuration/interfaces/modelConfiguration.d.ts +65 -0
- package/configuration/interfaces/modelConfiguration.js +2 -0
- package/configuration/interfaces/modelConfiguration.js.map +1 -0
- package/configuration/interfaces/observersConfiguration.d.ts +5 -0
- package/configuration/interfaces/observersConfiguration.js +2 -0
- package/configuration/interfaces/observersConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
- package/configuration/interfaces/sceneConfiguration.js +2 -0
- package/configuration/interfaces/sceneConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
- package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
- package/configuration/interfaces/skyboxConfiguration.js +2 -0
- package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
- package/configuration/interfaces/templateConfiguration.d.ts +67 -0
- package/configuration/interfaces/templateConfiguration.js +2 -0
- package/configuration/interfaces/templateConfiguration.js.map +1 -0
- package/configuration/interfaces/vrConfiguration.d.ts +16 -0
- package/configuration/interfaces/vrConfiguration.js +2 -0
- package/configuration/interfaces/vrConfiguration.js.map +1 -0
- package/configuration/loader.d.ts +4 -0
- package/configuration/loader.js +17 -0
- package/configuration/loader.js.map +1 -0
- package/configuration/mappers.d.ts +43 -0
- package/configuration/mappers.js +193 -0
- package/configuration/mappers.js.map +1 -0
- package/configuration/renderOnlyLoader.d.ts +33 -0
- package/configuration/renderOnlyLoader.js +162 -0
- package/configuration/renderOnlyLoader.js.map +1 -0
- package/configuration/types/default.d.ts +6 -0
- package/configuration/types/default.js +121 -0
- package/configuration/types/default.js.map +1 -0
- package/configuration/types/environmentMap.d.ts +5 -0
- package/configuration/types/environmentMap.js +14 -0
- package/configuration/types/environmentMap.js.map +1 -0
- package/configuration/types/extended.d.ts +6 -0
- package/configuration/types/extended.js +317 -0
- package/configuration/types/extended.js.map +1 -0
- package/configuration/types/index.d.ts +14 -0
- package/configuration/types/index.js +51 -0
- package/configuration/types/index.js.map +1 -0
- package/configuration/types/minimal.d.ts +6 -0
- package/configuration/types/minimal.js +43 -0
- package/configuration/types/minimal.js.map +1 -0
- package/configuration/types/renderOnlyDefault.d.ts +30 -0
- package/configuration/types/renderOnlyDefault.js +31 -0
- package/configuration/types/renderOnlyDefault.js.map +1 -0
- package/configuration/types/shadowLight.d.ts +9 -0
- package/configuration/types/shadowLight.js +64 -0
- package/configuration/types/shadowLight.js.map +1 -0
- package/helper/index.d.ts +29 -0
- package/helper/index.js +66 -0
- package/helper/index.js.map +1 -0
- package/index.d.ts +30 -0
- package/index.js +46 -0
- package/index.js.map +1 -0
- package/initializer.d.ts +11 -0
- package/initializer.js +35 -0
- package/initializer.js.map +1 -0
- package/interfaces.d.ts +5 -0
- package/interfaces.js +7 -0
- package/interfaces.js.map +1 -0
- package/labs/environmentSerializer.d.ts +126 -0
- package/labs/environmentSerializer.js +191 -0
- package/labs/environmentSerializer.js.map +1 -0
- package/labs/texture.d.ts +183 -0
- package/labs/texture.js +351 -0
- package/labs/texture.js.map +1 -0
- package/labs/viewerLabs.d.ts +51 -0
- package/labs/viewerLabs.js +134 -0
- package/labs/viewerLabs.js.map +1 -0
- package/loader/modelLoader.d.ts +56 -0
- package/loader/modelLoader.js +202 -0
- package/loader/modelLoader.js.map +1 -0
- package/loader/plugins/applyMaterialConfig.d.ts +12 -0
- package/loader/plugins/applyMaterialConfig.js +16 -0
- package/loader/plugins/applyMaterialConfig.js.map +1 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
- package/loader/plugins/index.d.ts +19 -0
- package/loader/plugins/index.js +44 -0
- package/loader/plugins/index.js.map +1 -0
- package/loader/plugins/loaderPlugin.d.ts +24 -0
- package/loader/plugins/loaderPlugin.js +2 -0
- package/loader/plugins/loaderPlugin.js.map +1 -0
- package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
- package/loader/plugins/msftLodLoaderPlugin.js +21 -0
- package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
- package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
- package/loader/plugins/telemetryLoaderPlugin.js +36 -0
- package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
- package/managers/observablesManager.d.ts +66 -0
- package/managers/observablesManager.js +35 -0
- package/managers/observablesManager.js.map +1 -0
- package/managers/sceneManager.d.ts +245 -0
- package/managers/sceneManager.js +1375 -0
- package/managers/sceneManager.js.map +1 -0
- package/managers/telemetryManager.d.ts +78 -0
- package/managers/telemetryManager.js +117 -0
- package/managers/telemetryManager.js.map +1 -0
- package/model/modelAnimation.d.ts +215 -0
- package/model/modelAnimation.js +237 -0
- package/model/modelAnimation.js.map +1 -0
- package/model/viewerModel.d.ts +233 -0
- package/model/viewerModel.js +673 -0
- package/model/viewerModel.js.map +1 -0
- package/optimizer/custom/extended.d.ts +13 -0
- package/optimizer/custom/extended.js +101 -0
- package/optimizer/custom/extended.js.map +1 -0
- package/optimizer/custom/index.d.ts +9 -0
- package/optimizer/custom/index.js +26 -0
- package/optimizer/custom/index.js.map +1 -0
- package/package.json +28 -19
- package/readme.md +28 -28
- package/renderOnlyIndex.d.ts +11 -0
- package/renderOnlyIndex.js +18 -0
- package/renderOnlyIndex.js.map +1 -0
- package/templating/eventManager.d.ts +35 -0
- package/templating/eventManager.js +66 -0
- package/templating/eventManager.js.map +1 -0
- package/templating/plugins/hdButtonPlugin.d.ts +9 -0
- package/templating/plugins/hdButtonPlugin.js +22 -0
- package/templating/plugins/hdButtonPlugin.js.map +1 -0
- package/templating/plugins/printButton.d.ts +9 -0
- package/templating/plugins/printButton.js +41 -0
- package/templating/plugins/printButton.js.map +1 -0
- package/templating/templateManager.d.ts +197 -0
- package/templating/templateManager.js +561 -0
- package/templating/templateManager.js.map +1 -0
- package/templating/viewerTemplatePlugin.d.ts +21 -0
- package/templating/viewerTemplatePlugin.js +69 -0
- package/templating/viewerTemplatePlugin.js.map +1 -0
- package/viewer/defaultViewer.d.ts +130 -0
- package/viewer/defaultViewer.js +672 -0
- package/viewer/defaultViewer.js.map +1 -0
- package/viewer/renderOnlyViewer.d.ts +9 -0
- package/viewer/renderOnlyViewer.js +46 -0
- package/viewer/renderOnlyViewer.js.map +1 -0
- package/viewer/viewer.d.ts +258 -0
- package/viewer/viewer.js +783 -0
- package/viewer/viewer.js.map +1 -0
- package/viewer/viewerManager.d.ts +58 -0
- package/viewer/viewerManager.js +91 -0
- package/viewer/viewerManager.js.map +1 -0
- package/viewer/viewerWithTemplate.d.ts +9 -0
- package/viewer/viewerWithTemplate.js +20 -0
- package/viewer/viewerWithTemplate.js.map +1 -0
- package/assets/photoStudio.env +0 -0
- package/dist/babylon-viewer.esm.js +0 -2
- package/dist/babylon-viewer.esm.js.map +0 -1
- package/dist/babylon-viewer.esm.min.js +0 -2
- package/dist/babylon-viewer.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_ies-BS2USlck.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_ies-BS2USlck.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_ies-C-joQ5O4.esm.js +0 -84
- package/dist/chunks/EXT_lights_ies-C-joQ5O4.esm.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-C3wbbb5Z.esm.js +0 -171
- package/dist/chunks/EXT_lights_image_based-C3wbbb5Z.esm.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-DDdRDnM2.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-DDdRDnM2.esm.min.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-AXAnRQN7.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-AXAnRQN7.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-BcjPo6uC.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-BcjPo6uC.esm.min.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-DlUkQB2P.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-DlUkQB2P.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-yJ4OpORd.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-yJ4OpORd.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BQWbvJfK.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-BQWbvJfK.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-C0pGpnGv.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-C0pGpnGv.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-Dd7Uqtmh.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-Dd7Uqtmh.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-DehlrnW-.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-DehlrnW-.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-C5NMuDj4.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-C5NMuDj4.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-Cp3LHdoG.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-Cp3LHdoG.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-DEBOwDXh.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-DEBOwDXh.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-Dx1OeG2b.esm.js +0 -352
- package/dist/chunks/KHR_animation_pointer-Dx1OeG2b.esm.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-Ch0QOlBL.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-Ch0QOlBL.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-D59SFLyo.esm.js +0 -610
- package/dist/chunks/KHR_draco_mesh_compression-D59SFLyo.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-Blj_9jts.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-Blj_9jts.esm.min.js.map +0 -1
- package/dist/chunks/KHR_interactivity-CR0LYUa7.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-CR0LYUa7.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual--w0a62AP.esm.js +0 -581
- package/dist/chunks/KHR_lights_punctual--w0a62AP.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-BojffBbG.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-BojffBbG.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-BPtHWkOQ.esm.js +0 -65
- package/dist/chunks/KHR_materials_anisotropy-BPtHWkOQ.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-DU5_bnCL.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-DU5_bnCL.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-BBuRlPhc.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-BBuRlPhc.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-Eg0xbuWN.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-Eg0xbuWN.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-Bkzk60Y5.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-Bkzk60Y5.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-C3DaLgRY.esm.js +0 -97
- package/dist/chunks/KHR_materials_diffuse_transmission-C3DaLgRY.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-DL_XFhxj.esm.js +0 -62
- package/dist/chunks/KHR_materials_dispersion-DL_XFhxj.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-DbMQPBgM.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-DbMQPBgM.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-BuHyjtBD.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-BuHyjtBD.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-Djlr_ul3.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-Djlr_ul3.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-BIe6qBOo.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior-BIe6qBOo.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-DOfaAmNY.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-DOfaAmNY.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-BgElZgUu.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-BgElZgUu.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-lUeo07SZ.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-lUeo07SZ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-9ShQyhJ6.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-9ShQyhJ6.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DE5LjLg6.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DE5LjLg6.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-BfZe6ZFu.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-BfZe6ZFu.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-OWjuK2V4.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-OWjuK2V4.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-dowPxbW3.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-dowPxbW3.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-nWeBZu0R.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-nWeBZu0R.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-BPNQkK0O.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-BPNQkK0O.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-CHr_yLLX.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-CHr_yLLX.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-BYXpcsdj.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-BYXpcsdj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-Cr7YsDHT.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-Cr7YsDHT.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-BCVX3sJa.esm.js +0 -262
- package/dist/chunks/KHR_materials_variants-BCVX3sJa.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-BXzl6KpJ.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-BXzl6KpJ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-BD9KEaJz.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-BD9KEaJz.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-DrqGUGW6.esm.js +0 -87
- package/dist/chunks/KHR_materials_volume-DrqGUGW6.esm.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-Dg22auJA.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-Dg22auJA.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-hvxpvTbe.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-hvxpvTbe.esm.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-BDiqFmBB.esm.js +0 -39
- package/dist/chunks/KHR_node_hoverability-BDiqFmBB.esm.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-CumkOtZM.esm.min.js +0 -2
- package/dist/chunks/KHR_node_hoverability-CumkOtZM.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-BKEa-Yfj.esm.min.js +0 -2
- package/dist/chunks/KHR_node_visibility-BKEa-Yfj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-K0fsD4Vv.esm.js +0 -46
- package/dist/chunks/KHR_node_visibility-K0fsD4Vv.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-8YVY1pKo.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-8YVY1pKo.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-BM__NeSW.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-BM__NeSW.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform--qxpdvRw.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform--qxpdvRw.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-C0MO-oJp.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-C0MO-oJp.esm.min.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-D9FpHvJo.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-D9FpHvJo.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-DeXPWWQE.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-DeXPWWQE.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-BbICSwFH.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-BbICSwFH.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-Dd5lbfUc.esm.js +0 -2201
- package/dist/chunks/MSFT_audio_emitter-Dd5lbfUc.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-B0zrRF3s.esm.js +0 -337
- package/dist/chunks/MSFT_lod-B0zrRF3s.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-Bd4znUfD.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-Bd4znUfD.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-CdIpMgsb.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-CdIpMgsb.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-WFc8m_Ka.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-WFc8m_Ka.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-CTbtGna8.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-CTbtGna8.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-yTSoBQJx.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-yTSoBQJx.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-8TJDgymS.esm.js +0 -2482
- package/dist/chunks/animationGroup-8TJDgymS.esm.js.map +0 -1
- package/dist/chunks/animationGroup-toXtd3a1.esm.min.js +0 -2
- package/dist/chunks/animationGroup-toXtd3a1.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-7pMDUaac.esm.min.js +0 -2
- package/dist/chunks/assetContainer-7pMDUaac.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-DYzO0AbX.esm.js +0 -1720
- package/dist/chunks/assetContainer-DYzO0AbX.esm.js.map +0 -1
- package/dist/chunks/audioEngine-Kz4HSEXd.esm.min.js +0 -2
- package/dist/chunks/audioEngine-Kz4HSEXd.esm.min.js.map +0 -1
- package/dist/chunks/audioEngine-peiGqjr6.esm.js +0 -305
- package/dist/chunks/audioEngine-peiGqjr6.esm.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-BZvcL01J.esm.min.js +0 -2
- package/dist/chunks/bakedVertexAnimation-BZvcL01J.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-CPflSjER.esm.js +0 -114
- package/dist/chunks/bakedVertexAnimation-CPflSjER.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-CR0XhSAg.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-CR0XhSAg.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-DVJdcB62.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-DVJdcB62.esm.min.js.map +0 -1
- package/dist/chunks/dds-6EdM5O6M.esm.js +0 -540
- package/dist/chunks/dds-6EdM5O6M.esm.js.map +0 -1
- package/dist/chunks/dds-DVX_K9B3.esm.min.js +0 -2
- package/dist/chunks/dds-DVX_K9B3.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-BAK7Ib2Z.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-BAK7Ib2Z.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-_nktVxwZ.esm.js +0 -88
- package/dist/chunks/ddsTextureLoader-_nktVxwZ.esm.js.map +0 -1
- package/dist/chunks/decalFragment-C_Cews3-.esm.js +0 -18
- package/dist/chunks/decalFragment-C_Cews3-.esm.js.map +0 -1
- package/dist/chunks/decalFragment-Dmj88EX9.esm.min.js +0 -2
- package/dist/chunks/decalFragment-Dmj88EX9.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-Bv_nR7po.esm.min.js +0 -2
- package/dist/chunks/default.fragment-Bv_nR7po.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CkZQyJVM.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CkZQyJVM.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CyFHDykY.esm.js +0 -446
- package/dist/chunks/default.fragment-CyFHDykY.esm.js.map +0 -1
- package/dist/chunks/default.fragment-ej-2z5tS.esm.js +0 -515
- package/dist/chunks/default.fragment-ej-2z5tS.esm.js.map +0 -1
- package/dist/chunks/default.vertex-16mVOFgT.esm.js +0 -211
- package/dist/chunks/default.vertex-16mVOFgT.esm.js.map +0 -1
- package/dist/chunks/default.vertex-D--q2At3.esm.min.js +0 -2
- package/dist/chunks/default.vertex-D--q2At3.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-DDlgZTrR.esm.js +0 -190
- package/dist/chunks/default.vertex-DDlgZTrR.esm.js.map +0 -1
- package/dist/chunks/default.vertex-_jqs3KiZ.esm.min.js +0 -2
- package/dist/chunks/default.vertex-_jqs3KiZ.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-8YG0iNg8.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-8YG0iNg8.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-BoBSRTbi.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-BoBSRTbi.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-Dt_5vo1d.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-Dt_5vo1d.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-R6gGjkAM.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-R6gGjkAM.esm.min.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
- package/dist/chunks/dumpTools-Bhux0wvM.esm.js +0 -200
- package/dist/chunks/dumpTools-Bhux0wvM.esm.js.map +0 -1
- package/dist/chunks/dumpTools-CHCb2UkY.esm.min.js +0 -2
- package/dist/chunks/dumpTools-CHCb2UkY.esm.min.js.map +0 -1
- package/dist/chunks/engine-DF_zE4qj.esm.js +0 -2213
- package/dist/chunks/engine-DF_zE4qj.esm.js.map +0 -1
- package/dist/chunks/engine-DVmdDcyP.esm.min.js +0 -2
- package/dist/chunks/engine-DVmdDcyP.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-CvOmoKru.esm.js +0 -1162
- package/dist/chunks/engine.common-CvOmoKru.esm.js.map +0 -1
- package/dist/chunks/engine.common-DpTzktQJ.esm.min.js +0 -2
- package/dist/chunks/engine.common-DpTzktQJ.esm.min.js.map +0 -1
- package/dist/chunks/envTextureLoader-4YxGm-Px.esm.js +0 -64
- package/dist/chunks/envTextureLoader-4YxGm-Px.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-DMQui088.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-DMQui088.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-BPGrTBPI.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-BPGrTBPI.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-DvkpsqkN.esm.js +0 -382
- package/dist/chunks/environmentTextureTools-DvkpsqkN.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-BRkB54sO.esm.js +0 -1683
- package/dist/chunks/exrTextureLoader-BRkB54sO.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-BtN7_zst.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-BtN7_zst.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-BrGGFaiu.esm.js +0 -101
- package/dist/chunks/fogFragment-BrGGFaiu.esm.js.map +0 -1
- package/dist/chunks/fogFragment-ByOwwQur.esm.min.js +0 -2
- package/dist/chunks/fogFragment-ByOwwQur.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-Chod24nu.esm.min.js +0 -2
- package/dist/chunks/fogFragment-Chod24nu.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-gZfybCpt.esm.js +0 -102
- package/dist/chunks/fogFragment-gZfybCpt.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-BdEia8ob.esm.min.js +0 -2
- package/dist/chunks/fresnelFunction-BdEia8ob.esm.min.js.map +0 -1
- package/dist/chunks/fresnelFunction-DBlxfmri.esm.js +0 -12
- package/dist/chunks/fresnelFunction-DBlxfmri.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-D4C1IGb3.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-D4C1IGb3.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoader-fUFiWvYb.esm.js +0 -7693
- package/dist/chunks/glTFLoader-fUFiWvYb.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-BB_Vw079.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-BB_Vw079.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-CttmY50U.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-CttmY50U.esm.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-B0Rp1hEo.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-B0Rp1hEo.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-Cca_z552.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-Cca_z552.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-D4ID83NC.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-D4ID83NC.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-HJ5dbl0w.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-HJ5dbl0w.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-C3kqy6YV.esm.js +0 -253
- package/dist/chunks/hdrTextureLoader-C3kqy6YV.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-Dhlluz4z.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-Dhlluz4z.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-BJotVqUd.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-BJotVqUd.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-C66wRWtu.esm.js +0 -110
- package/dist/chunks/helperFunctions-C66wRWtu.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-DwEZ9rqh.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-DwEZ9rqh.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-gnki_9Kj.esm.js +0 -83
- package/dist/chunks/helperFunctions-gnki_9Kj.esm.js.map +0 -1
- package/dist/chunks/iesTextureLoader-QDs2Cwy5.esm.js +0 -189
- package/dist/chunks/iesTextureLoader-QDs2Cwy5.esm.js.map +0 -1
- package/dist/chunks/iesTextureLoader-pwA6Q4HK.esm.min.js +0 -2
- package/dist/chunks/iesTextureLoader-pwA6Q4HK.esm.min.js.map +0 -1
- package/dist/chunks/index-C6hXZyZb.esm.js +0 -74889
- package/dist/chunks/index-C6hXZyZb.esm.js.map +0 -1
- package/dist/chunks/index-rZVkfTE6.esm.min.js +0 -57
- package/dist/chunks/index-rZVkfTE6.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-jVu-Sj-0.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-jVu-Sj-0.esm.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-zG9azrZF.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-zG9azrZF.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-0cA1pTvQ.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-0cA1pTvQ.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CYxYhXIS.esm.js +0 -11
- package/dist/chunks/logDepthDeclaration-CYxYhXIS.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-D4KGxdX-.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-D4KGxdX-.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-DJlt2-H5.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-DJlt2-H5.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-BS2JEtXA.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-BS2JEtXA.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-DKPfA10X.esm.js +0 -81
- package/dist/chunks/logDepthVertex-DKPfA10X.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-ojTShW5I.esm.js +0 -77
- package/dist/chunks/logDepthVertex-ojTShW5I.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-v-0pHNc-.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-v-0pHNc-.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-BAzmbS0W.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-BAzmbS0W.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-Cnux1jkK.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-Cnux1jkK.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-CwS0hUUZ.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-CwS0hUUZ.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-DCawby1A.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-DCawby1A.esm.js.map +0 -1
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +0 -119
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +0 -1
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +0 -2
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-QvH0RgeZ.esm.js +0 -26
- package/dist/chunks/meshUboDeclaration-QvH0RgeZ.esm.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-g2s_cYI1.esm.min.js +0 -2
- package/dist/chunks/meshUboDeclaration-g2s_cYI1.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-BOutXdVR.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-BOutXdVR.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-BPwrX8RK.esm.js +0 -1338
- package/dist/chunks/objFileLoader-BPwrX8RK.esm.js.map +0 -1
- package/dist/chunks/oitFragment-CmcWUhsZ.esm.js +0 -1240
- package/dist/chunks/oitFragment-CmcWUhsZ.esm.js.map +0 -1
- package/dist/chunks/oitFragment-D8XBQ6Wa.esm.js +0 -1078
- package/dist/chunks/oitFragment-D8XBQ6Wa.esm.js.map +0 -1
- package/dist/chunks/oitFragment-DgAlmoHs.esm.min.js +0 -2
- package/dist/chunks/oitFragment-DgAlmoHs.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-DpJ5xGhy.esm.min.js +0 -2
- package/dist/chunks/oitFragment-DpJ5xGhy.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment--XRaXRhU.esm.js +0 -15
- package/dist/chunks/pass.fragment--XRaXRhU.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-5Q3qXxDe.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-5Q3qXxDe.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-BBLiyU_i.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-BBLiyU_i.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-DI4ZYZJe.esm.js +0 -15
- package/dist/chunks/pass.fragment-DI4ZYZJe.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-C7xQS4ZJ.esm.js +0 -3269
- package/dist/chunks/pbr.fragment-C7xQS4ZJ.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-Ddxaik8T.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-Ddxaik8T.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-fky04gH_.esm.js +0 -3222
- package/dist/chunks/pbr.fragment-fky04gH_.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-ya1zai4w.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-ya1zai4w.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-BPEYHoRM.esm.js +0 -223
- package/dist/chunks/pbr.vertex-BPEYHoRM.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-BXcMYADF.esm.js +0 -348
- package/dist/chunks/pbr.vertex-BXcMYADF.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-BjA08auU.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-BjA08auU.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-Cx2V3lNf.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-Cx2V3lNf.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-BHpQrNSx.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-BHpQrNSx.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-DnDbk0tq.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-DnDbk0tq.esm.js.map +0 -1
- package/dist/chunks/rawTexture-CWiRIto8.esm.js +0 -191
- package/dist/chunks/rawTexture-CWiRIto8.esm.js.map +0 -1
- package/dist/chunks/rawTexture-DX8V9PEj.esm.min.js +0 -2
- package/dist/chunks/rawTexture-DX8V9PEj.esm.min.js.map +0 -1
- package/dist/chunks/ray-ix7SqYNQ.esm.min.js +0 -2
- package/dist/chunks/ray-ix7SqYNQ.esm.min.js.map +0 -1
- package/dist/chunks/ray-nTZBkOil.esm.js +0 -946
- package/dist/chunks/ray-nTZBkOil.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-Be3ofvlt.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-Be3ofvlt.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-C05QJpT2.esm.js +0 -13
- package/dist/chunks/rgbdDecode.fragment-C05QJpT2.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-D3SYBclQ.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-D3SYBclQ.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-DBG6KfKF.esm.js +0 -13
- package/dist/chunks/rgbdDecode.fragment-DBG6KfKF.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BlhtohrO.esm.js +0 -13
- package/dist/chunks/rgbdEncode.fragment-BlhtohrO.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BmJKYw6A.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-BmJKYw6A.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-dr2kGjSO.esm.js +0 -13
- package/dist/chunks/rgbdEncode.fragment-dr2kGjSO.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-hXPzg1p5.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-hXPzg1p5.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-Bs42LtsP.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-Bs42LtsP.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-Dp33YOem.esm.js +0 -3379
- package/dist/chunks/splatFileLoader-Dp33YOem.esm.js.map +0 -1
- package/dist/chunks/spotLight-C0NmKeem.esm.js +0 -701
- package/dist/chunks/spotLight-C0NmKeem.esm.js.map +0 -1
- package/dist/chunks/spotLight-CcuCNdES.esm.min.js +0 -2
- package/dist/chunks/spotLight-CcuCNdES.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-C1E5n_4w.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-C1E5n_4w.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-v_D8QA4q.esm.js +0 -1807
- package/dist/chunks/standardMaterial-v_D8QA4q.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-DC2IRQDj.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-DC2IRQDj.esm.min.js.map +0 -1
- package/dist/chunks/stlFileLoader-LRHEIFfU.esm.js +0 -238
- package/dist/chunks/stlFileLoader-LRHEIFfU.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-2ekJC0En.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-2ekJC0En.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-Clj6zUK-.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-Clj6zUK-.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-DksimP2U.esm.js +0 -3848
- package/dist/chunks/thinEngine-DksimP2U.esm.js.map +0 -1
- package/dist/chunks/thinEngine-tsALaFYH.esm.min.js +0 -2
- package/dist/chunks/thinEngine-tsALaFYH.esm.min.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-B8AW0Oa2.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-B8AW0Oa2.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-kCGEJ0-e.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-kCGEJ0-e.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-Bjijk3lU.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-Bjijk3lU.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-D9917nJN.esm.js +0 -428
- package/dist/chunks/vertexColorMixing-D9917nJN.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-DgthWrKf.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-DgthWrKf.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-U1SA6UK3.esm.js +0 -538
- package/dist/chunks/vertexColorMixing-U1SA6UK3.esm.js.map +0 -1
- package/dist/chunks/webgpuEngine-BOGR1D8F.esm.min.js +0 -2
- package/dist/chunks/webgpuEngine-BOGR1D8F.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-BrzOpZ-2.esm.js +0 -11533
- package/dist/chunks/webgpuEngine-BrzOpZ-2.esm.js.map +0 -1
- package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
- package/lib/index.d.ts +0 -591
- package/lib/index.js +0 -2165
- package/lib/index.js.map +0 -1
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
import { A as AbstractEngine, aV as Observable, p as IsWindowObjectExist, L as Logger } from './index-C6hXZyZb.esm.js';
|
|
2
|
-
|
|
3
|
-
// Sets the default audio engine to Babylon.js
|
|
4
|
-
AbstractEngine.AudioEngineFactory = (hostElement, audioContext, audioDestination) => {
|
|
5
|
-
return new AudioEngine(hostElement, audioContext, audioDestination);
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* This represents the default audio engine used in babylon.
|
|
9
|
-
* It is responsible to play, synchronize and analyse sounds throughout the application.
|
|
10
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic
|
|
11
|
-
*/
|
|
12
|
-
class AudioEngine {
|
|
13
|
-
/**
|
|
14
|
-
* Gets the current AudioContext if available.
|
|
15
|
-
*/
|
|
16
|
-
get audioContext() {
|
|
17
|
-
if (!this._audioContextInitialized) {
|
|
18
|
-
this._initializeAudioContext();
|
|
19
|
-
}
|
|
20
|
-
return this._audioContext;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Instantiates a new audio engine.
|
|
24
|
-
*
|
|
25
|
-
* There should be only one per page as some browsers restrict the number
|
|
26
|
-
* of audio contexts you can create.
|
|
27
|
-
* @param hostElement defines the host element where to display the mute icon if necessary
|
|
28
|
-
* @param audioContext defines the audio context to be used by the audio engine
|
|
29
|
-
* @param audioDestination defines the audio destination node to be used by audio engine
|
|
30
|
-
*/
|
|
31
|
-
constructor(hostElement = null, audioContext = null, audioDestination = null) {
|
|
32
|
-
this._audioContext = null;
|
|
33
|
-
this._audioContextInitialized = false;
|
|
34
|
-
this._muteButton = null;
|
|
35
|
-
this._audioDestination = null;
|
|
36
|
-
/**
|
|
37
|
-
* Gets whether the current host supports Web Audio and thus could create AudioContexts.
|
|
38
|
-
*/
|
|
39
|
-
this.canUseWebAudio = false;
|
|
40
|
-
/**
|
|
41
|
-
* Defines if Babylon should emit a warning if WebAudio is not supported.
|
|
42
|
-
* @ignoreNaming
|
|
43
|
-
*/
|
|
44
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
45
|
-
this.WarnedWebAudioUnsupported = false;
|
|
46
|
-
/**
|
|
47
|
-
* Gets whether or not mp3 are supported by your browser.
|
|
48
|
-
*/
|
|
49
|
-
this.isMP3supported = false;
|
|
50
|
-
/**
|
|
51
|
-
* Gets whether or not ogg are supported by your browser.
|
|
52
|
-
*/
|
|
53
|
-
this.isOGGsupported = false;
|
|
54
|
-
/**
|
|
55
|
-
* Gets whether audio has been unlocked on the device.
|
|
56
|
-
* Some Browsers have strong restrictions about Audio and won't autoplay unless
|
|
57
|
-
* a user interaction has happened.
|
|
58
|
-
*/
|
|
59
|
-
this.unlocked = false;
|
|
60
|
-
/**
|
|
61
|
-
* Defines if the audio engine relies on a custom unlocked button.
|
|
62
|
-
* In this case, the embedded button will not be displayed.
|
|
63
|
-
*/
|
|
64
|
-
this.useCustomUnlockedButton = false;
|
|
65
|
-
/**
|
|
66
|
-
* Event raised when audio has been unlocked on the browser.
|
|
67
|
-
*/
|
|
68
|
-
this.onAudioUnlockedObservable = new Observable();
|
|
69
|
-
/**
|
|
70
|
-
* Event raised when audio has been locked on the browser.
|
|
71
|
-
*/
|
|
72
|
-
this.onAudioLockedObservable = new Observable();
|
|
73
|
-
this._tryToRun = false;
|
|
74
|
-
this._onResize = () => {
|
|
75
|
-
this._moveButtonToTopLeft();
|
|
76
|
-
};
|
|
77
|
-
if (!IsWindowObjectExist()) {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
if (typeof window.AudioContext !== "undefined") {
|
|
81
|
-
this.canUseWebAudio = true;
|
|
82
|
-
}
|
|
83
|
-
const audioElem = document.createElement("audio");
|
|
84
|
-
this._hostElement = hostElement;
|
|
85
|
-
this._audioContext = audioContext;
|
|
86
|
-
this._audioDestination = audioDestination;
|
|
87
|
-
try {
|
|
88
|
-
if (audioElem &&
|
|
89
|
-
!!audioElem.canPlayType &&
|
|
90
|
-
(audioElem.canPlayType('audio/mpeg; codecs="mp3"').replace(/^no$/, "") || audioElem.canPlayType("audio/mp3").replace(/^no$/, ""))) {
|
|
91
|
-
this.isMP3supported = true;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
catch (e) {
|
|
95
|
-
// protect error during capability check.
|
|
96
|
-
}
|
|
97
|
-
try {
|
|
98
|
-
if (audioElem && !!audioElem.canPlayType && audioElem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, "")) {
|
|
99
|
-
this.isOGGsupported = true;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
catch (e) {
|
|
103
|
-
// protect error during capability check.
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Flags the audio engine in Locked state.
|
|
108
|
-
* This happens due to new browser policies preventing audio to autoplay.
|
|
109
|
-
*/
|
|
110
|
-
lock() {
|
|
111
|
-
this._triggerSuspendedState();
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Unlocks the audio engine once a user action has been done on the dom.
|
|
115
|
-
* This is helpful to resume play once browser policies have been satisfied.
|
|
116
|
-
*/
|
|
117
|
-
unlock() {
|
|
118
|
-
if (this._audioContext?.state === "running") {
|
|
119
|
-
this._hideMuteButton();
|
|
120
|
-
if (!this.unlocked) {
|
|
121
|
-
// Notify users that the audio stack is unlocked/unmuted
|
|
122
|
-
this.unlocked = true;
|
|
123
|
-
this.onAudioUnlockedObservable.notifyObservers(this);
|
|
124
|
-
}
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
// On iOS, if the audio context resume request was sent from an event other than a `click` event, then
|
|
128
|
-
// the resume promise will never resolve and the only way to get the audio context unstuck is to
|
|
129
|
-
// suspend it and make another resume request.
|
|
130
|
-
if (this._tryToRun) {
|
|
131
|
-
this._audioContext?.suspend().then(() => {
|
|
132
|
-
this._tryToRun = false;
|
|
133
|
-
this._triggerRunningState();
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
this._triggerRunningState();
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
/** @internal */
|
|
141
|
-
_resumeAudioContextOnStateChange() {
|
|
142
|
-
this._audioContext?.addEventListener("statechange", () => {
|
|
143
|
-
if (this.unlocked && this._audioContext?.state !== "running") {
|
|
144
|
-
this._resumeAudioContext();
|
|
145
|
-
}
|
|
146
|
-
}, {
|
|
147
|
-
once: true,
|
|
148
|
-
passive: true,
|
|
149
|
-
signal: AbortSignal.timeout(3000),
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
_resumeAudioContext() {
|
|
153
|
-
if (this._audioContext?.resume) {
|
|
154
|
-
return this._audioContext.resume();
|
|
155
|
-
}
|
|
156
|
-
return Promise.resolve();
|
|
157
|
-
}
|
|
158
|
-
_initializeAudioContext() {
|
|
159
|
-
try {
|
|
160
|
-
if (this.canUseWebAudio) {
|
|
161
|
-
if (!this._audioContext) {
|
|
162
|
-
this._audioContext = new AudioContext();
|
|
163
|
-
}
|
|
164
|
-
// create a global volume gain node
|
|
165
|
-
this.masterGain = this._audioContext.createGain();
|
|
166
|
-
this.masterGain.gain.value = 1;
|
|
167
|
-
if (!this._audioDestination) {
|
|
168
|
-
this._audioDestination = this._audioContext.destination;
|
|
169
|
-
}
|
|
170
|
-
this.masterGain.connect(this._audioDestination);
|
|
171
|
-
this._audioContextInitialized = true;
|
|
172
|
-
if (this._audioContext.state === "running") {
|
|
173
|
-
// Do not wait for the promise to unlock.
|
|
174
|
-
this._triggerRunningState();
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
catch (e) {
|
|
179
|
-
this.canUseWebAudio = false;
|
|
180
|
-
Logger.Error("Web Audio: " + e.message);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
_triggerRunningState() {
|
|
184
|
-
if (this._tryToRun) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
this._tryToRun = true;
|
|
188
|
-
this._resumeAudioContext()
|
|
189
|
-
.then(() => {
|
|
190
|
-
this._tryToRun = false;
|
|
191
|
-
if (this._muteButton) {
|
|
192
|
-
this._hideMuteButton();
|
|
193
|
-
}
|
|
194
|
-
// Notify users that the audio stack is unlocked/unmuted
|
|
195
|
-
this.unlocked = true;
|
|
196
|
-
this.onAudioUnlockedObservable.notifyObservers(this);
|
|
197
|
-
})
|
|
198
|
-
.catch(() => {
|
|
199
|
-
this._tryToRun = false;
|
|
200
|
-
this.unlocked = false;
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
_triggerSuspendedState() {
|
|
204
|
-
this.unlocked = false;
|
|
205
|
-
this.onAudioLockedObservable.notifyObservers(this);
|
|
206
|
-
this._displayMuteButton();
|
|
207
|
-
}
|
|
208
|
-
_displayMuteButton() {
|
|
209
|
-
if (this.useCustomUnlockedButton || this._muteButton) {
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
this._muteButton = document.createElement("BUTTON");
|
|
213
|
-
this._muteButton.className = "babylonUnmuteIcon";
|
|
214
|
-
this._muteButton.id = "babylonUnmuteIconBtn";
|
|
215
|
-
this._muteButton.title = "Unmute";
|
|
216
|
-
const imageUrl = !window.SVGSVGElement
|
|
217
|
-
? "https://cdn.babylonjs.com/Assets/audio.png"
|
|
218
|
-
: "data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2239%22%20height%3D%2232%22%20viewBox%3D%220%200%2039%2032%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M9.625%2018.938l-0.031%200.016h-4.953q-0.016%200-0.031-0.016v-12.453q0-0.016%200.031-0.016h4.953q0.031%200%200.031%200.016v12.453zM12.125%207.688l8.719-8.703v27.453l-8.719-8.719-0.016-0.047v-9.938zM23.359%207.875l1.406-1.406%204.219%204.203%204.203-4.203%201.422%201.406-4.219%204.219%204.219%204.203-1.484%201.359-4.141-4.156-4.219%204.219-1.406-1.422%204.219-4.203z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E";
|
|
219
|
-
const css = ".babylonUnmuteIcon { position: absolute; left: 20px; top: 20px; height: 40px; width: 60px; background-color: rgba(51,51,51,0.7); background-image: url(" +
|
|
220
|
-
imageUrl +
|
|
221
|
-
"); background-size: 80%; background-repeat:no-repeat; background-position: center; background-position-y: 4px; border: none; outline: none; transition: transform 0.125s ease-out; cursor: pointer; z-index: 9999; } .babylonUnmuteIcon:hover { transform: scale(1.05) } .babylonUnmuteIcon:active { background-color: rgba(51,51,51,1) }";
|
|
222
|
-
const style = document.createElement("style");
|
|
223
|
-
style.appendChild(document.createTextNode(css));
|
|
224
|
-
document.getElementsByTagName("head")[0].appendChild(style);
|
|
225
|
-
document.body.appendChild(this._muteButton);
|
|
226
|
-
this._moveButtonToTopLeft();
|
|
227
|
-
this._muteButton.addEventListener("touchend", () => {
|
|
228
|
-
this._triggerRunningState();
|
|
229
|
-
}, true);
|
|
230
|
-
this._muteButton.addEventListener("click", () => {
|
|
231
|
-
this.unlock();
|
|
232
|
-
}, true);
|
|
233
|
-
window.addEventListener("resize", this._onResize);
|
|
234
|
-
}
|
|
235
|
-
_moveButtonToTopLeft() {
|
|
236
|
-
if (this._hostElement && this._muteButton) {
|
|
237
|
-
this._muteButton.style.top = this._hostElement.offsetTop + 20 + "px";
|
|
238
|
-
this._muteButton.style.left = this._hostElement.offsetLeft + 20 + "px";
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
_hideMuteButton() {
|
|
242
|
-
if (this._muteButton) {
|
|
243
|
-
document.body.removeChild(this._muteButton);
|
|
244
|
-
this._muteButton = null;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Destroy and release the resources associated with the audio context.
|
|
249
|
-
*/
|
|
250
|
-
dispose() {
|
|
251
|
-
if (this.canUseWebAudio && this._audioContextInitialized) {
|
|
252
|
-
if (this._connectedAnalyser && this._audioContext) {
|
|
253
|
-
this._connectedAnalyser.stopDebugCanvas();
|
|
254
|
-
this._connectedAnalyser.dispose();
|
|
255
|
-
this.masterGain.disconnect();
|
|
256
|
-
this.masterGain.connect(this._audioContext.destination);
|
|
257
|
-
this._connectedAnalyser = null;
|
|
258
|
-
}
|
|
259
|
-
this.masterGain.gain.value = 1;
|
|
260
|
-
}
|
|
261
|
-
this.WarnedWebAudioUnsupported = false;
|
|
262
|
-
this._hideMuteButton();
|
|
263
|
-
window.removeEventListener("resize", this._onResize);
|
|
264
|
-
this.onAudioUnlockedObservable.clear();
|
|
265
|
-
this.onAudioLockedObservable.clear();
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Gets the global volume sets on the master gain.
|
|
269
|
-
* @returns the global volume if set or -1 otherwise
|
|
270
|
-
*/
|
|
271
|
-
getGlobalVolume() {
|
|
272
|
-
if (this.canUseWebAudio && this._audioContextInitialized) {
|
|
273
|
-
return this.masterGain.gain.value;
|
|
274
|
-
}
|
|
275
|
-
else {
|
|
276
|
-
return -1;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Sets the global volume of your experience (sets on the master gain).
|
|
281
|
-
* @param newVolume Defines the new global volume of the application
|
|
282
|
-
*/
|
|
283
|
-
setGlobalVolume(newVolume) {
|
|
284
|
-
if (this.canUseWebAudio && this._audioContextInitialized) {
|
|
285
|
-
this.masterGain.gain.value = newVolume;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Connect the audio engine to an audio analyser allowing some amazing
|
|
290
|
-
* synchronization between the sounds/music and your visualization (VuMeter for instance).
|
|
291
|
-
* @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#using-the-analyser
|
|
292
|
-
* @param analyser The analyser to connect to the engine
|
|
293
|
-
*/
|
|
294
|
-
connectToAnalyser(analyser) {
|
|
295
|
-
if (this._connectedAnalyser) {
|
|
296
|
-
this._connectedAnalyser.stopDebugCanvas();
|
|
297
|
-
}
|
|
298
|
-
if (this.canUseWebAudio && this._audioContextInitialized && this._audioContext) {
|
|
299
|
-
this._connectedAnalyser = analyser;
|
|
300
|
-
this.masterGain.disconnect();
|
|
301
|
-
this._connectedAnalyser.connectAudioNodes(this.masterGain, this._audioContext.destination);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
//# sourceMappingURL=audioEngine-peiGqjr6.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audioEngine-peiGqjr6.esm.js","sources":["../../../../../dev/core/dist/Audio/audioEngine.js"],"sourcesContent":["import { Observable } from \"../Misc/observable\";\nimport { Logger } from \"../Misc/logger\";\nimport { AbstractEngine } from \"../Engines/abstractEngine\";\nimport { IsWindowObjectExist } from \"../Misc/domManagement\";\n// Sets the default audio engine to Babylon.js\nAbstractEngine.AudioEngineFactory = (hostElement, audioContext, audioDestination) => {\n return new AudioEngine(hostElement, audioContext, audioDestination);\n};\n/**\n * This represents the default audio engine used in babylon.\n * It is responsible to play, synchronize and analyse sounds throughout the application.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic\n */\nexport class AudioEngine {\n /**\n * Gets the current AudioContext if available.\n */\n get audioContext() {\n if (!this._audioContextInitialized) {\n this._initializeAudioContext();\n }\n return this._audioContext;\n }\n /**\n * Instantiates a new audio engine.\n *\n * There should be only one per page as some browsers restrict the number\n * of audio contexts you can create.\n * @param hostElement defines the host element where to display the mute icon if necessary\n * @param audioContext defines the audio context to be used by the audio engine\n * @param audioDestination defines the audio destination node to be used by audio engine\n */\n constructor(hostElement = null, audioContext = null, audioDestination = null) {\n this._audioContext = null;\n this._audioContextInitialized = false;\n this._muteButton = null;\n this._audioDestination = null;\n /**\n * Gets whether the current host supports Web Audio and thus could create AudioContexts.\n */\n this.canUseWebAudio = false;\n /**\n * Defines if Babylon should emit a warning if WebAudio is not supported.\n * @ignoreNaming\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n this.WarnedWebAudioUnsupported = false;\n /**\n * Gets whether or not mp3 are supported by your browser.\n */\n this.isMP3supported = false;\n /**\n * Gets whether or not ogg are supported by your browser.\n */\n this.isOGGsupported = false;\n /**\n * Gets whether audio has been unlocked on the device.\n * Some Browsers have strong restrictions about Audio and won't autoplay unless\n * a user interaction has happened.\n */\n this.unlocked = false;\n /**\n * Defines if the audio engine relies on a custom unlocked button.\n * In this case, the embedded button will not be displayed.\n */\n this.useCustomUnlockedButton = false;\n /**\n * Event raised when audio has been unlocked on the browser.\n */\n this.onAudioUnlockedObservable = new Observable();\n /**\n * Event raised when audio has been locked on the browser.\n */\n this.onAudioLockedObservable = new Observable();\n this._tryToRun = false;\n this._onResize = () => {\n this._moveButtonToTopLeft();\n };\n if (!IsWindowObjectExist()) {\n return;\n }\n if (typeof window.AudioContext !== \"undefined\") {\n this.canUseWebAudio = true;\n }\n const audioElem = document.createElement(\"audio\");\n this._hostElement = hostElement;\n this._audioContext = audioContext;\n this._audioDestination = audioDestination;\n try {\n if (audioElem &&\n !!audioElem.canPlayType &&\n (audioElem.canPlayType('audio/mpeg; codecs=\"mp3\"').replace(/^no$/, \"\") || audioElem.canPlayType(\"audio/mp3\").replace(/^no$/, \"\"))) {\n this.isMP3supported = true;\n }\n }\n catch (e) {\n // protect error during capability check.\n }\n try {\n if (audioElem && !!audioElem.canPlayType && audioElem.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, \"\")) {\n this.isOGGsupported = true;\n }\n }\n catch (e) {\n // protect error during capability check.\n }\n }\n /**\n * Flags the audio engine in Locked state.\n * This happens due to new browser policies preventing audio to autoplay.\n */\n lock() {\n this._triggerSuspendedState();\n }\n /**\n * Unlocks the audio engine once a user action has been done on the dom.\n * This is helpful to resume play once browser policies have been satisfied.\n */\n unlock() {\n if (this._audioContext?.state === \"running\") {\n this._hideMuteButton();\n if (!this.unlocked) {\n // Notify users that the audio stack is unlocked/unmuted\n this.unlocked = true;\n this.onAudioUnlockedObservable.notifyObservers(this);\n }\n return;\n }\n // On iOS, if the audio context resume request was sent from an event other than a `click` event, then\n // the resume promise will never resolve and the only way to get the audio context unstuck is to\n // suspend it and make another resume request.\n if (this._tryToRun) {\n this._audioContext?.suspend().then(() => {\n this._tryToRun = false;\n this._triggerRunningState();\n });\n }\n else {\n this._triggerRunningState();\n }\n }\n /** @internal */\n _resumeAudioContextOnStateChange() {\n this._audioContext?.addEventListener(\"statechange\", () => {\n if (this.unlocked && this._audioContext?.state !== \"running\") {\n this._resumeAudioContext();\n }\n }, {\n once: true,\n passive: true,\n signal: AbortSignal.timeout(3000),\n });\n }\n _resumeAudioContext() {\n if (this._audioContext?.resume) {\n return this._audioContext.resume();\n }\n return Promise.resolve();\n }\n _initializeAudioContext() {\n try {\n if (this.canUseWebAudio) {\n if (!this._audioContext) {\n this._audioContext = new AudioContext();\n }\n // create a global volume gain node\n this.masterGain = this._audioContext.createGain();\n this.masterGain.gain.value = 1;\n if (!this._audioDestination) {\n this._audioDestination = this._audioContext.destination;\n }\n this.masterGain.connect(this._audioDestination);\n this._audioContextInitialized = true;\n if (this._audioContext.state === \"running\") {\n // Do not wait for the promise to unlock.\n this._triggerRunningState();\n }\n }\n }\n catch (e) {\n this.canUseWebAudio = false;\n Logger.Error(\"Web Audio: \" + e.message);\n }\n }\n _triggerRunningState() {\n if (this._tryToRun) {\n return;\n }\n this._tryToRun = true;\n this._resumeAudioContext()\n .then(() => {\n this._tryToRun = false;\n if (this._muteButton) {\n this._hideMuteButton();\n }\n // Notify users that the audio stack is unlocked/unmuted\n this.unlocked = true;\n this.onAudioUnlockedObservable.notifyObservers(this);\n })\n .catch(() => {\n this._tryToRun = false;\n this.unlocked = false;\n });\n }\n _triggerSuspendedState() {\n this.unlocked = false;\n this.onAudioLockedObservable.notifyObservers(this);\n this._displayMuteButton();\n }\n _displayMuteButton() {\n if (this.useCustomUnlockedButton || this._muteButton) {\n return;\n }\n this._muteButton = document.createElement(\"BUTTON\");\n this._muteButton.className = \"babylonUnmuteIcon\";\n this._muteButton.id = \"babylonUnmuteIconBtn\";\n this._muteButton.title = \"Unmute\";\n const imageUrl = !window.SVGSVGElement\n ? \"https://cdn.babylonjs.com/Assets/audio.png\"\n : \"data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2239%22%20height%3D%2232%22%20viewBox%3D%220%200%2039%2032%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M9.625%2018.938l-0.031%200.016h-4.953q-0.016%200-0.031-0.016v-12.453q0-0.016%200.031-0.016h4.953q0.031%200%200.031%200.016v12.453zM12.125%207.688l8.719-8.703v27.453l-8.719-8.719-0.016-0.047v-9.938zM23.359%207.875l1.406-1.406%204.219%204.203%204.203-4.203%201.422%201.406-4.219%204.219%204.219%204.203-1.484%201.359-4.141-4.156-4.219%204.219-1.406-1.422%204.219-4.203z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\";\n const css = \".babylonUnmuteIcon { position: absolute; left: 20px; top: 20px; height: 40px; width: 60px; background-color: rgba(51,51,51,0.7); background-image: url(\" +\n imageUrl +\n \"); background-size: 80%; background-repeat:no-repeat; background-position: center; background-position-y: 4px; border: none; outline: none; transition: transform 0.125s ease-out; cursor: pointer; z-index: 9999; } .babylonUnmuteIcon:hover { transform: scale(1.05) } .babylonUnmuteIcon:active { background-color: rgba(51,51,51,1) }\";\n const style = document.createElement(\"style\");\n style.appendChild(document.createTextNode(css));\n document.getElementsByTagName(\"head\")[0].appendChild(style);\n document.body.appendChild(this._muteButton);\n this._moveButtonToTopLeft();\n this._muteButton.addEventListener(\"touchend\", () => {\n this._triggerRunningState();\n }, true);\n this._muteButton.addEventListener(\"click\", () => {\n this.unlock();\n }, true);\n window.addEventListener(\"resize\", this._onResize);\n }\n _moveButtonToTopLeft() {\n if (this._hostElement && this._muteButton) {\n this._muteButton.style.top = this._hostElement.offsetTop + 20 + \"px\";\n this._muteButton.style.left = this._hostElement.offsetLeft + 20 + \"px\";\n }\n }\n _hideMuteButton() {\n if (this._muteButton) {\n document.body.removeChild(this._muteButton);\n this._muteButton = null;\n }\n }\n /**\n * Destroy and release the resources associated with the audio context.\n */\n dispose() {\n if (this.canUseWebAudio && this._audioContextInitialized) {\n if (this._connectedAnalyser && this._audioContext) {\n this._connectedAnalyser.stopDebugCanvas();\n this._connectedAnalyser.dispose();\n this.masterGain.disconnect();\n this.masterGain.connect(this._audioContext.destination);\n this._connectedAnalyser = null;\n }\n this.masterGain.gain.value = 1;\n }\n this.WarnedWebAudioUnsupported = false;\n this._hideMuteButton();\n window.removeEventListener(\"resize\", this._onResize);\n this.onAudioUnlockedObservable.clear();\n this.onAudioLockedObservable.clear();\n }\n /**\n * Gets the global volume sets on the master gain.\n * @returns the global volume if set or -1 otherwise\n */\n getGlobalVolume() {\n if (this.canUseWebAudio && this._audioContextInitialized) {\n return this.masterGain.gain.value;\n }\n else {\n return -1;\n }\n }\n /**\n * Sets the global volume of your experience (sets on the master gain).\n * @param newVolume Defines the new global volume of the application\n */\n setGlobalVolume(newVolume) {\n if (this.canUseWebAudio && this._audioContextInitialized) {\n this.masterGain.gain.value = newVolume;\n }\n }\n /**\n * Connect the audio engine to an audio analyser allowing some amazing\n * synchronization between the sounds/music and your visualization (VuMeter for instance).\n * @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#using-the-analyser\n * @param analyser The analyser to connect to the engine\n */\n connectToAnalyser(analyser) {\n if (this._connectedAnalyser) {\n this._connectedAnalyser.stopDebugCanvas();\n }\n if (this.canUseWebAudio && this._audioContextInitialized && this._audioContext) {\n this._connectedAnalyser = analyser;\n this.masterGain.disconnect();\n this._connectedAnalyser.connectAudioNodes(this.masterGain, this._audioContext.destination);\n }\n }\n}\n//# sourceMappingURL=audioEngine.js.map"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./index-rZVkfTE6.esm.min.js";e.IncludesShadersStoreWGSL.bakedVertexAnimationDeclaration="#ifdef BAKED_VERTEX_ANIMATION_TEXTURE\nuniform bakedVertexAnimationTime: f32;uniform bakedVertexAnimationTextureSizeInverted: vec2<f32>;uniform bakedVertexAnimationSettings: vec4<f32>;var bakedVertexAnimationTexture : texture_2d<f32>;\n#ifdef INSTANCES\nattribute bakedVertexAnimationSettingsInstanced : vec4<f32>;\n#endif\nfn readMatrixFromRawSamplerVAT(smp : texture_2d<f32>,index : f32,frame : f32)->mat4x4<f32>\n{let offset=i32(index)*4;let frameUV=i32(frame);let m0=textureLoad(smp,vec2<i32>(offset+0,frameUV),0);let m1=textureLoad(smp,vec2<i32>(offset+1,frameUV),0);let m2=textureLoad(smp,vec2<i32>(offset+2,frameUV),0);let m3=textureLoad(smp,vec2<i32>(offset+3,frameUV),0);return mat4x4<f32>(m0,m1,m2,m3);}\n#endif\n";e.IncludesShadersStoreWGSL.instancesDeclaration="#ifdef INSTANCES\nattribute world0 : vec4<f32>;attribute world1 : vec4<f32>;attribute world2 : vec4<f32>;attribute world3 : vec4<f32>;\n#ifdef INSTANCESCOLOR\nattribute instanceColor : vec4<f32>;\n#endif\n#if defined(THIN_INSTANCES) && !defined(WORLD_UBO)\nuniform world : mat4x4<f32>;\n#endif\n#if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nattribute previousWorld0 : vec4<f32>;attribute previousWorld1 : vec4<f32>;attribute previousWorld2 : vec4<f32>;attribute previousWorld3 : vec4<f32>;\n#ifdef THIN_INSTANCES\nuniform previousWorld : mat4x4<f32>;\n#endif\n#endif\n#else\n#if !defined(WORLD_UBO)\nuniform world : mat4x4<f32>;\n#endif\n#if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nuniform previousWorld : mat4x4<f32>;\n#endif\n#endif\n";e.IncludesShadersStoreWGSL.instancesVertex="#ifdef INSTANCES\nvar finalWorld=mat4x4<f32>(vertexInputs.world0,vertexInputs.world1,vertexInputs.world2,vertexInputs.world3);\n#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nvar finalPreviousWorld=mat4x4<f32>(\nvertexInputs.previousWorld0,vertexInputs.previousWorld1,\nvertexInputs.previousWorld2,vertexInputs.previousWorld3);\n#endif\n#ifdef THIN_INSTANCES\n#if !defined(WORLD_UBO)\nfinalWorld=uniforms.world*finalWorld;\n#else\nfinalWorld=mesh.world*finalWorld;\n#endif\n#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nfinalPreviousWorld=uniforms.previousWorld*finalPreviousWorld;\n#endif\n#endif\n#else\n#if !defined(WORLD_UBO)\nvar finalWorld=uniforms.world;\n#else\nvar finalWorld=mesh.world;\n#endif\n#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nvar finalPreviousWorld=uniforms.previousWorld;\n#endif\n#endif\n";e.IncludesShadersStoreWGSL.bakedVertexAnimation="#ifdef BAKED_VERTEX_ANIMATION_TEXTURE\n{\n#ifdef INSTANCES\nlet VATStartFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.x;let VATEndFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.y;let VATOffsetFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.z;let VATSpeed: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.w;\n#else\nlet VATStartFrame: f32=uniforms.bakedVertexAnimationSettings.x;let VATEndFrame: f32=uniforms.bakedVertexAnimationSettings.y;let VATOffsetFrame: f32=uniforms.bakedVertexAnimationSettings.z;let VATSpeed: f32=uniforms.bakedVertexAnimationSettings.w;\n#endif\nlet totalFrames: f32=VATEndFrame-VATStartFrame+1.0;let time: f32=uniforms.bakedVertexAnimationTime*VATSpeed/totalFrames;let frameCorrection: f32=select(1.0,0.0,time<1.0);let numOfFrames: f32=totalFrames-frameCorrection;var VATFrameNum: f32=fract(time)*numOfFrames;VATFrameNum=(VATFrameNum+VATOffsetFrame) % numOfFrames;VATFrameNum=floor(VATFrameNum);VATFrameNum=VATFrameNum+VATStartFrame+frameCorrection;var VATInfluence : mat4x4<f32>;VATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[0],VATFrameNum)*vertexInputs.matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[1],VATFrameNum)*vertexInputs.matricesWeights[1];\n#endif\n#if NUM_BONE_INFLUENCERS>2\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[2],VATFrameNum)*vertexInputs.matricesWeights[2];\n#endif\n#if NUM_BONE_INFLUENCERS>3\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[3],VATFrameNum)*vertexInputs.matricesWeights[3];\n#endif\n#if NUM_BONE_INFLUENCERS>4\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[0],VATFrameNum)*vertexInputs.matricesWeightsExtra[0];\n#endif\n#if NUM_BONE_INFLUENCERS>5\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[1],VATFrameNum)*vertexInputs.matricesWeightsExtra[1];\n#endif\n#if NUM_BONE_INFLUENCERS>6\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[2],VATFrameNum)*vertexInputs.matricesWeightsExtra[2];\n#endif\n#if NUM_BONE_INFLUENCERS>7\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[3],VATFrameNum)*vertexInputs.matricesWeightsExtra[3];\n#endif\nfinalWorld=finalWorld*VATInfluence;}\n#endif\n";
|
|
2
|
-
//# sourceMappingURL=bakedVertexAnimation-BZvcL01J.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bakedVertexAnimation-BZvcL01J.esm.min.js","sources":["../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js","../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/instancesDeclaration.js","../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/instancesVertex.js","../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js"],"sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"bakedVertexAnimationDeclaration\";\nconst shader = `#ifdef BAKED_VERTEX_ANIMATION_TEXTURE\nuniform bakedVertexAnimationTime: f32;uniform bakedVertexAnimationTextureSizeInverted: vec2<f32>;uniform bakedVertexAnimationSettings: vec4<f32>;var bakedVertexAnimationTexture : texture_2d<f32>;\n#ifdef INSTANCES\nattribute bakedVertexAnimationSettingsInstanced : vec4<f32>;\n#endif\nfn readMatrixFromRawSamplerVAT(smp : texture_2d<f32>,index : f32,frame : f32)->mat4x4<f32>\n{let offset=i32(index)*4;let frameUV=i32(frame);let m0=textureLoad(smp,vec2<i32>(offset+0,frameUV),0);let m1=textureLoad(smp,vec2<i32>(offset+1,frameUV),0);let m2=textureLoad(smp,vec2<i32>(offset+2,frameUV),0);let m3=textureLoad(smp,vec2<i32>(offset+3,frameUV),0);return mat4x4<f32>(m0,m1,m2,m3);}\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const bakedVertexAnimationDeclarationWGSL = { name, shader };\n//# sourceMappingURL=bakedVertexAnimationDeclaration.js.map","// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"instancesDeclaration\";\nconst shader = `#ifdef INSTANCES\nattribute world0 : vec4<f32>;attribute world1 : vec4<f32>;attribute world2 : vec4<f32>;attribute world3 : vec4<f32>;\n#ifdef INSTANCESCOLOR\nattribute instanceColor : vec4<f32>;\n#endif\n#if defined(THIN_INSTANCES) && !defined(WORLD_UBO)\nuniform world : mat4x4<f32>;\n#endif\n#if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nattribute previousWorld0 : vec4<f32>;attribute previousWorld1 : vec4<f32>;attribute previousWorld2 : vec4<f32>;attribute previousWorld3 : vec4<f32>;\n#ifdef THIN_INSTANCES\nuniform previousWorld : mat4x4<f32>;\n#endif\n#endif\n#else\n#if !defined(WORLD_UBO)\nuniform world : mat4x4<f32>;\n#endif\n#if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nuniform previousWorld : mat4x4<f32>;\n#endif\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const instancesDeclarationWGSL = { name, shader };\n//# sourceMappingURL=instancesDeclaration.js.map","// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"instancesVertex\";\nconst shader = `#ifdef INSTANCES\nvar finalWorld=mat4x4<f32>(vertexInputs.world0,vertexInputs.world1,vertexInputs.world2,vertexInputs.world3);\n#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nvar finalPreviousWorld=mat4x4<f32>(\nvertexInputs.previousWorld0,vertexInputs.previousWorld1,\nvertexInputs.previousWorld2,vertexInputs.previousWorld3);\n#endif\n#ifdef THIN_INSTANCES\n#if !defined(WORLD_UBO)\nfinalWorld=uniforms.world*finalWorld;\n#else\nfinalWorld=mesh.world*finalWorld;\n#endif\n#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nfinalPreviousWorld=uniforms.previousWorld*finalPreviousWorld;\n#endif\n#endif\n#else\n#if !defined(WORLD_UBO)\nvar finalWorld=uniforms.world;\n#else\nvar finalWorld=mesh.world;\n#endif\n#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nvar finalPreviousWorld=uniforms.previousWorld;\n#endif\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const instancesVertexWGSL = { name, shader };\n//# sourceMappingURL=instancesVertex.js.map","// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"bakedVertexAnimation\";\nconst shader = `#ifdef BAKED_VERTEX_ANIMATION_TEXTURE\n{\n#ifdef INSTANCES\nlet VATStartFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.x;let VATEndFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.y;let VATOffsetFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.z;let VATSpeed: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.w;\n#else\nlet VATStartFrame: f32=uniforms.bakedVertexAnimationSettings.x;let VATEndFrame: f32=uniforms.bakedVertexAnimationSettings.y;let VATOffsetFrame: f32=uniforms.bakedVertexAnimationSettings.z;let VATSpeed: f32=uniforms.bakedVertexAnimationSettings.w;\n#endif\nlet totalFrames: f32=VATEndFrame-VATStartFrame+1.0;let time: f32=uniforms.bakedVertexAnimationTime*VATSpeed/totalFrames;let frameCorrection: f32=select(1.0,0.0,time<1.0);let numOfFrames: f32=totalFrames-frameCorrection;var VATFrameNum: f32=fract(time)*numOfFrames;VATFrameNum=(VATFrameNum+VATOffsetFrame) % numOfFrames;VATFrameNum=floor(VATFrameNum);VATFrameNum=VATFrameNum+VATStartFrame+frameCorrection;var VATInfluence : mat4x4<f32>;VATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[0],VATFrameNum)*vertexInputs.matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[1],VATFrameNum)*vertexInputs.matricesWeights[1];\n#endif\n#if NUM_BONE_INFLUENCERS>2\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[2],VATFrameNum)*vertexInputs.matricesWeights[2];\n#endif\n#if NUM_BONE_INFLUENCERS>3\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[3],VATFrameNum)*vertexInputs.matricesWeights[3];\n#endif\n#if NUM_BONE_INFLUENCERS>4\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[0],VATFrameNum)*vertexInputs.matricesWeightsExtra[0];\n#endif\n#if NUM_BONE_INFLUENCERS>5\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[1],VATFrameNum)*vertexInputs.matricesWeightsExtra[1];\n#endif\n#if NUM_BONE_INFLUENCERS>6\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[2],VATFrameNum)*vertexInputs.matricesWeightsExtra[2];\n#endif\n#if NUM_BONE_INFLUENCERS>7\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[3],VATFrameNum)*vertexInputs.matricesWeightsExtra[3];\n#endif\nfinalWorld=finalWorld*VATInfluence;}\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const bakedVertexAnimationWGSL = { name, shader };\n//# sourceMappingURL=bakedVertexAnimation.js.map"],"names":["ShaderStore","IncludesShadersStoreWGSL"],"mappings":"gDAaAA,EAAYC,yBAA6B,gCAV1B,stBCwBfD,EAAYC,yBAA6B,qBAxB1B,i3BC6BfD,EAAYC,yBAA6B,gBA7B1B,ogCCiCfD,EAAYC,yBAA6B,qBAjC1B"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { i as ShaderStore } from './index-C6hXZyZb.esm.js';
|
|
2
|
-
|
|
3
|
-
// Do not edit.
|
|
4
|
-
const name$3 = "bakedVertexAnimationDeclaration";
|
|
5
|
-
const shader$3 = `#ifdef BAKED_VERTEX_ANIMATION_TEXTURE
|
|
6
|
-
uniform bakedVertexAnimationTime: f32;uniform bakedVertexAnimationTextureSizeInverted: vec2<f32>;uniform bakedVertexAnimationSettings: vec4<f32>;var bakedVertexAnimationTexture : texture_2d<f32>;
|
|
7
|
-
#ifdef INSTANCES
|
|
8
|
-
attribute bakedVertexAnimationSettingsInstanced : vec4<f32>;
|
|
9
|
-
#endif
|
|
10
|
-
fn readMatrixFromRawSamplerVAT(smp : texture_2d<f32>,index : f32,frame : f32)->mat4x4<f32>
|
|
11
|
-
{let offset=i32(index)*4;let frameUV=i32(frame);let m0=textureLoad(smp,vec2<i32>(offset+0,frameUV),0);let m1=textureLoad(smp,vec2<i32>(offset+1,frameUV),0);let m2=textureLoad(smp,vec2<i32>(offset+2,frameUV),0);let m3=textureLoad(smp,vec2<i32>(offset+3,frameUV),0);return mat4x4<f32>(m0,m1,m2,m3);}
|
|
12
|
-
#endif
|
|
13
|
-
`;
|
|
14
|
-
// Sideeffect
|
|
15
|
-
ShaderStore.IncludesShadersStoreWGSL[name$3] = shader$3;
|
|
16
|
-
|
|
17
|
-
// Do not edit.
|
|
18
|
-
const name$2 = "instancesDeclaration";
|
|
19
|
-
const shader$2 = `#ifdef INSTANCES
|
|
20
|
-
attribute world0 : vec4<f32>;attribute world1 : vec4<f32>;attribute world2 : vec4<f32>;attribute world3 : vec4<f32>;
|
|
21
|
-
#ifdef INSTANCESCOLOR
|
|
22
|
-
attribute instanceColor : vec4<f32>;
|
|
23
|
-
#endif
|
|
24
|
-
#if defined(THIN_INSTANCES) && !defined(WORLD_UBO)
|
|
25
|
-
uniform world : mat4x4<f32>;
|
|
26
|
-
#endif
|
|
27
|
-
#if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
|
|
28
|
-
attribute previousWorld0 : vec4<f32>;attribute previousWorld1 : vec4<f32>;attribute previousWorld2 : vec4<f32>;attribute previousWorld3 : vec4<f32>;
|
|
29
|
-
#ifdef THIN_INSTANCES
|
|
30
|
-
uniform previousWorld : mat4x4<f32>;
|
|
31
|
-
#endif
|
|
32
|
-
#endif
|
|
33
|
-
#else
|
|
34
|
-
#if !defined(WORLD_UBO)
|
|
35
|
-
uniform world : mat4x4<f32>;
|
|
36
|
-
#endif
|
|
37
|
-
#if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
|
|
38
|
-
uniform previousWorld : mat4x4<f32>;
|
|
39
|
-
#endif
|
|
40
|
-
#endif
|
|
41
|
-
`;
|
|
42
|
-
// Sideeffect
|
|
43
|
-
ShaderStore.IncludesShadersStoreWGSL[name$2] = shader$2;
|
|
44
|
-
|
|
45
|
-
// Do not edit.
|
|
46
|
-
const name$1 = "instancesVertex";
|
|
47
|
-
const shader$1 = `#ifdef INSTANCES
|
|
48
|
-
var finalWorld=mat4x4<f32>(vertexInputs.world0,vertexInputs.world1,vertexInputs.world2,vertexInputs.world3);
|
|
49
|
-
#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
|
|
50
|
-
var finalPreviousWorld=mat4x4<f32>(
|
|
51
|
-
vertexInputs.previousWorld0,vertexInputs.previousWorld1,
|
|
52
|
-
vertexInputs.previousWorld2,vertexInputs.previousWorld3);
|
|
53
|
-
#endif
|
|
54
|
-
#ifdef THIN_INSTANCES
|
|
55
|
-
#if !defined(WORLD_UBO)
|
|
56
|
-
finalWorld=uniforms.world*finalWorld;
|
|
57
|
-
#else
|
|
58
|
-
finalWorld=mesh.world*finalWorld;
|
|
59
|
-
#endif
|
|
60
|
-
#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
|
|
61
|
-
finalPreviousWorld=uniforms.previousWorld*finalPreviousWorld;
|
|
62
|
-
#endif
|
|
63
|
-
#endif
|
|
64
|
-
#else
|
|
65
|
-
#if !defined(WORLD_UBO)
|
|
66
|
-
var finalWorld=uniforms.world;
|
|
67
|
-
#else
|
|
68
|
-
var finalWorld=mesh.world;
|
|
69
|
-
#endif
|
|
70
|
-
#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)
|
|
71
|
-
var finalPreviousWorld=uniforms.previousWorld;
|
|
72
|
-
#endif
|
|
73
|
-
#endif
|
|
74
|
-
`;
|
|
75
|
-
// Sideeffect
|
|
76
|
-
ShaderStore.IncludesShadersStoreWGSL[name$1] = shader$1;
|
|
77
|
-
|
|
78
|
-
// Do not edit.
|
|
79
|
-
const name = "bakedVertexAnimation";
|
|
80
|
-
const shader = `#ifdef BAKED_VERTEX_ANIMATION_TEXTURE
|
|
81
|
-
{
|
|
82
|
-
#ifdef INSTANCES
|
|
83
|
-
let VATStartFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.x;let VATEndFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.y;let VATOffsetFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.z;let VATSpeed: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.w;
|
|
84
|
-
#else
|
|
85
|
-
let VATStartFrame: f32=uniforms.bakedVertexAnimationSettings.x;let VATEndFrame: f32=uniforms.bakedVertexAnimationSettings.y;let VATOffsetFrame: f32=uniforms.bakedVertexAnimationSettings.z;let VATSpeed: f32=uniforms.bakedVertexAnimationSettings.w;
|
|
86
|
-
#endif
|
|
87
|
-
let totalFrames: f32=VATEndFrame-VATStartFrame+1.0;let time: f32=uniforms.bakedVertexAnimationTime*VATSpeed/totalFrames;let frameCorrection: f32=select(1.0,0.0,time<1.0);let numOfFrames: f32=totalFrames-frameCorrection;var VATFrameNum: f32=fract(time)*numOfFrames;VATFrameNum=(VATFrameNum+VATOffsetFrame) % numOfFrames;VATFrameNum=floor(VATFrameNum);VATFrameNum=VATFrameNum+VATStartFrame+frameCorrection;var VATInfluence : mat4x4<f32>;VATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[0],VATFrameNum)*vertexInputs.matricesWeights[0];
|
|
88
|
-
#if NUM_BONE_INFLUENCERS>1
|
|
89
|
-
VATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[1],VATFrameNum)*vertexInputs.matricesWeights[1];
|
|
90
|
-
#endif
|
|
91
|
-
#if NUM_BONE_INFLUENCERS>2
|
|
92
|
-
VATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[2],VATFrameNum)*vertexInputs.matricesWeights[2];
|
|
93
|
-
#endif
|
|
94
|
-
#if NUM_BONE_INFLUENCERS>3
|
|
95
|
-
VATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[3],VATFrameNum)*vertexInputs.matricesWeights[3];
|
|
96
|
-
#endif
|
|
97
|
-
#if NUM_BONE_INFLUENCERS>4
|
|
98
|
-
VATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[0],VATFrameNum)*vertexInputs.matricesWeightsExtra[0];
|
|
99
|
-
#endif
|
|
100
|
-
#if NUM_BONE_INFLUENCERS>5
|
|
101
|
-
VATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[1],VATFrameNum)*vertexInputs.matricesWeightsExtra[1];
|
|
102
|
-
#endif
|
|
103
|
-
#if NUM_BONE_INFLUENCERS>6
|
|
104
|
-
VATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[2],VATFrameNum)*vertexInputs.matricesWeightsExtra[2];
|
|
105
|
-
#endif
|
|
106
|
-
#if NUM_BONE_INFLUENCERS>7
|
|
107
|
-
VATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[3],VATFrameNum)*vertexInputs.matricesWeightsExtra[3];
|
|
108
|
-
#endif
|
|
109
|
-
finalWorld=finalWorld*VATInfluence;}
|
|
110
|
-
#endif
|
|
111
|
-
`;
|
|
112
|
-
// Sideeffect
|
|
113
|
-
ShaderStore.IncludesShadersStoreWGSL[name] = shader;
|
|
114
|
-
//# sourceMappingURL=bakedVertexAnimation-CPflSjER.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bakedVertexAnimation-CPflSjER.esm.js","sources":["../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js","../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/instancesDeclaration.js","../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/instancesVertex.js","../../../../../dev/core/dist/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js"],"sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"bakedVertexAnimationDeclaration\";\nconst shader = `#ifdef BAKED_VERTEX_ANIMATION_TEXTURE\nuniform bakedVertexAnimationTime: f32;uniform bakedVertexAnimationTextureSizeInverted: vec2<f32>;uniform bakedVertexAnimationSettings: vec4<f32>;var bakedVertexAnimationTexture : texture_2d<f32>;\n#ifdef INSTANCES\nattribute bakedVertexAnimationSettingsInstanced : vec4<f32>;\n#endif\nfn readMatrixFromRawSamplerVAT(smp : texture_2d<f32>,index : f32,frame : f32)->mat4x4<f32>\n{let offset=i32(index)*4;let frameUV=i32(frame);let m0=textureLoad(smp,vec2<i32>(offset+0,frameUV),0);let m1=textureLoad(smp,vec2<i32>(offset+1,frameUV),0);let m2=textureLoad(smp,vec2<i32>(offset+2,frameUV),0);let m3=textureLoad(smp,vec2<i32>(offset+3,frameUV),0);return mat4x4<f32>(m0,m1,m2,m3);}\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const bakedVertexAnimationDeclarationWGSL = { name, shader };\n//# sourceMappingURL=bakedVertexAnimationDeclaration.js.map","// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"instancesDeclaration\";\nconst shader = `#ifdef INSTANCES\nattribute world0 : vec4<f32>;attribute world1 : vec4<f32>;attribute world2 : vec4<f32>;attribute world3 : vec4<f32>;\n#ifdef INSTANCESCOLOR\nattribute instanceColor : vec4<f32>;\n#endif\n#if defined(THIN_INSTANCES) && !defined(WORLD_UBO)\nuniform world : mat4x4<f32>;\n#endif\n#if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nattribute previousWorld0 : vec4<f32>;attribute previousWorld1 : vec4<f32>;attribute previousWorld2 : vec4<f32>;attribute previousWorld3 : vec4<f32>;\n#ifdef THIN_INSTANCES\nuniform previousWorld : mat4x4<f32>;\n#endif\n#endif\n#else\n#if !defined(WORLD_UBO)\nuniform world : mat4x4<f32>;\n#endif\n#if defined(VELOCITY) || defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nuniform previousWorld : mat4x4<f32>;\n#endif\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const instancesDeclarationWGSL = { name, shader };\n//# sourceMappingURL=instancesDeclaration.js.map","// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"instancesVertex\";\nconst shader = `#ifdef INSTANCES\nvar finalWorld=mat4x4<f32>(vertexInputs.world0,vertexInputs.world1,vertexInputs.world2,vertexInputs.world3);\n#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nvar finalPreviousWorld=mat4x4<f32>(\nvertexInputs.previousWorld0,vertexInputs.previousWorld1,\nvertexInputs.previousWorld2,vertexInputs.previousWorld3);\n#endif\n#ifdef THIN_INSTANCES\n#if !defined(WORLD_UBO)\nfinalWorld=uniforms.world*finalWorld;\n#else\nfinalWorld=mesh.world*finalWorld;\n#endif\n#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nfinalPreviousWorld=uniforms.previousWorld*finalPreviousWorld;\n#endif\n#endif\n#else\n#if !defined(WORLD_UBO)\nvar finalWorld=uniforms.world;\n#else\nvar finalWorld=mesh.world;\n#endif\n#if defined(PREPASS_VELOCITY) || defined(VELOCITY) || defined(PREPASS_VELOCITY_LINEAR) || defined(VELOCITY_LINEAR)\nvar finalPreviousWorld=uniforms.previousWorld;\n#endif\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const instancesVertexWGSL = { name, shader };\n//# sourceMappingURL=instancesVertex.js.map","// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nconst name = \"bakedVertexAnimation\";\nconst shader = `#ifdef BAKED_VERTEX_ANIMATION_TEXTURE\n{\n#ifdef INSTANCES\nlet VATStartFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.x;let VATEndFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.y;let VATOffsetFrame: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.z;let VATSpeed: f32=vertexInputs.bakedVertexAnimationSettingsInstanced.w;\n#else\nlet VATStartFrame: f32=uniforms.bakedVertexAnimationSettings.x;let VATEndFrame: f32=uniforms.bakedVertexAnimationSettings.y;let VATOffsetFrame: f32=uniforms.bakedVertexAnimationSettings.z;let VATSpeed: f32=uniforms.bakedVertexAnimationSettings.w;\n#endif\nlet totalFrames: f32=VATEndFrame-VATStartFrame+1.0;let time: f32=uniforms.bakedVertexAnimationTime*VATSpeed/totalFrames;let frameCorrection: f32=select(1.0,0.0,time<1.0);let numOfFrames: f32=totalFrames-frameCorrection;var VATFrameNum: f32=fract(time)*numOfFrames;VATFrameNum=(VATFrameNum+VATOffsetFrame) % numOfFrames;VATFrameNum=floor(VATFrameNum);VATFrameNum=VATFrameNum+VATStartFrame+frameCorrection;var VATInfluence : mat4x4<f32>;VATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[0],VATFrameNum)*vertexInputs.matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[1],VATFrameNum)*vertexInputs.matricesWeights[1];\n#endif\n#if NUM_BONE_INFLUENCERS>2\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[2],VATFrameNum)*vertexInputs.matricesWeights[2];\n#endif\n#if NUM_BONE_INFLUENCERS>3\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[3],VATFrameNum)*vertexInputs.matricesWeights[3];\n#endif\n#if NUM_BONE_INFLUENCERS>4\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[0],VATFrameNum)*vertexInputs.matricesWeightsExtra[0];\n#endif\n#if NUM_BONE_INFLUENCERS>5\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[1],VATFrameNum)*vertexInputs.matricesWeightsExtra[1];\n#endif\n#if NUM_BONE_INFLUENCERS>6\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[2],VATFrameNum)*vertexInputs.matricesWeightsExtra[2];\n#endif\n#if NUM_BONE_INFLUENCERS>7\nVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[3],VATFrameNum)*vertexInputs.matricesWeightsExtra[3];\n#endif\nfinalWorld=finalWorld*VATInfluence;}\n#endif\n`;\n// Sideeffect\nShaderStore.IncludesShadersStoreWGSL[name] = shader;\n/** @internal */\nexport const bakedVertexAnimationWGSL = { name, shader };\n//# sourceMappingURL=bakedVertexAnimation.js.map"],"names":["name","shader"],"mappings":";;AAAA;AAEA,MAAMA,MAAI,GAAG,iCAAiC;AAC9C,MAAMC,QAAM,GAAG,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,CAAC,wBAAwB,CAACD,MAAI,CAAC,GAAGC,QAAM;;ACbnD;AAEA,MAAMD,MAAI,GAAG,sBAAsB;AACnC,MAAMC,QAAM,GAAG,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,CAAC,wBAAwB,CAACD,MAAI,CAAC,GAAGC,QAAM;;AC3BnD;AAEA,MAAMD,MAAI,GAAG,iBAAiB;AAC9B,MAAMC,QAAM,GAAG,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,CAAC,wBAAwB,CAACD,MAAI,CAAC,GAAGC,QAAM;;AChCnD;AAEA,MAAM,IAAI,GAAG,sBAAsB;AACnC,MAAM,MAAM,GAAG,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,MAAM"}
|