@babylonjs/viewer 7.32.0 → 7.32.2-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/photoStudio.env +0 -0
- package/dist/babylon-viewer.esm.js +2 -0
- package/dist/babylon-viewer.esm.js.map +1 -0
- package/dist/babylon-viewer.esm.min.js +2 -0
- package/dist/babylon-viewer.esm.min.js.map +1 -0
- package/dist/chunks/EXT_lights_image_based-B8XTp4OG.esm.min.js +2 -0
- package/dist/chunks/EXT_lights_image_based-B8XTp4OG.esm.min.js.map +1 -0
- package/dist/chunks/EXT_lights_image_based-Cn6X_qPX.esm.js +171 -0
- package/dist/chunks/EXT_lights_image_based-Cn6X_qPX.esm.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-BQupi_u8.esm.js +86 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-BQupi_u8.esm.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-P77mXzGh.esm.min.js +2 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-P77mXzGh.esm.min.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-CN4BZxFx.esm.min.js +2 -0
- package/dist/chunks/EXT_meshopt_compression-CN4BZxFx.esm.min.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-DBNAENuf.esm.js +134 -0
- package/dist/chunks/EXT_meshopt_compression-DBNAENuf.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-Ba1Boarm.esm.js +44 -0
- package/dist/chunks/EXT_texture_avif-Ba1Boarm.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-DgFZYmUE.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_avif-DgFZYmUE.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-BSbq6mc4.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_webp-BSbq6mc4.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-CbAIfJfh.esm.js +43 -0
- package/dist/chunks/EXT_texture_webp-CbAIfJfh.esm.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-DAtdIqs_.esm.min.js +2 -0
- package/dist/chunks/ExtrasAsMetadata-DAtdIqs_.esm.min.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-DwbxK78V.esm.js +64 -0
- package/dist/chunks/ExtrasAsMetadata-DwbxK78V.esm.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-BrzMuRuS.esm.min.js +2 -0
- package/dist/chunks/KHR_animation_pointer-BrzMuRuS.esm.min.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-IQbL0SXa.esm.js +343 -0
- package/dist/chunks/KHR_animation_pointer-IQbL0SXa.esm.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-BI4pFTmj.esm.js +610 -0
- package/dist/chunks/KHR_draco_mesh_compression-BI4pFTmj.esm.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-BqeEEUyr.esm.min.js +2 -0
- package/dist/chunks/KHR_draco_mesh_compression-BqeEEUyr.esm.min.js.map +1 -0
- package/dist/chunks/KHR_interactivity-7PU7_8rJ.esm.js +4033 -0
- package/dist/chunks/KHR_interactivity-7PU7_8rJ.esm.js.map +1 -0
- package/dist/chunks/KHR_interactivity-B8rYAp1l.esm.min.js +2 -0
- package/dist/chunks/KHR_interactivity-B8rYAp1l.esm.min.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-CYofZCQz.esm.js +1253 -0
- package/dist/chunks/KHR_lights_punctual-CYofZCQz.esm.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-Cnt0HhZw.esm.min.js +2 -0
- package/dist/chunks/KHR_lights_punctual-Cnt0HhZw.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-BDC7dPN-.esm.js +64 -0
- package/dist/chunks/KHR_materials_anisotropy-BDC7dPN-.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-DM_m5Yjs.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_anisotropy-DM_m5Yjs.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-DoVQ60P-.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_clearcoat-DoVQ60P-.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-MHlTjFS2.esm.js +96 -0
- package/dist/chunks/KHR_materials_clearcoat-MHlTjFS2.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-B7zMKu49.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-B7zMKu49.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-BcNvWZh4.esm.js +97 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-BcNvWZh4.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-FFkQywRJ.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_dispersion-FFkQywRJ.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-sWtC0h0j.esm.js +62 -0
- package/dist/chunks/KHR_materials_dispersion-sWtC0h0j.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-B4L0HFx9.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_emissive_strength-B4L0HFx9.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-DDMBvZiG.esm.js +55 -0
- package/dist/chunks/KHR_materials_emissive_strength-DDMBvZiG.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-Diwd_dqA.esm.js +64 -0
- package/dist/chunks/KHR_materials_ior-Diwd_dqA.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-DoEfvoeZ.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_ior-DoEfvoeZ.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-CRoW_IKD.esm.js +72 -0
- package/dist/chunks/KHR_materials_iridescence-CRoW_IKD.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-FEmiNfqM.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_iridescence-FEmiNfqM.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Ddfv63bg.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Ddfv63bg.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-lWer6IfM.esm.js +81 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-lWer6IfM.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-BLCLsfqA.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_sheen-BLCLsfqA.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-COIounpO.esm.js +85 -0
- package/dist/chunks/KHR_materials_sheen-COIounpO.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-BOiZHxPD.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_specular-BOiZHxPD.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-CRl-ixUx.esm.js +75 -0
- package/dist/chunks/KHR_materials_specular-CRl-ixUx.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-B4Jmsl6v.esm.js +307 -0
- package/dist/chunks/KHR_materials_transmission-B4Jmsl6v.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-CdehwTmw.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_transmission-CdehwTmw.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-C8Jbefzz.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_unlit-C8Jbefzz.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-CuGh4Sro.esm.js +74 -0
- package/dist/chunks/KHR_materials_unlit-CuGh4Sro.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-B3tzzx3Z.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_variants-B3tzzx3Z.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-m9IFz_jP.esm.js +238 -0
- package/dist/chunks/KHR_materials_variants-m9IFz_jP.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-BdKeMwZN.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_volume-BdKeMwZN.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-q16cGKmE.esm.js +87 -0
- package/dist/chunks/KHR_materials_volume-q16cGKmE.esm.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-CflASHQz.esm.js +26 -0
- package/dist/chunks/KHR_mesh_quantization-CflASHQz.esm.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-DE0R59jl.esm.min.js +2 -0
- package/dist/chunks/KHR_mesh_quantization-DE0R59jl.esm.min.js.map +1 -0
- package/dist/chunks/KHR_node_visibility-BgeE73Ze.esm.js +46 -0
- package/dist/chunks/KHR_node_visibility-BgeE73Ze.esm.js.map +1 -0
- package/dist/chunks/KHR_node_visibility-CgUTv_pA.esm.min.js +2 -0
- package/dist/chunks/KHR_node_visibility-CgUTv_pA.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-BJxEDjDa.esm.js +43 -0
- package/dist/chunks/KHR_texture_basisu-BJxEDjDa.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-D_vniTdx.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_basisu-D_vniTdx.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-DK4I-ePv.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_transform-DK4I-ePv.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-i6FxEJ49.esm.js +63 -0
- package/dist/chunks/KHR_texture_transform-i6FxEJ49.esm.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-BTsCWeul.esm.min.js +2 -0
- package/dist/chunks/KHR_xmp_json_ld-BTsCWeul.esm.min.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-VwwhEnSE.esm.js +51 -0
- package/dist/chunks/KHR_xmp_json_ld-VwwhEnSE.esm.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-BzjpetWN.esm.js +2207 -0
- package/dist/chunks/MSFT_audio_emitter-BzjpetWN.esm.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-CdxHe61c.esm.min.js +2 -0
- package/dist/chunks/MSFT_audio_emitter-CdxHe61c.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_lod-BC54_cXM.esm.min.js +2 -0
- package/dist/chunks/MSFT_lod-BC54_cXM.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_lod-C5QkeJyT.esm.js +337 -0
- package/dist/chunks/MSFT_lod-C5QkeJyT.esm.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-CdiThw6g.esm.min.js +2 -0
- package/dist/chunks/MSFT_minecraftMesh-CdiThw6g.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-DZQMyo0K.esm.js +46 -0
- package/dist/chunks/MSFT_minecraftMesh-DZQMyo0K.esm.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-CHsSamBU.esm.js +47 -0
- package/dist/chunks/MSFT_sRGBFactors-CHsSamBU.esm.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-etYgpJk8.esm.min.js +2 -0
- package/dist/chunks/MSFT_sRGBFactors-etYgpJk8.esm.min.js.map +1 -0
- package/dist/chunks/animationGroup-C9p7Mo3_.esm.js +2479 -0
- package/dist/chunks/animationGroup-C9p7Mo3_.esm.js.map +1 -0
- package/dist/chunks/animationGroup-D5Hah2hW.esm.min.js +2 -0
- package/dist/chunks/animationGroup-D5Hah2hW.esm.min.js.map +1 -0
- package/dist/chunks/assetContainer-CRjDdlri.esm.min.js +2 -0
- package/dist/chunks/assetContainer-CRjDdlri.esm.min.js.map +1 -0
- package/dist/chunks/assetContainer-SZdZx0n2.esm.js +1720 -0
- package/dist/chunks/assetContainer-SZdZx0n2.esm.js.map +1 -0
- package/dist/chunks/audioEngine-DK2tZ5Tw.esm.min.js +2 -0
- package/dist/chunks/audioEngine-DK2tZ5Tw.esm.min.js.map +1 -0
- package/dist/chunks/audioEngine-o-Dk4NZp.esm.js +305 -0
- package/dist/chunks/audioEngine-o-Dk4NZp.esm.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-BYPqD9bj.esm.min.js +2 -0
- package/dist/chunks/bakedVertexAnimation-BYPqD9bj.esm.min.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-Ivk7DJxr.esm.js +119 -0
- package/dist/chunks/bakedVertexAnimation-Ivk7DJxr.esm.js.map +1 -0
- package/dist/chunks/basisTextureLoader-CrqwzgU2.esm.js +600 -0
- package/dist/chunks/basisTextureLoader-CrqwzgU2.esm.js.map +1 -0
- package/dist/chunks/basisTextureLoader-Y-YmHEKn.esm.min.js +2 -0
- package/dist/chunks/basisTextureLoader-Y-YmHEKn.esm.min.js.map +1 -0
- package/dist/chunks/dds-BMdEUfkQ.esm.js +540 -0
- package/dist/chunks/dds-BMdEUfkQ.esm.js.map +1 -0
- package/dist/chunks/dds-DRxsrTQn.esm.min.js +2 -0
- package/dist/chunks/dds-DRxsrTQn.esm.min.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-BhnnJKmv.esm.min.js +2 -0
- package/dist/chunks/ddsTextureLoader-BhnnJKmv.esm.min.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-C_c5qgII.esm.js +88 -0
- package/dist/chunks/ddsTextureLoader-C_c5qgII.esm.js.map +1 -0
- package/dist/chunks/decalFragment-9kal3cZr.esm.min.js +2 -0
- package/dist/chunks/decalFragment-9kal3cZr.esm.min.js.map +1 -0
- package/dist/chunks/decalFragment-XbvR5jRi.esm.js +18 -0
- package/dist/chunks/decalFragment-XbvR5jRi.esm.js.map +1 -0
- package/dist/chunks/default.fragment-1B_EQpt5.esm.js +431 -0
- package/dist/chunks/default.fragment-1B_EQpt5.esm.js.map +1 -0
- package/dist/chunks/default.fragment-BWNgomOd.esm.min.js +2 -0
- package/dist/chunks/default.fragment-BWNgomOd.esm.min.js.map +1 -0
- package/dist/chunks/default.fragment-BySLmyY3.esm.js +497 -0
- package/dist/chunks/default.fragment-BySLmyY3.esm.js.map +1 -0
- package/dist/chunks/default.fragment-C6EP4y61.esm.min.js +2 -0
- package/dist/chunks/default.fragment-C6EP4y61.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-BZOurTT8.esm.min.js +2 -0
- package/dist/chunks/default.vertex-BZOurTT8.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-CNOvpSlw.esm.min.js +2 -0
- package/dist/chunks/default.vertex-CNOvpSlw.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-DMbU-806.esm.js +201 -0
- package/dist/chunks/default.vertex-DMbU-806.esm.js.map +1 -0
- package/dist/chunks/default.vertex-DkvkQFLW.esm.js +179 -0
- package/dist/chunks/default.vertex-DkvkQFLW.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-1QfD2viD.esm.js +15 -0
- package/dist/chunks/defaultUboDeclaration-1QfD2viD.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-B0dW-uNE.esm.js +13 -0
- package/dist/chunks/defaultUboDeclaration-B0dW-uNE.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-DbXpdWTF.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-DbXpdWTF.esm.min.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-Du_ftZpF.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-Du_ftZpF.esm.min.js.map +1 -0
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +11 -0
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +1 -0
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +2 -0
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +1 -0
- package/dist/chunks/dumpTools-BnUSPfjX.esm.min.js +2 -0
- package/dist/chunks/dumpTools-BnUSPfjX.esm.min.js.map +1 -0
- package/dist/chunks/dumpTools-oxtb62yS.esm.js +200 -0
- package/dist/chunks/dumpTools-oxtb62yS.esm.js.map +1 -0
- package/dist/chunks/engine-BYlZ0Q0o.esm.min.js +2 -0
- package/dist/chunks/engine-BYlZ0Q0o.esm.min.js.map +1 -0
- package/dist/chunks/engine-Du6IYVDY.esm.js +2186 -0
- package/dist/chunks/engine-Du6IYVDY.esm.js.map +1 -0
- package/dist/chunks/engine.common-69ML5IDB.esm.js +1103 -0
- package/dist/chunks/engine.common-69ML5IDB.esm.js.map +1 -0
- package/dist/chunks/engine.common-BQrdCgvf.esm.min.js +2 -0
- package/dist/chunks/engine.common-BQrdCgvf.esm.min.js.map +1 -0
- package/dist/chunks/envTextureLoader-CsZTo2Wy.esm.min.js +2 -0
- package/dist/chunks/envTextureLoader-CsZTo2Wy.esm.min.js.map +1 -0
- package/dist/chunks/envTextureLoader-MMOqvZLE.esm.js +64 -0
- package/dist/chunks/envTextureLoader-MMOqvZLE.esm.js.map +1 -0
- package/dist/chunks/environmentTextureTools-CluF4s7s.esm.min.js +2 -0
- package/dist/chunks/environmentTextureTools-CluF4s7s.esm.min.js.map +1 -0
- package/dist/chunks/environmentTextureTools-DWL7GIG6.esm.js +382 -0
- package/dist/chunks/environmentTextureTools-DWL7GIG6.esm.js.map +1 -0
- package/dist/chunks/exrTextureLoader-Bulzf2Vi.esm.js +1682 -0
- package/dist/chunks/exrTextureLoader-Bulzf2Vi.esm.js.map +1 -0
- package/dist/chunks/exrTextureLoader-D1aLz0F7.esm.min.js +2 -0
- package/dist/chunks/exrTextureLoader-D1aLz0F7.esm.min.js.map +1 -0
- package/dist/chunks/fogFragment-B9QhKWO-.esm.js +102 -0
- package/dist/chunks/fogFragment-B9QhKWO-.esm.js.map +1 -0
- package/dist/chunks/fogFragment-ClYT0wD2.esm.min.js +2 -0
- package/dist/chunks/fogFragment-ClYT0wD2.esm.min.js.map +1 -0
- package/dist/chunks/fresnelFunction-CUNQZX7C.esm.js +12 -0
- package/dist/chunks/fresnelFunction-CUNQZX7C.esm.js.map +1 -0
- package/dist/chunks/fresnelFunction-Tkxk4vij.esm.min.js +2 -0
- package/dist/chunks/fresnelFunction-Tkxk4vij.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoader-BCYl1-Xs.esm.min.js +2 -0
- package/dist/chunks/glTFLoader-BCYl1-Xs.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoader-CxE8gS1S.esm.js +7577 -0
- package/dist/chunks/glTFLoader-CxE8gS1S.esm.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-BmEAcvcD.esm.min.js +2 -0
- package/dist/chunks/glTFLoaderAnimation-BmEAcvcD.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-C1Vc4AI-.esm.js +77 -0
- package/dist/chunks/glTFLoaderAnimation-C1Vc4AI-.esm.js.map +1 -0
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-B2_wCQDl.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-B2_wCQDl.esm.min.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-C4bM_5-u.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-C4bM_5-u.esm.min.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-DJuB_bU8.esm.js +34 -0
- package/dist/chunks/harmonicsFunctions-DJuB_bU8.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-nZyiYRoj.esm.js +35 -0
- package/dist/chunks/harmonicsFunctions-nZyiYRoj.esm.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-CaPDd4df.esm.min.js +2 -0
- package/dist/chunks/hdrTextureLoader-CaPDd4df.esm.min.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-Mv_pKDM8.esm.js +252 -0
- package/dist/chunks/hdrTextureLoader-Mv_pKDM8.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-BbIoHEF4.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-BbIoHEF4.esm.min.js.map +1 -0
- package/dist/chunks/helperFunctions-CW0EgG0f.esm.js +108 -0
- package/dist/chunks/helperFunctions-CW0EgG0f.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-CrMCwBQm.esm.js +80 -0
- package/dist/chunks/helperFunctions-CrMCwBQm.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-D4_yG-tx.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-D4_yG-tx.esm.min.js.map +1 -0
- package/dist/chunks/index-DIS6_sGP.esm.min.js +57 -0
- package/dist/chunks/index-DIS6_sGP.esm.min.js.map +1 -0
- package/dist/chunks/index-DegvfR1d.esm.js +73103 -0
- package/dist/chunks/index-DegvfR1d.esm.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-DHEsWoDp.esm.min.js +2 -0
- package/dist/chunks/ktxTextureLoader-DHEsWoDp.esm.min.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-KjWBQUy0.esm.js +814 -0
- package/dist/chunks/ktxTextureLoader-KjWBQUy0.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-CUEWdLWu.esm.js +20 -0
- package/dist/chunks/logDepthDeclaration-CUEWdLWu.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-DLUasWQA.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-DLUasWQA.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-DiwHuSZs.esm.js +35 -0
- package/dist/chunks/logDepthDeclaration-DiwHuSZs.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-R_Bq0GVW.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-R_Bq0GVW.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-5QVLVdff.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-5QVLVdff.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-ArOJcEwo.esm.js +487 -0
- package/dist/chunks/logDepthVertex-ArOJcEwo.esm.js.map +1 -0
- package/dist/chunks/logDepthVertex-B-lEWXTv.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-B-lEWXTv.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-DO03rgqq.esm.js +77 -0
- package/dist/chunks/logDepthVertex-DO03rgqq.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-BYHZ5gZj.esm.js +11 -0
- package/dist/chunks/mainUVVaryingDeclaration-BYHZ5gZj.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-Ddzu0hSi.esm.min.js +2 -0
- package/dist/chunks/mainUVVaryingDeclaration-Ddzu0hSi.esm.min.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-BZtPU2_C.esm.js +24 -0
- package/dist/chunks/meshUboDeclaration-BZtPU2_C.esm.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-CVOg8DLh.esm.min.js +2 -0
- package/dist/chunks/meshUboDeclaration-CVOg8DLh.esm.min.js.map +1 -0
- package/dist/chunks/objFileLoader-D5AG5SjI.esm.min.js +2 -0
- package/dist/chunks/objFileLoader-D5AG5SjI.esm.min.js.map +1 -0
- package/dist/chunks/objFileLoader-DSqJ7X_c.esm.js +1338 -0
- package/dist/chunks/objFileLoader-DSqJ7X_c.esm.js.map +1 -0
- package/dist/chunks/oitFragment-1qBMlrkO.esm.js +1210 -0
- package/dist/chunks/oitFragment-1qBMlrkO.esm.js.map +1 -0
- package/dist/chunks/oitFragment-DyHbil-l.esm.min.js +2 -0
- package/dist/chunks/oitFragment-DyHbil-l.esm.min.js.map +1 -0
- package/dist/chunks/oitFragment-RuwnOhoK.esm.min.js +2 -0
- package/dist/chunks/oitFragment-RuwnOhoK.esm.min.js.map +1 -0
- package/dist/chunks/oitFragment-fUe7CoIh.esm.js +1150 -0
- package/dist/chunks/oitFragment-fUe7CoIh.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-CuRI8fIc.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-CuRI8fIc.esm.min.js.map +1 -0
- package/dist/chunks/pass.fragment-noJmYVIJ.esm.js +15 -0
- package/dist/chunks/pass.fragment-noJmYVIJ.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-p-2v79IL.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-p-2v79IL.esm.min.js.map +1 -0
- package/dist/chunks/pass.fragment-tk82sFJ6.esm.js +15 -0
- package/dist/chunks/pass.fragment-tk82sFJ6.esm.js.map +1 -0
- package/dist/chunks/pbr.fragment-0isM2RDO.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-0isM2RDO.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-CQwRKsPq.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-CQwRKsPq.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-Cv4B5N3E.esm.js +3218 -0
- package/dist/chunks/pbr.fragment-Cv4B5N3E.esm.js.map +1 -0
- package/dist/chunks/pbr.fragment-DZ1YXmvg.esm.js +3163 -0
- package/dist/chunks/pbr.fragment-DZ1YXmvg.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-AcwmuY8d.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-AcwmuY8d.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-B1zLwNyp.esm.js +212 -0
- package/dist/chunks/pbr.vertex-B1zLwNyp.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-BpME9KwH.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-BpME9KwH.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-CgwQ60xZ.esm.js +338 -0
- package/dist/chunks/pbr.vertex-CgwQ60xZ.esm.js.map +1 -0
- package/dist/chunks/postprocess.vertex-B48DQT9E.esm.min.js +2 -0
- package/dist/chunks/postprocess.vertex-B48DQT9E.esm.min.js.map +1 -0
- package/dist/chunks/postprocess.vertex-DSiTPZuW.esm.js +20 -0
- package/dist/chunks/postprocess.vertex-DSiTPZuW.esm.js.map +1 -0
- package/dist/chunks/rawTexture-BKLwf090.esm.min.js +2 -0
- package/dist/chunks/rawTexture-BKLwf090.esm.min.js.map +1 -0
- package/dist/chunks/rawTexture-CS4hH7c2.esm.js +191 -0
- package/dist/chunks/rawTexture-CS4hH7c2.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-0PGXB-wE.esm.js +17 -0
- package/dist/chunks/rgbdDecode.fragment-0PGXB-wE.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-B8Bthavq.esm.js +17 -0
- package/dist/chunks/rgbdDecode.fragment-B8Bthavq.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-BwDybmQX.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-BwDybmQX.esm.min.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-Cd4iOPoC.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-Cd4iOPoC.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-B3td7Zj3.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-B3td7Zj3.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-BqLdz2Gh.esm.js +17 -0
- package/dist/chunks/rgbdEncode.fragment-BqLdz2Gh.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-DbbiR0ih.esm.js +17 -0
- package/dist/chunks/rgbdEncode.fragment-DbbiR0ih.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-p5xM-Kmh.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-p5xM-Kmh.esm.min.js.map +1 -0
- package/dist/chunks/splatFileLoader-Bi1lAWV_.esm.js +3807 -0
- package/dist/chunks/splatFileLoader-Bi1lAWV_.esm.js.map +1 -0
- package/dist/chunks/splatFileLoader-HMqfORk1.esm.min.js +2 -0
- package/dist/chunks/splatFileLoader-HMqfORk1.esm.min.js.map +1 -0
- package/dist/chunks/standardMaterial-B3d66aQf.esm.min.js +2 -0
- package/dist/chunks/standardMaterial-B3d66aQf.esm.min.js.map +1 -0
- package/dist/chunks/standardMaterial-CbqZxPV-.esm.js +1805 -0
- package/dist/chunks/standardMaterial-CbqZxPV-.esm.js.map +1 -0
- package/dist/chunks/stlFileLoader-C2eJAljn.esm.js +238 -0
- package/dist/chunks/stlFileLoader-C2eJAljn.esm.js.map +1 -0
- package/dist/chunks/stlFileLoader-VIiW1Yx4.esm.min.js +2 -0
- package/dist/chunks/stlFileLoader-VIiW1Yx4.esm.min.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-DDJcDDay.esm.min.js +2 -0
- package/dist/chunks/tgaTextureLoader-DDJcDDay.esm.min.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-HZYgwONB.esm.js +349 -0
- package/dist/chunks/tgaTextureLoader-HZYgwONB.esm.js.map +1 -0
- package/dist/chunks/thinEngine-8mrkouPj.esm.js +3721 -0
- package/dist/chunks/thinEngine-8mrkouPj.esm.js.map +1 -0
- package/dist/chunks/thinEngine-B4fR3Csu.esm.min.js +2 -0
- package/dist/chunks/thinEngine-B4fR3Csu.esm.min.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-BqfyuGPb.esm.min.js +2 -0
- package/dist/chunks/thinInstanceMesh-BqfyuGPb.esm.min.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-CjbxVoTp.esm.js +314 -0
- package/dist/chunks/thinInstanceMesh-CjbxVoTp.esm.js.map +1 -0
- package/dist/chunks/vertexColorMixing-BTUHCbUc.esm.js +527 -0
- package/dist/chunks/vertexColorMixing-BTUHCbUc.esm.js.map +1 -0
- package/dist/chunks/vertexColorMixing-DR08p7pm.esm.min.js +2 -0
- package/dist/chunks/vertexColorMixing-DR08p7pm.esm.min.js.map +1 -0
- package/dist/chunks/webgpuEngine-JntQDObR.esm.min.js +2 -0
- package/dist/chunks/webgpuEngine-JntQDObR.esm.min.js.map +1 -0
- package/dist/chunks/webgpuEngine-fcMywLYk.esm.js +11228 -0
- package/dist/chunks/webgpuEngine-fcMywLYk.esm.js.map +1 -0
- package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
- package/docs/ViewerDefault.jpg +0 -0
- package/docs/ViewerParts.jpg +0 -0
- package/docs/ViewerSlots.jpg +0 -0
- package/docs/ViewerStyled.jpg +0 -0
- package/lib/index.d.ts +372 -0
- package/lib/index.js +1312 -0
- package/lib/index.js.map +1 -0
- package/package.json +18 -27
- package/readme.md +145 -21
- package/configuration/configuration.d.ts +0 -107
- package/configuration/configuration.js +0 -16
- package/configuration/configuration.js.map +0 -1
- package/configuration/configurationCompatibility.d.ts +0 -8
- package/configuration/configurationCompatibility.js +0 -66
- package/configuration/configurationCompatibility.js.map +0 -1
- package/configuration/configurationContainer.d.ts +0 -10
- package/configuration/configurationContainer.js +0 -10
- package/configuration/configurationContainer.js.map +0 -1
- package/configuration/globals.d.ts +0 -6
- package/configuration/globals.js +0 -18
- package/configuration/globals.js.map +0 -1
- package/configuration/index.d.ts +0 -2
- package/configuration/index.js +0 -4
- package/configuration/index.js.map +0 -1
- package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
- package/configuration/interfaces/cameraConfiguration.js +0 -2
- package/configuration/interfaces/cameraConfiguration.js.map +0 -1
- package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
- package/configuration/interfaces/colorGradingConfiguration.js +0 -2
- package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
- package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
- package/configuration/interfaces/environmentMapConfiguration.js +0 -2
- package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
- package/configuration/interfaces/groundConfiguration.d.ts +0 -24
- package/configuration/interfaces/groundConfiguration.js +0 -2
- package/configuration/interfaces/groundConfiguration.js.map +0 -1
- package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
- package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
- package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
- package/configuration/interfaces/index.d.ts +0 -15
- package/configuration/interfaces/index.js +0 -16
- package/configuration/interfaces/index.js.map +0 -1
- package/configuration/interfaces/lightConfiguration.d.ts +0 -60
- package/configuration/interfaces/lightConfiguration.js +0 -2
- package/configuration/interfaces/lightConfiguration.js.map +0 -1
- package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
- package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
- package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
- package/configuration/interfaces/modelConfiguration.d.ts +0 -65
- package/configuration/interfaces/modelConfiguration.js +0 -2
- package/configuration/interfaces/modelConfiguration.js.map +0 -1
- package/configuration/interfaces/observersConfiguration.d.ts +0 -5
- package/configuration/interfaces/observersConfiguration.js +0 -2
- package/configuration/interfaces/observersConfiguration.js.map +0 -1
- package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
- package/configuration/interfaces/sceneConfiguration.js +0 -2
- package/configuration/interfaces/sceneConfiguration.js.map +0 -1
- package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
- package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
- package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
- package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
- package/configuration/interfaces/skyboxConfiguration.js +0 -2
- package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
- package/configuration/interfaces/templateConfiguration.d.ts +0 -67
- package/configuration/interfaces/templateConfiguration.js +0 -2
- package/configuration/interfaces/templateConfiguration.js.map +0 -1
- package/configuration/interfaces/vrConfiguration.d.ts +0 -16
- package/configuration/interfaces/vrConfiguration.js +0 -2
- package/configuration/interfaces/vrConfiguration.js.map +0 -1
- package/configuration/loader.d.ts +0 -4
- package/configuration/loader.js +0 -17
- package/configuration/loader.js.map +0 -1
- package/configuration/mappers.d.ts +0 -43
- package/configuration/mappers.js +0 -192
- package/configuration/mappers.js.map +0 -1
- package/configuration/renderOnlyLoader.d.ts +0 -33
- package/configuration/renderOnlyLoader.js +0 -162
- package/configuration/renderOnlyLoader.js.map +0 -1
- package/configuration/types/default.d.ts +0 -6
- package/configuration/types/default.js +0 -121
- package/configuration/types/default.js.map +0 -1
- package/configuration/types/environmentMap.d.ts +0 -5
- package/configuration/types/environmentMap.js +0 -14
- package/configuration/types/environmentMap.js.map +0 -1
- package/configuration/types/extended.d.ts +0 -6
- package/configuration/types/extended.js +0 -317
- package/configuration/types/extended.js.map +0 -1
- package/configuration/types/index.d.ts +0 -14
- package/configuration/types/index.js +0 -51
- package/configuration/types/index.js.map +0 -1
- package/configuration/types/minimal.d.ts +0 -6
- package/configuration/types/minimal.js +0 -43
- package/configuration/types/minimal.js.map +0 -1
- package/configuration/types/renderOnlyDefault.d.ts +0 -30
- package/configuration/types/renderOnlyDefault.js +0 -31
- package/configuration/types/renderOnlyDefault.js.map +0 -1
- package/configuration/types/shadowLight.d.ts +0 -9
- package/configuration/types/shadowLight.js +0 -64
- package/configuration/types/shadowLight.js.map +0 -1
- package/helper/index.d.ts +0 -29
- package/helper/index.js +0 -66
- package/helper/index.js.map +0 -1
- package/index.d.ts +0 -30
- package/index.js +0 -46
- package/index.js.map +0 -1
- package/initializer.d.ts +0 -11
- package/initializer.js +0 -35
- package/initializer.js.map +0 -1
- package/interfaces.d.ts +0 -5
- package/interfaces.js +0 -7
- package/interfaces.js.map +0 -1
- package/labs/environmentSerializer.d.ts +0 -126
- package/labs/environmentSerializer.js +0 -191
- package/labs/environmentSerializer.js.map +0 -1
- package/labs/texture.d.ts +0 -183
- package/labs/texture.js +0 -350
- package/labs/texture.js.map +0 -1
- package/labs/viewerLabs.d.ts +0 -51
- package/labs/viewerLabs.js +0 -134
- package/labs/viewerLabs.js.map +0 -1
- package/loader/modelLoader.d.ts +0 -56
- package/loader/modelLoader.js +0 -199
- package/loader/modelLoader.js.map +0 -1
- package/loader/plugins/applyMaterialConfig.d.ts +0 -12
- package/loader/plugins/applyMaterialConfig.js +0 -16
- package/loader/plugins/applyMaterialConfig.js.map +0 -1
- package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
- package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
- package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
- package/loader/plugins/index.d.ts +0 -19
- package/loader/plugins/index.js +0 -44
- package/loader/plugins/index.js.map +0 -1
- package/loader/plugins/loaderPlugin.d.ts +0 -24
- package/loader/plugins/loaderPlugin.js +0 -2
- package/loader/plugins/loaderPlugin.js.map +0 -1
- package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
- package/loader/plugins/msftLodLoaderPlugin.js +0 -21
- package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
- package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
- package/loader/plugins/telemetryLoaderPlugin.js +0 -36
- package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
- package/managers/observablesManager.d.ts +0 -66
- package/managers/observablesManager.js +0 -35
- package/managers/observablesManager.js.map +0 -1
- package/managers/sceneManager.d.ts +0 -245
- package/managers/sceneManager.js +0 -1375
- package/managers/sceneManager.js.map +0 -1
- package/managers/telemetryManager.d.ts +0 -78
- package/managers/telemetryManager.js +0 -117
- package/managers/telemetryManager.js.map +0 -1
- package/model/modelAnimation.d.ts +0 -215
- package/model/modelAnimation.js +0 -237
- package/model/modelAnimation.js.map +0 -1
- package/model/viewerModel.d.ts +0 -233
- package/model/viewerModel.js +0 -673
- package/model/viewerModel.js.map +0 -1
- package/optimizer/custom/extended.d.ts +0 -13
- package/optimizer/custom/extended.js +0 -101
- package/optimizer/custom/extended.js.map +0 -1
- package/optimizer/custom/index.d.ts +0 -9
- package/optimizer/custom/index.js +0 -26
- package/optimizer/custom/index.js.map +0 -1
- package/renderOnlyIndex.d.ts +0 -11
- package/renderOnlyIndex.js +0 -18
- package/renderOnlyIndex.js.map +0 -1
- package/templating/eventManager.d.ts +0 -35
- package/templating/eventManager.js +0 -66
- package/templating/eventManager.js.map +0 -1
- package/templating/plugins/hdButtonPlugin.d.ts +0 -9
- package/templating/plugins/hdButtonPlugin.js +0 -21
- package/templating/plugins/hdButtonPlugin.js.map +0 -1
- package/templating/plugins/printButton.d.ts +0 -9
- package/templating/plugins/printButton.js +0 -40
- package/templating/plugins/printButton.js.map +0 -1
- package/templating/templateManager.d.ts +0 -197
- package/templating/templateManager.js +0 -561
- package/templating/templateManager.js.map +0 -1
- package/templating/viewerTemplatePlugin.d.ts +0 -21
- package/templating/viewerTemplatePlugin.js +0 -69
- package/templating/viewerTemplatePlugin.js.map +0 -1
- package/viewer/defaultViewer.d.ts +0 -130
- package/viewer/defaultViewer.js +0 -672
- package/viewer/defaultViewer.js.map +0 -1
- package/viewer/renderOnlyViewer.d.ts +0 -9
- package/viewer/renderOnlyViewer.js +0 -46
- package/viewer/renderOnlyViewer.js.map +0 -1
- package/viewer/viewer.d.ts +0 -258
- package/viewer/viewer.js +0 -783
- package/viewer/viewer.js.map +0 -1
- package/viewer/viewerManager.d.ts +0 -58
- package/viewer/viewerManager.js +0 -91
- package/viewer/viewerManager.js.map +0 -1
- package/viewer/viewerWithTemplate.d.ts +0 -9
- package/viewer/viewerWithTemplate.js +0 -20
- package/viewer/viewerWithTemplate.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e,R as t,x as s,y as i,z as r,H as n,J as o,K as a,N as c,Q as l,W as u,X as h,Y as d,Z as _,_ as p,V as m,$ as x,a0 as f,M as g,a1 as y,t as T,v,a2 as w,a3 as C,L as A,a4 as P,T as b,a5 as M,C as R,a6 as I,s as S,a7 as E,k as D,a8 as k,a9 as F,aa as V,ab as z,E as U,ac as B,ad as L,ae as N,p as O,af as W,ag as Z,B as X,ah as G,w as H}from"./index-DIS6_sGP.esm.min.js";import"./fogFragment-ClYT0wD2.esm.min.js";import"./logDepthDeclaration-DLUasWQA.esm.min.js";import"./logDepthVertex-B-lEWXTv.esm.min.js";import{R as Y}from"./rawTexture-BKLwf090.esm.min.js";import"./thinInstanceMesh-BqfyuGPb.esm.min.js";import{A as j}from"./assetContainer-CRjDdlri.esm.min.js";import{S as K}from"./standardMaterial-B3d66aQf.esm.min.js";e.IncludesShadersStore.gaussianSplattingFragmentDeclaration="vec4 gaussianColor(vec4 inColor)\n{float A=-dot(vPosition,vPosition);if (A<-4.0) discard;float B=exp(A)*inColor.a;\n#include<logDepthFragment>\nvec3 color=inColor.rgb;\n#ifdef FOG\n#include<fogFragment>\n#endif\nreturn vec4(color,B);}\n";e.ShadersStore.gaussianSplattingPixelShader="#include<clipPlaneFragmentDeclaration>\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\nvarying vec4 vColor;varying vec2 vPosition;\n#include<gaussianSplattingFragmentDeclaration>\nvoid main () { \n#include<clipPlaneFragment>\ngl_FragColor=gaussianColor(vColor);}\n";e.IncludesShadersStore.gaussianSplattingVertexDeclaration="attribute vec2 position;uniform mat4 view;uniform mat4 projection;uniform mat4 world;";e.IncludesShadersStore.gaussianSplattingUboDeclaration="#include<sceneUboDeclaration>\n#include<meshUboDeclaration>\nattribute vec2 position;";e.IncludesShadersStore.gaussianSplatting="#if !defined(WEBGL2) && !defined(WEBGPU) && !defined(NATIVE)\nmat3 transpose(mat3 matrix) {return mat3(matrix[0][0],matrix[1][0],matrix[2][0],\nmatrix[0][1],matrix[1][1],matrix[2][1],\nmatrix[0][2],matrix[1][2],matrix[2][2]);}\n#endif\nvec2 getDataUV(float index,vec2 textureSize) {float y=floor(index/textureSize.x);float x=index-y*textureSize.x;return vec2((x+0.5)/textureSize.x,(y+0.5)/textureSize.y);}\nstruct Splat {vec4 center;vec4 color;vec4 covA;vec4 covB;};Splat readSplat(float splatIndex)\n{Splat splat;vec2 splatUV=getDataUV(splatIndex,dataTextureSize);splat.center=texture2D(centersTexture,splatUV);splat.color=texture2D(colorsTexture,splatUV);splat.covA=texture2D(covariancesATexture,splatUV)*splat.center.w;splat.covB=texture2D(covariancesBTexture,splatUV)*splat.center.w;return splat;}\nvec4 gaussianSplatting(vec2 meshPos,vec3 worldPos,vec2 scale,vec3 covA,vec3 covB,mat4 worldMatrix,mat4 viewMatrix,mat4 projectionMatrix)\n{mat4 modelView=viewMatrix*worldMatrix;vec4 camspace=viewMatrix*vec4(worldPos,1.);vec4 pos2d=projectionMatrix*camspace;float bounds=1.2*pos2d.w;if (pos2d.z<-pos2d.w || pos2d.x<-bounds || pos2d.x>bounds\n|| pos2d.y<-bounds || pos2d.y>bounds) {return vec4(0.0,0.0,2.0,1.0);}\nmat3 Vrk=mat3(\ncovA.x,covA.y,covA.z,\ncovA.y,covB.x,covB.y,\ncovA.z,covB.y,covB.z\n);mat3 J=mat3(\nfocal.x/camspace.z,0.,-(focal.x*camspace.x)/(camspace.z*camspace.z),\n0.,focal.y/camspace.z,-(focal.y*camspace.y)/(camspace.z*camspace.z),\n0.,0.,0.\n);mat3 invy=mat3(1,0,0,0,-1,0,0,0,1);mat3 T=invy*transpose(mat3(modelView))*J;mat3 cov2d=transpose(T)*Vrk*T;float mid=(cov2d[0][0]+cov2d[1][1])/2.0;float radius=length(vec2((cov2d[0][0]-cov2d[1][1])/2.0,cov2d[0][1]));float lambda1=mid+radius,lambda2=mid-radius;if (lambda2<0.0)\n{return vec4(0.0,0.0,2.0,1.0);}\nvec2 diagonalVector=normalize(vec2(cov2d[0][1],lambda1-cov2d[0][0]));vec2 majorAxis=min(sqrt(2.0*lambda1),1024.0)*diagonalVector;vec2 minorAxis=min(sqrt(2.0*lambda2),1024.0)*vec2(diagonalVector.y,-diagonalVector.x);vec2 vCenter=vec2(pos2d);return vec4(\nvCenter \n+ ((meshPos.x*majorAxis\n+ meshPos.y*minorAxis)*invViewport*pos2d.w)*scale,pos2d.zw);}";e.ShadersStore.gaussianSplattingVertexShader="#include<__decl__gaussianSplattingVertex>\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<logDepthDeclaration>\nattribute float splatIndex;uniform vec2 invViewport;uniform vec2 dataTextureSize;uniform vec2 focal;uniform sampler2D covariancesATexture;uniform sampler2D covariancesBTexture;uniform sampler2D centersTexture;uniform sampler2D colorsTexture;varying vec4 vColor;varying vec2 vPosition;\n#include<gaussianSplatting>\nvoid main () {Splat splat=readSplat(splatIndex);vec3 covA=splat.covA.xyz;vec3 covB=vec3(splat.covA.w,splat.covB.xy);vec4 worldPos=world*vec4(splat.center.xyz,1.0);vColor=splat.color;vPosition=position;gl_Position=gaussianSplatting(position,worldPos.xyz,vec2(1.,1.),covA,covB,world,view,projection);\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<logDepthVertex>\n}\n";class q extends p{constructor(){super(),this.FOG=!1,this.THIN_INSTANCES=!0,this.LOGARITHMICDEPTH=!1,this.CLIPPLANE=!1,this.CLIPPLANE2=!1,this.CLIPPLANE3=!1,this.CLIPPLANE4=!1,this.CLIPPLANE5=!1,this.CLIPPLANE6=!1,this.rebuild()}}class Q extends s{constructor(e,t){super(e,t),this.backFaceCulling=!1}get hasRenderTargetTextures(){return!1}needAlphaTesting(){return!1}needAlphaBlending(){return!0}isReadyForSubMesh(e,t){const s=!0,l=t._drawWrapper;if(l.effect&&this.isFrozen&&l._wasPreviouslyReady&&l._wasPreviouslyUsingInstances===s)return!0;t.materialDefines||(t.materialDefines=new q);const u=this.getScene(),h=t.materialDefines;if(this._isReadyForSubMesh(t))return!0;const d=u.getEngine();if(i(e,u,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,!1,h),r(u,d,this,h,s,null,!0),n(e,h,!1,!1),h.isDirty){h.markAsProcessed(),u.resetCachedMaterial();const e=[m.PositionKind,"splatIndex"];o(e,h);const s=["world","view","projection","vFogInfos","vFogColor","logarithmicDepthConstant","invViewport","dataTextureSize","focal"],i=["covariancesATexture","covariancesBTexture","centersTexture","colorsTexture"],r=["Scene","Mesh"];a({uniformsNames:s,uniformBuffersNames:r,samplers:i,defines:h}),c(s);const n=h.toString(),l=u.getEngine().createEffect("gaussianSplatting",{attributes:e,uniformsNames:s,uniformBuffersNames:r,samplers:i,defines:n,onCompiled:this.onCompiled,onError:this.onError},d);t.setEffect(l,h,this._materialContext)}return!(!t.effect||!t.effect.isReady())&&(h._renderId=u.getRenderId(),l._wasPreviouslyReady=!0,l._wasPreviouslyUsingInstances=s,!0)}static BindEffect(e,t,s){const i=s.getEngine(),r=s.activeCamera,n=i.getRenderWidth(),o=i.getRenderHeight(),a=r?.rigParent?.rigCameras.length||1;t.setFloat2("invViewport",1/(n/a),1/o);let c=1e3;if(r){const e=r.getProjectionMatrix().m[5];c=r.fovMode==l.FOVMODE_VERTICAL_FIXED?o*e/2:n*e/2}t.setFloat2("focal",c,c);const u=e;if(u.covariancesATexture){const e=u.covariancesATexture.getSize();t.setFloat2("dataTextureSize",e.width,e.height),t.setTexture("covariancesATexture",u.covariancesATexture),t.setTexture("covariancesBTexture",u.covariancesBTexture),t.setTexture("centersTexture",u.centersTexture),t.setTexture("colorsTexture",u.colorsTexture)}}bindForSubMesh(e,t,s){const i=this.getScene(),r=s.materialDefines;if(!r)return;const n=s.effect;if(!n)return;this._activeEffect=n,t.getMeshUniformBuffer().bindToEffect(n,"Mesh"),t.transferToEffect(e);this._mustRebind(i,n,s,t.visibility)?(this.bindView(n),this.bindViewProjection(n),Q.BindEffect(t,this._activeEffect,i),u(n,this,i)):i.getEngine()._features.needToAlwaysBindUniformBuffers&&(this._needToBindSceneUbo=!0),h(i,t,n),this.useLogarithmicDepth&&d(r,n,i),this._afterBind(t,this._activeEffect,s)}clone(e){return _.Clone((()=>new Q(e,this.getScene())),this)}serialize(){const e=super.serialize();return e.customType="BABYLON.GaussianSplattingMaterial",e}getClassName(){return"GaussianSplattingMaterial"}static Parse(e,t,s){return _.Parse((()=>new Q(e.name,t)),e,t,s)}}t("BABYLON.GaussianSplattingMaterial",Q);const J=f,$={...x,TwoPi:2*Math.PI,Sign:Math.sign,Log2:Math.log2,HCF:J},ee=(e,t)=>{const s=(1<<t)-1;return(e&s)/s},te=(e,t)=>{t.x=ee(e>>>21,11),t.y=ee(e>>>11,10),t.z=ee(e,11)},se=(e,t)=>{t[0]=255*ee(e>>>24,8),t[1]=255*ee(e>>>16,8),t[2]=255*ee(e>>>8,8),t[3]=255*ee(e,8)},ie=(e,t)=>{const s=1/(.5*Math.sqrt(2)),i=(ee(e>>>20,10)-.5)*s,r=(ee(e>>>10,10)-.5)*s,n=(ee(e,10)-.5)*s,o=Math.sqrt(1-(i*i+r*r+n*n));switch(e>>>30){case 0:t.set(o,i,r,n);break;case 1:t.set(i,o,r,n);break;case 2:t.set(i,r,o,n);break;case 3:t.set(i,r,n,o)}};var re,ne,oe,ae,ce,le;!function(e){e[e.FLOAT=0]="FLOAT",e[e.INT=1]="INT",e[e.UINT=2]="UINT",e[e.DOUBLE=3]="DOUBLE",e[e.UCHAR=4]="UCHAR",e[e.UNDEFINED=5]="UNDEFINED"}(re||(re={})),function(e){e[e.MIN_X=0]="MIN_X",e[e.MIN_Y=1]="MIN_Y",e[e.MIN_Z=2]="MIN_Z",e[e.MAX_X=3]="MAX_X",e[e.MAX_Y=4]="MAX_Y",e[e.MAX_Z=5]="MAX_Z",e[e.MIN_SCALE_X=6]="MIN_SCALE_X",e[e.MIN_SCALE_Y=7]="MIN_SCALE_Y",e[e.MIN_SCALE_Z=8]="MIN_SCALE_Z",e[e.MAX_SCALE_X=9]="MAX_SCALE_X",e[e.MAX_SCALE_Y=10]="MAX_SCALE_Y",e[e.MAX_SCALE_Z=11]="MAX_SCALE_Z",e[e.PACKED_POSITION=12]="PACKED_POSITION",e[e.PACKED_ROTATION=13]="PACKED_ROTATION",e[e.PACKED_SCALE=14]="PACKED_SCALE",e[e.PACKED_COLOR=15]="PACKED_COLOR",e[e.X=16]="X",e[e.Y=17]="Y",e[e.Z=18]="Z",e[e.SCALE_0=19]="SCALE_0",e[e.SCALE_1=20]="SCALE_1",e[e.SCALE_2=21]="SCALE_2",e[e.DIFFUSE_RED=22]="DIFFUSE_RED",e[e.DIFFUSE_GREEN=23]="DIFFUSE_GREEN",e[e.DIFFUSE_BLUE=24]="DIFFUSE_BLUE",e[e.OPACITY=25]="OPACITY",e[e.F_DC_0=26]="F_DC_0",e[e.F_DC_1=27]="F_DC_1",e[e.F_DC_2=28]="F_DC_2",e[e.F_DC_3=29]="F_DC_3",e[e.ROT_0=30]="ROT_0",e[e.ROT_1=31]="ROT_1",e[e.ROT_2=32]="ROT_2",e[e.ROT_3=33]="ROT_3",e[e.UNDEFINED=34]="UNDEFINED"}(ne||(ne={}));class ue extends g{get covariancesATexture(){return this._covariancesATexture}get covariancesBTexture(){return this._covariancesBTexture}get centersTexture(){return this._centersTexture}get colorsTexture(){return this._colorsTexture}set material(e){this._material=e,this._material.backFaceCulling=!0,this._material.cullBackFaces=!1,e.resetDrawCache()}get material(){return this._material}constructor(e,t=null,s=null,i=!1){super(e,s),this._vertexCount=0,this._worker=null,this._frameIdLastUpdate=-1,this._modelViewMatrix=y.Identity(),this._canPostToWorker=!0,this._readyToDisplay=!1,this._covariancesATexture=null,this._covariancesBTexture=null,this._centersTexture=null,this._colorsTexture=null,this._splatPositions=null,this._splatIndex=null,this._covariancesA=null,this._covariancesB=null,this._colors=null,this._keepInRam=!1,this._delayedTextureUpdate=null,this._oldDirection=new T,this._useRGBACovariants=!1,this._material=null,this._tmpCovariances=[0,0,0,0,0,0],this._sortIsDirty=!1;const r=new v;r.positions=[-3,-2,0,3,-2,0,0,4,0],r.indices=[0,1,2],r.applyToMesh(this),this.subMeshes=[],new w(0,0,3,0,3,this),this.setEnabled(!1),this._useRGBACovariants=!this.getEngine().isWebGPU&&1===this.getEngine().version,this._keepInRam=i,t&&this.loadFileAsync(t),this._material=new Q(this.name+"_material",this._scene)}getClassName(){return"GaussianSplattingMesh"}getTotalVertices(){return this._vertexCount}isReady(e=!1){return!!super.isReady(e,!0)&&(!!this._readyToDisplay||(this._postToWorker(!0),!1))}_postToWorker(e=!1){const t=this.getScene().getFrameId();if((e||t!==this._frameIdLastUpdate)&&this._worker&&this._scene.activeCamera&&this._canPostToWorker){const s=this._scene.activeCamera.getViewMatrix();this.getWorldMatrix().multiplyToRef(s,this._modelViewMatrix),s.invertToRef(C.Matrix[0]),this.getWorldMatrix().multiplyToRef(C.Matrix[0],C.Matrix[1]),T.TransformNormalToRef(T.Forward(this._scene.useRightHandedSystem),C.Matrix[1],C.Vector3[2]),C.Vector3[2].normalize();const i=T.Dot(C.Vector3[2],this._oldDirection);(e||Math.abs(i-1)>=.01)&&(this._oldDirection.copyFrom(C.Vector3[2]),this._frameIdLastUpdate=t,this._canPostToWorker=!1,this._worker.postMessage({view:this._modelViewMatrix.m,depthMix:this._depthMix,useRightHandedSystem:this._scene.useRightHandedSystem},[this._depthMix.buffer]))}}render(e,t,s){return this._postToWorker(),super.render(e,t,s)}static _TypeNameToEnum(e){switch(e){case"float":return 0;case"int":return 1;case"uint":return 2;case"double":return 3;case"uchar":return 4}return 5}static _ValueNameToEnum(e){switch(e){case"min_x":return 0;case"min_y":return 1;case"min_z":return 2;case"max_x":return 3;case"max_y":return 4;case"max_z":return 5;case"min_scale_x":return 6;case"min_scale_y":return 7;case"min_scale_z":return 8;case"max_scale_x":return 9;case"max_scale_y":return 10;case"max_scale_z":return 11;case"packed_position":return 12;case"packed_rotation":return 13;case"packed_scale":return 14;case"packed_color":return 15;case"x":return 16;case"y":return 17;case"z":return 18;case"scale_0":return 19;case"scale_1":return 20;case"scale_2":return 21;case"diffuse_red":case"red":return 22;case"diffuse_green":case"green":return 23;case"diffuse_blue":case"blue":return 24;case"f_dc_0":return 26;case"f_dc_1":return 27;case"f_dc_2":return 28;case"f_dc_3":return 29;case"opacity":return 25;case"rot_0":return 30;case"rot_1":return 31;case"rot_2":return 32;case"rot_3":return 33}return 34}static ParseHeader(e){const t=new Uint8Array(e),s=(new TextDecoder).decode(t.slice(0,10240)),i="end_header\n",r=s.indexOf(i);if(r<0||!s)return null;const n=parseInt(/element vertex (\d+)\n/.exec(s)[1]),o=/element chunk (\d+)\n/.exec(s);let a=0;o&&(a=parseInt(o[1]));let c=0,l=0;const u={double:8,int:4,uint:4,float:4,short:2,ushort:2,uchar:1,list:0};let h;!function(e){e[e.Vertex=0]="Vertex",e[e.Chunk=1]="Chunk"}(h||(h={}));let d=1;const _=[],p=[],m=s.slice(0,r).split("\n");for(const e of m)if(e.startsWith("property ")){const[,t,s]=e.split(" "),i=ue._ValueNameToEnum(s),r=ue._TypeNameToEnum(t);1==d?(p.push({value:i,type:r,offset:l}),l+=u[t]):0==d&&(_.push({value:i,type:r,offset:c}),c+=u[t]),u[t]||A.Warn(`Unsupported property type: ${t}.`)}else if(e.startsWith("element ")){const[,t]=e.split(" ");"chunk"==t?d=1:"vertex"==t&&(d=0)}return{vertexCount:n,chunkCount:a,rowVertexLength:c,rowChunkLength:l,vertexProperties:_,chunkProperties:p,dataView:new DataView(e,r+11),buffer:new ArrayBuffer(ue._RowOutputLength*n)}}static _GetCompressedChunks(e,t){if(!e.chunkCount)return null;const s=e.dataView,i=new Array(e.chunkCount);for(let r=0;r<e.chunkCount;r++){const n={min:new T,max:new T,minScale:new T,maxScale:new T};i[r]=n;for(let i=0;i<e.chunkProperties.length;i++){const r=e.chunkProperties[i];let o;if(0===r.type)switch(o=s.getFloat32(r.offset+t.value,!0),r.value){case 0:n.min.x=o;break;case 1:n.min.y=o;break;case 2:n.min.z=o;break;case 3:n.max.x=o;break;case 4:n.max.y=o;break;case 5:n.max.z=o;break;case 6:n.minScale.x=o;break;case 7:n.minScale.y=o;break;case 8:n.minScale.z=o;break;case 9:n.maxScale.x=o;break;case 10:n.maxScale.y=o;break;case 11:n.maxScale.z=o}}t.value+=e.rowChunkLength}return i}static _GetSplat(e,t,s,i){const r=C.Quaternion[0],n=C.Vector3[0],o=ue._RowOutputLength,a=e.buffer,c=e.dataView,l=new Float32Array(a,t*o,3),u=new Float32Array(a,t*o+12,3),h=new Uint8ClampedArray(a,t*o+24,4),d=new Uint8ClampedArray(a,t*o+28,4),_=t>>8;let p=255,m=0,x=0,f=0;for(let t=0;t<e.vertexProperties.length;t++){const o=e.vertexProperties[t];let a;switch(o.type){case 0:a=c.getFloat32(i.value+o.offset,!0);break;case 1:a=c.getInt32(i.value+o.offset,!0);break;case 2:a=c.getUint32(i.value+o.offset,!0);break;case 3:a=c.getFloat64(i.value+o.offset,!0);break;case 4:a=c.getUint8(i.value+o.offset);break;default:continue}switch(o.value){case 12:{const e=s[_];te(a,n),l[0]=$.Lerp(e.min.x,e.max.x,n.x),l[1]=-$.Lerp(e.min.y,e.max.y,n.y),l[2]=$.Lerp(e.min.z,e.max.z,n.z)}break;case 13:ie(a,r),p=r.w,m=r.z,x=r.y,f=r.x;break;case 14:{const e=s[_];te(a,n),u[0]=Math.exp($.Lerp(e.minScale.x,e.maxScale.x,n.x)),u[1]=Math.exp($.Lerp(e.minScale.y,e.maxScale.y,n.y)),u[2]=Math.exp($.Lerp(e.minScale.z,e.maxScale.z,n.z))}break;case 15:se(a,h);break;case 16:l[0]=a;break;case 17:l[1]=a;break;case 18:l[2]=a;break;case 19:u[0]=Math.exp(a);break;case 20:u[1]=Math.exp(a);break;case 21:u[2]=Math.exp(a);break;case 22:h[0]=a;break;case 23:h[1]=a;break;case 24:h[2]=a;break;case 26:h[0]=255*(.5+ue._SH_C0*a);break;case 27:h[1]=255*(.5+ue._SH_C0*a);break;case 28:h[2]=255*(.5+ue._SH_C0*a);break;case 29:h[3]=255*(.5+ue._SH_C0*a);break;case 25:h[3]=1/(1+Math.exp(-a))*255;break;case 30:p=a;break;case 31:m=a;break;case 32:x=a;break;case 33:f=a}}r.set(m,x,f,p),r.normalize(),d[0]=128*r.w+128,d[1]=128*r.x+128,d[2]=128*r.y+128,d[3]=128*r.z+128,i.value+=e.rowVertexLength}static*ConvertPLYToSplat(e,t=!1){const s=ue.ParseHeader(e);if(!s)return e;const i={value:0},r=ue._GetCompressedChunks(s,i);for(let e=0;e<s.vertexCount;e++)ue._GetSplat(s,e,r,i),e%3e4==0&&t&&(yield);return s.buffer}static async ConvertPLYToSplatAsync(e){return P(ue.ConvertPLYToSplat(e,!0),E())}loadDataAsync(e){return this.updateDataAsync(e)}loadFileAsync(e){return b.LoadFileAsync(e,!0).then((async e=>{ue.ConvertPLYToSplatAsync(e).then((e=>{this.updateDataAsync(e)}))}))}dispose(e){this._covariancesATexture?.dispose(),this._covariancesBTexture?.dispose(),this._centersTexture?.dispose(),this._colorsTexture?.dispose(),this._covariancesATexture=null,this._covariancesBTexture=null,this._centersTexture=null,this._colorsTexture=null,this._worker?.terminate(),this._worker=null,super.dispose(e,!0)}_copyTextures(e){this._covariancesATexture=e.covariancesATexture?.clone(),this._covariancesBTexture=e.covariancesBTexture?.clone(),this._centersTexture=e.centersTexture?.clone(),this._colorsTexture=e.colorsTexture?.clone()}clone(e=""){const t=new ue(e,void 0,this.getScene());t._copySource(this),t.makeGeometryUnique(),t._vertexCount=this._vertexCount,t._copyTextures(this),t._modelViewMatrix=y.Identity(),t._splatPositions=this._splatPositions,t._readyToDisplay=!1,t._instanciateWorker();const s=this.getBoundingInfo();return t.getBoundingInfo().reConstruct(s.minimum,s.maximum,this.getWorldMatrix()),t.forcedInstanceCount=t._vertexCount,t.setEnabled(!0),t}_makeSplat(e,t,s,i,r,n,o,a,c){const l=C.Matrix[0],u=C.Matrix[1],h=C.Quaternion[0],d=this._useRGBACovariants?4:2,_=s[8*e+0],p=-s[8*e+1],m=s[8*e+2];this._splatPositions[4*e+0]=_,this._splatPositions[4*e+1]=p,this._splatPositions[4*e+2]=m,a.minimizeInPlaceFromFloats(_,p,m),c.maximizeInPlaceFromFloats(_,p,m),h.set((i[32*e+28+1]-128)/128,(i[32*e+28+2]-128)/128,(i[32*e+28+3]-128)/128,-(i[32*e+28+0]-128)/128),h.toRotationMatrix(l),y.ScalingToRef(2*s[8*e+3+0],2*s[8*e+3+1],2*s[8*e+3+2],u);const x=l.multiplyToRef(u,C.Matrix[0]).m,f=this._tmpCovariances;f[0]=x[0]*x[0]+x[1]*x[1]+x[2]*x[2],f[1]=x[0]*x[4]+x[1]*x[5]+x[2]*x[6],f[2]=x[0]*x[8]+x[1]*x[9]+x[2]*x[10],f[3]=x[4]*x[4]+x[5]*x[5]+x[6]*x[6],f[4]=x[4]*x[8]+x[5]*x[9]+x[6]*x[10],f[5]=x[8]*x[8]+x[9]*x[9]+x[10]*x[10];let g=-1e4;for(let e=0;e<6;e++)g=Math.max(g,Math.abs(f[e]));this._splatPositions[4*e+3]=g;const T=g;r[4*t+0]=M(f[0]/T),r[4*t+1]=M(f[1]/T),r[4*t+2]=M(f[2]/T),r[4*t+3]=M(f[3]/T),n[t*d+0]=M(f[4]/T),n[t*d+1]=M(f[5]/T),o[4*t+0]=i[32*e+24+0],o[4*t+1]=i[32*e+24+1],o[4*t+2]=i[32*e+24+2],o[4*t+3]=i[32*e+24+3]}_updateTextures(e,t,s){const i=this._getTextureSize(this._vertexCount),r=(e,t,s,i)=>new Y(e,t,s,i,this._scene,!1,!1,R.TEXTURE_BILINEAR_SAMPLINGMODE,R.TEXTURETYPE_FLOAT),n=(e,t,s,i)=>new Y(e,t,s,i,this._scene,!1,!1,R.TEXTURE_BILINEAR_SAMPLINGMODE,R.TEXTURETYPE_UNSIGNED_BYTE),o=(e,t,s,i)=>new Y(e,t,s,i,this._scene,!1,!1,R.TEXTURE_BILINEAR_SAMPLINGMODE,R.TEXTURETYPE_HALF_FLOAT);if(this._keepInRam&&(this._covariancesA=e,this._covariancesB=t,this._colors=s),this._covariancesATexture){this._delayedTextureUpdate={covA:e,covB:t,colors:s,centers:this._splatPositions};const i=Float32Array.from(this._splatPositions),r=this._vertexCount;this._worker.postMessage({positions:i,vertexCount:r},[i.buffer]),this._postToWorker(!0)}else this._covariancesATexture=o(e,i.x,i.y,R.TEXTUREFORMAT_RGBA),this._covariancesBTexture=o(t,i.x,i.y,this._useRGBACovariants?R.TEXTUREFORMAT_RGBA:R.TEXTUREFORMAT_RG),this._centersTexture=r(this._splatPositions,i.x,i.y,R.TEXTUREFORMAT_RGBA),this._colorsTexture=n(s,i.x,i.y,R.TEXTUREFORMAT_RGBA),this._instanciateWorker()}*_updateData(e,t){this._covariancesATexture||(this._readyToDisplay=!1);const s=new Uint8Array(e),i=new Float32Array(s.buffer),r=s.length/ue._RowOutputLength;r!=this._vertexCount&&this._updateSplatIndexBuffer(r),this._vertexCount=r;const n=this._getTextureSize(r),o=n.x*n.y,a=ue.ProgressiveUpdateAmount??n.y,c=n.x*a;this._splatPositions=new Float32Array(4*o);const l=new Uint16Array(4*o),u=new Uint16Array((this._useRGBACovariants?4:2)*o),h=new Uint8Array(4*o),d=new T(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),_=new T(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);if(ue.ProgressiveUpdateAmount){this._updateTextures(l,u,h),this.setEnabled(!0);const e=Math.ceil(n.y/a);for(let r=0;r<e;r++){const e=r*a,o=e*n.x;for(let e=0;e<c;e++)this._makeSplat(o+e,o+e,i,s,l,u,h,d,_);this._updateSubTextures(this._splatPositions,l,u,h,e,Math.min(a,n.y-e)),this.getBoundingInfo().reConstruct(d,_,this.getWorldMatrix()),t&&(yield)}const r=Float32Array.from(this._splatPositions),o=this._vertexCount;this._worker.postMessage({positions:r,vertexCount:o},[r.buffer]),this._sortIsDirty=!0}else{for(let e=0;e<r;e++)this._makeSplat(e,e,i,s,l,u,h,d,_),t&&e%327680==0&&(yield);this._updateTextures(l,u,h),this.getBoundingInfo().reConstruct(d,_,this.getWorldMatrix()),this.setEnabled(!0)}this._postToWorker(!0)}async updateDataAsync(e){return P(this._updateData(e,!0),E())}updateData(e){I(this._updateData(e,!1))}_updateSplatIndexBuffer(e){(!this._splatIndex||e>this._splatIndex.length)&&(this._splatIndex=new Float32Array(e),this.thinInstanceSetBuffer("splatIndex",this._splatIndex,1,!1)),this.forcedInstanceCount=e}_updateSubTextures(e,t,s,i,r,n){const o=(e,t,s,i,r)=>{this.getEngine().updateTextureData(e.getInternalTexture(),t,0,i,s,r,0,0,!1)},a=this._getTextureSize(this._vertexCount),c=this._useRGBACovariants?4:2,l=r*a.x,u=n*a.x,h=new Uint16Array(t.buffer,4*l*Uint16Array.BYTES_PER_ELEMENT,4*u),d=new Uint16Array(s.buffer,l*c*Uint16Array.BYTES_PER_ELEMENT,u*c),_=new Uint8Array(i.buffer,4*l,4*u),p=new Float32Array(e.buffer,4*l*Float32Array.BYTES_PER_ELEMENT,4*u);o(this._covariancesATexture,h,a.x,r,n),o(this._covariancesBTexture,d,a.x,r,n),((e,t,s,i,r)=>{this.getEngine().updateTextureData(e.getInternalTexture(),t,0,i,s,r,0,0,!1)})(this._centersTexture,p,a.x,r,n),((e,t,s,i,r)=>{this.getEngine().updateTextureData(e.getInternalTexture(),t,0,i,s,r,0,0,!1)})(this._colorsTexture,_,a.x,r,n)}_instanciateWorker(){if(!this._vertexCount)return;this._updateSplatIndexBuffer(this._vertexCount),this._worker?.terminate(),this._worker=new Worker(URL.createObjectURL(new Blob(["(",ue._CreateWorker.toString(),")(self)"],{type:"application/javascript"}))),this._depthMix=new BigInt64Array(this._vertexCount);const e=Float32Array.from(this._splatPositions),t=this._vertexCount;this._worker.postMessage({positions:e,vertexCount:t},[e.buffer]),this._worker.onmessage=e=>{this._depthMix=e.data.depthMix;const s=new Uint32Array(e.data.depthMix.buffer);if(this._splatIndex)for(let e=0;e<this._vertexCount;e++)this._splatIndex[e]=s[2*e];if(this._delayedTextureUpdate){const e=this._getTextureSize(t);this._updateSubTextures(this._delayedTextureUpdate.centers,this._delayedTextureUpdate.covA,this._delayedTextureUpdate.covB,this._delayedTextureUpdate.colors,0,e.y),this._delayedTextureUpdate=null}this.thinInstanceBufferUpdated("splatIndex"),this._canPostToWorker=!0,this._readyToDisplay=!0,this._sortIsDirty&&(this._postToWorker(!0),this._sortIsDirty=!1)}}_getTextureSize(e){const t=this._scene.getEngine(),s=t.getCaps().maxTextureSize;let i=1;if(1!==t.version||t.isWebGPU)i=Math.ceil(e/s);else for(;s*i<e;)i*=2;return i>s&&(A.Error("GaussianSplatting texture size: ("+s+", "+i+"), maxTextureSize: "+s),i=s),new S(s,i)}}ue._RowOutputLength=32,ue._SH_C0=.28209479177387814,ue.ProgressiveUpdateAmount=0,ue._CreateWorker=function(e){let t,s,i,r,n=0;e.onmessage=o=>{if(o.data.positions)t=o.data.positions,n=o.data.vertexCount;else{const a=o.data.view;if(!t||!a)throw new Error("positions or view is not defined!");s=o.data.depthMix,i=new Uint32Array(s.buffer),r=new Float32Array(s.buffer);for(let e=0;e<n;e++)i[2*e]=e;let c=-1;o.data.useRightHandedSystem&&(c=1);for(let e=0;e<n;e++)r[2*e+1]=1e4+(a[2]*t[4*e+0]+a[6]*t[4*e+1]+a[10]*t[4*e+2])*c;s.sort(),e.postMessage({depthMix:s},[s.buffer])}}};class he{constructor(e,t,s,i,r){this.idx=0,this.color=new D(1,1,1,1),this.position=T.Zero(),this.rotation=T.Zero(),this.uv=new S(0,0),this.velocity=T.Zero(),this.pivot=T.Zero(),this.translateFromPivot=!1,this._pos=0,this._ind=0,this.groupId=0,this.idxInGroup=0,this._stillInvisible=!1,this._rotationMatrix=[1,0,0,0,1,0,0,0,1],this.parentId=null,this._globalPosition=T.Zero(),this.idx=e,this._group=t,this.groupId=s,this.idxInGroup=i,this._pcs=r}get size(){return this.size}set size(e){this.size=e}get quaternion(){return this.rotationQuaternion}set quaternion(e){this.rotationQuaternion=e}intersectsMesh(e,t){if(!e.hasBoundingInfo)return!1;if(!this._pcs.mesh)throw new Error("Point Cloud System doesnt contain the Mesh");if(t)return e.getBoundingInfo().boundingSphere.intersectsPoint(this.position.add(this._pcs.mesh.position));const s=e.getBoundingInfo().boundingBox,i=s.maximumWorld.x,r=s.minimumWorld.x,n=s.maximumWorld.y,o=s.minimumWorld.y,a=s.maximumWorld.z,c=s.minimumWorld.z,l=this.position.x+this._pcs.mesh.position.x,u=this.position.y+this._pcs.mesh.position.y,h=this.position.z+this._pcs.mesh.position.z;return r<=l&&l<=i&&o<=u&&u<=n&&c<=h&&h<=a}getRotationMatrix(e){let t;if(this.rotationQuaternion)t=this.rotationQuaternion;else{t=C.Quaternion[0];const e=this.rotation;k.RotationYawPitchRollToRef(e.y,e.x,e.z,t)}t.toRotationMatrix(e)}}class de{get groupID(){return this.groupId}set groupID(e){this.groupId=e}constructor(e,t){this.groupId=e,this._positionFunction=t}}class _e{constructor(e,t,s=Number.MAX_VALUE,i=V){this.origin=e,this.direction=t,this.length=s,this.epsilon=i}clone(){return new _e(this.origin.clone(),this.direction.clone(),this.length)}intersectsBoxMinMax(e,t,s=0){const i=_e._TmpVector3[0].copyFromFloats(e.x-s,e.y-s,e.z-s),r=_e._TmpVector3[1].copyFromFloats(t.x+s,t.y+s,t.z+s);let n,o,a,c,l=0,u=Number.MAX_VALUE;if(Math.abs(this.direction.x)<1e-7){if(this.origin.x<i.x||this.origin.x>r.x)return!1}else if(n=1/this.direction.x,o=(i.x-this.origin.x)*n,a=(r.x-this.origin.x)*n,a===-1/0&&(a=1/0),o>a&&(c=o,o=a,a=c),l=Math.max(o,l),u=Math.min(a,u),l>u)return!1;if(Math.abs(this.direction.y)<1e-7){if(this.origin.y<i.y||this.origin.y>r.y)return!1}else if(n=1/this.direction.y,o=(i.y-this.origin.y)*n,a=(r.y-this.origin.y)*n,a===-1/0&&(a=1/0),o>a&&(c=o,o=a,a=c),l=Math.max(o,l),u=Math.min(a,u),l>u)return!1;if(Math.abs(this.direction.z)<1e-7){if(this.origin.z<i.z||this.origin.z>r.z)return!1}else if(n=1/this.direction.z,o=(i.z-this.origin.z)*n,a=(r.z-this.origin.z)*n,a===-1/0&&(a=1/0),o>a&&(c=o,o=a,a=c),l=Math.max(o,l),u=Math.min(a,u),l>u)return!1;return!0}intersectsBox(e,t=0){return this.intersectsBoxMinMax(e.minimum,e.maximum,t)}intersectsSphere(e,t=0){const s=e.center.x-this.origin.x,i=e.center.y-this.origin.y,r=e.center.z-this.origin.z,n=s*s+i*i+r*r,o=e.radius+t,a=o*o;if(n<=a)return!0;const c=s*this.direction.x+i*this.direction.y+r*this.direction.z;if(c<0)return!1;return n-c*c<=a}intersectsTriangle(e,t,s){const i=_e._TmpVector3[0],r=_e._TmpVector3[1],n=_e._TmpVector3[2],o=_e._TmpVector3[3],a=_e._TmpVector3[4];t.subtractToRef(e,i),s.subtractToRef(e,r),T.CrossToRef(this.direction,r,n);const c=T.Dot(i,n);if(0===c)return null;const l=1/c;this.origin.subtractToRef(e,o);const u=T.Dot(o,n)*l;if(u<-this.epsilon||u>1+this.epsilon)return null;T.CrossToRef(o,i,a);const h=T.Dot(this.direction,a)*l;if(h<-this.epsilon||u+h>1+this.epsilon)return null;const d=T.Dot(r,a)*l;return d>this.length?null:new z(1-u-h,u,d)}intersectsPlane(e){let t;const s=T.Dot(e.normal,this.direction);if(Math.abs(s)<9.99999997475243e-7)return null;{const i=T.Dot(e.normal,this.origin);return t=(-e.d-i)/s,t<0?t<-9.99999997475243e-7?null:0:t}}intersectsAxis(e,t=0){switch(e){case"y":{const e=(this.origin.y-t)/this.direction.y;return e>0?null:new T(this.origin.x+this.direction.x*-e,t,this.origin.z+this.direction.z*-e)}case"x":{const e=(this.origin.x-t)/this.direction.x;return e>0?null:new T(t,this.origin.y+this.direction.y*-e,this.origin.z+this.direction.z*-e)}case"z":{const e=(this.origin.z-t)/this.direction.z;return e>0?null:new T(this.origin.x+this.direction.x*-e,this.origin.y+this.direction.y*-e,t)}default:return null}}intersectsMesh(e,t,s,i=!1,r,n=!1){const o=C.Matrix[0];return e.getWorldMatrix().invertToRef(o),this._tmpRay?_e.TransformToRef(this,o,this._tmpRay):this._tmpRay=_e.Transform(this,o),e.intersects(this._tmpRay,t,s,i,r,n)}intersectsMeshes(e,t,s){s?s.length=0:s=[];for(let i=0;i<e.length;i++){const r=this.intersectsMesh(e[i],t);r.hit&&s.push(r)}return s.sort(this._comparePickingInfo),s}_comparePickingInfo(e,t){return e.distance<t.distance?-1:e.distance>t.distance?1:0}intersectionSegment(e,t,s){const i=this.origin,r=C.Vector3[0],n=C.Vector3[1],o=C.Vector3[2],a=C.Vector3[3];t.subtractToRef(e,r),this.direction.scaleToRef(_e._Rayl,o),i.addToRef(o,n),e.subtractToRef(i,a);const c=T.Dot(r,r),l=T.Dot(r,o),u=T.Dot(o,o),h=T.Dot(r,a),d=T.Dot(o,a),_=c*u-l*l;let p,m,x=_,f=_;_<_e._Smallnum?(p=0,x=1,m=d,f=u):(p=l*d-u*h,m=c*d-l*h,p<0?(p=0,m=d,f=u):p>x&&(p=x,m=d+l,f=u)),m<0?(m=0,-h<0?p=0:-h>c?p=x:(p=-h,x=c)):m>f&&(m=f,-h+l<0?p=0:-h+l>c?p=x:(p=-h+l,x=c));const g=Math.abs(p)<_e._Smallnum?0:p/x,y=Math.abs(m)<_e._Smallnum?0:m/f,v=C.Vector3[4];o.scaleToRef(y,v);const w=C.Vector3[5];r.scaleToRef(g,w),w.addInPlace(a);const A=C.Vector3[6];w.subtractToRef(v,A);return y>0&&y<=this.length&&A.lengthSquared()<s*s?w.length():-1}update(e,t,s,i,r,n,o,a=!1){if(a){_e._RayDistant||(_e._RayDistant=_e.Zero()),_e._RayDistant.unprojectRayToRef(e,t,s,i,y.IdentityReadOnly,n,o);const a=C.Matrix[0];r.invertToRef(a),_e.TransformToRef(_e._RayDistant,a,this)}else this.unprojectRayToRef(e,t,s,i,r,n,o);return this}static Zero(){return new _e(T.Zero(),T.Zero())}static CreateNew(e,t,s,i,r,n,o){return _e.Zero().update(e,t,s,i,r,n,o)}static CreateNewFromTo(e,t,s=y.IdentityReadOnly){const i=new _e(new T(0,0,0),new T(0,0,0));return _e.CreateFromToToRef(e,t,i,s)}static CreateFromToToRef(e,t,s,i=y.IdentityReadOnly){s.origin.copyFrom(e);const r=t.subtractToRef(e,s.direction),n=Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z);return s.length=n,s.direction.normalize(),_e.TransformToRef(s,i,s)}static Transform(e,t){const s=new _e(new T(0,0,0),new T(0,0,0));return _e.TransformToRef(e,t,s),s}static TransformToRef(e,t,s){T.TransformCoordinatesToRef(e.origin,t,s.origin),T.TransformNormalToRef(e.direction,t,s.direction),s.length=e.length,s.epsilon=e.epsilon;const i=s.direction,r=i.length();if(0!==r&&1!==r){const e=1/r;i.x*=e,i.y*=e,i.z*=e,s.length*=r}return s}unprojectRayToRef(e,t,s,i,r,n,o){const a=C.Matrix[0];r.multiplyToRef(n,a),a.multiplyToRef(o,a),a.invert();const c=U.LastCreatedEngine,l=C.Vector3[0];l.x=e/s*2-1,l.y=-(t/i*2-1),l.z=c?.useReverseDepthBuffer?1:c?.isNDCHalfZRange?0:-1;const u=C.Vector3[1].copyFromFloats(l.x,l.y,1-1e-8),h=C.Vector3[2],d=C.Vector3[3];T._UnprojectFromInvertedMatrixToRef(l,a,h),T._UnprojectFromInvertedMatrixToRef(u,a,d),this.origin.copyFrom(h),d.subtractToRef(h,this.direction),this.direction.normalize()}}function pe(e,t,s,i,r,n=!1){const o=_e.Zero();return me(e,t,s,i,o,r,n),o}function me(e,t,s,i,r,n,o=!1,a=!1){const c=e.getEngine();if(!n&&!(n=e.activeCamera))return e;const l=n.viewport,u=c.getRenderHeight(),{x:h,y:d,width:_,height:p}=l.toGlobal(c.getRenderWidth(),u),m=1/c.getHardwareScalingLevel();return t=t*m-h,s=s*m-(u-d-p),r.update(t,s,_,p,i||y.IdentityReadOnly,o?y.IdentityReadOnly:n.getViewMatrix(),n.getProjectionMatrix(),a),e}function xe(e,t,s,i,r){if(!B)return e;const n=e.getEngine();if(!r&&!(r=e.activeCamera))throw new Error("Active camera not set");const o=r.viewport,a=n.getRenderHeight(),{x:c,y:l,width:u,height:h}=o.toGlobal(n.getRenderWidth(),a),d=y.Identity(),_=1/n.getHardwareScalingLevel();return t=t*_-c,s=s*_-(a-l-h),i.update(t,s,u,h,d,d,r.getProjectionMatrix()),e}function fe(e,t,s,i,r,n,o,a){const c=t(i,s.enableDistantPicking),l=s.intersects(c,r,o,n,i,a);return l&&l.hit?!r&&null!=e&&l.distance>=e.distance?null:l:null}function ge(e,t,s,i,r,n){let o=null;const a=!!(e.activeCameras&&e.activeCameras.length>1&&e.cameraToUseForPointers!==e.activeCamera),c=e.cameraToUseForPointers||e.activeCamera,l=fe;for(let u=0;u<e.meshes.length;u++){const h=e.meshes[u];if(s){if(!s(h,-1))continue}else if(!h.isEnabled()||!h.isVisible||!h.isPickable)continue;const d=a&&h.isWorldMatrixCameraDependent(),_=h.computeWorldMatrix(d,c);if(h.hasThinInstances&&h.thinInstanceEnablePicking){const e=l(o,t,h,_,!0,!0,n);if(e){if(r)return e;const a=C.Matrix[1],c=h.thinInstanceGetWorldMatrices();for(let e=0;e<c.length;e++){if(s&&!s(h,e))continue;c[e].multiplyToRef(_,a);const u=l(o,t,h,a,i,r,n,!0);if(u&&(o=u,o.thinInstanceIndex=e,i))return o}}}else{const e=l(o,t,h,_,i,r,n);if(e&&(o=e,i))return o}}return o||new B}function ye(e,t,s,i){if(!B)return null;const r=[],n=!!(e.activeCameras&&e.activeCameras.length>1&&e.cameraToUseForPointers!==e.activeCamera),o=e.cameraToUseForPointers||e.activeCamera,a=fe;for(let c=0;c<e.meshes.length;c++){const l=e.meshes[c];if(s){if(!s(l,-1))continue}else if(!l.isEnabled()||!l.isVisible||!l.isPickable)continue;const u=n&&l.isWorldMatrixCameraDependent(),h=l.computeWorldMatrix(u,o);if(l.hasThinInstances&&l.thinInstanceEnablePicking){if(a(null,t,l,h,!0,!0,i)){const e=C.Matrix[1],n=l.thinInstanceGetWorldMatrices();for(let o=0;o<n.length;o++){if(s&&!s(l,o))continue;n[o].multiplyToRef(h,e);const c=a(null,t,l,e,!1,!1,i,!0);c&&(c.thinInstanceIndex=o,r.push(c))}}}else{const e=a(null,t,l,h,!1,!1,i);e&&r.push(e)}}return r}function Te(e,t,s=100,i,r){i||(i=e.getWorldMatrix()),t.length=s,r?t.origin.copyFrom(r):t.origin.copyFrom(e.position);const n=C.Vector3[2];n.set(0,0,e._scene.useRightHandedSystem?-1:1);const o=C.Vector3[3];return T.TransformNormalToRef(n,i,o),T.NormalizeToRef(o,t.direction),t}_e._TmpVector3=F(6,T.Zero),_e._RayDistant=_e.Zero(),_e._Smallnum=1e-8,_e._Rayl=1e9,oe=N,(ae=l)&&(ae.prototype.getForwardRay=function(e=100,t,s){return Te(this,new _e(T.Zero(),T.Zero(),e),e,t,s)},ae.prototype.getForwardRayToRef=function(e,t=100,s,i){return Te(this,e,t,s,i)}),oe&&(L._IsPickingAvailable=!0,oe.prototype.createPickingRay=function(e,t,s,i,r=!1){return pe(this,e,t,s,i,r)}),N.prototype.createPickingRayToRef=function(e,t,s,i,r,n=!1,o=!1){return me(this,e,t,s,i,r,n,o)},N.prototype.createPickingRayInCameraSpace=function(e,t,s){return function(e,t,s,i){const r=_e.Zero();return xe(e,t,s,r,i),r}(this,e,t,s)},N.prototype.createPickingRayInCameraSpaceToRef=function(e,t,s,i){return xe(this,e,t,s,i)},N.prototype.pickWithBoundingInfo=function(e,t,s,i,r){return function(e,t,s,i,r,n){if(!B)return null;const o=ge(e,(i=>(e._tempPickingRay||(e._tempPickingRay=_e.Zero()),me(e,t,s,i,e._tempPickingRay,n||null),e._tempPickingRay)),i,r,!0);return o&&(o.ray=pe(e,t,s,y.Identity(),n||null)),o}(this,e,t,s,i,r)},N.prototype.pick=function(e,t,s,i,r,n,o=!1){return function(e,t,s,i,r,n,o){const a=ge(e,((i,r)=>(e._tempPickingRay||(e._tempPickingRay=_e.Zero()),me(e,t,s,i,e._tempPickingRay,n||null,!1,r),e._tempPickingRay)),i,r,!1,o);return a&&(a.ray=pe(e,t,s,y.Identity(),n||null)),a}(this,e,t,s,i,r,n,o)},N.prototype.pickWithRay=function(e,t,s,i){return function(e,t,s,i,r){const n=ge(e,(s=>(e._pickWithRayInverseMatrix||(e._pickWithRayInverseMatrix=y.Identity()),s.invertToRef(e._pickWithRayInverseMatrix),e._cachedRayForTransform||(e._cachedRayForTransform=_e.Zero()),_e.TransformToRef(t,e._pickWithRayInverseMatrix,e._cachedRayForTransform),e._cachedRayForTransform)),s,i,!1,r);return n&&(n.ray=t),n}(this,e,t,s,i)},N.prototype.multiPick=function(e,t,s,i,r){return function(e,t,s,i,r,n){return ye(e,(i=>pe(e,t,s,i,r||null)),i,n)}(this,e,t,s,i,r)},N.prototype.multiPickWithRay=function(e,t,s){return function(e,t,s,i){return ye(e,(s=>(e._pickWithRayInverseMatrix||(e._pickWithRayInverseMatrix=y.Identity()),s.invertToRef(e._pickWithRayInverseMatrix),e._cachedRayForTransform||(e._cachedRayForTransform=_e.Zero()),_e.TransformToRef(t,e._pickWithRayInverseMatrix,e._cachedRayForTransform),e._cachedRayForTransform)),s,i)}(this,e,t,s)},function(e){e[e.Color=2]="Color",e[e.UV=1]="UV",e[e.Random=0]="Random",e[e.Stated=3]="Stated"}(ce||(ce={}));class ve{get positions(){return this._positions32}get colors(){return this._colors32}get uvs(){return this._uvs32}constructor(e,t,s,i){this.particles=new Array,this.nbParticles=0,this.counter=0,this.vars={},this._promises=[],this._positions=new Array,this._indices=new Array,this._normals=new Array,this._colors=new Array,this._uvs=new Array,this._updatable=!0,this._isVisibilityBoxLocked=!1,this._alwaysVisible=!1,this._groups=new Array,this._groupCounter=0,this._computeParticleColor=!0,this._computeParticleTexture=!0,this._computeParticleRotation=!0,this._computeBoundingBox=!1,this._isReady=!1,this.name=e,this._size=t,this._scene=s||U.LastCreatedScene,i&&void 0!==i.updatable?this._updatable=i.updatable:this._updatable=!0}buildMeshAsync(e){return Promise.all(this._promises).then((()=>(this._isReady=!0,this._buildMesh(e))))}_buildMesh(e){0===this.nbParticles&&this.addPoints(1),this._positions32=new Float32Array(this._positions),this._uvs32=new Float32Array(this._uvs),this._colors32=new Float32Array(this._colors);const t=new v;t.set(this._positions32,m.PositionKind),this._uvs32.length>0&&t.set(this._uvs32,m.UVKind);let s=0;this._colors32.length>0&&(s=1,t.set(this._colors32,m.ColorKind));const i=new g(this.name,this._scene);t.applyToMesh(i,this._updatable),this.mesh=i,this._positions=null,this._uvs=null,this._colors=null,this._updatable||(this.particles.length=0);let r=e;return r||(r=new K("point cloud material",this._scene),r.emissiveColor=new O(s,s,s),r.disableLighting=!0,r.pointsCloud=!0,r.pointSize=this._size),i.material=r,new Promise((e=>e(i)))}_addParticle(e,t,s,i){const r=new he(e,t,s,i,this);return this.particles.push(r),r}_randomUnitVector(e){e.position=new T(Math.random(),Math.random(),Math.random()),e.color=new D(1,1,1,1)}_getColorIndicesForCoord(e,t,s,i){const r=e._groupImageData,n=s*(4*i)+4*t,o=[n,n+1,n+2,n+3],a=o[1],c=o[2],l=o[3],u=r[o[0]],h=r[a],d=r[c],_=r[l];return new D(u/255,h/255,d/255,_)}_setPointsColorOrUV(e,t,s,i,r,n,o,a){a=a??0,s&&e.updateFacetData();const c=2*e.getBoundingInfo().boundingSphere.radius;let l=e.getVerticesData(m.PositionKind);const u=e.getIndices(),h=e.getVerticesData(m.UVKind+(a?a+1:"")),d=e.getVerticesData(m.ColorKind),_=T.Zero();e.computeWorldMatrix();const p=e.getWorldMatrix();if(!p.isIdentity()){l=l.slice(0);for(let e=0;e<l.length/3;e++)T.TransformCoordinatesFromFloatsToRef(l[3*e],l[3*e+1],l[3*e+2],p,_),l[3*e]=_.x,l[3*e+1]=_.y,l[3*e+2]=_.z}let x=0,f=0,g=0,y=0,v=0,w=0,C=0,A=0,P=0,b=0,M=0,R=0,I=0;const E=T.Zero(),k=T.Zero(),F=T.Zero(),V=T.Zero(),z=T.Zero();let U=0,B=0,L=0,N=0,X=0,G=0;const H=S.Zero(),Y=S.Zero(),j=S.Zero(),K=S.Zero(),q=S.Zero();let Q=0,J=0,$=0,ee=0,te=0,se=0,ie=0,re=0,ne=0,oe=0,ae=0,ce=0;const le=W.Zero(),ue=W.Zero(),he=W.Zero(),de=W.Zero(),pe=W.Zero();let me,xe,fe=0,ge=0;o=o||0;let ye=new W(0,0,0,0),Te=T.Zero(),ve=T.Zero(),we=T.Zero(),Ce=0,Ae=T.Zero(),Pe=0,be=0;const Me=new _e(T.Zero(),new T(1,0,0));let Re,Ie=T.Zero();for(let a=0;a<u.length/3;a++){let _,p,m,S,W,_e,Se,Ee;f=u[3*a],g=u[3*a+1],y=u[3*a+2],v=l[3*f],w=l[3*f+1],C=l[3*f+2],A=l[3*g],P=l[3*g+1],b=l[3*g+2],M=l[3*y],R=l[3*y+1],I=l[3*y+2],E.set(v,w,C),k.set(A,P,b),F.set(M,R,I),k.subtractToRef(E,V),F.subtractToRef(k,z),h&&(U=h[2*f],B=h[2*f+1],L=h[2*g],N=h[2*g+1],X=h[2*y],G=h[2*y+1],H.set(U,B),Y.set(L,N),j.set(X,G),Y.subtractToRef(H,K),j.subtractToRef(Y,q)),d&&i&&(Q=d[4*f],J=d[4*f+1],$=d[4*f+2],ee=d[4*f+3],te=d[4*g],se=d[4*g+1],ie=d[4*g+2],re=d[4*g+3],ne=d[4*y],oe=d[4*y+1],ae=d[4*y+2],ce=d[4*y+3],le.set(Q,J,$,ee),ue.set(te,se,ie,re),he.set(ne,oe,ae,ce),ue.subtractToRef(le,de),he.subtractToRef(ue,pe));const De=new O(0,0,0),ke=new O(0,0,0);let Fe,Ve;for(let l=0;l<t._groupDensity[a];l++)x=this.particles.length,this._addParticle(x,t,this._groupCounter,a+l),Ve=this.particles[x],fe=Math.sqrt(Z(0,1)),ge=Z(0,1),me=E.add(V.scale(fe)).add(z.scale(fe*ge)),s&&(Te=e.getFacetNormal(a).normalize().scale(-1),ve=V.clone().normalize(),we=T.Cross(Te,ve),Ce=Z(0,2*Math.PI),Ae=ve.scale(Math.cos(Ce)).add(we.scale(Math.sin(Ce))),Ce=Z(.1,Math.PI/2),Ie=Ae.scale(Math.cos(Ce)).add(Te.scale(Math.sin(Ce))),Me.origin=me.add(Ie.scale(1e-5)),Me.direction=Ie,Me.length=c,Re=Me.intersectsMesh(e),Re.hit&&(be=Re.pickedPoint.subtract(me).length(),Pe=Z(0,1)*be,me.addInPlace(Ie.scale(Pe)))),Ve.position=me.clone(),this._positions.push(Ve.position.x,Ve.position.y,Ve.position.z),void 0!==i?h&&(xe=H.add(K.scale(fe)).add(q.scale(fe*ge)),i?r&&null!==t._groupImageData?(_=t._groupImgWidth,p=t._groupImgHeight,Fe=this._getColorIndicesForCoord(t,Math.round(xe.x*_),Math.round(xe.y*p),_),Ve.color=Fe,this._colors.push(Fe.r,Fe.g,Fe.b,Fe.a)):d?(ye=le.add(de.scale(fe)).add(pe.scale(fe*ge)),Ve.color=new D(ye.x,ye.y,ye.z,ye.w),this._colors.push(ye.x,ye.y,ye.z,ye.w)):(ye=le.set(Math.random(),Math.random(),Math.random(),1),Ve.color=new D(ye.x,ye.y,ye.z,ye.w),this._colors.push(ye.x,ye.y,ye.z,ye.w)):(Ve.uv=xe.clone(),this._uvs.push(Ve.uv.x,Ve.uv.y))):(n?(De.set(n.r,n.g,n.b),m=Z(-o,o),S=Z(-o,o),Ee=De.toHSV(),W=Ee.r,_e=Ee.g+m,Se=Ee.b+S,_e<0&&(_e=0),_e>1&&(_e=1),Se<0&&(Se=0),Se>1&&(Se=1),O.HSVtoRGBToRef(W,_e,Se,ke),ye.set(ke.r,ke.g,ke.b,1)):ye=le.set(Math.random(),Math.random(),Math.random(),1),Ve.color=new D(ye.x,ye.y,ye.z,ye.w),this._colors.push(ye.x,ye.y,ye.z,ye.w))}}_colorFromTexture(e,t,s){if(null===e.material)return A.Warn(e.name+"has no material."),t._groupImageData=null,void this._setPointsColorOrUV(e,t,s,!0,!1);const i=e.material.getActiveTextures();if(0===i.length)return A.Warn(e.name+"has no usable texture."),t._groupImageData=null,void this._setPointsColorOrUV(e,t,s,!0,!1);const r=e.clone();r.setEnabled(!1),this._promises.push(new Promise((e=>{X.WhenAllReady(i,(()=>{let n=t._textureNb;n<0&&(n=0),n>i.length-1&&(n=i.length-1);const o=()=>{t._groupImgWidth=i[n].getSize().width,t._groupImgHeight=i[n].getSize().height,this._setPointsColorOrUV(r,t,s,!0,!0,void 0,void 0,i[n].coordinatesIndex),r.dispose(),e()};t._groupImageData=null;const a=i[n].readPixels();a?a.then((e=>{t._groupImageData=e,o()})):o()}))})))}_calculateDensity(e,t,s){let i,r,n,o,a,c,l,u,h,d,_,p;const m=T.Zero(),x=T.Zero(),f=T.Zero(),g=T.Zero(),y=T.Zero(),v=T.Zero();let w;const C=[];let A=0;const P=s.length/3;for(let e=0;e<P;e++)i=s[3*e],r=s[3*e+1],n=s[3*e+2],o=t[3*i],a=t[3*i+1],c=t[3*i+2],l=t[3*r],u=t[3*r+1],h=t[3*r+2],d=t[3*n],_=t[3*n+1],p=t[3*n+2],m.set(o,a,c),x.set(l,u,h),f.set(d,_,p),x.subtractToRef(m,g),f.subtractToRef(x,y),T.CrossToRef(g,y,v),w=.5*v.length(),A+=w,C[e]=A;const b=new Array(P);let M=e;for(let e=P-1;e>0;e--){const t=C[e];if(0===t)b[e]=0;else{const s=(t-C[e-1])/t*M,i=Math.floor(s),r=s-i,n=i+Number(Math.random()<r);b[e]=n,M-=n}}return b[0]=M,b}addPoints(e,t=this._randomUnitVector){const s=new de(this._groupCounter,t);let i,r=this.nbParticles;for(let t=0;t<e;t++)i=this._addParticle(r,s,this._groupCounter,t),s&&s._positionFunction&&s._positionFunction(i,r,t),this._positions.push(i.position.x,i.position.y,i.position.z),i.color&&this._colors.push(i.color.r,i.color.g,i.color.b,i.color.a),i.uv&&this._uvs.push(i.uv.x,i.uv.y),r++;return this.nbParticles+=e,this._groupCounter++,this._groupCounter}addSurfacePoints(e,t,s,i,r){let n=s||0;(isNaN(n)||n<0||n>3)&&(n=0);const o=e.getVerticesData(m.PositionKind),a=e.getIndices();this._groups.push(this._groupCounter);const c=new de(this._groupCounter,null);switch(c._groupDensity=this._calculateDensity(t,o,a),2===n?c._textureNb=i||0:i=i||new D(1,1,1,1),n){case 2:this._colorFromTexture(e,c,!1);break;case 1:this._setPointsColorOrUV(e,c,!1,!1,!1);break;case 0:this._setPointsColorOrUV(e,c,!1);break;case 3:this._setPointsColorOrUV(e,c,!1,void 0,void 0,i,r)}return this.nbParticles+=t,this._groupCounter++,this._groupCounter-1}addVolumePoints(e,t,s,i,r){let n=s||0;(isNaN(n)||n<0||n>3)&&(n=0);const o=e.getVerticesData(m.PositionKind),a=e.getIndices();this._groups.push(this._groupCounter);const c=new de(this._groupCounter,null);switch(c._groupDensity=this._calculateDensity(t,o,a),2===n?c._textureNb=i||0:i=i||new D(1,1,1,1),n){case 2:this._colorFromTexture(e,c,!0);break;case 1:this._setPointsColorOrUV(e,c,!0,!1,!1);break;case 0:this._setPointsColorOrUV(e,c,!0);break;case 3:this._setPointsColorOrUV(e,c,!0,void 0,void 0,i,r)}return this.nbParticles+=t,this._groupCounter++,this._groupCounter-1}setParticles(e=0,t=this.nbParticles-1,s=!0){if(!this._updatable||!this._isReady)return this;this.beforeUpdateParticles(e,t,s);const i=C.Matrix[0],r=this.mesh,n=this._colors32,o=this._positions32,a=this._uvs32,c=C.Vector3,l=c[5].copyFromFloats(1,0,0),u=c[6].copyFromFloats(0,1,0),h=c[7].copyFromFloats(0,0,1),d=c[8].setAll(Number.MAX_VALUE),_=c[9].setAll(-Number.MAX_VALUE);y.IdentityToRef(i);let p=0;if(this.mesh?.isFacetDataEnabled&&(this._computeBoundingBox=!0),t=t>=this.nbParticles?this.nbParticles-1:t,this._computeBoundingBox&&(0!=e||t!=this.nbParticles-1)){const e=this.mesh?.getBoundingInfo();e&&(d.copyFrom(e.minimum),_.copyFrom(e.maximum))}p=0;let x=0,f=0,g=0;for(let s=e;s<=t;s++){const e=this.particles[s];p=e.idx,x=3*p,f=4*p,g=2*p,this.updateParticle(e);const t=e._rotationMatrix,r=e.position,n=e._globalPosition;this._computeParticleRotation&&e.getRotationMatrix(i);if(null!==e.parentId){const s=this.particles[e.parentId],o=s._rotationMatrix,a=s._globalPosition,c=r.x*o[1]+r.y*o[4]+r.z*o[7],l=r.x*o[0]+r.y*o[3]+r.z*o[6],u=r.x*o[2]+r.y*o[5]+r.z*o[8];if(n.x=a.x+l,n.y=a.y+c,n.z=a.z+u,this._computeParticleRotation){const e=i.m;t[0]=e[0]*o[0]+e[1]*o[3]+e[2]*o[6],t[1]=e[0]*o[1]+e[1]*o[4]+e[2]*o[7],t[2]=e[0]*o[2]+e[1]*o[5]+e[2]*o[8],t[3]=e[4]*o[0]+e[5]*o[3]+e[6]*o[6],t[4]=e[4]*o[1]+e[5]*o[4]+e[6]*o[7],t[5]=e[4]*o[2]+e[5]*o[5]+e[6]*o[8],t[6]=e[8]*o[0]+e[9]*o[3]+e[10]*o[6],t[7]=e[8]*o[1]+e[9]*o[4]+e[10]*o[7],t[8]=e[8]*o[2]+e[9]*o[5]+e[10]*o[8]}}else if(n.x=0,n.y=0,n.z=0,this._computeParticleRotation){const e=i.m;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10]}const a=c[11];e.translateFromPivot?a.setAll(0):a.copyFrom(e.pivot);const m=c[0];m.copyFrom(e.position);const y=m.x-e.pivot.x,T=m.y-e.pivot.y,v=m.z-e.pivot.z;let w=y*t[0]+T*t[3]+v*t[6],C=y*t[1]+T*t[4]+v*t[7],A=y*t[2]+T*t[5]+v*t[8];w+=a.x,C+=a.y,A+=a.z;const P=o[x]=n.x+l.x*w+u.x*C+h.x*A,b=o[x+1]=n.y+l.y*w+u.y*C+h.y*A,M=o[x+2]=n.z+l.z*w+u.z*C+h.z*A;if(this._computeBoundingBox&&(d.minimizeInPlaceFromFloats(P,b,M),_.maximizeInPlaceFromFloats(P,b,M)),this._computeParticleColor&&e.color){const t=e.color,s=this._colors32;s[f]=t.r,s[f+1]=t.g,s[f+2]=t.b,s[f+3]=t.a}if(this._computeParticleTexture&&e.uv){const t=e.uv,s=this._uvs32;s[g]=t.x,s[g+1]=t.y}}return r&&(s&&(this._computeParticleColor&&r.updateVerticesData(m.ColorKind,n,!1,!1),this._computeParticleTexture&&r.updateVerticesData(m.UVKind,a,!1,!1),r.updateVerticesData(m.PositionKind,o,!1,!1)),this._computeBoundingBox&&(r.hasBoundingInfo?r.getBoundingInfo().reConstruct(d,_,r._worldMatrix):r.buildBoundingInfo(d,_,r._worldMatrix))),this.afterUpdateParticles(e,t,s),this}dispose(){this.mesh?.dispose(),this.vars=null,this._positions=null,this._indices=null,this._normals=null,this._uvs=null,this._colors=null,this._indices32=null,this._positions32=null,this._uvs32=null,this._colors32=null}refreshVisibleSize(){return this._isVisibilityBoxLocked||this.mesh?.refreshBoundingInfo(),this}setVisibilityBox(e){if(!this.mesh)return;const t=e/2;this.mesh.buildBoundingInfo(new T(-t,-t,-t),new T(t,t,t))}get isAlwaysVisible(){return this._alwaysVisible}set isAlwaysVisible(e){this.mesh&&(this._alwaysVisible=e,this.mesh.alwaysSelectAsActiveMesh=e)}set computeParticleRotation(e){this._computeParticleRotation=e}set computeParticleColor(e){this._computeParticleColor=e}set computeParticleTexture(e){this._computeParticleTexture=e}get computeParticleColor(){return this._computeParticleColor}get computeParticleTexture(){return this._computeParticleTexture}set computeBoundingBox(e){this._computeBoundingBox=e}get computeBoundingBox(){return this._computeBoundingBox}initParticles(){}recycleParticle(e){return e}updateParticle(e){return e}beforeUpdateParticles(e,t,s){}afterUpdateParticles(e,t,s){}}!function(e){e[e.Splat=0]="Splat",e[e.PointCloud=1]="PointCloud",e[e.Mesh=2]="Mesh"}(le||(le={}));class we{constructor(e=we._DefaultLoadingOptions){this.name=G.name,this._assetContainer=null,this.extensions=G.extensions,this._loadingOptions=e}createPlugin(e){return new we(e[G.name])}async importMeshAsync(e,t,s,i,r,n){return this._parse(e,t,s,i).then((e=>({meshes:e,particleSystems:[],skeletons:[],animationGroups:[],transformNodes:[],geometries:[],lights:[],spriteManagers:[]})))}static _BuildPointCloud(e,t){if(!t.byteLength)return!1;const s=new Uint8Array(t),i=new Float32Array(t),r=s.length/32;return e.addPoints(r,(function(e,t){const r=i[8*t+0],n=i[8*t+1],o=i[8*t+2];e.position=new T(r,n,o);const a=s[32*t+24+0]/255,c=s[32*t+24+1]/255,l=s[32*t+24+2]/255;e.color=new D(a,c,l,1)})),!0}static _BuildMesh(e,t){const s=new g("PLYMesh",e),i=new Uint8Array(t.data),r=new Float32Array(t.data),n=i.length/32,o=[],a=new v;for(let e=0;e<n;e++){const t=r[8*e+0],s=r[8*e+1],i=r[8*e+2];o.push(t,s,i)}if(t.hasVertexColors){const e=new Float32Array(4*n);for(let t=0;t<n;t++){const s=i[32*t+24+0]/255,r=i[32*t+24+1]/255,n=i[32*t+24+2]/255;e[4*t+0]=s,e[4*t+1]=r,e[4*t+2]=n,e[4*t+3]=1}a.colors=e}return a.positions=o,a.indices=t.faces,a.applyToMesh(s),s}_parse(e,t,s,i){return we._ConvertPLYToSplat(s).then((async e=>{const s=[];switch(e.mode){case 0:{const i=new ue("GaussianSplatting",null,t,this._loadingOptions.keepInRam);i._parentContainer=this._assetContainer,s.push(i),await i.updateDataAsync(e.data)}break;case 1:{const i=new ve("PointCloud",1,t);if(we._BuildPointCloud(i,e.data))return Promise.all([i.buildMeshAsync()]).then((e=>(s.push(e[0]),s)));i.dispose()}break;case 2:if(!e.faces)throw new Error("PLY mesh doesn't contain face informations.");s.push(we._BuildMesh(t,e));break;default:throw new Error("Unsupported Splat mode")}return new Promise((e=>{e(s)}))}))}loadAssetContainerAsync(e,t,s){const i=new j(e);return this._assetContainer=i,this.importMeshAsync(null,e,t,s).then((e=>(e.meshes.forEach((e=>i.meshes.push(e))),this._assetContainer=null,i))).catch((e=>{throw this._assetContainer=null,e}))}loadAsync(e,t,s){return this.importMeshAsync(null,e,t,s).then((()=>{}))}static _ConvertPLYToSplat(e){const t=new Uint8Array(e),s=(new TextDecoder).decode(t.slice(0,10240)),i="end_header\n",r=s.indexOf(i);if(r<0||!s)return new Promise((t=>{t({mode:0,data:e})}));const n=parseInt(/element vertex (\d+)\n/.exec(s)[1]),o=/element face (\d+)\n/.exec(s);let a=0;o&&(a=parseInt(o[1]));const c=/element chunk (\d+)\n/.exec(s);let l=0;c&&(l=parseInt(c[1]));let u=0,h=0;const d={double:8,int:4,uint:4,float:4,short:2,ushort:2,uchar:1,list:0};let _;!function(e){e[e.Vertex=0]="Vertex",e[e.Chunk=1]="Chunk"}(_||(_={}));let p=1;const m=[],x=s.slice(0,r).split("\n");for(const e of x)if(e.startsWith("property ")){const[,t,s]=e.split(" ");1==p?h+=d[t]:0==p&&(m.push({name:s,type:t,offset:u}),u+=d[t]),d[t]||A.Warn(`Unsupported property type: ${t}.`)}else if(e.startsWith("element ")){const[,t]=e.split(" ");"chunk"==t?p=1:"vertex"==t&&(p=0)}const f=u,g=h;return ue.ConvertPLYToSplatAsync(e).then((t=>{const s=new DataView(e,r+11);let i=g*l+f*n;const o=[];if(a)for(let e=0;e<a;e++){const e=s.getUint8(i);if(3==e){i+=1;for(let t=0;t<e;t++){const e=s.getUint32(i+4*(2-t),!0);o.push(e)}i+=12}}if(l)return new Promise((e=>{e({mode:0,data:t,faces:o,hasVertexColors:!1})}));let c=0,u=0;const h=["x","y","z","scale_0","scale_1","scale_2","opacity","rot_0","rot_1","rot_2","rot_3"],d=["red","green","blue","f_dc_0","f_dc_1","f_dc_2"];for(let e=0;e<m.length;e++){const t=m[e];h.includes(t.name)&&c++,d.includes(t.name)&&u++}const _=c==h.length&&3==u,p=a?2:_?0:1;return new Promise((e=>{e({mode:p,data:t,faces:o,hasVertexColors:!!u})}))}))}}we._DefaultLoadingOptions={keepInRam:!1},H(new we);export{we as SPLATFileLoader};
|
|
2
|
+
//# sourceMappingURL=splatFileLoader-HMqfORk1.esm.min.js.map
|