@babylonjs/viewer 7.30.0 → 7.30.1-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-B8QkHePo.esm.js +172 -0
- package/dist/chunks/EXT_lights_image_based-B8QkHePo.esm.js.map +1 -0
- package/dist/chunks/EXT_lights_image_based-BSiU8YlV.esm.min.js +2 -0
- package/dist/chunks/EXT_lights_image_based-BSiU8YlV.esm.min.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-hZ-8qY7C.esm.min.js +2 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-hZ-8qY7C.esm.min.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-wJVTdqxC.esm.js +86 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-wJVTdqxC.esm.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-B2B6s_wQ.esm.min.js +2 -0
- package/dist/chunks/EXT_meshopt_compression-B2B6s_wQ.esm.min.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-NtmqtMgU.esm.js +134 -0
- package/dist/chunks/EXT_meshopt_compression-NtmqtMgU.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-CHILVmx8.esm.js +44 -0
- package/dist/chunks/EXT_texture_avif-CHILVmx8.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-CS00cTRS.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_avif-CS00cTRS.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-Bkq-q6FG.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_webp-Bkq-q6FG.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-DN0lE3ZI.esm.js +43 -0
- package/dist/chunks/EXT_texture_webp-DN0lE3ZI.esm.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-BBYH2MWy.esm.js +64 -0
- package/dist/chunks/ExtrasAsMetadata-BBYH2MWy.esm.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-DIPrXR0e.esm.min.js +2 -0
- package/dist/chunks/ExtrasAsMetadata-DIPrXR0e.esm.min.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-Bi9FNmzm.esm.js +343 -0
- package/dist/chunks/KHR_animation_pointer-Bi9FNmzm.esm.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-cRE1VpCW.esm.min.js +2 -0
- package/dist/chunks/KHR_animation_pointer-cRE1VpCW.esm.min.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-B7X-Y-9y.esm.js +610 -0
- package/dist/chunks/KHR_draco_mesh_compression-B7X-Y-9y.esm.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-C3N7uxkp.esm.min.js +2 -0
- package/dist/chunks/KHR_draco_mesh_compression-C3N7uxkp.esm.min.js.map +1 -0
- package/dist/chunks/KHR_interactivity-C0idLGI_.esm.min.js +2 -0
- package/dist/chunks/KHR_interactivity-C0idLGI_.esm.min.js.map +1 -0
- package/dist/chunks/KHR_interactivity-DP9ukTBy.esm.js +4033 -0
- package/dist/chunks/KHR_interactivity-DP9ukTBy.esm.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-Brv0Wuoh.esm.js +1253 -0
- package/dist/chunks/KHR_lights_punctual-Brv0Wuoh.esm.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-D5rY7e9I.esm.min.js +2 -0
- package/dist/chunks/KHR_lights_punctual-D5rY7e9I.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-CNTB-Obv.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_anisotropy-CNTB-Obv.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-uViUcrBX.esm.js +64 -0
- package/dist/chunks/KHR_materials_anisotropy-uViUcrBX.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-C3xAVuBX.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_clearcoat-C3xAVuBX.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-CGnx-Def.esm.js +96 -0
- package/dist/chunks/KHR_materials_clearcoat-CGnx-Def.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-C6jtnXQp.esm.js +97 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-C6jtnXQp.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-Chq7fNC6.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-Chq7fNC6.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-CdwDEjkD.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_dispersion-CdwDEjkD.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-i3C5_tOQ.esm.js +62 -0
- package/dist/chunks/KHR_materials_dispersion-i3C5_tOQ.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-Ci0aHrSf.esm.js +55 -0
- package/dist/chunks/KHR_materials_emissive_strength-Ci0aHrSf.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-oOS672hJ.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_emissive_strength-oOS672hJ.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-BczbilaN.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_ior-BczbilaN.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-DAgTpEPO.esm.js +64 -0
- package/dist/chunks/KHR_materials_ior-DAgTpEPO.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-BvH-DyMM.esm.js +72 -0
- package/dist/chunks/KHR_materials_iridescence-BvH-DyMM.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-Cs329Tec.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_iridescence-Cs329Tec.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BAoCWbDD.esm.js +81 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BAoCWbDD.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-RptdeCpW.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-RptdeCpW.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-C48YqGyP.esm.js +85 -0
- package/dist/chunks/KHR_materials_sheen-C48YqGyP.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-CENbfA8s.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_sheen-CENbfA8s.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-BVunKKIv.esm.js +75 -0
- package/dist/chunks/KHR_materials_specular-BVunKKIv.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-DzkwSxAP.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_specular-DzkwSxAP.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-BTHUpaVT.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_transmission-BTHUpaVT.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-BgZKGZqg.esm.js +307 -0
- package/dist/chunks/KHR_materials_transmission-BgZKGZqg.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-CU2DPO94.esm.js +74 -0
- package/dist/chunks/KHR_materials_unlit-CU2DPO94.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-qeFFDJsN.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_unlit-qeFFDJsN.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-BYcHAfKt.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_variants-BYcHAfKt.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-DfibokCz.esm.js +238 -0
- package/dist/chunks/KHR_materials_variants-DfibokCz.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-BLgQKdLc.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_volume-BLgQKdLc.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-CeusrX5Q.esm.js +87 -0
- package/dist/chunks/KHR_materials_volume-CeusrX5Q.esm.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-B1lFBE4i.esm.min.js +2 -0
- package/dist/chunks/KHR_mesh_quantization-B1lFBE4i.esm.min.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-CTlthm9b.esm.js +26 -0
- package/dist/chunks/KHR_mesh_quantization-CTlthm9b.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-DxfhU-WD.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_basisu-DxfhU-WD.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-kee0jVUy.esm.js +43 -0
- package/dist/chunks/KHR_texture_basisu-kee0jVUy.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-9DUjN2OI.esm.js +63 -0
- package/dist/chunks/KHR_texture_transform-9DUjN2OI.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-DbQFyzy6.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_transform-DbQFyzy6.esm.min.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-CXJGx-sA.esm.js +51 -0
- package/dist/chunks/KHR_xmp_json_ld-CXJGx-sA.esm.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-tRIKOwLG.esm.min.js +2 -0
- package/dist/chunks/KHR_xmp_json_ld-tRIKOwLG.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-CI0Nml3O.esm.js +2207 -0
- package/dist/chunks/MSFT_audio_emitter-CI0Nml3O.esm.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-DpCifHwR.esm.min.js +2 -0
- package/dist/chunks/MSFT_audio_emitter-DpCifHwR.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_lod-B9ex3lVq.esm.js +337 -0
- package/dist/chunks/MSFT_lod-B9ex3lVq.esm.js.map +1 -0
- package/dist/chunks/MSFT_lod-z8dJ8Drm.esm.min.js +2 -0
- package/dist/chunks/MSFT_lod-z8dJ8Drm.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-CtBZz4pl.esm.min.js +2 -0
- package/dist/chunks/MSFT_minecraftMesh-CtBZz4pl.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-nf1sPsge.esm.js +46 -0
- package/dist/chunks/MSFT_minecraftMesh-nf1sPsge.esm.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-CRYLn1p6.esm.min.js +2 -0
- package/dist/chunks/MSFT_sRGBFactors-CRYLn1p6.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-CeWD8LAk.esm.js +47 -0
- package/dist/chunks/MSFT_sRGBFactors-CeWD8LAk.esm.js.map +1 -0
- package/dist/chunks/animationGroup-B_9qZnYC.esm.min.js +2 -0
- package/dist/chunks/animationGroup-B_9qZnYC.esm.min.js.map +1 -0
- package/dist/chunks/animationGroup-Caf5e8cG.esm.js +2479 -0
- package/dist/chunks/animationGroup-Caf5e8cG.esm.js.map +1 -0
- package/dist/chunks/assetContainer-B2UWLifX.esm.min.js +2 -0
- package/dist/chunks/assetContainer-B2UWLifX.esm.min.js.map +1 -0
- package/dist/chunks/assetContainer-C3VbcE_z.esm.js +1720 -0
- package/dist/chunks/assetContainer-C3VbcE_z.esm.js.map +1 -0
- package/dist/chunks/audioEngine-BsSa5q28.esm.js +305 -0
- package/dist/chunks/audioEngine-BsSa5q28.esm.js.map +1 -0
- package/dist/chunks/audioEngine-Q9RaM40V.esm.min.js +2 -0
- package/dist/chunks/audioEngine-Q9RaM40V.esm.min.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-Dl6TUwlE.esm.min.js +2 -0
- package/dist/chunks/bakedVertexAnimation-Dl6TUwlE.esm.min.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-FeXNV03T.esm.js +119 -0
- package/dist/chunks/bakedVertexAnimation-FeXNV03T.esm.js.map +1 -0
- package/dist/chunks/basisTextureLoader-BDG3XE5Y.esm.min.js +2 -0
- package/dist/chunks/basisTextureLoader-BDG3XE5Y.esm.min.js.map +1 -0
- package/dist/chunks/basisTextureLoader-DfZMofRb.esm.js +600 -0
- package/dist/chunks/basisTextureLoader-DfZMofRb.esm.js.map +1 -0
- package/dist/chunks/dds-Igr2kHF_.esm.min.js +2 -0
- package/dist/chunks/dds-Igr2kHF_.esm.min.js.map +1 -0
- package/dist/chunks/dds-o4OMNRtH.esm.js +540 -0
- package/dist/chunks/dds-o4OMNRtH.esm.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-CnyOXLtf.esm.min.js +2 -0
- package/dist/chunks/ddsTextureLoader-CnyOXLtf.esm.min.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-VMzKzLn-.esm.js +88 -0
- package/dist/chunks/ddsTextureLoader-VMzKzLn-.esm.js.map +1 -0
- package/dist/chunks/decalFragment-Dd54mbG2.esm.min.js +2 -0
- package/dist/chunks/decalFragment-Dd54mbG2.esm.min.js.map +1 -0
- package/dist/chunks/decalFragment-DfryH-xh.esm.js +18 -0
- package/dist/chunks/decalFragment-DfryH-xh.esm.js.map +1 -0
- package/dist/chunks/default.fragment-CnYfGMJp.esm.js +449 -0
- package/dist/chunks/default.fragment-CnYfGMJp.esm.js.map +1 -0
- package/dist/chunks/default.fragment-CsdUsRw_.esm.min.js +2 -0
- package/dist/chunks/default.fragment-CsdUsRw_.esm.min.js.map +1 -0
- package/dist/chunks/default.fragment-D0ITB58w.esm.js +515 -0
- package/dist/chunks/default.fragment-D0ITB58w.esm.js.map +1 -0
- package/dist/chunks/default.fragment-D6IvjaEp.esm.min.js +2 -0
- package/dist/chunks/default.fragment-D6IvjaEp.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-Ch_6OmJk.esm.min.js +2 -0
- package/dist/chunks/default.vertex-Ch_6OmJk.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-DqT17MVn.esm.js +199 -0
- package/dist/chunks/default.vertex-DqT17MVn.esm.js.map +1 -0
- package/dist/chunks/default.vertex-ld9hqDyj.esm.js +180 -0
- package/dist/chunks/default.vertex-ld9hqDyj.esm.js.map +1 -0
- package/dist/chunks/default.vertex-wi8elnOd.esm.min.js +2 -0
- package/dist/chunks/default.vertex-wi8elnOd.esm.min.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration--F3dwx1S.esm.js +15 -0
- package/dist/chunks/defaultUboDeclaration--F3dwx1S.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-B1N9B5Gl.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-B1N9B5Gl.esm.min.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-CVb37fjo.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-CVb37fjo.esm.min.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-OtAuvsYL.esm.js +13 -0
- package/dist/chunks/defaultUboDeclaration-OtAuvsYL.esm.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-Cd98CM01.esm.js +402 -0
- package/dist/chunks/dumpTools-Cd98CM01.esm.js.map +1 -0
- package/dist/chunks/dumpTools-kyQtrfmm.esm.min.js +2 -0
- package/dist/chunks/dumpTools-kyQtrfmm.esm.min.js.map +1 -0
- package/dist/chunks/engine-B3yxhwnS.esm.js +2174 -0
- package/dist/chunks/engine-B3yxhwnS.esm.js.map +1 -0
- package/dist/chunks/engine-CPXcFlBT.esm.min.js +2 -0
- package/dist/chunks/engine-CPXcFlBT.esm.min.js.map +1 -0
- package/dist/chunks/engine.common-B6M8bu3t.esm.js +1088 -0
- package/dist/chunks/engine.common-B6M8bu3t.esm.js.map +1 -0
- package/dist/chunks/engine.common-cpembRo8.esm.min.js +2 -0
- package/dist/chunks/engine.common-cpembRo8.esm.min.js.map +1 -0
- package/dist/chunks/envTextureLoader-BtwI9GPN.esm.js +65 -0
- package/dist/chunks/envTextureLoader-BtwI9GPN.esm.js.map +1 -0
- package/dist/chunks/envTextureLoader-D9erruFA.esm.min.js +2 -0
- package/dist/chunks/envTextureLoader-D9erruFA.esm.min.js.map +1 -0
- package/dist/chunks/environmentTextureTools-BCJKgGWI.esm.min.js +2 -0
- package/dist/chunks/environmentTextureTools-BCJKgGWI.esm.min.js.map +1 -0
- package/dist/chunks/environmentTextureTools-DIr7XYmL.esm.js +382 -0
- package/dist/chunks/environmentTextureTools-DIr7XYmL.esm.js.map +1 -0
- package/dist/chunks/exrTextureLoader-BIpKPFKS.esm.js +1682 -0
- package/dist/chunks/exrTextureLoader-BIpKPFKS.esm.js.map +1 -0
- package/dist/chunks/exrTextureLoader-D4DP8CEI.esm.min.js +2 -0
- package/dist/chunks/exrTextureLoader-D4DP8CEI.esm.min.js.map +1 -0
- package/dist/chunks/fogFragment-CT1rtmII.esm.js +102 -0
- package/dist/chunks/fogFragment-CT1rtmII.esm.js.map +1 -0
- package/dist/chunks/fogFragment-Caucp7gO.esm.min.js +2 -0
- package/dist/chunks/fogFragment-Caucp7gO.esm.min.js.map +1 -0
- package/dist/chunks/fresnelFunction-C-YnVKZy.esm.js +12 -0
- package/dist/chunks/fresnelFunction-C-YnVKZy.esm.js.map +1 -0
- package/dist/chunks/fresnelFunction-DXV-Gn3X.esm.min.js +2 -0
- package/dist/chunks/fresnelFunction-DXV-Gn3X.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoader-BUEhZ_Yx.esm.js +7577 -0
- package/dist/chunks/glTFLoader-BUEhZ_Yx.esm.js.map +1 -0
- package/dist/chunks/glTFLoader-Bikb9kQP.esm.min.js +2 -0
- package/dist/chunks/glTFLoader-Bikb9kQP.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-DoayKrau.esm.min.js +2 -0
- package/dist/chunks/glTFLoaderAnimation-DoayKrau.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-DrC2hKeR.esm.js +77 -0
- package/dist/chunks/glTFLoaderAnimation-DrC2hKeR.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-CvPMLLnj.esm.js +34 -0
- package/dist/chunks/harmonicsFunctions-CvPMLLnj.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-D36-AdS5.esm.js +35 -0
- package/dist/chunks/harmonicsFunctions-D36-AdS5.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-DZ2FogZq.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-DZ2FogZq.esm.min.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-Dqm6bWBy.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-Dqm6bWBy.esm.min.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-CiuIhL8I.esm.js +252 -0
- package/dist/chunks/hdrTextureLoader-CiuIhL8I.esm.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-QQ6TEFPn.esm.min.js +2 -0
- package/dist/chunks/hdrTextureLoader-QQ6TEFPn.esm.min.js.map +1 -0
- package/dist/chunks/helperFunctions-BmpTMP9U.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-BmpTMP9U.esm.min.js.map +1 -0
- package/dist/chunks/helperFunctions-Cb7U87AV.esm.js +108 -0
- package/dist/chunks/helperFunctions-Cb7U87AV.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-DbJ3JhM0.esm.js +80 -0
- package/dist/chunks/helperFunctions-DbJ3JhM0.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-M382PZ6f.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-M382PZ6f.esm.min.js.map +1 -0
- package/dist/chunks/index-CIyiNmMD.esm.min.js +57 -0
- package/dist/chunks/index-CIyiNmMD.esm.min.js.map +1 -0
- package/dist/chunks/index-DV_mRp0V.esm.js +72045 -0
- package/dist/chunks/index-DV_mRp0V.esm.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-B1e7g2Se.esm.js +814 -0
- package/dist/chunks/ktxTextureLoader-B1e7g2Se.esm.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-CfLNNmBj.esm.min.js +2 -0
- package/dist/chunks/ktxTextureLoader-CfLNNmBj.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-AKRPAXbv.esm.js +20 -0
- package/dist/chunks/logDepthDeclaration-AKRPAXbv.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-BFlc1Sz5.esm.js +35 -0
- package/dist/chunks/logDepthDeclaration-BFlc1Sz5.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-BkU1fH0B.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-BkU1fH0B.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-C6GKSjog.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-C6GKSjog.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-BOQAtuDj.esm.js +77 -0
- package/dist/chunks/logDepthVertex-BOQAtuDj.esm.js.map +1 -0
- package/dist/chunks/logDepthVertex-Co2KvxUo.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-Co2KvxUo.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-H_MJJ_GQ.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-H_MJJ_GQ.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-u512xo4x.esm.js +488 -0
- package/dist/chunks/logDepthVertex-u512xo4x.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-BeDhg2oD.esm.js +11 -0
- package/dist/chunks/mainUVVaryingDeclaration-BeDhg2oD.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-C3OpRYwk.esm.min.js +2 -0
- package/dist/chunks/mainUVVaryingDeclaration-C3OpRYwk.esm.min.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-DS9O2grO.esm.min.js +2 -0
- package/dist/chunks/meshUboDeclaration-DS9O2grO.esm.min.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-Dj2hscRy.esm.js +24 -0
- package/dist/chunks/meshUboDeclaration-Dj2hscRy.esm.js.map +1 -0
- package/dist/chunks/objFileLoader-BbMgApzR.esm.min.js +2 -0
- package/dist/chunks/objFileLoader-BbMgApzR.esm.min.js.map +1 -0
- package/dist/chunks/objFileLoader-BpsC8pGC.esm.js +1338 -0
- package/dist/chunks/objFileLoader-BpsC8pGC.esm.js.map +1 -0
- package/dist/chunks/oitFragment-BlZOVBNE.esm.js +1210 -0
- package/dist/chunks/oitFragment-BlZOVBNE.esm.js.map +1 -0
- package/dist/chunks/oitFragment-D5kQEOJH.esm.min.js +2 -0
- package/dist/chunks/oitFragment-D5kQEOJH.esm.min.js.map +1 -0
- package/dist/chunks/oitFragment-HW7VZaca.esm.min.js +2 -0
- package/dist/chunks/oitFragment-HW7VZaca.esm.min.js.map +1 -0
- package/dist/chunks/oitFragment-JXDEu0bi.esm.js +1150 -0
- package/dist/chunks/oitFragment-JXDEu0bi.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-BJQq2qAp.esm.js +15 -0
- package/dist/chunks/pass.fragment-BJQq2qAp.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-BxD_kCkX.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-BxD_kCkX.esm.min.js.map +1 -0
- package/dist/chunks/pass.fragment-By7gsCOP.esm.js +15 -0
- package/dist/chunks/pass.fragment-By7gsCOP.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-CBeObuzk.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-CBeObuzk.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-BYJy3TyL.esm.js +3165 -0
- package/dist/chunks/pbr.fragment-BYJy3TyL.esm.js.map +1 -0
- package/dist/chunks/pbr.fragment-Cjqfjhki.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-Cjqfjhki.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-fj1P_BfA.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-fj1P_BfA.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-wP-c85IY.esm.js +3219 -0
- package/dist/chunks/pbr.fragment-wP-c85IY.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-BviiatXf.esm.js +335 -0
- package/dist/chunks/pbr.vertex-BviiatXf.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-DEEQfrHH.esm.js +210 -0
- package/dist/chunks/pbr.vertex-DEEQfrHH.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-DK-wI3nj.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-DK-wI3nj.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-SS6Eh96F.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-SS6Eh96F.esm.min.js.map +1 -0
- package/dist/chunks/postprocess.vertex-BbTJmjCf.esm.min.js +2 -0
- package/dist/chunks/postprocess.vertex-BbTJmjCf.esm.min.js.map +1 -0
- package/dist/chunks/postprocess.vertex-CNs3MRKb.esm.js +20 -0
- package/dist/chunks/postprocess.vertex-CNs3MRKb.esm.js.map +1 -0
- package/dist/chunks/postprocess.vertex-CTo285Z2.esm.min.js +2 -0
- package/dist/chunks/postprocess.vertex-CTo285Z2.esm.min.js.map +1 -0
- package/dist/chunks/postprocess.vertex-y147vu4l.esm.js +18 -0
- package/dist/chunks/postprocess.vertex-y147vu4l.esm.js.map +1 -0
- package/dist/chunks/rawTexture-6isRmFti.esm.js +191 -0
- package/dist/chunks/rawTexture-6isRmFti.esm.js.map +1 -0
- package/dist/chunks/rawTexture-D4XnSF1r.esm.min.js +2 -0
- package/dist/chunks/rawTexture-D4XnSF1r.esm.min.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-3lEy-Ka7.esm.js +17 -0
- package/dist/chunks/rgbdDecode.fragment-3lEy-Ka7.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-COQem3tF.esm.js +17 -0
- package/dist/chunks/rgbdDecode.fragment-COQem3tF.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-DXGiOnN0.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-DXGiOnN0.esm.min.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-H721Xf9-.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-H721Xf9-.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-B4OD9ZtF.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-B4OD9ZtF.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-CQiCuTLF.esm.js +17 -0
- package/dist/chunks/rgbdEncode.fragment-CQiCuTLF.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-CX3nTLp5.esm.js +17 -0
- package/dist/chunks/rgbdEncode.fragment-CX3nTLp5.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-CdBxB5jv.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-CdBxB5jv.esm.min.js.map +1 -0
- package/dist/chunks/splatFileLoader-3iaRLBaz.esm.min.js +2 -0
- package/dist/chunks/splatFileLoader-3iaRLBaz.esm.min.js.map +1 -0
- package/dist/chunks/splatFileLoader-B9nfzA38.esm.js +3598 -0
- package/dist/chunks/splatFileLoader-B9nfzA38.esm.js.map +1 -0
- package/dist/chunks/standardMaterial-PSnYwoCV.esm.min.js +2 -0
- package/dist/chunks/standardMaterial-PSnYwoCV.esm.min.js.map +1 -0
- package/dist/chunks/standardMaterial-sHuTQ1tu.esm.js +1800 -0
- package/dist/chunks/standardMaterial-sHuTQ1tu.esm.js.map +1 -0
- package/dist/chunks/stlFileLoader-CGeDwcKD.esm.js +238 -0
- package/dist/chunks/stlFileLoader-CGeDwcKD.esm.js.map +1 -0
- package/dist/chunks/stlFileLoader-CMvJa97I.esm.min.js +2 -0
- package/dist/chunks/stlFileLoader-CMvJa97I.esm.min.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-DA9PD4-W.esm.min.js +2 -0
- package/dist/chunks/tgaTextureLoader-DA9PD4-W.esm.min.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-tLbUn9Fj.esm.js +349 -0
- package/dist/chunks/tgaTextureLoader-tLbUn9Fj.esm.js.map +1 -0
- package/dist/chunks/thinEngine-BHJfErVb.esm.js +3721 -0
- package/dist/chunks/thinEngine-BHJfErVb.esm.js.map +1 -0
- package/dist/chunks/thinEngine-Dm9mz21A.esm.min.js +2 -0
- package/dist/chunks/thinEngine-Dm9mz21A.esm.min.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-BmyPW1W0.esm.js +314 -0
- package/dist/chunks/thinInstanceMesh-BmyPW1W0.esm.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-FE1_0Dpq.esm.min.js +2 -0
- package/dist/chunks/thinInstanceMesh-FE1_0Dpq.esm.min.js.map +1 -0
- package/dist/chunks/vertexColorMixing-q2DcZ4Dn.esm.js +528 -0
- package/dist/chunks/vertexColorMixing-q2DcZ4Dn.esm.js.map +1 -0
- package/dist/chunks/vertexColorMixing-rp5ckHF-.esm.min.js +2 -0
- package/dist/chunks/vertexColorMixing-rp5ckHF-.esm.min.js.map +1 -0
- package/dist/chunks/webgpuEngine-B_ikij35.esm.js +11191 -0
- package/dist/chunks/webgpuEngine-B_ikij35.esm.js.map +1 -0
- package/dist/chunks/webgpuEngine-CsJfrYZY.esm.min.js +2 -0
- package/dist/chunks/webgpuEngine-CsJfrYZY.esm.min.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 +325 -0
- package/lib/index.js +1116 -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
package/loader/modelLoader.d.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import "@babylonjs/core/Misc/observable.extensions.js";
|
|
2
|
-
import type { ConfigurationContainer } from "../configuration/configurationContainer";
|
|
3
|
-
import type { IModelConfiguration } from "../configuration/interfaces/modelConfiguration";
|
|
4
|
-
import type { ObservablesManager } from "../managers/observablesManager";
|
|
5
|
-
import { ViewerModel } from "../model/viewerModel";
|
|
6
|
-
import type { ILoaderPlugin } from "./plugins/index";
|
|
7
|
-
import "@babylonjs/loaders/glTF/index.js";
|
|
8
|
-
import "@babylonjs/core/Loading/Plugins/babylonFileLoader.js";
|
|
9
|
-
/**
|
|
10
|
-
* An instance of the class is in charge of loading the model correctly.
|
|
11
|
-
* This class will continuously be expended with tasks required from the specific loaders Babylon has.
|
|
12
|
-
*
|
|
13
|
-
* A Model loader is unique per (Abstract)Viewer. It is being generated by the viewer
|
|
14
|
-
*/
|
|
15
|
-
export declare class ModelLoader {
|
|
16
|
-
private _observablesManager;
|
|
17
|
-
private _configurationContainer?;
|
|
18
|
-
private _loadId;
|
|
19
|
-
private _disposed;
|
|
20
|
-
private _loaders;
|
|
21
|
-
private _plugins;
|
|
22
|
-
private _baseUrl;
|
|
23
|
-
/**
|
|
24
|
-
* @returns the base url of the model loader
|
|
25
|
-
*/
|
|
26
|
-
get baseUrl(): string;
|
|
27
|
-
/**
|
|
28
|
-
* Create a new Model loader
|
|
29
|
-
* @param _observablesManager
|
|
30
|
-
* @param _configurationContainer
|
|
31
|
-
*/
|
|
32
|
-
constructor(_observablesManager: ObservablesManager, _configurationContainer?: ConfigurationContainer | undefined);
|
|
33
|
-
/**
|
|
34
|
-
* Adds a new plugin to the loader process.
|
|
35
|
-
*
|
|
36
|
-
* @param plugin the plugin name or the plugin itself
|
|
37
|
-
*/
|
|
38
|
-
addPlugin(plugin: ILoaderPlugin | string): void;
|
|
39
|
-
/**
|
|
40
|
-
* Load a model using predefined configuration
|
|
41
|
-
* @param modelConfiguration the modelConfiguration to use to load the model
|
|
42
|
-
* @returns the loaded model
|
|
43
|
-
*/
|
|
44
|
-
load(modelConfiguration: IModelConfiguration): ViewerModel;
|
|
45
|
-
/**
|
|
46
|
-
* Cancel the loading of a model.
|
|
47
|
-
* @param model the model to cancel the loading of
|
|
48
|
-
*/
|
|
49
|
-
cancelLoad(model: ViewerModel): void;
|
|
50
|
-
/**
|
|
51
|
-
* dispose the model loader.
|
|
52
|
-
* If loaders are registered and are in the middle of loading, they will be disposed and the request(s) will be cancelled.
|
|
53
|
-
*/
|
|
54
|
-
dispose(): void;
|
|
55
|
-
private _checkAndRun;
|
|
56
|
-
}
|
package/loader/modelLoader.js
DELETED
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
import { GLTFLoaderAnimationStartMode } from "@babylonjs/loaders/glTF/glTFFileLoader.js";
|
|
2
|
-
import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader.js";
|
|
3
|
-
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
4
|
-
import { Tags } from "@babylonjs/core/Misc/tags.js";
|
|
5
|
-
import "@babylonjs/core/Misc/observable.extensions.js";
|
|
6
|
-
import { ModelState, ViewerModel } from "../model/viewerModel.js";
|
|
7
|
-
import { getLoaderPluginByName } from "./plugins/index.js";
|
|
8
|
-
import "@babylonjs/loaders/glTF/index.js";
|
|
9
|
-
import "@babylonjs/core/Loading/Plugins/babylonFileLoader.js";
|
|
10
|
-
/**
|
|
11
|
-
* An instance of the class is in charge of loading the model correctly.
|
|
12
|
-
* This class will continuously be expended with tasks required from the specific loaders Babylon has.
|
|
13
|
-
*
|
|
14
|
-
* A Model loader is unique per (Abstract)Viewer. It is being generated by the viewer
|
|
15
|
-
*/
|
|
16
|
-
var ModelLoader = /** @class */ (function () {
|
|
17
|
-
/**
|
|
18
|
-
* Create a new Model loader
|
|
19
|
-
* @param _observablesManager
|
|
20
|
-
* @param _configurationContainer
|
|
21
|
-
*/
|
|
22
|
-
function ModelLoader(_observablesManager, _configurationContainer) {
|
|
23
|
-
this._observablesManager = _observablesManager;
|
|
24
|
-
this._configurationContainer = _configurationContainer;
|
|
25
|
-
this._disposed = false;
|
|
26
|
-
this._loaders = [];
|
|
27
|
-
this._loadId = 0;
|
|
28
|
-
this._plugins = [];
|
|
29
|
-
}
|
|
30
|
-
Object.defineProperty(ModelLoader.prototype, "baseUrl", {
|
|
31
|
-
/**
|
|
32
|
-
* @returns the base url of the model loader
|
|
33
|
-
*/
|
|
34
|
-
get: function () {
|
|
35
|
-
return this._baseUrl;
|
|
36
|
-
},
|
|
37
|
-
enumerable: false,
|
|
38
|
-
configurable: true
|
|
39
|
-
});
|
|
40
|
-
/**
|
|
41
|
-
* Adds a new plugin to the loader process.
|
|
42
|
-
*
|
|
43
|
-
* @param plugin the plugin name or the plugin itself
|
|
44
|
-
*/
|
|
45
|
-
ModelLoader.prototype.addPlugin = function (plugin) {
|
|
46
|
-
var actualPlugin = {};
|
|
47
|
-
if (typeof plugin === "string") {
|
|
48
|
-
var loadedPlugin = getLoaderPluginByName(plugin);
|
|
49
|
-
if (loadedPlugin) {
|
|
50
|
-
actualPlugin = loadedPlugin;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
actualPlugin = plugin;
|
|
55
|
-
}
|
|
56
|
-
if (actualPlugin && this._plugins.indexOf(actualPlugin) === -1) {
|
|
57
|
-
this._plugins.push(actualPlugin);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* Load a model using predefined configuration
|
|
62
|
-
* @param modelConfiguration the modelConfiguration to use to load the model
|
|
63
|
-
* @returns the loaded model
|
|
64
|
-
*/
|
|
65
|
-
ModelLoader.prototype.load = function (modelConfiguration) {
|
|
66
|
-
var _this = this;
|
|
67
|
-
var model = new ViewerModel(this._observablesManager, modelConfiguration, this._configurationContainer);
|
|
68
|
-
model.loadId = this._loadId++;
|
|
69
|
-
var filename;
|
|
70
|
-
if (modelConfiguration.file) {
|
|
71
|
-
this._baseUrl = "file:";
|
|
72
|
-
filename = modelConfiguration.file;
|
|
73
|
-
}
|
|
74
|
-
else if (modelConfiguration.url) {
|
|
75
|
-
filename = Tools.GetFilename(modelConfiguration.url) || modelConfiguration.url;
|
|
76
|
-
this._baseUrl = modelConfiguration.root || Tools.GetFolderPath(modelConfiguration.url);
|
|
77
|
-
}
|
|
78
|
-
if (!filename || !this._baseUrl) {
|
|
79
|
-
model.state = ModelState.ERROR;
|
|
80
|
-
Tools.Error("No URL provided");
|
|
81
|
-
return model;
|
|
82
|
-
}
|
|
83
|
-
var plugin = modelConfiguration.loader;
|
|
84
|
-
var scene = model.rootMesh.getScene();
|
|
85
|
-
model.loader = SceneLoader.ImportMesh(undefined, this._baseUrl, filename, scene, function (meshes, particleSystems, skeletons, animationGroups) {
|
|
86
|
-
meshes.forEach(function (mesh) {
|
|
87
|
-
Tags.AddTagsTo(mesh, "viewerMesh");
|
|
88
|
-
model.addMesh(mesh);
|
|
89
|
-
});
|
|
90
|
-
model.particleSystems = particleSystems;
|
|
91
|
-
model.skeletons = skeletons;
|
|
92
|
-
for (var _i = 0, animationGroups_1 = animationGroups; _i < animationGroups_1.length; _i++) {
|
|
93
|
-
var animationGroup = animationGroups_1[_i];
|
|
94
|
-
model.addAnimationGroup(animationGroup);
|
|
95
|
-
}
|
|
96
|
-
_this._checkAndRun("onLoaded", model);
|
|
97
|
-
scene.executeWhenReady(function () {
|
|
98
|
-
model.onLoadedObservable.notifyObservers(model);
|
|
99
|
-
});
|
|
100
|
-
}, function (progressEvent) {
|
|
101
|
-
_this._checkAndRun("onProgress", progressEvent);
|
|
102
|
-
model.onLoadProgressObservable.notifyObserversWithPromise(progressEvent);
|
|
103
|
-
}, function (scene, m, exception) {
|
|
104
|
-
model.state = ModelState.ERROR;
|
|
105
|
-
Tools.Error("Load Error: There was an error loading the model. " + m);
|
|
106
|
-
_this._checkAndRun("onError", m, exception);
|
|
107
|
-
model.onLoadErrorObservable.notifyObserversWithPromise({ message: m, exception: exception });
|
|
108
|
-
}, plugin);
|
|
109
|
-
if (model.loader.name === "gltf") {
|
|
110
|
-
var gltfLoader_1 = model.loader;
|
|
111
|
-
gltfLoader_1.animationStartMode = GLTFLoaderAnimationStartMode.NONE;
|
|
112
|
-
gltfLoader_1.compileMaterials = true;
|
|
113
|
-
if (!modelConfiguration.file) {
|
|
114
|
-
gltfLoader_1.rewriteRootURL = function (rootURL, responseURL) {
|
|
115
|
-
return modelConfiguration.root || Tools.GetFolderPath(responseURL || modelConfiguration.url || "");
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
// if ground is set to "mirror":
|
|
119
|
-
if (this._configurationContainer &&
|
|
120
|
-
this._configurationContainer.configuration &&
|
|
121
|
-
this._configurationContainer.configuration.ground &&
|
|
122
|
-
typeof this._configurationContainer.configuration.ground === "object" &&
|
|
123
|
-
this._configurationContainer.configuration.ground.mirror) {
|
|
124
|
-
gltfLoader_1.useClipPlane = true;
|
|
125
|
-
}
|
|
126
|
-
Object.keys(gltfLoader_1)
|
|
127
|
-
.filter(function (name) { return name.indexOf("on") === 0 && name.indexOf("Observable") !== -1; })
|
|
128
|
-
.forEach(function (functionName) {
|
|
129
|
-
gltfLoader_1[functionName].add(function (payload) {
|
|
130
|
-
_this._checkAndRun(functionName.replace("Observable", ""), payload);
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
gltfLoader_1.onParsedObservable.add(function (data) {
|
|
134
|
-
if (data && data.json && data.json["asset"]) {
|
|
135
|
-
model.loadInfo = data.json["asset"];
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
gltfLoader_1.onCompleteObservable.add(function () {
|
|
139
|
-
model.loaderDone = true;
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
model.loaderDone = true;
|
|
144
|
-
}
|
|
145
|
-
this._checkAndRun("onInit", model.loader, model);
|
|
146
|
-
this._loaders.push(model.loader);
|
|
147
|
-
return model;
|
|
148
|
-
};
|
|
149
|
-
/**
|
|
150
|
-
* Cancel the loading of a model.
|
|
151
|
-
* @param model the model to cancel the loading of
|
|
152
|
-
*/
|
|
153
|
-
ModelLoader.prototype.cancelLoad = function (model) {
|
|
154
|
-
var loader = model.loader || this._loaders[model.loadId];
|
|
155
|
-
// ATM only available in the GLTF Loader
|
|
156
|
-
if (loader && loader.name === "gltf") {
|
|
157
|
-
var gltfLoader = loader;
|
|
158
|
-
gltfLoader.dispose();
|
|
159
|
-
model.state = ModelState.CANCELED;
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
Tools.Warn("This type of loader cannot cancel the request");
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
/**
|
|
166
|
-
* dispose the model loader.
|
|
167
|
-
* If loaders are registered and are in the middle of loading, they will be disposed and the request(s) will be cancelled.
|
|
168
|
-
*/
|
|
169
|
-
ModelLoader.prototype.dispose = function () {
|
|
170
|
-
this._loaders.forEach(function (loader) {
|
|
171
|
-
if (loader.name === "gltf") {
|
|
172
|
-
loader.dispose();
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
this._loaders.length = 0;
|
|
176
|
-
this._disposed = true;
|
|
177
|
-
};
|
|
178
|
-
ModelLoader.prototype._checkAndRun = function (functionName) {
|
|
179
|
-
var _this = this;
|
|
180
|
-
var payload = [];
|
|
181
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
182
|
-
payload[_i - 1] = arguments[_i];
|
|
183
|
-
}
|
|
184
|
-
if (this._disposed) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
this._plugins
|
|
188
|
-
.filter(function (p) { return p[functionName]; })
|
|
189
|
-
.forEach(function (plugin) {
|
|
190
|
-
try {
|
|
191
|
-
plugin[functionName].apply(_this, payload);
|
|
192
|
-
}
|
|
193
|
-
catch (e) { }
|
|
194
|
-
});
|
|
195
|
-
};
|
|
196
|
-
return ModelLoader;
|
|
197
|
-
}());
|
|
198
|
-
export { ModelLoader };
|
|
199
|
-
//# sourceMappingURL=modelLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modelLoader.js","sourceRoot":"","sources":["../../../../tools/viewer/src/loader/modelLoader.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-internal-modules */\r\nimport type { GLTFFileLoader } from \"loaders/glTF/glTFFileLoader\";\r\nimport { GLTFLoaderAnimationStartMode } from \"loaders/glTF/glTFFileLoader\";\r\nimport type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from \"core/Loading/sceneLoader\";\r\nimport { SceneLoader } from \"core/Loading/sceneLoader\";\r\nimport { Tools } from \"core/Misc/tools\";\r\nimport { Tags } from \"core/Misc/tags\";\r\nimport \"core/Misc/observable.extensions\";\r\nimport type { ConfigurationContainer } from \"../configuration/configurationContainer\";\r\nimport type { IModelConfiguration } from \"../configuration/interfaces/modelConfiguration\";\r\nimport type { ObservablesManager } from \"../managers/observablesManager\";\r\nimport { ModelState, ViewerModel } from \"../model/viewerModel\";\r\nimport type { ILoaderPlugin } from \"./plugins/index\";\r\nimport { getLoaderPluginByName } from \"./plugins/index\";\r\nimport \"loaders/glTF/index\";\r\nimport \"core/Loading/Plugins/babylonFileLoader\";\r\n\r\n/**\r\n * An instance of the class is in charge of loading the model correctly.\r\n * This class will continuously be expended with tasks required from the specific loaders Babylon has.\r\n *\r\n * A Model loader is unique per (Abstract)Viewer. It is being generated by the viewer\r\n */\r\nexport class ModelLoader {\r\n private _loadId: number;\r\n private _disposed = false;\r\n\r\n private _loaders: Array<ISceneLoaderPlugin | ISceneLoaderPluginAsync>;\r\n\r\n private _plugins: Array<ILoaderPlugin>;\r\n\r\n private _baseUrl: string;\r\n\r\n /**\r\n * @returns the base url of the model loader\r\n */\r\n public get baseUrl(): string {\r\n return this._baseUrl;\r\n }\r\n\r\n /**\r\n * Create a new Model loader\r\n * @param _observablesManager\r\n * @param _configurationContainer\r\n */\r\n constructor(\r\n private _observablesManager: ObservablesManager,\r\n private _configurationContainer?: ConfigurationContainer\r\n ) {\r\n this._loaders = [];\r\n this._loadId = 0;\r\n this._plugins = [];\r\n }\r\n\r\n /**\r\n * Adds a new plugin to the loader process.\r\n *\r\n * @param plugin the plugin name or the plugin itself\r\n */\r\n public addPlugin(plugin: ILoaderPlugin | string) {\r\n let actualPlugin: ILoaderPlugin = {};\r\n if (typeof plugin === \"string\") {\r\n const loadedPlugin = getLoaderPluginByName(plugin);\r\n if (loadedPlugin) {\r\n actualPlugin = loadedPlugin;\r\n }\r\n } else {\r\n actualPlugin = plugin;\r\n }\r\n if (actualPlugin && this._plugins.indexOf(actualPlugin) === -1) {\r\n this._plugins.push(actualPlugin);\r\n }\r\n }\r\n\r\n /**\r\n * Load a model using predefined configuration\r\n * @param modelConfiguration the modelConfiguration to use to load the model\r\n * @returns the loaded model\r\n */\r\n public load(modelConfiguration: IModelConfiguration): ViewerModel {\r\n const model = new ViewerModel(this._observablesManager, modelConfiguration, this._configurationContainer);\r\n\r\n model.loadId = this._loadId++;\r\n\r\n let filename: any;\r\n if (modelConfiguration.file) {\r\n this._baseUrl = \"file:\";\r\n filename = modelConfiguration.file;\r\n } else if (modelConfiguration.url) {\r\n filename = Tools.GetFilename(modelConfiguration.url) || modelConfiguration.url;\r\n this._baseUrl = modelConfiguration.root || Tools.GetFolderPath(modelConfiguration.url);\r\n }\r\n\r\n if (!filename || !this._baseUrl) {\r\n model.state = ModelState.ERROR;\r\n Tools.Error(\"No URL provided\");\r\n return model;\r\n }\r\n\r\n const plugin = modelConfiguration.loader;\r\n\r\n const scene = model.rootMesh.getScene();\r\n\r\n model.loader = SceneLoader.ImportMesh(\r\n undefined,\r\n this._baseUrl,\r\n filename,\r\n scene,\r\n (meshes, particleSystems, skeletons, animationGroups) => {\r\n meshes.forEach((mesh) => {\r\n Tags.AddTagsTo(mesh, \"viewerMesh\");\r\n model.addMesh(mesh);\r\n });\r\n model.particleSystems = particleSystems;\r\n model.skeletons = skeletons;\r\n\r\n for (const animationGroup of animationGroups) {\r\n model.addAnimationGroup(animationGroup);\r\n }\r\n\r\n this._checkAndRun(\"onLoaded\", model);\r\n scene.executeWhenReady(() => {\r\n model.onLoadedObservable.notifyObservers(model);\r\n });\r\n },\r\n (progressEvent) => {\r\n this._checkAndRun(\"onProgress\", progressEvent);\r\n model.onLoadProgressObservable.notifyObserversWithPromise(progressEvent);\r\n },\r\n (scene, m, exception) => {\r\n model.state = ModelState.ERROR;\r\n Tools.Error(\"Load Error: There was an error loading the model. \" + m);\r\n this._checkAndRun(\"onError\", m, exception);\r\n model.onLoadErrorObservable.notifyObserversWithPromise({ message: m, exception: exception });\r\n },\r\n plugin\r\n )!;\r\n\r\n if (model.loader.name === \"gltf\") {\r\n const gltfLoader = <GLTFFileLoader>model.loader;\r\n gltfLoader.animationStartMode = GLTFLoaderAnimationStartMode.NONE;\r\n gltfLoader.compileMaterials = true;\r\n\r\n if (!modelConfiguration.file) {\r\n gltfLoader.rewriteRootURL = (rootURL, responseURL) => {\r\n return modelConfiguration.root || Tools.GetFolderPath(responseURL || modelConfiguration.url || \"\");\r\n };\r\n }\r\n // if ground is set to \"mirror\":\r\n if (\r\n this._configurationContainer &&\r\n this._configurationContainer.configuration &&\r\n this._configurationContainer.configuration.ground &&\r\n typeof this._configurationContainer.configuration.ground === \"object\" &&\r\n this._configurationContainer.configuration.ground.mirror\r\n ) {\r\n gltfLoader.useClipPlane = true;\r\n }\r\n Object.keys(gltfLoader)\r\n .filter((name) => name.indexOf(\"on\") === 0 && name.indexOf(\"Observable\") !== -1)\r\n .forEach((functionName) => {\r\n (gltfLoader as any)[functionName].add((payload: any[]) => {\r\n this._checkAndRun(functionName.replace(\"Observable\", \"\"), payload);\r\n });\r\n });\r\n\r\n gltfLoader.onParsedObservable.add((data) => {\r\n if (data && data.json && (data.json as any)[\"asset\"]) {\r\n model.loadInfo = (data.json as any)[\"asset\"];\r\n }\r\n });\r\n\r\n gltfLoader.onCompleteObservable.add(() => {\r\n model.loaderDone = true;\r\n });\r\n } else {\r\n model.loaderDone = true;\r\n }\r\n\r\n this._checkAndRun(\"onInit\", model.loader, model);\r\n\r\n this._loaders.push(model.loader);\r\n\r\n return model;\r\n }\r\n\r\n /**\r\n * Cancel the loading of a model.\r\n * @param model the model to cancel the loading of\r\n */\r\n public cancelLoad(model: ViewerModel) {\r\n const loader = model.loader || this._loaders[model.loadId];\r\n // ATM only available in the GLTF Loader\r\n if (loader && loader.name === \"gltf\") {\r\n const gltfLoader = <GLTFFileLoader>loader;\r\n gltfLoader.dispose();\r\n model.state = ModelState.CANCELED;\r\n } else {\r\n Tools.Warn(\"This type of loader cannot cancel the request\");\r\n }\r\n }\r\n\r\n /**\r\n * dispose the model loader.\r\n * If loaders are registered and are in the middle of loading, they will be disposed and the request(s) will be cancelled.\r\n */\r\n public dispose() {\r\n this._loaders.forEach((loader) => {\r\n if (loader.name === \"gltf\") {\r\n (<GLTFFileLoader>loader).dispose();\r\n }\r\n });\r\n this._loaders.length = 0;\r\n this._disposed = true;\r\n }\r\n\r\n private _checkAndRun(functionName: string, ...payload: Array<any>) {\r\n if (this._disposed) {\r\n return;\r\n }\r\n this._plugins\r\n .filter((p) => p[functionName as keyof ILoaderPlugin])\r\n .forEach((plugin) => {\r\n try {\r\n (plugin as any)[functionName as keyof ILoaderPlugin].apply(this, payload);\r\n } catch (e) {}\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ViewerModel } from "../../model/viewerModel";
|
|
2
|
-
import type { ILoaderPlugin } from "./loaderPlugin";
|
|
3
|
-
import type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "@babylonjs/core/Loading/sceneLoader.js";
|
|
4
|
-
import type { Material } from "@babylonjs/core/Materials/material.js";
|
|
5
|
-
/**
|
|
6
|
-
* Force-apply material configuration right after a material was loaded.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ApplyMaterialConfigPlugin implements ILoaderPlugin {
|
|
9
|
-
private _model;
|
|
10
|
-
onInit(loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel): void;
|
|
11
|
-
onMaterialLoaded(material: Material): void;
|
|
12
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Force-apply material configuration right after a material was loaded.
|
|
3
|
-
*/
|
|
4
|
-
var ApplyMaterialConfigPlugin = /** @class */ (function () {
|
|
5
|
-
function ApplyMaterialConfigPlugin() {
|
|
6
|
-
}
|
|
7
|
-
ApplyMaterialConfigPlugin.prototype.onInit = function (loader, model) {
|
|
8
|
-
this._model = model;
|
|
9
|
-
};
|
|
10
|
-
ApplyMaterialConfigPlugin.prototype.onMaterialLoaded = function (material) {
|
|
11
|
-
this._model && this._model._applyModelMaterialConfiguration(material);
|
|
12
|
-
};
|
|
13
|
-
return ApplyMaterialConfigPlugin;
|
|
14
|
-
}());
|
|
15
|
-
export { ApplyMaterialConfigPlugin };
|
|
16
|
-
//# sourceMappingURL=applyMaterialConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"applyMaterialConfig.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/applyMaterialConfig.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH;IAAA;IAUA,CAAC;IAPU,0CAAM,GAAb,UAAc,MAAoD,EAAE,KAAkB;QAClF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAEM,oDAAgB,GAAvB,UAAwB,QAAkB;QACtC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IACL,gCAAC;AAAD,CAAC,AAVD,IAUC","sourcesContent":["import type { ViewerModel } from \"../../model/viewerModel\";\r\nimport type { ILoaderPlugin } from \"./loaderPlugin\";\r\nimport type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from \"core/Loading/sceneLoader\";\r\nimport type { Material } from \"core/Materials/material\";\r\n\r\n/**\r\n * Force-apply material configuration right after a material was loaded.\r\n */\r\nexport class ApplyMaterialConfigPlugin implements ILoaderPlugin {\r\n private _model: ViewerModel;\r\n\r\n public onInit(loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel) {\r\n this._model = model;\r\n }\r\n\r\n public onMaterialLoaded(material: Material) {\r\n this._model && this._model._applyModelMaterialConfiguration(material);\r\n }\r\n}\r\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Material } from "@babylonjs/core/Materials/material.js";
|
|
2
|
-
import type { ILoaderPlugin } from "./loaderPlugin";
|
|
3
|
-
/**
|
|
4
|
-
* A (PBR) material will be extended using this function.
|
|
5
|
-
* This function will hold extra default configuration for the viewer, if not implemented in Babylon itself.
|
|
6
|
-
*/
|
|
7
|
-
export declare class ExtendedMaterialLoaderPlugin implements ILoaderPlugin {
|
|
8
|
-
onMaterialLoaded(baseMaterial: Material): void;
|
|
9
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Constants } from "@babylonjs/core/Engines/constants.js";
|
|
2
|
-
/**
|
|
3
|
-
* A (PBR) material will be extended using this function.
|
|
4
|
-
* This function will hold extra default configuration for the viewer, if not implemented in Babylon itself.
|
|
5
|
-
*/
|
|
6
|
-
var ExtendedMaterialLoaderPlugin = /** @class */ (function () {
|
|
7
|
-
function ExtendedMaterialLoaderPlugin() {
|
|
8
|
-
}
|
|
9
|
-
ExtendedMaterialLoaderPlugin.prototype.onMaterialLoaded = function (baseMaterial) {
|
|
10
|
-
var material = baseMaterial;
|
|
11
|
-
material.alphaMode = Constants.ALPHA_PREMULTIPLIED_PORTERDUFF;
|
|
12
|
-
};
|
|
13
|
-
return ExtendedMaterialLoaderPlugin;
|
|
14
|
-
}());
|
|
15
|
-
export { ExtendedMaterialLoaderPlugin };
|
|
16
|
-
//# sourceMappingURL=extendedMaterialLoaderPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extendedMaterialLoaderPlugin.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/extendedMaterialLoaderPlugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,6CAA+B;AAEnD;;;GAGG;AACH;IAAA;IAKA,CAAC;IAJU,uDAAgB,GAAvB,UAAwB,YAAsB;QAC1C,IAAM,QAAQ,GAAG,YAA2B,CAAC;QAC7C,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,8BAA8B,CAAC;IAClE,CAAC;IACL,mCAAC;AAAD,CAAC,AALD,IAKC","sourcesContent":["import type { Material } from \"core/Materials/material\";\r\nimport type { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\r\nimport type { ILoaderPlugin } from \"./loaderPlugin\";\r\nimport { Constants } from \"core/Engines/constants\";\r\n\r\n/**\r\n * A (PBR) material will be extended using this function.\r\n * This function will hold extra default configuration for the viewer, if not implemented in Babylon itself.\r\n */\r\nexport class ExtendedMaterialLoaderPlugin implements ILoaderPlugin {\r\n public onMaterialLoaded(baseMaterial: Material) {\r\n const material = baseMaterial as PBRMaterial;\r\n material.alphaMode = Constants.ALPHA_PREMULTIPLIED_PORTERDUFF;\r\n }\r\n}\r\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { TelemetryLoaderPlugin } from "./telemetryLoaderPlugin";
|
|
2
|
-
import { ILoaderPlugin } from "./loaderPlugin";
|
|
3
|
-
import { MSFTLodLoaderPlugin } from "./msftLodLoaderPlugin";
|
|
4
|
-
import { ApplyMaterialConfigPlugin } from "./applyMaterialConfig";
|
|
5
|
-
import { ExtendedMaterialLoaderPlugin } from "./extendedMaterialLoaderPlugin";
|
|
6
|
-
export { TelemetryLoaderPlugin, ILoaderPlugin, MSFTLodLoaderPlugin, ApplyMaterialConfigPlugin, ExtendedMaterialLoaderPlugin };
|
|
7
|
-
/**
|
|
8
|
-
* Get a loader plugin according to its name.
|
|
9
|
-
* The plugin will be cached and will be reused if called for again.
|
|
10
|
-
*
|
|
11
|
-
* @param name the name of the plugin
|
|
12
|
-
* @returns the plugin
|
|
13
|
-
*/
|
|
14
|
-
export declare function getLoaderPluginByName(name: string): ILoaderPlugin;
|
|
15
|
-
/**
|
|
16
|
-
* @param name
|
|
17
|
-
* @param plugin
|
|
18
|
-
*/
|
|
19
|
-
export declare function addLoaderPlugin(name: string, plugin: ILoaderPlugin): void;
|
package/loader/plugins/index.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { TelemetryLoaderPlugin } from "./telemetryLoaderPlugin.js";
|
|
2
|
-
import { MSFTLodLoaderPlugin } from "./msftLodLoaderPlugin.js";
|
|
3
|
-
import { ApplyMaterialConfigPlugin } from "./applyMaterialConfig.js";
|
|
4
|
-
import { ExtendedMaterialLoaderPlugin } from "./extendedMaterialLoaderPlugin.js";
|
|
5
|
-
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
6
|
-
var pluginCache = {};
|
|
7
|
-
export { TelemetryLoaderPlugin, MSFTLodLoaderPlugin, ApplyMaterialConfigPlugin, ExtendedMaterialLoaderPlugin };
|
|
8
|
-
/**
|
|
9
|
-
* Get a loader plugin according to its name.
|
|
10
|
-
* The plugin will be cached and will be reused if called for again.
|
|
11
|
-
*
|
|
12
|
-
* @param name the name of the plugin
|
|
13
|
-
* @returns the plugin
|
|
14
|
-
*/
|
|
15
|
-
export function getLoaderPluginByName(name) {
|
|
16
|
-
if (!pluginCache[name]) {
|
|
17
|
-
switch (name) {
|
|
18
|
-
case "telemetry":
|
|
19
|
-
pluginCache[name] = new TelemetryLoaderPlugin();
|
|
20
|
-
break;
|
|
21
|
-
case "msftLod":
|
|
22
|
-
pluginCache[name] = new MSFTLodLoaderPlugin();
|
|
23
|
-
break;
|
|
24
|
-
case "applyMaterialConfig":
|
|
25
|
-
pluginCache[name] = new ApplyMaterialConfigPlugin();
|
|
26
|
-
break;
|
|
27
|
-
case "extendedMaterial":
|
|
28
|
-
pluginCache[name] = new ExtendedMaterialLoaderPlugin();
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return pluginCache[name];
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* @param name
|
|
36
|
-
* @param plugin
|
|
37
|
-
*/
|
|
38
|
-
export function addLoaderPlugin(name, plugin) {
|
|
39
|
-
if (pluginCache[name]) {
|
|
40
|
-
Tools.Warn("Overwriting plugin with the same name - " + name);
|
|
41
|
-
}
|
|
42
|
-
pluginCache[name] = plugin;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,sCAAwB;AAExC,IAAM,WAAW,GAAqC,EAAE,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAiB,mBAAmB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,CAAC;AAE9H;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QACpB,QAAQ,IAAI,EAAE;YACV,KAAK,WAAW;gBACZ,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;gBAChD,MAAM;YACV,KAAK,SAAS;gBACV,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;gBAC9C,MAAM;YACV,KAAK,qBAAqB;gBACtB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;gBACpD,MAAM;YACV,KAAK,kBAAkB;gBACnB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;gBACvD,MAAM;SACb;KACJ;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,MAAqB;IAC/D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;QACnB,KAAK,CAAC,IAAI,CAAC,0CAA0C,GAAG,IAAI,CAAC,CAAC;KACjE;IACD,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC/B,CAAC","sourcesContent":["import { TelemetryLoaderPlugin } from \"./telemetryLoaderPlugin\";\r\nimport { ILoaderPlugin } from \"./loaderPlugin\";\r\nimport { MSFTLodLoaderPlugin } from \"./msftLodLoaderPlugin\";\r\nimport { ApplyMaterialConfigPlugin } from \"./applyMaterialConfig\";\r\nimport { ExtendedMaterialLoaderPlugin } from \"./extendedMaterialLoaderPlugin\";\r\nimport { Tools } from \"core/Misc/tools\";\r\n\r\nconst pluginCache: { [key: string]: ILoaderPlugin } = {};\r\n\r\nexport { TelemetryLoaderPlugin, ILoaderPlugin, MSFTLodLoaderPlugin, ApplyMaterialConfigPlugin, ExtendedMaterialLoaderPlugin };\r\n\r\n/**\r\n * Get a loader plugin according to its name.\r\n * The plugin will be cached and will be reused if called for again.\r\n *\r\n * @param name the name of the plugin\r\n * @returns the plugin\r\n */\r\nexport function getLoaderPluginByName(name: string) {\r\n if (!pluginCache[name]) {\r\n switch (name) {\r\n case \"telemetry\":\r\n pluginCache[name] = new TelemetryLoaderPlugin();\r\n break;\r\n case \"msftLod\":\r\n pluginCache[name] = new MSFTLodLoaderPlugin();\r\n break;\r\n case \"applyMaterialConfig\":\r\n pluginCache[name] = new ApplyMaterialConfigPlugin();\r\n break;\r\n case \"extendedMaterial\":\r\n pluginCache[name] = new ExtendedMaterialLoaderPlugin();\r\n break;\r\n }\r\n }\r\n\r\n return pluginCache[name];\r\n}\r\n\r\n/**\r\n * @param name\r\n * @param plugin\r\n */\r\nexport function addLoaderPlugin(name: string, plugin: ILoaderPlugin) {\r\n if (pluginCache[name]) {\r\n Tools.Warn(\"Overwriting plugin with the same name - \" + name);\r\n }\r\n pluginCache[name] = plugin;\r\n}\r\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { ViewerModel } from "../../model/viewerModel";
|
|
2
|
-
import type { IGLTFLoaderExtension } from "@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.js";
|
|
3
|
-
import type { IGLTFLoaderData } from "@babylonjs/loaders/glTF/glTFFileLoader.js";
|
|
4
|
-
import type { ISceneLoaderPlugin, ISceneLoaderPluginAsync, ISceneLoaderProgressEvent } from "@babylonjs/core/Loading/sceneLoader.js";
|
|
5
|
-
import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
|
|
6
|
-
import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
|
|
7
|
-
import type { Material } from "@babylonjs/core/Materials/material.js";
|
|
8
|
-
/**
|
|
9
|
-
* This interface defines the structure of a loader plugin.
|
|
10
|
-
* Any of those functions will be called if (!) the loader supports those callbacks.
|
|
11
|
-
* Any loader supports onInit, onLoaded, onError and onProgress.
|
|
12
|
-
*/
|
|
13
|
-
export interface ILoaderPlugin {
|
|
14
|
-
onInit?: (loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel) => void;
|
|
15
|
-
onLoaded?: (model: ViewerModel) => void;
|
|
16
|
-
onError?: (message: string, exception?: any) => void;
|
|
17
|
-
onProgress?: (progressEvent: ISceneLoaderProgressEvent) => void;
|
|
18
|
-
onExtensionLoaded?: (extension: IGLTFLoaderExtension) => void;
|
|
19
|
-
onParsed?: (parsedData: IGLTFLoaderData) => void;
|
|
20
|
-
onMeshLoaded?: (mesh: AbstractMesh) => void;
|
|
21
|
-
onTextureLoaded?: (texture: BaseTexture) => void;
|
|
22
|
-
onMaterialLoaded?: (material: Material) => void;
|
|
23
|
-
onComplete?: () => void;
|
|
24
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loaderPlugin.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/loaderPlugin.ts"],"names":[],"mappings":"","sourcesContent":["import type { ViewerModel } from \"../../model/viewerModel\";\r\nimport type { IGLTFLoaderExtension } from \"loaders/glTF/2.0/glTFLoaderExtension\";\r\nimport type { IGLTFLoaderData } from \"loaders/glTF/glTFFileLoader\";\r\nimport type { ISceneLoaderPlugin, ISceneLoaderPluginAsync, ISceneLoaderProgressEvent } from \"core/Loading/sceneLoader\";\r\n\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport type { Material } from \"core/Materials/material\";\r\n\r\n/**\r\n * This interface defines the structure of a loader plugin.\r\n * Any of those functions will be called if (!) the loader supports those callbacks.\r\n * Any loader supports onInit, onLoaded, onError and onProgress.\r\n */\r\nexport interface ILoaderPlugin {\r\n onInit?: (loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel) => void;\r\n onLoaded?: (model: ViewerModel) => void;\r\n onError?: (message: string, exception?: any) => void;\r\n onProgress?: (progressEvent: ISceneLoaderProgressEvent) => void;\r\n onExtensionLoaded?: (extension: IGLTFLoaderExtension) => void;\r\n onParsed?: (parsedData: IGLTFLoaderData) => void;\r\n onMeshLoaded?: (mesh: AbstractMesh) => void;\r\n onTextureLoaded?: (texture: BaseTexture) => void;\r\n onMaterialLoaded?: (material: Material) => void;\r\n onComplete?: () => void;\r\n}\r\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "@babylonjs/core/Loading/sceneLoader.js";
|
|
2
|
-
import type { IGLTFLoaderExtension } from "@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.js";
|
|
3
|
-
import type { ViewerModel } from "../../model/viewerModel";
|
|
4
|
-
import type { ILoaderPlugin } from "./loaderPlugin";
|
|
5
|
-
/**
|
|
6
|
-
* A loader plugin to use MSFT_lod extension correctly (glTF)
|
|
7
|
-
*/
|
|
8
|
-
export declare class MSFTLodLoaderPlugin implements ILoaderPlugin {
|
|
9
|
-
private _model;
|
|
10
|
-
onInit(loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel): void;
|
|
11
|
-
onExtensionLoaded(extension: IGLTFLoaderExtension): void;
|
|
12
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A loader plugin to use MSFT_lod extension correctly (glTF)
|
|
3
|
-
*/
|
|
4
|
-
var MSFTLodLoaderPlugin = /** @class */ (function () {
|
|
5
|
-
function MSFTLodLoaderPlugin() {
|
|
6
|
-
}
|
|
7
|
-
MSFTLodLoaderPlugin.prototype.onInit = function (loader, model) {
|
|
8
|
-
this._model = model;
|
|
9
|
-
};
|
|
10
|
-
MSFTLodLoaderPlugin.prototype.onExtensionLoaded = function (extension) {
|
|
11
|
-
if (extension.name === "MSFT_lod" && this._model.configuration.loaderConfiguration) {
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
13
|
-
var MSFT_lod = extension;
|
|
14
|
-
MSFT_lod.enabled = !!this._model.configuration.loaderConfiguration.progressiveLoading;
|
|
15
|
-
MSFT_lod.maxLODsToLoad = this._model.configuration.loaderConfiguration.maxLODsToLoad || Number.MAX_VALUE;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
return MSFTLodLoaderPlugin;
|
|
19
|
-
}());
|
|
20
|
-
export { MSFTLodLoaderPlugin };
|
|
21
|
-
//# sourceMappingURL=msftLodLoaderPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"msftLodLoaderPlugin.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/msftLodLoaderPlugin.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH;IAAA;IAeA,CAAC;IAZU,oCAAM,GAAb,UAAc,MAAoD,EAAE,KAAkB;QAClF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAEM,+CAAiB,GAAxB,UAAyB,SAA+B;QACpD,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,EAAE;YAChF,gEAAgE;YAChE,IAAM,QAAQ,GAAG,SAA2B,CAAC;YAC7C,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,kBAAkB,CAAC;YACtF,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC;SAC5G;IACL,CAAC;IACL,0BAAC;AAAD,CAAC,AAfD,IAeC","sourcesContent":["import type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from \"core/Loading/sceneLoader\";\r\nimport type { IGLTFLoaderExtension } from \"loaders/glTF/2.0/glTFLoaderExtension\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nimport type { GLTF2 } from \"loaders/glTF/index\";\r\nimport type { ViewerModel } from \"../../model/viewerModel\";\r\nimport type { ILoaderPlugin } from \"./loaderPlugin\";\r\n\r\n/**\r\n * A loader plugin to use MSFT_lod extension correctly (glTF)\r\n */\r\nexport class MSFTLodLoaderPlugin implements ILoaderPlugin {\r\n private _model: ViewerModel;\r\n\r\n public onInit(loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel) {\r\n this._model = model;\r\n }\r\n\r\n public onExtensionLoaded(extension: IGLTFLoaderExtension) {\r\n if (extension.name === \"MSFT_lod\" && this._model.configuration.loaderConfiguration) {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n const MSFT_lod = extension as GLTF2.MSFT_lod;\r\n MSFT_lod.enabled = !!this._model.configuration.loaderConfiguration.progressiveLoading;\r\n MSFT_lod.maxLODsToLoad = this._model.configuration.loaderConfiguration.maxLODsToLoad || Number.MAX_VALUE;\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ILoaderPlugin } from "./loaderPlugin";
|
|
2
|
-
import type { ViewerModel } from "../../model/viewerModel";
|
|
3
|
-
import type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "@babylonjs/core/Loading/sceneLoader.js";
|
|
4
|
-
export declare class TelemetryLoaderPlugin implements ILoaderPlugin {
|
|
5
|
-
private _model;
|
|
6
|
-
private _loadStart;
|
|
7
|
-
private _loadEnd;
|
|
8
|
-
onInit(loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel): void;
|
|
9
|
-
onLoaded(model: ViewerModel): void;
|
|
10
|
-
onError(): void;
|
|
11
|
-
onComplete(): void;
|
|
12
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { telemetryManager } from "../../managers/telemetryManager.js";
|
|
2
|
-
import { PrecisionDate } from "@babylonjs/core/Misc/precisionDate.js";
|
|
3
|
-
var TelemetryLoaderPlugin = /** @class */ (function () {
|
|
4
|
-
function TelemetryLoaderPlugin() {
|
|
5
|
-
}
|
|
6
|
-
TelemetryLoaderPlugin.prototype.onInit = function (loader, model) {
|
|
7
|
-
this._model = model;
|
|
8
|
-
this._loadStart = PrecisionDate.Now;
|
|
9
|
-
};
|
|
10
|
-
TelemetryLoaderPlugin.prototype.onLoaded = function (model) {
|
|
11
|
-
telemetryManager.broadcast("Model Loaded", model.getViewerId(), {
|
|
12
|
-
model: model,
|
|
13
|
-
loadTime: PrecisionDate.Now - this._loadStart,
|
|
14
|
-
});
|
|
15
|
-
telemetryManager.flushWebGLErrors(model.rootMesh.getEngine(), model.getViewerId());
|
|
16
|
-
};
|
|
17
|
-
TelemetryLoaderPlugin.prototype.onError = function () {
|
|
18
|
-
this._loadEnd = PrecisionDate.Now;
|
|
19
|
-
telemetryManager.broadcast("Load Error", this._model.getViewerId(), {
|
|
20
|
-
model: this._model,
|
|
21
|
-
loadTime: this._loadEnd - this._loadStart,
|
|
22
|
-
});
|
|
23
|
-
telemetryManager.flushWebGLErrors(this._model.rootMesh.getEngine(), this._model.getViewerId());
|
|
24
|
-
};
|
|
25
|
-
TelemetryLoaderPlugin.prototype.onComplete = function () {
|
|
26
|
-
this._loadEnd = PrecisionDate.Now;
|
|
27
|
-
telemetryManager.broadcast("Load Complete", this._model.getViewerId(), {
|
|
28
|
-
model: this._model,
|
|
29
|
-
loadTime: this._loadEnd - this._loadStart,
|
|
30
|
-
});
|
|
31
|
-
telemetryManager.flushWebGLErrors(this._model.rootMesh.getEngine(), this._model.getViewerId());
|
|
32
|
-
};
|
|
33
|
-
return TelemetryLoaderPlugin;
|
|
34
|
-
}());
|
|
35
|
-
export { TelemetryLoaderPlugin };
|
|
36
|
-
//# sourceMappingURL=telemetryLoaderPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"telemetryLoaderPlugin.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/telemetryLoaderPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,8CAAgC;AAExD;IAAA;IAsCA,CAAC;IAhCU,sCAAM,GAAb,UAAc,MAAoD,EAAE,KAAkB;QAClF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC;IACxC,CAAC;IAEM,wCAAQ,GAAf,UAAgB,KAAkB;QAC9B,gBAAgB,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE;YAC5D,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU;SAChD,CAAC,CAAC;QACH,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC;IAEM,uCAAO,GAAd;QACI,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC;QAClC,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;YAChE,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU;SAC5C,CAAC,CAAC;QAEH,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACnG,CAAC;IAEM,0CAAU,GAAjB;QACI,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC;QAClC,gBAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;YACnE,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU;SAC5C,CAAC,CAAC;QAEH,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACnG,CAAC;IACL,4BAAC;AAAD,CAAC,AAtCD,IAsCC","sourcesContent":["import type { ILoaderPlugin } from \"./loaderPlugin\";\r\nimport { telemetryManager } from \"../../managers/telemetryManager\";\r\nimport type { ViewerModel } from \"../../model/viewerModel\";\r\nimport type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from \"core/Loading/sceneLoader\";\r\nimport { PrecisionDate } from \"core/Misc/precisionDate\";\r\n\r\nexport class TelemetryLoaderPlugin implements ILoaderPlugin {\r\n private _model: ViewerModel;\r\n\r\n private _loadStart: number;\r\n private _loadEnd: number;\r\n\r\n public onInit(loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel) {\r\n this._model = model;\r\n this._loadStart = PrecisionDate.Now;\r\n }\r\n\r\n public onLoaded(model: ViewerModel) {\r\n telemetryManager.broadcast(\"Model Loaded\", model.getViewerId(), {\r\n model: model,\r\n loadTime: PrecisionDate.Now - this._loadStart,\r\n });\r\n telemetryManager.flushWebGLErrors(model.rootMesh.getEngine(), model.getViewerId());\r\n }\r\n\r\n public onError() {\r\n this._loadEnd = PrecisionDate.Now;\r\n telemetryManager.broadcast(\"Load Error\", this._model.getViewerId(), {\r\n model: this._model,\r\n loadTime: this._loadEnd - this._loadStart,\r\n });\r\n\r\n telemetryManager.flushWebGLErrors(this._model.rootMesh.getEngine(), this._model.getViewerId());\r\n }\r\n\r\n public onComplete() {\r\n this._loadEnd = PrecisionDate.Now;\r\n telemetryManager.broadcast(\"Load Complete\", this._model.getViewerId(), {\r\n model: this._model,\r\n loadTime: this._loadEnd - this._loadStart,\r\n });\r\n\r\n telemetryManager.flushWebGLErrors(this._model.rootMesh.getEngine(), this._model.getViewerId());\r\n }\r\n}\r\n"]}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
2
|
-
import type { Scene } from "@babylonjs/core/scene.js";
|
|
3
|
-
import type { Engine } from "@babylonjs/core/Engines/engine.js";
|
|
4
|
-
import type { ISceneLoaderProgressEvent, ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "@babylonjs/core/Loading/sceneLoader.js";
|
|
5
|
-
import type { ViewerModel } from "../model/viewerModel";
|
|
6
|
-
export declare class ObservablesManager {
|
|
7
|
-
/**
|
|
8
|
-
* Will notify when the scene was initialized
|
|
9
|
-
*/
|
|
10
|
-
onSceneInitObservable: Observable<Scene>;
|
|
11
|
-
/**
|
|
12
|
-
* will notify when the engine was initialized
|
|
13
|
-
*/
|
|
14
|
-
onEngineInitObservable: Observable<Engine>;
|
|
15
|
-
/**
|
|
16
|
-
* Will notify when a new model was added to the scene.
|
|
17
|
-
* Note that added does not necessarily mean loaded!
|
|
18
|
-
*/
|
|
19
|
-
onModelAddedObservable: Observable<ViewerModel>;
|
|
20
|
-
/**
|
|
21
|
-
* will notify after every model load
|
|
22
|
-
*/
|
|
23
|
-
onModelLoadedObservable: Observable<ViewerModel>;
|
|
24
|
-
/**
|
|
25
|
-
* will notify when any model notify of progress
|
|
26
|
-
*/
|
|
27
|
-
onModelLoadProgressObservable: Observable<ISceneLoaderProgressEvent>;
|
|
28
|
-
/**
|
|
29
|
-
* will notify when any model load failed.
|
|
30
|
-
*/
|
|
31
|
-
onModelLoadErrorObservable: Observable<{
|
|
32
|
-
message: string;
|
|
33
|
-
exception: any;
|
|
34
|
-
}>;
|
|
35
|
-
/**
|
|
36
|
-
* Will notify when a model was removed from the scene;
|
|
37
|
-
*/
|
|
38
|
-
onModelRemovedObservable: Observable<ViewerModel>;
|
|
39
|
-
/**
|
|
40
|
-
* will notify when a new loader was initialized.
|
|
41
|
-
* Used mainly to know when a model starts loading.
|
|
42
|
-
*/
|
|
43
|
-
onLoaderInitObservable: Observable<ISceneLoaderPlugin | ISceneLoaderPluginAsync>;
|
|
44
|
-
/**
|
|
45
|
-
* Observers registered here will be executed when the entire load process has finished.
|
|
46
|
-
*/
|
|
47
|
-
onViewerInitDoneObservable: Observable<any>;
|
|
48
|
-
/**
|
|
49
|
-
* Will notify when the viewer init started (after configuration was loaded)
|
|
50
|
-
*/
|
|
51
|
-
onViewerInitStartedObservable: Observable<any>;
|
|
52
|
-
/**
|
|
53
|
-
* Functions added to this observable will be executed on each frame rendered.
|
|
54
|
-
*/
|
|
55
|
-
onFrameRenderedObservable: Observable<any>;
|
|
56
|
-
/**
|
|
57
|
-
* Will notify when VR mode is entered.
|
|
58
|
-
*/
|
|
59
|
-
onEnteringVRObservable: Observable<any>;
|
|
60
|
-
/**
|
|
61
|
-
* Will notify when VR mode is exited.
|
|
62
|
-
*/
|
|
63
|
-
onExitingVRObservable: Observable<any>;
|
|
64
|
-
constructor();
|
|
65
|
-
dispose(): void;
|
|
66
|
-
}
|