@babylonjs/viewer 7.31.2-alpha → 7.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configuration/configuration.d.ts +107 -0
- package/configuration/configuration.js +16 -0
- package/configuration/configuration.js.map +1 -0
- package/configuration/configurationCompatibility.d.ts +8 -0
- package/configuration/configurationCompatibility.js +66 -0
- package/configuration/configurationCompatibility.js.map +1 -0
- package/configuration/configurationContainer.d.ts +10 -0
- package/configuration/configurationContainer.js +10 -0
- package/configuration/configurationContainer.js.map +1 -0
- package/configuration/globals.d.ts +6 -0
- package/configuration/globals.js +18 -0
- package/configuration/globals.js.map +1 -0
- package/configuration/index.d.ts +2 -0
- package/configuration/index.js +4 -0
- package/configuration/index.js.map +1 -0
- package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
- package/configuration/interfaces/cameraConfiguration.js +2 -0
- package/configuration/interfaces/cameraConfiguration.js.map +1 -0
- package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
- package/configuration/interfaces/colorGradingConfiguration.js +2 -0
- package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
- package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
- package/configuration/interfaces/environmentMapConfiguration.js +2 -0
- package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
- package/configuration/interfaces/groundConfiguration.d.ts +24 -0
- package/configuration/interfaces/groundConfiguration.js +2 -0
- package/configuration/interfaces/groundConfiguration.js.map +1 -0
- package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
- package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
- package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
- package/configuration/interfaces/index.d.ts +15 -0
- package/configuration/interfaces/index.js +16 -0
- package/configuration/interfaces/index.js.map +1 -0
- package/configuration/interfaces/lightConfiguration.d.ts +60 -0
- package/configuration/interfaces/lightConfiguration.js +2 -0
- package/configuration/interfaces/lightConfiguration.js.map +1 -0
- package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
- package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
- package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
- package/configuration/interfaces/modelConfiguration.d.ts +65 -0
- package/configuration/interfaces/modelConfiguration.js +2 -0
- package/configuration/interfaces/modelConfiguration.js.map +1 -0
- package/configuration/interfaces/observersConfiguration.d.ts +5 -0
- package/configuration/interfaces/observersConfiguration.js +2 -0
- package/configuration/interfaces/observersConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
- package/configuration/interfaces/sceneConfiguration.js +2 -0
- package/configuration/interfaces/sceneConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
- package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
- package/configuration/interfaces/skyboxConfiguration.js +2 -0
- package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
- package/configuration/interfaces/templateConfiguration.d.ts +67 -0
- package/configuration/interfaces/templateConfiguration.js +2 -0
- package/configuration/interfaces/templateConfiguration.js.map +1 -0
- package/configuration/interfaces/vrConfiguration.d.ts +16 -0
- package/configuration/interfaces/vrConfiguration.js +2 -0
- package/configuration/interfaces/vrConfiguration.js.map +1 -0
- package/configuration/loader.d.ts +4 -0
- package/configuration/loader.js +17 -0
- package/configuration/loader.js.map +1 -0
- package/configuration/mappers.d.ts +43 -0
- package/configuration/mappers.js +192 -0
- package/configuration/mappers.js.map +1 -0
- package/configuration/renderOnlyLoader.d.ts +33 -0
- package/configuration/renderOnlyLoader.js +162 -0
- package/configuration/renderOnlyLoader.js.map +1 -0
- package/configuration/types/default.d.ts +6 -0
- package/configuration/types/default.js +121 -0
- package/configuration/types/default.js.map +1 -0
- package/configuration/types/environmentMap.d.ts +5 -0
- package/configuration/types/environmentMap.js +14 -0
- package/configuration/types/environmentMap.js.map +1 -0
- package/configuration/types/extended.d.ts +6 -0
- package/configuration/types/extended.js +317 -0
- package/configuration/types/extended.js.map +1 -0
- package/configuration/types/index.d.ts +14 -0
- package/configuration/types/index.js +51 -0
- package/configuration/types/index.js.map +1 -0
- package/configuration/types/minimal.d.ts +6 -0
- package/configuration/types/minimal.js +43 -0
- package/configuration/types/minimal.js.map +1 -0
- package/configuration/types/renderOnlyDefault.d.ts +30 -0
- package/configuration/types/renderOnlyDefault.js +31 -0
- package/configuration/types/renderOnlyDefault.js.map +1 -0
- package/configuration/types/shadowLight.d.ts +9 -0
- package/configuration/types/shadowLight.js +64 -0
- package/configuration/types/shadowLight.js.map +1 -0
- package/helper/index.d.ts +29 -0
- package/helper/index.js +66 -0
- package/helper/index.js.map +1 -0
- package/index.d.ts +30 -0
- package/index.js +46 -0
- package/index.js.map +1 -0
- package/initializer.d.ts +11 -0
- package/initializer.js +35 -0
- package/initializer.js.map +1 -0
- package/interfaces.d.ts +5 -0
- package/interfaces.js +7 -0
- package/interfaces.js.map +1 -0
- package/labs/environmentSerializer.d.ts +126 -0
- package/labs/environmentSerializer.js +191 -0
- package/labs/environmentSerializer.js.map +1 -0
- package/labs/texture.d.ts +183 -0
- package/labs/texture.js +350 -0
- package/labs/texture.js.map +1 -0
- package/labs/viewerLabs.d.ts +51 -0
- package/labs/viewerLabs.js +134 -0
- package/labs/viewerLabs.js.map +1 -0
- package/loader/modelLoader.d.ts +56 -0
- package/loader/modelLoader.js +199 -0
- package/loader/modelLoader.js.map +1 -0
- package/loader/plugins/applyMaterialConfig.d.ts +12 -0
- package/loader/plugins/applyMaterialConfig.js +16 -0
- package/loader/plugins/applyMaterialConfig.js.map +1 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
- package/loader/plugins/index.d.ts +19 -0
- package/loader/plugins/index.js +44 -0
- package/loader/plugins/index.js.map +1 -0
- package/loader/plugins/loaderPlugin.d.ts +24 -0
- package/loader/plugins/loaderPlugin.js +2 -0
- package/loader/plugins/loaderPlugin.js.map +1 -0
- package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
- package/loader/plugins/msftLodLoaderPlugin.js +21 -0
- package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
- package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
- package/loader/plugins/telemetryLoaderPlugin.js +36 -0
- package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
- package/managers/observablesManager.d.ts +66 -0
- package/managers/observablesManager.js +35 -0
- package/managers/observablesManager.js.map +1 -0
- package/managers/sceneManager.d.ts +245 -0
- package/managers/sceneManager.js +1375 -0
- package/managers/sceneManager.js.map +1 -0
- package/managers/telemetryManager.d.ts +78 -0
- package/managers/telemetryManager.js +117 -0
- package/managers/telemetryManager.js.map +1 -0
- package/model/modelAnimation.d.ts +215 -0
- package/model/modelAnimation.js +237 -0
- package/model/modelAnimation.js.map +1 -0
- package/model/viewerModel.d.ts +233 -0
- package/model/viewerModel.js +673 -0
- package/model/viewerModel.js.map +1 -0
- package/optimizer/custom/extended.d.ts +13 -0
- package/optimizer/custom/extended.js +101 -0
- package/optimizer/custom/extended.js.map +1 -0
- package/optimizer/custom/index.d.ts +9 -0
- package/optimizer/custom/index.js +26 -0
- package/optimizer/custom/index.js.map +1 -0
- package/package.json +27 -18
- package/readme.md +21 -145
- package/renderOnlyIndex.d.ts +11 -0
- package/renderOnlyIndex.js +18 -0
- package/renderOnlyIndex.js.map +1 -0
- package/templating/eventManager.d.ts +35 -0
- package/templating/eventManager.js +66 -0
- package/templating/eventManager.js.map +1 -0
- package/templating/plugins/hdButtonPlugin.d.ts +9 -0
- package/templating/plugins/hdButtonPlugin.js +21 -0
- package/templating/plugins/hdButtonPlugin.js.map +1 -0
- package/templating/plugins/printButton.d.ts +9 -0
- package/templating/plugins/printButton.js +40 -0
- package/templating/plugins/printButton.js.map +1 -0
- package/templating/templateManager.d.ts +197 -0
- package/templating/templateManager.js +561 -0
- package/templating/templateManager.js.map +1 -0
- package/templating/viewerTemplatePlugin.d.ts +21 -0
- package/templating/viewerTemplatePlugin.js +69 -0
- package/templating/viewerTemplatePlugin.js.map +1 -0
- package/viewer/defaultViewer.d.ts +130 -0
- package/viewer/defaultViewer.js +672 -0
- package/viewer/defaultViewer.js.map +1 -0
- package/viewer/renderOnlyViewer.d.ts +9 -0
- package/viewer/renderOnlyViewer.js +46 -0
- package/viewer/renderOnlyViewer.js.map +1 -0
- package/viewer/viewer.d.ts +258 -0
- package/viewer/viewer.js +783 -0
- package/viewer/viewer.js.map +1 -0
- package/viewer/viewerManager.d.ts +58 -0
- package/viewer/viewerManager.js +91 -0
- package/viewer/viewerManager.js.map +1 -0
- package/viewer/viewerWithTemplate.d.ts +9 -0
- package/viewer/viewerWithTemplate.js +20 -0
- package/viewer/viewerWithTemplate.js.map +1 -0
- package/assets/photoStudio.env +0 -0
- package/dist/babylon-viewer.esm.js +0 -2
- package/dist/babylon-viewer.esm.js.map +0 -1
- package/dist/babylon-viewer.esm.min.js +0 -2
- package/dist/babylon-viewer.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-Bu99wg1Z.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-Bu99wg1Z.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-DPqrDbn9.esm.js +0 -172
- package/dist/chunks/EXT_lights_image_based-DPqrDbn9.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-CPBiRAdj.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-CPBiRAdj.esm.min.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-DhIDgDVg.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-DhIDgDVg.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-D_mGpseT.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-D_mGpseT.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-vbCzUEGj.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-vbCzUEGj.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BCVXrZxi.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-BCVXrZxi.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BgCdr3Jj.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-BgCdr3Jj.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-C7SZVBRt.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-C7SZVBRt.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-CUdLff6B.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-CUdLff6B.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-Bcup1Yvu.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-Bcup1Yvu.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-mhWZ5cxz.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-mhWZ5cxz.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-CG9HzgYY.esm.js +0 -343
- package/dist/chunks/KHR_animation_pointer-CG9HzgYY.esm.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-Ds9iVKW1.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-Ds9iVKW1.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-B5PdyfsM.esm.js +0 -610
- package/dist/chunks/KHR_draco_mesh_compression-B5PdyfsM.esm.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-BLmRwuRi.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-BLmRwuRi.esm.min.js.map +0 -1
- package/dist/chunks/KHR_interactivity-CtK0-uvj.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-CtK0-uvj.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-DMuDcgyC.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-DMuDcgyC.esm.min.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-BFl9FZcO.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-BFl9FZcO.esm.min.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-BpH9gcZp.esm.js +0 -1253
- package/dist/chunks/KHR_lights_punctual-BpH9gcZp.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-masLGEgT.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-masLGEgT.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-rXmfwDo1.esm.js +0 -64
- package/dist/chunks/KHR_materials_anisotropy-rXmfwDo1.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-BFN54hPf.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-BFN54hPf.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-DjV_jpZT.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-DjV_jpZT.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-BhBeIoHv.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-BhBeIoHv.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-CoQNIcsw.esm.js +0 -97
- package/dist/chunks/KHR_materials_diffuse_transmission-CoQNIcsw.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-Cprz2cPV.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-Cprz2cPV.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-DGOicDvV.esm.js +0 -62
- package/dist/chunks/KHR_materials_dispersion-DGOicDvV.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-C4_YqG8q.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-C4_YqG8q.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-W2dd4r-6.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-W2dd4r-6.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-BYU-vY5Q.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-BYU-vY5Q.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-DccpU3gD.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior-DccpU3gD.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-D0szEfE_.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-D0szEfE_.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-DmIcVACG.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-DmIcVACG.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-6Dp-wDua.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-6Dp-wDua.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-B2O4xz4s.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-B2O4xz4s.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-Bjgqqags.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-Bjgqqags.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-CQ9RWHBq.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-CQ9RWHBq.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-8OIOS29B.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-8OIOS29B.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-DGSiysaL.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-DGSiysaL.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-B95PX_5_.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-B95PX_5_.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-CKbVlHxS.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-CKbVlHxS.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-BxBOrDgv.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-BxBOrDgv.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-C37iFQd7.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-C37iFQd7.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-8noH_WpN.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-8noH_WpN.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-Du6GDv5B.esm.js +0 -238
- package/dist/chunks/KHR_materials_variants-Du6GDv5B.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-CEAHNMZ8.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-CEAHNMZ8.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-FkLUpsDT.esm.js +0 -87
- package/dist/chunks/KHR_materials_volume-FkLUpsDT.esm.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-6Xt7UB1S.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-6Xt7UB1S.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-c4wmYmTF.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-c4wmYmTF.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-8-bmR0TW.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-8-bmR0TW.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-DwTpt_z2.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-DwTpt_z2.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-BQ15bsLB.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-BQ15bsLB.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-wFFha0xp.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform-wFFha0xp.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-CeNxplLR.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-CeNxplLR.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-DhU3iBNH.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-DhU3iBNH.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-BnRYwq4E.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-BnRYwq4E.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-DkqPp6tN.esm.js +0 -2207
- package/dist/chunks/MSFT_audio_emitter-DkqPp6tN.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-BCEIzSnI.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-BCEIzSnI.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_lod-CO61R8sw.esm.js +0 -337
- package/dist/chunks/MSFT_lod-CO61R8sw.esm.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-BH3sIkON.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-BH3sIkON.esm.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-Q1BsF4PP.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-Q1BsF4PP.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-CPT3PGJ2.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-CPT3PGJ2.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-guWHOMlP.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-guWHOMlP.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-BV7aO-eR.esm.min.js +0 -2
- package/dist/chunks/animationGroup-BV7aO-eR.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-fRNxtHpE.esm.js +0 -2479
- package/dist/chunks/animationGroup-fRNxtHpE.esm.js.map +0 -1
- package/dist/chunks/assetContainer-C2D4MNHn.esm.min.js +0 -2
- package/dist/chunks/assetContainer-C2D4MNHn.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-ferB6yjl.esm.js +0 -1720
- package/dist/chunks/assetContainer-ferB6yjl.esm.js.map +0 -1
- package/dist/chunks/audioEngine-Dl13mOqb.esm.js +0 -305
- package/dist/chunks/audioEngine-Dl13mOqb.esm.js.map +0 -1
- package/dist/chunks/audioEngine-SZREW2D_.esm.min.js +0 -2
- package/dist/chunks/audioEngine-SZREW2D_.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-4aXg91oO.esm.js +0 -119
- package/dist/chunks/bakedVertexAnimation-4aXg91oO.esm.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-T3cED2HN.esm.min.js +0 -2
- package/dist/chunks/bakedVertexAnimation-T3cED2HN.esm.min.js.map +0 -1
- package/dist/chunks/basisTextureLoader-DSGQZib9.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-DSGQZib9.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-v4_o_fMz.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-v4_o_fMz.esm.min.js.map +0 -1
- package/dist/chunks/dds-CDf6Vnct.esm.min.js +0 -2
- package/dist/chunks/dds-CDf6Vnct.esm.min.js.map +0 -1
- package/dist/chunks/dds-DPWUjtZm.esm.js +0 -540
- package/dist/chunks/dds-DPWUjtZm.esm.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-B5jRVr5R.esm.js +0 -88
- package/dist/chunks/ddsTextureLoader-B5jRVr5R.esm.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-CHfJAMFs.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-CHfJAMFs.esm.min.js.map +0 -1
- package/dist/chunks/decalFragment-5zyWGFEd.esm.js +0 -18
- package/dist/chunks/decalFragment-5zyWGFEd.esm.js.map +0 -1
- package/dist/chunks/decalFragment-Cn-fVxCI.esm.min.js +0 -2
- package/dist/chunks/decalFragment-Cn-fVxCI.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-BEoLaP7_.esm.js +0 -442
- package/dist/chunks/default.fragment-BEoLaP7_.esm.js.map +0 -1
- package/dist/chunks/default.fragment-CmKg3wkR.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CmKg3wkR.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-DU5u-tKQ.esm.js +0 -505
- package/dist/chunks/default.fragment-DU5u-tKQ.esm.js.map +0 -1
- package/dist/chunks/default.fragment-JhBDSfPu.esm.min.js +0 -2
- package/dist/chunks/default.fragment-JhBDSfPu.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-CCEtWkWn.esm.min.js +0 -2
- package/dist/chunks/default.vertex-CCEtWkWn.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-DcVWTyE_.esm.js +0 -180
- package/dist/chunks/default.vertex-DcVWTyE_.esm.js.map +0 -1
- package/dist/chunks/default.vertex-uLlXP-ke.esm.min.js +0 -2
- package/dist/chunks/default.vertex-uLlXP-ke.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-vRLCIPKo.esm.js +0 -203
- package/dist/chunks/default.vertex-vRLCIPKo.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-7bWnlCRA.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-7bWnlCRA.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-Ca6N3sbv.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-Ca6N3sbv.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DVI7ADQs.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-DVI7ADQs.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-nLg0xLMZ.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-nLg0xLMZ.esm.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
- package/dist/chunks/dumpTools-CbTZsyY8.esm.js +0 -402
- package/dist/chunks/dumpTools-CbTZsyY8.esm.js.map +0 -1
- package/dist/chunks/dumpTools-D0DEZ6xo.esm.min.js +0 -2
- package/dist/chunks/dumpTools-D0DEZ6xo.esm.min.js.map +0 -1
- package/dist/chunks/engine-CJv-6a9O.esm.js +0 -2174
- package/dist/chunks/engine-CJv-6a9O.esm.js.map +0 -1
- package/dist/chunks/engine-DgducW4e.esm.min.js +0 -2
- package/dist/chunks/engine-DgducW4e.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-D2W-L46m.esm.js +0 -1088
- package/dist/chunks/engine.common-D2W-L46m.esm.js.map +0 -1
- package/dist/chunks/engine.common-D4StMtLB.esm.min.js +0 -2
- package/dist/chunks/engine.common-D4StMtLB.esm.min.js.map +0 -1
- package/dist/chunks/envTextureLoader-CJc7342v.esm.js +0 -65
- package/dist/chunks/envTextureLoader-CJc7342v.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-DSspqLXm.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-DSspqLXm.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-CORONKRA.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-CORONKRA.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-Swa-KQ-3.esm.js +0 -382
- package/dist/chunks/environmentTextureTools-Swa-KQ-3.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-B9HWungW.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-B9HWungW.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-DunbcZ7d.esm.js +0 -1682
- package/dist/chunks/exrTextureLoader-DunbcZ7d.esm.js.map +0 -1
- package/dist/chunks/fogFragment-D9mC3pbA.esm.js +0 -102
- package/dist/chunks/fogFragment-D9mC3pbA.esm.js.map +0 -1
- package/dist/chunks/fogFragment-DPTJpIWQ.esm.min.js +0 -2
- package/dist/chunks/fogFragment-DPTJpIWQ.esm.min.js.map +0 -1
- package/dist/chunks/fresnelFunction-BkCWVEkT.esm.min.js +0 -2
- package/dist/chunks/fresnelFunction-BkCWVEkT.esm.min.js.map +0 -1
- package/dist/chunks/fresnelFunction-DOIp4usQ.esm.js +0 -12
- package/dist/chunks/fresnelFunction-DOIp4usQ.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-CEI2fp2n.esm.js +0 -7577
- package/dist/chunks/glTFLoader-CEI2fp2n.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-D7VBOuzQ.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-D7VBOuzQ.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-CH7YRgX4.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-CH7YRgX4.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-vnFNXnU4.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-vnFNXnU4.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-BKRAxs8o.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-BKRAxs8o.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-CCZGF16P.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-CCZGF16P.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-DhrysKHN.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-DhrysKHN.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-QMtc217V.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-QMtc217V.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-BHz9fdTt.esm.js +0 -252
- package/dist/chunks/hdrTextureLoader-BHz9fdTt.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-BiWDXv7M.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-BiWDXv7M.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-B_X2yLxw.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-B_X2yLxw.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-BbV5qw2v.esm.js +0 -108
- package/dist/chunks/helperFunctions-BbV5qw2v.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-CIS6xTXo.esm.js +0 -80
- package/dist/chunks/helperFunctions-CIS6xTXo.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-DzZgTEml.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-DzZgTEml.esm.min.js.map +0 -1
- package/dist/chunks/index-B6NQz4kn.esm.js +0 -72142
- package/dist/chunks/index-B6NQz4kn.esm.js.map +0 -1
- package/dist/chunks/index-C7KPae9Y.esm.min.js +0 -57
- package/dist/chunks/index-C7KPae9Y.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-D40Yd5Ne.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-D40Yd5Ne.esm.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-DVCbKGMP.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-DVCbKGMP.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CiQSKcW_.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-CiQSKcW_.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-DQDUiKGd.esm.js +0 -20
- package/dist/chunks/logDepthDeclaration-DQDUiKGd.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-OAjWEnc-.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-OAjWEnc-.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-eAf-B4Qw.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-eAf-B4Qw.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-BxafEG6B.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-BxafEG6B.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-D7KN8iZ6.esm.js +0 -488
- package/dist/chunks/logDepthVertex-D7KN8iZ6.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-DAIqazpL.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-DAIqazpL.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-DAZFp6e0.esm.js +0 -77
- package/dist/chunks/logDepthVertex-DAZFp6e0.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-DPJLg27c.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-DPJLg27c.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-EiRn7D3W.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-EiRn7D3W.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-BjHe-S8d.esm.min.js +0 -2
- package/dist/chunks/meshUboDeclaration-BjHe-S8d.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-Cn3eKbmX.esm.js +0 -24
- package/dist/chunks/meshUboDeclaration-Cn3eKbmX.esm.js.map +0 -1
- package/dist/chunks/objFileLoader-BXeddthR.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-BXeddthR.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-CFEEWIIl.esm.js +0 -1338
- package/dist/chunks/objFileLoader-CFEEWIIl.esm.js.map +0 -1
- package/dist/chunks/oitFragment-BZzzm_wf.esm.min.js +0 -2
- package/dist/chunks/oitFragment-BZzzm_wf.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-Bh1KfM3D.esm.js +0 -1210
- package/dist/chunks/oitFragment-Bh1KfM3D.esm.js.map +0 -1
- package/dist/chunks/oitFragment-DU3ZNNc6.esm.js +0 -1150
- package/dist/chunks/oitFragment-DU3ZNNc6.esm.js.map +0 -1
- package/dist/chunks/oitFragment-pjH-ZH-d.esm.min.js +0 -2
- package/dist/chunks/oitFragment-pjH-ZH-d.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-Cb0i-qvg.esm.js +0 -15
- package/dist/chunks/pass.fragment-Cb0i-qvg.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-CbfJPJcn.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-CbfJPJcn.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-DdIndJNa.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-DdIndJNa.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-vN8blXbN.esm.js +0 -15
- package/dist/chunks/pass.fragment-vN8blXbN.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-C2G0ox2-.esm.js +0 -3219
- package/dist/chunks/pbr.fragment-C2G0ox2-.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-C5Mxb1ea.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-C5Mxb1ea.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-CY45SSSY.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-CY45SSSY.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-DhchzNW7.esm.js +0 -3165
- package/dist/chunks/pbr.fragment-DhchzNW7.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-BDf74Tb0.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-BDf74Tb0.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-BmJOHGPR.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-BmJOHGPR.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-DQXclaDC.esm.js +0 -338
- package/dist/chunks/pbr.vertex-DQXclaDC.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-DzFjZN2y.esm.js +0 -210
- package/dist/chunks/pbr.vertex-DzFjZN2y.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-BBl-_7dj.esm.js +0 -18
- package/dist/chunks/postprocess.vertex-BBl-_7dj.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-BClAAKy6.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-BClAAKy6.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-BkdQlwaC.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-BkdQlwaC.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-svkVyHTq.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-svkVyHTq.esm.min.js.map +0 -1
- package/dist/chunks/rawTexture-BJRhApe5.esm.min.js +0 -2
- package/dist/chunks/rawTexture-BJRhApe5.esm.min.js.map +0 -1
- package/dist/chunks/rawTexture-C35ZUbAd.esm.js +0 -191
- package/dist/chunks/rawTexture-C35ZUbAd.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-BxTniwrX.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-BxTniwrX.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-CP7qS7gr.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-CP7qS7gr.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-QYWWsGy6.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-QYWWsGy6.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-wNMR9n-P.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-wNMR9n-P.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BF77xQ1S.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-BF77xQ1S.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-Bd5-3JVl.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-Bd5-3JVl.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-DA0xtXAM.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-DA0xtXAM.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-DVi_k3Lf.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-DVi_k3Lf.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-ChunqjQD.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-ChunqjQD.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-DUr6gOOn.esm.js +0 -3807
- package/dist/chunks/splatFileLoader-DUr6gOOn.esm.js.map +0 -1
- package/dist/chunks/standardMaterial-D6jitvBE.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-D6jitvBE.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-DlHgPZIM.esm.js +0 -1798
- package/dist/chunks/standardMaterial-DlHgPZIM.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-5sUFJ7IH.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-5sUFJ7IH.esm.min.js.map +0 -1
- package/dist/chunks/stlFileLoader-DJ-BBX2A.esm.js +0 -238
- package/dist/chunks/stlFileLoader-DJ-BBX2A.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-BVwiWJsD.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-BVwiWJsD.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-DzDouJsZ.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-DzDouJsZ.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-By4xcB0c.esm.min.js +0 -2
- package/dist/chunks/thinEngine-By4xcB0c.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-CrA16gfj.esm.js +0 -3721
- package/dist/chunks/thinEngine-CrA16gfj.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-BHC7hPty.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-BHC7hPty.esm.min.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-BUQi2G1Q.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-BUQi2G1Q.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-CtCCYedT.esm.js +0 -528
- package/dist/chunks/vertexColorMixing-CtCCYedT.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-CvZive-n.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-CvZive-n.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-Bxraqzju.esm.js +0 -11214
- package/dist/chunks/webgpuEngine-Bxraqzju.esm.js.map +0 -1
- package/dist/chunks/webgpuEngine-DjPV9U5n.esm.min.js +0 -2
- package/dist/chunks/webgpuEngine-DjPV9U5n.esm.min.js.map +0 -1
- package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
- package/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 +0 -327
- package/lib/index.js +0 -1153
- package/lib/index.js.map +0 -1
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
import { aQ as Observable, br as Deferred, aL as unregisterGLTFExtension, aM as registerGLTFExtension } from './index-B6NQz4kn.esm.js';
|
|
2
|
-
import { G as GLTFLoader, A as ArrayItem } from './glTFLoader-CEI2fp2n.esm.js';
|
|
3
|
-
import './rawTexture-C35ZUbAd.esm.js';
|
|
4
|
-
import './assetContainer-ferB6yjl.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CH7YRgX4.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "MSFT_lod";
|
|
8
|
-
/**
|
|
9
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/MSFT_lod/README.md)
|
|
10
|
-
*/
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
12
|
-
class MSFT_lod {
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
constructor(loader) {
|
|
17
|
-
/**
|
|
18
|
-
* The name of this extension.
|
|
19
|
-
*/
|
|
20
|
-
this.name = NAME;
|
|
21
|
-
/**
|
|
22
|
-
* Defines a number that determines the order the extensions are applied.
|
|
23
|
-
*/
|
|
24
|
-
this.order = 100;
|
|
25
|
-
/**
|
|
26
|
-
* Maximum number of LODs to load, starting from the lowest LOD.
|
|
27
|
-
*/
|
|
28
|
-
this.maxLODsToLoad = 10;
|
|
29
|
-
/**
|
|
30
|
-
* Observable raised when all node LODs of one level are loaded.
|
|
31
|
-
* The event data is the index of the loaded LOD starting from zero.
|
|
32
|
-
* Dispose the loader to cancel the loading of the next level of LODs.
|
|
33
|
-
*/
|
|
34
|
-
this.onNodeLODsLoadedObservable = new Observable();
|
|
35
|
-
/**
|
|
36
|
-
* Observable raised when all material LODs of one level are loaded.
|
|
37
|
-
* The event data is the index of the loaded LOD starting from zero.
|
|
38
|
-
* Dispose the loader to cancel the loading of the next level of LODs.
|
|
39
|
-
*/
|
|
40
|
-
this.onMaterialLODsLoadedObservable = new Observable();
|
|
41
|
-
this._bufferLODs = new Array();
|
|
42
|
-
this._nodeIndexLOD = null;
|
|
43
|
-
this._nodeSignalLODs = new Array();
|
|
44
|
-
this._nodePromiseLODs = new Array();
|
|
45
|
-
this._nodeBufferLODs = new Array();
|
|
46
|
-
this._materialIndexLOD = null;
|
|
47
|
-
this._materialSignalLODs = new Array();
|
|
48
|
-
this._materialPromiseLODs = new Array();
|
|
49
|
-
this._materialBufferLODs = new Array();
|
|
50
|
-
this._loader = loader;
|
|
51
|
-
// Options takes precedence. The maxLODsToLoad extension property is retained for back compat.
|
|
52
|
-
// For new extensions, they should only use options.
|
|
53
|
-
this.maxLODsToLoad = this._loader.parent.extensionOptions[NAME]?.maxLODsToLoad ?? this.maxLODsToLoad;
|
|
54
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
55
|
-
}
|
|
56
|
-
/** @internal */
|
|
57
|
-
dispose() {
|
|
58
|
-
this._loader = null;
|
|
59
|
-
this._nodeIndexLOD = null;
|
|
60
|
-
this._nodeSignalLODs.length = 0;
|
|
61
|
-
this._nodePromiseLODs.length = 0;
|
|
62
|
-
this._nodeBufferLODs.length = 0;
|
|
63
|
-
this._materialIndexLOD = null;
|
|
64
|
-
this._materialSignalLODs.length = 0;
|
|
65
|
-
this._materialPromiseLODs.length = 0;
|
|
66
|
-
this._materialBufferLODs.length = 0;
|
|
67
|
-
this.onMaterialLODsLoadedObservable.clear();
|
|
68
|
-
this.onNodeLODsLoadedObservable.clear();
|
|
69
|
-
}
|
|
70
|
-
/** @internal */
|
|
71
|
-
onReady() {
|
|
72
|
-
for (let indexLOD = 0; indexLOD < this._nodePromiseLODs.length; indexLOD++) {
|
|
73
|
-
const promise = Promise.all(this._nodePromiseLODs[indexLOD]).then(() => {
|
|
74
|
-
if (indexLOD !== 0) {
|
|
75
|
-
this._loader.endPerformanceCounter(`Node LOD ${indexLOD}`);
|
|
76
|
-
this._loader.log(`Loaded node LOD ${indexLOD}`);
|
|
77
|
-
}
|
|
78
|
-
this.onNodeLODsLoadedObservable.notifyObservers(indexLOD);
|
|
79
|
-
if (indexLOD !== this._nodePromiseLODs.length - 1) {
|
|
80
|
-
this._loader.startPerformanceCounter(`Node LOD ${indexLOD + 1}`);
|
|
81
|
-
this._loadBufferLOD(this._nodeBufferLODs, indexLOD + 1);
|
|
82
|
-
if (this._nodeSignalLODs[indexLOD]) {
|
|
83
|
-
this._nodeSignalLODs[indexLOD].resolve();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
this._loader._completePromises.push(promise);
|
|
88
|
-
}
|
|
89
|
-
for (let indexLOD = 0; indexLOD < this._materialPromiseLODs.length; indexLOD++) {
|
|
90
|
-
const promise = Promise.all(this._materialPromiseLODs[indexLOD]).then(() => {
|
|
91
|
-
if (indexLOD !== 0) {
|
|
92
|
-
this._loader.endPerformanceCounter(`Material LOD ${indexLOD}`);
|
|
93
|
-
this._loader.log(`Loaded material LOD ${indexLOD}`);
|
|
94
|
-
}
|
|
95
|
-
this.onMaterialLODsLoadedObservable.notifyObservers(indexLOD);
|
|
96
|
-
if (indexLOD !== this._materialPromiseLODs.length - 1) {
|
|
97
|
-
this._loader.startPerformanceCounter(`Material LOD ${indexLOD + 1}`);
|
|
98
|
-
this._loadBufferLOD(this._materialBufferLODs, indexLOD + 1);
|
|
99
|
-
if (this._materialSignalLODs[indexLOD]) {
|
|
100
|
-
this._materialSignalLODs[indexLOD].resolve();
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
this._loader._completePromises.push(promise);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* @internal
|
|
109
|
-
*/
|
|
110
|
-
loadSceneAsync(context, scene) {
|
|
111
|
-
const promise = this._loader.loadSceneAsync(context, scene);
|
|
112
|
-
this._loadBufferLOD(this._bufferLODs, 0);
|
|
113
|
-
return promise;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* @internal
|
|
117
|
-
*/
|
|
118
|
-
loadNodeAsync(context, node, assign) {
|
|
119
|
-
return GLTFLoader.LoadExtensionAsync(context, node, this.name, (extensionContext, extension) => {
|
|
120
|
-
let firstPromise;
|
|
121
|
-
const nodeLODs = this._getLODs(extensionContext, node, this._loader.gltf.nodes, extension.ids);
|
|
122
|
-
this._loader.logOpen(`${extensionContext}`);
|
|
123
|
-
for (let indexLOD = 0; indexLOD < nodeLODs.length; indexLOD++) {
|
|
124
|
-
const nodeLOD = nodeLODs[indexLOD];
|
|
125
|
-
if (indexLOD !== 0) {
|
|
126
|
-
this._nodeIndexLOD = indexLOD;
|
|
127
|
-
this._nodeSignalLODs[indexLOD] = this._nodeSignalLODs[indexLOD] || new Deferred();
|
|
128
|
-
}
|
|
129
|
-
const assignWrap = (babylonTransformNode) => {
|
|
130
|
-
assign(babylonTransformNode);
|
|
131
|
-
babylonTransformNode.setEnabled(false);
|
|
132
|
-
};
|
|
133
|
-
const promise = this._loader.loadNodeAsync(`/nodes/${nodeLOD.index}`, nodeLOD, assignWrap).then((babylonMesh) => {
|
|
134
|
-
if (indexLOD !== 0) {
|
|
135
|
-
// TODO: should not rely on _babylonTransformNode
|
|
136
|
-
const previousNodeLOD = nodeLODs[indexLOD - 1];
|
|
137
|
-
if (previousNodeLOD._babylonTransformNode) {
|
|
138
|
-
this._disposeTransformNode(previousNodeLOD._babylonTransformNode);
|
|
139
|
-
delete previousNodeLOD._babylonTransformNode;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
babylonMesh.setEnabled(true);
|
|
143
|
-
return babylonMesh;
|
|
144
|
-
});
|
|
145
|
-
this._nodePromiseLODs[indexLOD] = this._nodePromiseLODs[indexLOD] || [];
|
|
146
|
-
if (indexLOD === 0) {
|
|
147
|
-
firstPromise = promise;
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
this._nodeIndexLOD = null;
|
|
151
|
-
this._nodePromiseLODs[indexLOD].push(promise);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
this._loader.logClose();
|
|
155
|
-
return firstPromise;
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* @internal
|
|
160
|
-
*/
|
|
161
|
-
_loadMaterialAsync(context, material, babylonMesh, babylonDrawMode, assign) {
|
|
162
|
-
// Don't load material LODs if already loading a node LOD.
|
|
163
|
-
if (this._nodeIndexLOD) {
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
|
|
167
|
-
let firstPromise;
|
|
168
|
-
const materialLODs = this._getLODs(extensionContext, material, this._loader.gltf.materials, extension.ids);
|
|
169
|
-
this._loader.logOpen(`${extensionContext}`);
|
|
170
|
-
for (let indexLOD = 0; indexLOD < materialLODs.length; indexLOD++) {
|
|
171
|
-
const materialLOD = materialLODs[indexLOD];
|
|
172
|
-
if (indexLOD !== 0) {
|
|
173
|
-
this._materialIndexLOD = indexLOD;
|
|
174
|
-
}
|
|
175
|
-
const promise = this._loader
|
|
176
|
-
._loadMaterialAsync(`/materials/${materialLOD.index}`, materialLOD, babylonMesh, babylonDrawMode, (babylonMaterial) => {
|
|
177
|
-
if (indexLOD === 0) {
|
|
178
|
-
assign(babylonMaterial);
|
|
179
|
-
}
|
|
180
|
-
})
|
|
181
|
-
.then((babylonMaterial) => {
|
|
182
|
-
if (indexLOD !== 0) {
|
|
183
|
-
assign(babylonMaterial);
|
|
184
|
-
// TODO: should not rely on _data
|
|
185
|
-
const previousDataLOD = materialLODs[indexLOD - 1]._data;
|
|
186
|
-
if (previousDataLOD[babylonDrawMode]) {
|
|
187
|
-
this._disposeMaterials([previousDataLOD[babylonDrawMode].babylonMaterial]);
|
|
188
|
-
delete previousDataLOD[babylonDrawMode];
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return babylonMaterial;
|
|
192
|
-
});
|
|
193
|
-
this._materialPromiseLODs[indexLOD] = this._materialPromiseLODs[indexLOD] || [];
|
|
194
|
-
if (indexLOD === 0) {
|
|
195
|
-
firstPromise = promise;
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
this._materialIndexLOD = null;
|
|
199
|
-
this._materialPromiseLODs[indexLOD].push(promise);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
this._loader.logClose();
|
|
203
|
-
return firstPromise;
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* @internal
|
|
208
|
-
*/
|
|
209
|
-
_loadUriAsync(context, property, uri) {
|
|
210
|
-
// Defer the loading of uris if loading a node or material LOD.
|
|
211
|
-
if (this._nodeIndexLOD !== null) {
|
|
212
|
-
this._loader.log(`deferred`);
|
|
213
|
-
const previousIndexLOD = this._nodeIndexLOD - 1;
|
|
214
|
-
this._nodeSignalLODs[previousIndexLOD] = this._nodeSignalLODs[previousIndexLOD] || new Deferred();
|
|
215
|
-
return this._nodeSignalLODs[this._nodeIndexLOD - 1].promise.then(() => {
|
|
216
|
-
return this._loader.loadUriAsync(context, property, uri);
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
else if (this._materialIndexLOD !== null) {
|
|
220
|
-
this._loader.log(`deferred`);
|
|
221
|
-
const previousIndexLOD = this._materialIndexLOD - 1;
|
|
222
|
-
this._materialSignalLODs[previousIndexLOD] = this._materialSignalLODs[previousIndexLOD] || new Deferred();
|
|
223
|
-
return this._materialSignalLODs[previousIndexLOD].promise.then(() => {
|
|
224
|
-
return this._loader.loadUriAsync(context, property, uri);
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
return null;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* @internal
|
|
231
|
-
*/
|
|
232
|
-
loadBufferAsync(context, buffer, byteOffset, byteLength) {
|
|
233
|
-
if (this._loader.parent.useRangeRequests && !buffer.uri) {
|
|
234
|
-
if (!this._loader.bin) {
|
|
235
|
-
throw new Error(`${context}: Uri is missing or the binary glTF is missing its binary chunk`);
|
|
236
|
-
}
|
|
237
|
-
const loadAsync = (bufferLODs, indexLOD) => {
|
|
238
|
-
const start = byteOffset;
|
|
239
|
-
const end = start + byteLength - 1;
|
|
240
|
-
let bufferLOD = bufferLODs[indexLOD];
|
|
241
|
-
if (bufferLOD) {
|
|
242
|
-
bufferLOD.start = Math.min(bufferLOD.start, start);
|
|
243
|
-
bufferLOD.end = Math.max(bufferLOD.end, end);
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
bufferLOD = { start: start, end: end, loaded: new Deferred() };
|
|
247
|
-
bufferLODs[indexLOD] = bufferLOD;
|
|
248
|
-
}
|
|
249
|
-
return bufferLOD.loaded.promise.then((data) => {
|
|
250
|
-
return new Uint8Array(data.buffer, data.byteOffset + byteOffset - bufferLOD.start, byteLength);
|
|
251
|
-
});
|
|
252
|
-
};
|
|
253
|
-
this._loader.log(`deferred`);
|
|
254
|
-
if (this._nodeIndexLOD !== null) {
|
|
255
|
-
return loadAsync(this._nodeBufferLODs, this._nodeIndexLOD);
|
|
256
|
-
}
|
|
257
|
-
else if (this._materialIndexLOD !== null) {
|
|
258
|
-
return loadAsync(this._materialBufferLODs, this._materialIndexLOD);
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
return loadAsync(this._bufferLODs, 0);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
return null;
|
|
265
|
-
}
|
|
266
|
-
_loadBufferLOD(bufferLODs, indexLOD) {
|
|
267
|
-
const bufferLOD = bufferLODs[indexLOD];
|
|
268
|
-
if (bufferLOD) {
|
|
269
|
-
this._loader.log(`Loading buffer range [${bufferLOD.start}-${bufferLOD.end}]`);
|
|
270
|
-
this._loader.bin.readAsync(bufferLOD.start, bufferLOD.end - bufferLOD.start + 1).then((data) => {
|
|
271
|
-
bufferLOD.loaded.resolve(data);
|
|
272
|
-
}, (error) => {
|
|
273
|
-
bufferLOD.loaded.reject(error);
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* @returns an array of LOD properties from lowest to highest.
|
|
279
|
-
* @param context
|
|
280
|
-
* @param property
|
|
281
|
-
* @param array
|
|
282
|
-
* @param ids
|
|
283
|
-
*/
|
|
284
|
-
_getLODs(context, property, array, ids) {
|
|
285
|
-
if (this.maxLODsToLoad <= 0) {
|
|
286
|
-
throw new Error("maxLODsToLoad must be greater than zero");
|
|
287
|
-
}
|
|
288
|
-
const properties = [];
|
|
289
|
-
for (let i = ids.length - 1; i >= 0; i--) {
|
|
290
|
-
properties.push(ArrayItem.Get(`${context}/ids/${ids[i]}`, array, ids[i]));
|
|
291
|
-
if (properties.length === this.maxLODsToLoad) {
|
|
292
|
-
return properties;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
properties.push(property);
|
|
296
|
-
return properties;
|
|
297
|
-
}
|
|
298
|
-
_disposeTransformNode(babylonTransformNode) {
|
|
299
|
-
const babylonMaterials = [];
|
|
300
|
-
const babylonMaterial = babylonTransformNode.material;
|
|
301
|
-
if (babylonMaterial) {
|
|
302
|
-
babylonMaterials.push(babylonMaterial);
|
|
303
|
-
}
|
|
304
|
-
for (const babylonMesh of babylonTransformNode.getChildMeshes()) {
|
|
305
|
-
if (babylonMesh.material) {
|
|
306
|
-
babylonMaterials.push(babylonMesh.material);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
babylonTransformNode.dispose();
|
|
310
|
-
const babylonMaterialsToDispose = babylonMaterials.filter((babylonMaterial) => this._loader.babylonScene.meshes.every((mesh) => mesh.material != babylonMaterial));
|
|
311
|
-
this._disposeMaterials(babylonMaterialsToDispose);
|
|
312
|
-
}
|
|
313
|
-
_disposeMaterials(babylonMaterials) {
|
|
314
|
-
const babylonTextures = {};
|
|
315
|
-
for (const babylonMaterial of babylonMaterials) {
|
|
316
|
-
for (const babylonTexture of babylonMaterial.getActiveTextures()) {
|
|
317
|
-
babylonTextures[babylonTexture.uniqueId] = babylonTexture;
|
|
318
|
-
}
|
|
319
|
-
babylonMaterial.dispose();
|
|
320
|
-
}
|
|
321
|
-
for (const uniqueId in babylonTextures) {
|
|
322
|
-
for (const babylonMaterial of this._loader.babylonScene.materials) {
|
|
323
|
-
if (babylonMaterial.hasTexture(babylonTextures[uniqueId])) {
|
|
324
|
-
delete babylonTextures[uniqueId];
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
for (const uniqueId in babylonTextures) {
|
|
329
|
-
babylonTextures[uniqueId].dispose();
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
unregisterGLTFExtension(NAME);
|
|
334
|
-
registerGLTFExtension(NAME, true, (loader) => new MSFT_lod(loader));
|
|
335
|
-
|
|
336
|
-
export { MSFT_lod };
|
|
337
|
-
//# sourceMappingURL=MSFT_lod-CO61R8sw.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_lod-CO61R8sw.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_lod.js"],"sourcesContent":["import { Observable } from \"core/Misc/observable\";\nimport { Deferred } from \"core/Misc/deferred\";\nimport { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_lod\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/MSFT_lod/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_lod {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 100;\n /**\n * Maximum number of LODs to load, starting from the lowest LOD.\n */\n this.maxLODsToLoad = 10;\n /**\n * Observable raised when all node LODs of one level are loaded.\n * The event data is the index of the loaded LOD starting from zero.\n * Dispose the loader to cancel the loading of the next level of LODs.\n */\n this.onNodeLODsLoadedObservable = new Observable();\n /**\n * Observable raised when all material LODs of one level are loaded.\n * The event data is the index of the loaded LOD starting from zero.\n * Dispose the loader to cancel the loading of the next level of LODs.\n */\n this.onMaterialLODsLoadedObservable = new Observable();\n this._bufferLODs = new Array();\n this._nodeIndexLOD = null;\n this._nodeSignalLODs = new Array();\n this._nodePromiseLODs = new Array();\n this._nodeBufferLODs = new Array();\n this._materialIndexLOD = null;\n this._materialSignalLODs = new Array();\n this._materialPromiseLODs = new Array();\n this._materialBufferLODs = new Array();\n this._loader = loader;\n // Options takes precedence. The maxLODsToLoad extension property is retained for back compat.\n // For new extensions, they should only use options.\n this.maxLODsToLoad = this._loader.parent.extensionOptions[NAME]?.maxLODsToLoad ?? this.maxLODsToLoad;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n this._nodeIndexLOD = null;\n this._nodeSignalLODs.length = 0;\n this._nodePromiseLODs.length = 0;\n this._nodeBufferLODs.length = 0;\n this._materialIndexLOD = null;\n this._materialSignalLODs.length = 0;\n this._materialPromiseLODs.length = 0;\n this._materialBufferLODs.length = 0;\n this.onMaterialLODsLoadedObservable.clear();\n this.onNodeLODsLoadedObservable.clear();\n }\n /** @internal */\n onReady() {\n for (let indexLOD = 0; indexLOD < this._nodePromiseLODs.length; indexLOD++) {\n const promise = Promise.all(this._nodePromiseLODs[indexLOD]).then(() => {\n if (indexLOD !== 0) {\n this._loader.endPerformanceCounter(`Node LOD ${indexLOD}`);\n this._loader.log(`Loaded node LOD ${indexLOD}`);\n }\n this.onNodeLODsLoadedObservable.notifyObservers(indexLOD);\n if (indexLOD !== this._nodePromiseLODs.length - 1) {\n this._loader.startPerformanceCounter(`Node LOD ${indexLOD + 1}`);\n this._loadBufferLOD(this._nodeBufferLODs, indexLOD + 1);\n if (this._nodeSignalLODs[indexLOD]) {\n this._nodeSignalLODs[indexLOD].resolve();\n }\n }\n });\n this._loader._completePromises.push(promise);\n }\n for (let indexLOD = 0; indexLOD < this._materialPromiseLODs.length; indexLOD++) {\n const promise = Promise.all(this._materialPromiseLODs[indexLOD]).then(() => {\n if (indexLOD !== 0) {\n this._loader.endPerformanceCounter(`Material LOD ${indexLOD}`);\n this._loader.log(`Loaded material LOD ${indexLOD}`);\n }\n this.onMaterialLODsLoadedObservable.notifyObservers(indexLOD);\n if (indexLOD !== this._materialPromiseLODs.length - 1) {\n this._loader.startPerformanceCounter(`Material LOD ${indexLOD + 1}`);\n this._loadBufferLOD(this._materialBufferLODs, indexLOD + 1);\n if (this._materialSignalLODs[indexLOD]) {\n this._materialSignalLODs[indexLOD].resolve();\n }\n }\n });\n this._loader._completePromises.push(promise);\n }\n }\n /**\n * @internal\n */\n loadSceneAsync(context, scene) {\n const promise = this._loader.loadSceneAsync(context, scene);\n this._loadBufferLOD(this._bufferLODs, 0);\n return promise;\n }\n /**\n * @internal\n */\n loadNodeAsync(context, node, assign) {\n return GLTFLoader.LoadExtensionAsync(context, node, this.name, (extensionContext, extension) => {\n let firstPromise;\n const nodeLODs = this._getLODs(extensionContext, node, this._loader.gltf.nodes, extension.ids);\n this._loader.logOpen(`${extensionContext}`);\n for (let indexLOD = 0; indexLOD < nodeLODs.length; indexLOD++) {\n const nodeLOD = nodeLODs[indexLOD];\n if (indexLOD !== 0) {\n this._nodeIndexLOD = indexLOD;\n this._nodeSignalLODs[indexLOD] = this._nodeSignalLODs[indexLOD] || new Deferred();\n }\n const assignWrap = (babylonTransformNode) => {\n assign(babylonTransformNode);\n babylonTransformNode.setEnabled(false);\n };\n const promise = this._loader.loadNodeAsync(`/nodes/${nodeLOD.index}`, nodeLOD, assignWrap).then((babylonMesh) => {\n if (indexLOD !== 0) {\n // TODO: should not rely on _babylonTransformNode\n const previousNodeLOD = nodeLODs[indexLOD - 1];\n if (previousNodeLOD._babylonTransformNode) {\n this._disposeTransformNode(previousNodeLOD._babylonTransformNode);\n delete previousNodeLOD._babylonTransformNode;\n }\n }\n babylonMesh.setEnabled(true);\n return babylonMesh;\n });\n this._nodePromiseLODs[indexLOD] = this._nodePromiseLODs[indexLOD] || [];\n if (indexLOD === 0) {\n firstPromise = promise;\n }\n else {\n this._nodeIndexLOD = null;\n this._nodePromiseLODs[indexLOD].push(promise);\n }\n }\n this._loader.logClose();\n return firstPromise;\n });\n }\n /**\n * @internal\n */\n _loadMaterialAsync(context, material, babylonMesh, babylonDrawMode, assign) {\n // Don't load material LODs if already loading a node LOD.\n if (this._nodeIndexLOD) {\n return null;\n }\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n let firstPromise;\n const materialLODs = this._getLODs(extensionContext, material, this._loader.gltf.materials, extension.ids);\n this._loader.logOpen(`${extensionContext}`);\n for (let indexLOD = 0; indexLOD < materialLODs.length; indexLOD++) {\n const materialLOD = materialLODs[indexLOD];\n if (indexLOD !== 0) {\n this._materialIndexLOD = indexLOD;\n }\n const promise = this._loader\n ._loadMaterialAsync(`/materials/${materialLOD.index}`, materialLOD, babylonMesh, babylonDrawMode, (babylonMaterial) => {\n if (indexLOD === 0) {\n assign(babylonMaterial);\n }\n })\n .then((babylonMaterial) => {\n if (indexLOD !== 0) {\n assign(babylonMaterial);\n // TODO: should not rely on _data\n const previousDataLOD = materialLODs[indexLOD - 1]._data;\n if (previousDataLOD[babylonDrawMode]) {\n this._disposeMaterials([previousDataLOD[babylonDrawMode].babylonMaterial]);\n delete previousDataLOD[babylonDrawMode];\n }\n }\n return babylonMaterial;\n });\n this._materialPromiseLODs[indexLOD] = this._materialPromiseLODs[indexLOD] || [];\n if (indexLOD === 0) {\n firstPromise = promise;\n }\n else {\n this._materialIndexLOD = null;\n this._materialPromiseLODs[indexLOD].push(promise);\n }\n }\n this._loader.logClose();\n return firstPromise;\n });\n }\n /**\n * @internal\n */\n _loadUriAsync(context, property, uri) {\n // Defer the loading of uris if loading a node or material LOD.\n if (this._nodeIndexLOD !== null) {\n this._loader.log(`deferred`);\n const previousIndexLOD = this._nodeIndexLOD - 1;\n this._nodeSignalLODs[previousIndexLOD] = this._nodeSignalLODs[previousIndexLOD] || new Deferred();\n return this._nodeSignalLODs[this._nodeIndexLOD - 1].promise.then(() => {\n return this._loader.loadUriAsync(context, property, uri);\n });\n }\n else if (this._materialIndexLOD !== null) {\n this._loader.log(`deferred`);\n const previousIndexLOD = this._materialIndexLOD - 1;\n this._materialSignalLODs[previousIndexLOD] = this._materialSignalLODs[previousIndexLOD] || new Deferred();\n return this._materialSignalLODs[previousIndexLOD].promise.then(() => {\n return this._loader.loadUriAsync(context, property, uri);\n });\n }\n return null;\n }\n /**\n * @internal\n */\n loadBufferAsync(context, buffer, byteOffset, byteLength) {\n if (this._loader.parent.useRangeRequests && !buffer.uri) {\n if (!this._loader.bin) {\n throw new Error(`${context}: Uri is missing or the binary glTF is missing its binary chunk`);\n }\n const loadAsync = (bufferLODs, indexLOD) => {\n const start = byteOffset;\n const end = start + byteLength - 1;\n let bufferLOD = bufferLODs[indexLOD];\n if (bufferLOD) {\n bufferLOD.start = Math.min(bufferLOD.start, start);\n bufferLOD.end = Math.max(bufferLOD.end, end);\n }\n else {\n bufferLOD = { start: start, end: end, loaded: new Deferred() };\n bufferLODs[indexLOD] = bufferLOD;\n }\n return bufferLOD.loaded.promise.then((data) => {\n return new Uint8Array(data.buffer, data.byteOffset + byteOffset - bufferLOD.start, byteLength);\n });\n };\n this._loader.log(`deferred`);\n if (this._nodeIndexLOD !== null) {\n return loadAsync(this._nodeBufferLODs, this._nodeIndexLOD);\n }\n else if (this._materialIndexLOD !== null) {\n return loadAsync(this._materialBufferLODs, this._materialIndexLOD);\n }\n else {\n return loadAsync(this._bufferLODs, 0);\n }\n }\n return null;\n }\n _loadBufferLOD(bufferLODs, indexLOD) {\n const bufferLOD = bufferLODs[indexLOD];\n if (bufferLOD) {\n this._loader.log(`Loading buffer range [${bufferLOD.start}-${bufferLOD.end}]`);\n this._loader.bin.readAsync(bufferLOD.start, bufferLOD.end - bufferLOD.start + 1).then((data) => {\n bufferLOD.loaded.resolve(data);\n }, (error) => {\n bufferLOD.loaded.reject(error);\n });\n }\n }\n /**\n * @returns an array of LOD properties from lowest to highest.\n * @param context\n * @param property\n * @param array\n * @param ids\n */\n _getLODs(context, property, array, ids) {\n if (this.maxLODsToLoad <= 0) {\n throw new Error(\"maxLODsToLoad must be greater than zero\");\n }\n const properties = [];\n for (let i = ids.length - 1; i >= 0; i--) {\n properties.push(ArrayItem.Get(`${context}/ids/${ids[i]}`, array, ids[i]));\n if (properties.length === this.maxLODsToLoad) {\n return properties;\n }\n }\n properties.push(property);\n return properties;\n }\n _disposeTransformNode(babylonTransformNode) {\n const babylonMaterials = [];\n const babylonMaterial = babylonTransformNode.material;\n if (babylonMaterial) {\n babylonMaterials.push(babylonMaterial);\n }\n for (const babylonMesh of babylonTransformNode.getChildMeshes()) {\n if (babylonMesh.material) {\n babylonMaterials.push(babylonMesh.material);\n }\n }\n babylonTransformNode.dispose();\n const babylonMaterialsToDispose = babylonMaterials.filter((babylonMaterial) => this._loader.babylonScene.meshes.every((mesh) => mesh.material != babylonMaterial));\n this._disposeMaterials(babylonMaterialsToDispose);\n }\n _disposeMaterials(babylonMaterials) {\n const babylonTextures = {};\n for (const babylonMaterial of babylonMaterials) {\n for (const babylonTexture of babylonMaterial.getActiveTextures()) {\n babylonTextures[babylonTexture.uniqueId] = babylonTexture;\n }\n babylonMaterial.dispose();\n }\n for (const uniqueId in babylonTextures) {\n for (const babylonMaterial of this._loader.babylonScene.materials) {\n if (babylonMaterial.hasTexture(babylonTextures[uniqueId])) {\n delete babylonTextures[uniqueId];\n }\n }\n }\n for (const uniqueId in babylonTextures) {\n babylonTextures[uniqueId].dispose();\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_lod(loader));\n//# sourceMappingURL=MSFT_lod.js.map"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { aX as PBRMaterial, aL as unregisterGLTFExtension, aM as registerGLTFExtension } from './index-B6NQz4kn.esm.js';
|
|
2
|
-
import { G as GLTFLoader } from './glTFLoader-CEI2fp2n.esm.js';
|
|
3
|
-
import './rawTexture-C35ZUbAd.esm.js';
|
|
4
|
-
import './assetContainer-ferB6yjl.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CH7YRgX4.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "MSFT_minecraftMesh";
|
|
8
|
-
/** @internal */
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
10
|
-
class MSFT_minecraftMesh {
|
|
11
|
-
/** @internal */
|
|
12
|
-
constructor(loader) {
|
|
13
|
-
/** @internal */
|
|
14
|
-
this.name = NAME;
|
|
15
|
-
this._loader = loader;
|
|
16
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
17
|
-
}
|
|
18
|
-
/** @internal */
|
|
19
|
-
dispose() {
|
|
20
|
-
this._loader = null;
|
|
21
|
-
}
|
|
22
|
-
/** @internal */
|
|
23
|
-
loadMaterialPropertiesAsync(context, material, babylonMaterial) {
|
|
24
|
-
return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {
|
|
25
|
-
if (extra) {
|
|
26
|
-
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
27
|
-
throw new Error(`${extraContext}: Material type not supported`);
|
|
28
|
-
}
|
|
29
|
-
const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);
|
|
30
|
-
if (babylonMaterial.needAlphaBlending()) {
|
|
31
|
-
babylonMaterial.forceDepthWrite = true;
|
|
32
|
-
babylonMaterial.separateCullingPass = true;
|
|
33
|
-
}
|
|
34
|
-
babylonMaterial.backFaceCulling = babylonMaterial.forceDepthWrite;
|
|
35
|
-
babylonMaterial.twoSidedLighting = true;
|
|
36
|
-
return promise;
|
|
37
|
-
}
|
|
38
|
-
return null;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
unregisterGLTFExtension(NAME);
|
|
43
|
-
registerGLTFExtension(NAME, true, (loader) => new MSFT_minecraftMesh(loader));
|
|
44
|
-
|
|
45
|
-
export { MSFT_minecraftMesh };
|
|
46
|
-
//# sourceMappingURL=MSFT_minecraftMesh-BH3sIkON.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_minecraftMesh-BH3sIkON.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_minecraftMesh.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_minecraftMesh\";\n/** @internal */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_minecraftMesh {\n /** @internal */\n constructor(loader) {\n /** @internal */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /** @internal */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {\n if (extra) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${extraContext}: Material type not supported`);\n }\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\n if (babylonMaterial.needAlphaBlending()) {\n babylonMaterial.forceDepthWrite = true;\n babylonMaterial.separateCullingPass = true;\n }\n babylonMaterial.backFaceCulling = babylonMaterial.forceDepthWrite;\n babylonMaterial.twoSidedLighting = true;\n return promise;\n }\n return null;\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_minecraftMesh(loader));\n//# sourceMappingURL=MSFT_minecraftMesh.js.map"],"names":[],"mappings":";;;;;;AAGA,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC;AACA;AACO,MAAM,kBAAkB,CAAC;AAChC;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AACpE,QAAQ,OAAO,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK;AAChG,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,IAAI,EAAE,eAAe,YAAY,WAAW,CAAC,EAAE;AAC/D,oBAAoB,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,6BAA6B,CAAC,CAAC,CAAC;AACpF,iBAAiB;AACjB,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC7G,gBAAgB,IAAI,eAAe,CAAC,iBAAiB,EAAE,EAAE;AACzD,oBAAoB,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC;AAC3D,oBAAoB,eAAe,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAC/D,iBAAiB;AACjB,gBAAgB,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;AAClF,gBAAgB,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACxD,gBAAgB,OAAO,OAAO,CAAC;AAC/B,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aX as e,aL as r,aM as s}from"./index-C7KPae9Y.esm.min.js";import{G as t}from"./glTFLoader-D7VBOuzQ.esm.min.js";import"./rawTexture-BJRhApe5.esm.min.js";import"./assetContainer-C2D4MNHn.esm.min.js";import"./glTFLoaderAnimation-vnFNXnU4.esm.min.js";const i="MSFT_minecraftMesh";class a{constructor(e){this.name=i,this._loader=e,this.enabled=this._loader.isExtensionUsed(i)}dispose(){this._loader=null}loadMaterialPropertiesAsync(r,s,i){return t.LoadExtraAsync(r,s,this.name,((t,a)=>{if(a){if(!(i instanceof e))throw new Error(`${t}: Material type not supported`);const a=this._loader.loadMaterialPropertiesAsync(r,s,i);return i.needAlphaBlending()&&(i.forceDepthWrite=!0,i.separateCullingPass=!0),i.backFaceCulling=i.forceDepthWrite,i.twoSidedLighting=!0,a}return null}))}}r(i),s(i,!0,(e=>new a(e)));export{a as MSFT_minecraftMesh};
|
|
2
|
-
//# sourceMappingURL=MSFT_minecraftMesh-Q1BsF4PP.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_minecraftMesh-Q1BsF4PP.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_minecraftMesh.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_minecraftMesh\";\n/** @internal */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_minecraftMesh {\n /** @internal */\n constructor(loader) {\n /** @internal */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /** @internal */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {\n if (extra) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${extraContext}: Material type not supported`);\n }\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\n if (babylonMaterial.needAlphaBlending()) {\n babylonMaterial.forceDepthWrite = true;\n babylonMaterial.separateCullingPass = true;\n }\n babylonMaterial.backFaceCulling = babylonMaterial.forceDepthWrite;\n babylonMaterial.twoSidedLighting = true;\n return promise;\n }\n return null;\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_minecraftMesh(loader));\n//# sourceMappingURL=MSFT_minecraftMesh.js.map"],"names":["NAME","MSFT_minecraftMesh","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtraAsync","extraContext","extra","PBRMaterial","Error","promise","needAlphaBlending","forceDepthWrite","separateCullingPass","backFaceCulling","twoSidedLighting","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"8PAGA,MAAMA,EAAO,qBAGN,MAAMC,EAET,WAAAC,CAAYC,GAERC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EACfC,KAAKG,QAAUH,KAAKE,QAAQE,gBAAgBR,EAC/C,CAED,OAAAS,GACIL,KAAKE,QAAU,IAClB,CAED,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,eAAeJ,EAASC,EAAUR,KAAKC,MAAM,CAACW,EAAcC,KAC1E,GAAIA,EAAO,CACP,KAAMJ,aAA2BK,GAC7B,MAAM,IAAIC,MAAM,GAAGH,kCAEvB,MAAMI,EAAUhB,KAAKE,QAAQI,4BAA4BC,EAASC,EAAUC,GAO5E,OANIA,EAAgBQ,sBAChBR,EAAgBS,iBAAkB,EAClCT,EAAgBU,qBAAsB,GAE1CV,EAAgBW,gBAAkBX,EAAgBS,gBAClDT,EAAgBY,kBAAmB,EAC5BL,CACV,CACD,OAAO,IAAI,GAElB,EAELM,EAAwB1B,GACxB2B,EAAsB3B,GAAM,GAAOG,GAAW,IAAIF,EAAmBE"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { aX as PBRMaterial, aL as unregisterGLTFExtension, aM as registerGLTFExtension } from './index-B6NQz4kn.esm.js';
|
|
2
|
-
import { G as GLTFLoader } from './glTFLoader-CEI2fp2n.esm.js';
|
|
3
|
-
import './rawTexture-C35ZUbAd.esm.js';
|
|
4
|
-
import './assetContainer-ferB6yjl.esm.js';
|
|
5
|
-
import './glTFLoaderAnimation-CH7YRgX4.esm.js';
|
|
6
|
-
|
|
7
|
-
const NAME = "MSFT_sRGBFactors";
|
|
8
|
-
/** @internal */
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
10
|
-
class MSFT_sRGBFactors {
|
|
11
|
-
/** @internal */
|
|
12
|
-
constructor(loader) {
|
|
13
|
-
/** @internal */
|
|
14
|
-
this.name = NAME;
|
|
15
|
-
this._loader = loader;
|
|
16
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
|
17
|
-
}
|
|
18
|
-
/** @internal */
|
|
19
|
-
dispose() {
|
|
20
|
-
this._loader = null;
|
|
21
|
-
}
|
|
22
|
-
/** @internal */
|
|
23
|
-
loadMaterialPropertiesAsync(context, material, babylonMaterial) {
|
|
24
|
-
return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {
|
|
25
|
-
if (extra) {
|
|
26
|
-
if (!(babylonMaterial instanceof PBRMaterial)) {
|
|
27
|
-
throw new Error(`${extraContext}: Material type not supported`);
|
|
28
|
-
}
|
|
29
|
-
const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);
|
|
30
|
-
const useExactSrgbConversions = babylonMaterial.getScene().getEngine().useExactSrgbConversions;
|
|
31
|
-
if (!babylonMaterial.albedoTexture) {
|
|
32
|
-
babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor, useExactSrgbConversions);
|
|
33
|
-
}
|
|
34
|
-
if (!babylonMaterial.reflectivityTexture) {
|
|
35
|
-
babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor, useExactSrgbConversions);
|
|
36
|
-
}
|
|
37
|
-
return promise;
|
|
38
|
-
}
|
|
39
|
-
return null;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
unregisterGLTFExtension(NAME);
|
|
44
|
-
registerGLTFExtension(NAME, true, (loader) => new MSFT_sRGBFactors(loader));
|
|
45
|
-
|
|
46
|
-
export { MSFT_sRGBFactors };
|
|
47
|
-
//# sourceMappingURL=MSFT_sRGBFactors-CPT3PGJ2.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_sRGBFactors-CPT3PGJ2.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_sRGBFactors.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_sRGBFactors\";\n/** @internal */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_sRGBFactors {\n /** @internal */\n constructor(loader) {\n /** @internal */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /** @internal */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {\n if (extra) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${extraContext}: Material type not supported`);\n }\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\n const useExactSrgbConversions = babylonMaterial.getScene().getEngine().useExactSrgbConversions;\n if (!babylonMaterial.albedoTexture) {\n babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor, useExactSrgbConversions);\n }\n if (!babylonMaterial.reflectivityTexture) {\n babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor, useExactSrgbConversions);\n }\n return promise;\n }\n return null;\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_sRGBFactors(loader));\n//# sourceMappingURL=MSFT_sRGBFactors.js.map"],"names":[],"mappings":";;;;;;AAGA,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAChC;AACA;AACO,MAAM,gBAAgB,CAAC;AAC9B;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,KAAK;AACL;AACA,IAAI,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AACpE,QAAQ,OAAO,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,KAAK,KAAK;AAChG,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,IAAI,EAAE,eAAe,YAAY,WAAW,CAAC,EAAE;AAC/D,oBAAoB,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,6BAA6B,CAAC,CAAC,CAAC;AACpF,iBAAiB;AACjB,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC7G,gBAAgB,MAAM,uBAAuB,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,uBAAuB,CAAC;AAC/G,gBAAgB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;AACpD,oBAAoB,eAAe,CAAC,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzH,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE;AAC1D,oBAAoB,eAAe,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;AACrI,iBAAiB;AACjB,gBAAgB,OAAO,OAAO,CAAC;AAC/B,aAAa;AACb,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aX as e,aL as r,aM as o}from"./index-C7KPae9Y.esm.min.js";import{G as t}from"./glTFLoader-D7VBOuzQ.esm.min.js";import"./rawTexture-BJRhApe5.esm.min.js";import"./assetContainer-C2D4MNHn.esm.min.js";import"./glTFLoaderAnimation-vnFNXnU4.esm.min.js";const s="MSFT_sRGBFactors";class i{constructor(e){this.name=s,this._loader=e,this.enabled=this._loader.isExtensionUsed(s)}dispose(){this._loader=null}loadMaterialPropertiesAsync(r,o,s){return t.LoadExtraAsync(r,o,this.name,((t,i)=>{if(i){if(!(s instanceof e))throw new Error(`${t}: Material type not supported`);const i=this._loader.loadMaterialPropertiesAsync(r,o,s),a=s.getScene().getEngine().useExactSrgbConversions;return s.albedoTexture||s.albedoColor.toLinearSpaceToRef(s.albedoColor,a),s.reflectivityTexture||s.reflectivityColor.toLinearSpaceToRef(s.reflectivityColor,a),i}return null}))}}r(s),o(s,!0,(e=>new i(e)));export{i as MSFT_sRGBFactors};
|
|
2
|
-
//# sourceMappingURL=MSFT_sRGBFactors-guWHOMlP.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MSFT_sRGBFactors-guWHOMlP.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/MSFT_sRGBFactors.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"MSFT_sRGBFactors\";\n/** @internal */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class MSFT_sRGBFactors {\n /** @internal */\n constructor(loader) {\n /** @internal */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /** @internal */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {\n if (extra) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${extraContext}: Material type not supported`);\n }\n const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);\n const useExactSrgbConversions = babylonMaterial.getScene().getEngine().useExactSrgbConversions;\n if (!babylonMaterial.albedoTexture) {\n babylonMaterial.albedoColor.toLinearSpaceToRef(babylonMaterial.albedoColor, useExactSrgbConversions);\n }\n if (!babylonMaterial.reflectivityTexture) {\n babylonMaterial.reflectivityColor.toLinearSpaceToRef(babylonMaterial.reflectivityColor, useExactSrgbConversions);\n }\n return promise;\n }\n return null;\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new MSFT_sRGBFactors(loader));\n//# sourceMappingURL=MSFT_sRGBFactors.js.map"],"names":["NAME","MSFT_sRGBFactors","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtraAsync","extraContext","extra","PBRMaterial","Error","promise","useExactSrgbConversions","getScene","getEngine","albedoTexture","albedoColor","toLinearSpaceToRef","reflectivityTexture","reflectivityColor","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"8PAGA,MAAMA,EAAO,mBAGN,MAAMC,EAET,WAAAC,CAAYC,GAERC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EACfC,KAAKG,QAAUH,KAAKE,QAAQE,gBAAgBR,EAC/C,CAED,OAAAS,GACIL,KAAKE,QAAU,IAClB,CAED,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,eAAeJ,EAASC,EAAUR,KAAKC,MAAM,CAACW,EAAcC,KAC1E,GAAIA,EAAO,CACP,KAAMJ,aAA2BK,GAC7B,MAAM,IAAIC,MAAM,GAAGH,kCAEvB,MAAMI,EAAUhB,KAAKE,QAAQI,4BAA4BC,EAASC,EAAUC,GACtEQ,EAA0BR,EAAgBS,WAAWC,YAAYF,wBAOvE,OANKR,EAAgBW,eACjBX,EAAgBY,YAAYC,mBAAmBb,EAAgBY,YAAaJ,GAE3ER,EAAgBc,qBACjBd,EAAgBe,kBAAkBF,mBAAmBb,EAAgBe,kBAAmBP,GAErFD,CACV,CACD,OAAO,IAAI,GAElB,EAELS,EAAwB7B,GACxB8B,EAAsB9B,GAAM,GAAOG,GAAW,IAAIF,EAAiBE"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{aO as t,a1 as e,bz as i,bA as n,bB as a,bC as s,bD as o,bE as r,m as l,aQ as h,a8 as m,a3 as _,t as g,ae as d,E as u,bF as c}from"./index-C7KPae9Y.esm.min.js";import{B as p}from"./glTFLoader-D7VBOuzQ.esm.min.js";import"./rawTexture-BJRhApe5.esm.min.js";import"./assetContainer-C2D4MNHn.esm.min.js";import"./glTFLoaderAnimation-vnFNXnU4.esm.min.js";class A{get currentFrame(){return this._currentFrame}get weight(){return this._weight}get currentValue(){return this._currentValue}get targetPath(){return this._targetPath}get target(){return this._currentActiveTarget}get isAdditive(){return this._host&&this._host.isAdditive}constructor(i,n,a,s){if(this._events=new Array,this._currentFrame=0,this._originalValue=new Array,this._originalBlendValue=null,this._offsetsCache={},this._highLimitsCache={},this._stopped=!1,this._blendingFactor=0,this._currentValue=null,this._currentActiveTarget=null,this._directTarget=null,this._targetPath="",this._weight=1,this._absoluteFrameOffset=0,this._previousElapsedTime=0,this._yoyoDirection=1,this._previousAbsoluteFrame=0,this._targetIsArray=!1,this._animation=n,this._target=i,this._scene=a,this._host=s,this._activeTargets=[],n._runtimeAnimations.push(this),this._animationState={key:0,repeatCount:0,loopMode:this._getCorrectLoopMode()},this._animation.dataType===t.ANIMATIONTYPE_MATRIX&&(this._animationState.workValue=e.Zero()),this._keys=this._animation.getKeys(),this._minFrame=this._keys[0].frame,this._maxFrame=this._keys[this._keys.length-1].frame,this._minValue=this._keys[0].value,this._maxValue=this._keys[this._keys.length-1].value,0!==this._minFrame){const t={frame:0,value:this._minValue};this._keys.splice(0,0,t)}if(this._target instanceof Array){let t=0;for(const e of this._target)this._preparePath(e,t),this._getOriginalValues(t),t++;this._targetIsArray=!0}else this._preparePath(this._target),this._getOriginalValues(),this._targetIsArray=!1,this._directTarget=this._activeTargets[0];const o=n.getEvents();o&&o.length>0&&o.forEach((t=>{this._events.push(t._clone())})),this._enableBlending=i&&i.animationPropertiesOverride?i.animationPropertiesOverride.enableBlending:this._animation.enableBlending}_preparePath(t,e=0){const i=this._animation.targetPropertyPath;if(i.length>1){let n=t;for(let t=0;t<i.length-1;t++){const e=i[t];if(n=n[e],void 0===n)throw new Error(`Invalid property (${e}) in property path (${i.join(".")})`)}this._targetPath=i[i.length-1],this._activeTargets[e]=n}else this._targetPath=i[0],this._activeTargets[e]=t;if(void 0===this._activeTargets[e][this._targetPath])throw new Error(`Invalid property (${this._targetPath}) in property path (${i.join(".")})`)}get animation(){return this._animation}reset(t=!1){if(t)if(this._target instanceof Array){let t=0;for(const e of this._target)void 0!==this._originalValue[t]&&this._setValue(e,this._activeTargets[t],this._originalValue[t],-1,t),t++}else void 0!==this._originalValue[0]&&this._setValue(this._target,this._directTarget,this._originalValue[0],-1,0);this._offsetsCache={},this._highLimitsCache={},this._currentFrame=0,this._blendingFactor=0;for(let t=0;t<this._events.length;t++)this._events[t].isDone=!1}isStopped(){return this._stopped}dispose(){const t=this._animation.runtimeAnimations.indexOf(this);t>-1&&this._animation.runtimeAnimations.splice(t,1)}setValue(t,e){if(this._targetIsArray)for(let i=0;i<this._target.length;i++){const n=this._target[i];this._setValue(n,this._activeTargets[i],t,e,i)}else this._setValue(this._target,this._directTarget,t,e,0)}_getOriginalValues(t=0){let e;const i=this._activeTargets[t];e=i.getLocalMatrix&&"_matrix"===this._targetPath?i.getLocalMatrix():i[this._targetPath],e&&e.clone?this._originalValue[t]=e.clone():this._originalValue[t]=e}_registerTargetForLateAnimationBinding(t,e){const i=t.target;this._scene._registeredForLateAnimationBindings.pushNoDuplicate(i),i._lateAnimationHolders||(i._lateAnimationHolders={}),i._lateAnimationHolders[t.targetPath]||(i._lateAnimationHolders[t.targetPath]={totalWeight:0,totalAdditiveWeight:0,animations:[],additiveAnimations:[],originalValue:e}),t.isAdditive?(i._lateAnimationHolders[t.targetPath].additiveAnimations.push(t),i._lateAnimationHolders[t.targetPath].totalAdditiveWeight+=t.weight):(i._lateAnimationHolders[t.targetPath].animations.push(t),i._lateAnimationHolders[t.targetPath].totalWeight+=t.weight)}_setValue(i,n,a,s,o){if(this._currentActiveTarget=n,this._weight=s,this._enableBlending&&this._blendingFactor<=1){if(!this._originalBlendValue){const t=n[this._targetPath];t.clone?this._originalBlendValue=t.clone():this._originalBlendValue=t}this._originalBlendValue.m?t.AllowMatrixDecomposeForInterpolation?this._currentValue?e.DecomposeLerpToRef(this._originalBlendValue,a,this._blendingFactor,this._currentValue):this._currentValue=e.DecomposeLerp(this._originalBlendValue,a,this._blendingFactor):this._currentValue?e.LerpToRef(this._originalBlendValue,a,this._blendingFactor,this._currentValue):this._currentValue=e.Lerp(this._originalBlendValue,a,this._blendingFactor):this._currentValue=t._UniversalLerp(this._originalBlendValue,a,this._blendingFactor);const s=i&&i.animationPropertiesOverride?i.animationPropertiesOverride.blendingSpeed:this._animation.blendingSpeed;this._blendingFactor+=s}else this._currentValue?this._currentValue.copyFrom?this._currentValue.copyFrom(a):this._currentValue=a:this._currentValue=a?.clone?a.clone():a;-1!==s?this._registerTargetForLateAnimationBinding(this,this._originalValue[o]):this._animationState.loopMode===t.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT?this._currentValue.addToRef?this._currentValue.addToRef(this._originalValue[o],n[this._targetPath]):n[this._targetPath]=this._originalValue[o]+this._currentValue:n[this._targetPath]=this._currentValue,i.markAsDirty&&i.markAsDirty(this._animation.targetProperty)}_getCorrectLoopMode(){return this._target&&this._target.animationPropertiesOverride?this._target.animationPropertiesOverride.loopMode:this._animation.loopMode}goToFrame(t,e=-1){const i=this._animation.getKeys();t<i[0].frame?t=i[0].frame:t>i[i.length-1].frame&&(t=i[i.length-1].frame);const n=this._events;if(n.length)for(let e=0;e<n.length;e++)n[e].onlyOnce||(n[e].isDone=n[e].frame<t);this._currentFrame=t;const a=this._animation._interpolate(t,this._animationState);this.setValue(a,e)}_prepareForSpeedRatioChange(t){const e=this._previousElapsedTime*(this._animation.framePerSecond*t)/1e3;this._absoluteFrameOffset=this._previousAbsoluteFrame-e}animate(e,l,h,m,_,g=-1){const d=this._animation,u=d.targetPropertyPath;if(!u||u.length<1)return this._stopped=!0,!1;let c=!0;(l<this._minFrame||l>this._maxFrame)&&(l=this._minFrame),(h<this._minFrame||h>this._maxFrame)&&(h=this._maxFrame);const p=h-l;let A,f=e*(d.framePerSecond*_)/1e3+this._absoluteFrameOffset,b=0,v=!1;const y=m&&this._animationState.loopMode===t.ANIMATIONLOOPMODE_YOYO;if(y){const t=(f-l)/p,e=Math.sin(t*Math.PI);f=Math.abs(e)*p+l;const i=e>=0?1:-1;this._yoyoDirection!==i&&(v=!0),this._yoyoDirection=i}if(this._previousElapsedTime=e,this._previousAbsoluteFrame=f,!m&&h>=l&&(f>=p&&_>0||f<=0&&_<0))c=!1,b=d._getKeyValue(this._maxValue);else if(!m&&l>=h&&(f<=p&&_<0||f>=0&&_>0))c=!1,b=d._getKeyValue(this._minValue);else if(this._animationState.loopMode!==t.ANIMATIONLOOPMODE_CYCLE){const e=h.toString()+l.toString();if(!this._offsetsCache[e]){this._animationState.repeatCount=0,this._animationState.loopMode=t.ANIMATIONLOOPMODE_CYCLE;const i=d._interpolate(l,this._animationState),n=d._interpolate(h,this._animationState);switch(this._animationState.loopMode=this._getCorrectLoopMode(),d.dataType){case t.ANIMATIONTYPE_FLOAT:this._offsetsCache[e]=n-i;break;case t.ANIMATIONTYPE_QUATERNION:case t.ANIMATIONTYPE_VECTOR3:case t.ANIMATIONTYPE_VECTOR2:case t.ANIMATIONTYPE_SIZE:case t.ANIMATIONTYPE_COLOR3:this._offsetsCache[e]=n.subtract(i)}this._highLimitsCache[e]=n}b=this._highLimitsCache[e],A=this._offsetsCache[e]}if(void 0===A)switch(d.dataType){case t.ANIMATIONTYPE_FLOAT:A=0;break;case t.ANIMATIONTYPE_QUATERNION:A=r;break;case t.ANIMATIONTYPE_VECTOR3:A=o;break;case t.ANIMATIONTYPE_VECTOR2:A=s;break;case t.ANIMATIONTYPE_SIZE:A=a;break;case t.ANIMATIONTYPE_COLOR3:A=n;break;case t.ANIMATIONTYPE_COLOR4:A=i}let T;if(this._host&&this._host.syncRoot){const t=this._host.syncRoot;T=l+p*((t.masterFrame-t.fromFrame)/(t.toFrame-t.fromFrame))}else T=f>0&&l>h||f<0&&l<h?c&&0!==p?h+f%p:l:c&&0!==p?l+f%p:h;const O=this._events;if(!y&&(_>0&&this.currentFrame>T||_<0&&this.currentFrame<T)||y&&v){this._onLoop();for(let t=0;t<O.length;t++)O[t].onlyOnce||(O[t].isDone=!1);this._animationState.key=_>0?0:d.getKeys().length-1}this._currentFrame=T,this._animationState.repeatCount=0===p?0:f/p|0,this._animationState.highLimitValue=b,this._animationState.offsetValue=A;const V=d._interpolate(T,this._animationState);if(this.setValue(V,g),O.length)for(let t=0;t<O.length;t++)if(p>=0&&T>=O[t].frame&&O[t].frame>=l||p<0&&T<=O[t].frame&&O[t].frame<=l){const e=O[t];e.isDone||(e.onlyOnce&&(O.splice(t,1),t--),e.isDone=!0,e.action(T))}return c||(this._stopped=!0),c}}class f{get syncRoot(){return this._syncRoot}get masterFrame(){return 0===this._runtimeAnimations.length?0:this._runtimeAnimations[0].currentFrame}get weight(){return this._weight}set weight(t){this._weight=-1!==t?Math.min(Math.max(t,0),1):-1}get speedRatio(){return this._speedRatio}set speedRatio(t){for(let e=0;e<this._runtimeAnimations.length;e++){this._runtimeAnimations[e]._prepareForSpeedRatioChange(t)}this._speedRatio=t,null!==this._goToFrame&&this.goToFrame(this._goToFrame)}get elapsedTime(){return null===this._localDelayOffset?0:this._scene._animationTime-this._localDelayOffset}constructor(t,e,i=0,n=100,a=!1,s=1,o,r,l,m=!1,_=0){this.target=e,this.fromFrame=i,this.toFrame=n,this.loopAnimation=a,this.onAnimationEnd=o,this.onAnimationLoop=l,this.isAdditive=m,this.playOrder=_,this._localDelayOffset=null,this._pausedDelay=null,this._manualJumpDelay=null,this._runtimeAnimations=new Array,this._paused=!1,this._speedRatio=1,this._weight=-1,this._syncRoot=null,this._frameToSyncFromJump=null,this._goToFrame=null,this.disposeOnEnd=!0,this.animationStarted=!1,this.onAnimationEndObservable=new h,this.onAnimationLoopObservable=new h,this._scene=t,r&&this.appendAnimations(e,r),this._speedRatio=s,t._activeAnimatables.push(this)}syncWith(t){if(this._syncRoot=t,t){const t=this._scene._activeAnimatables.indexOf(this);t>-1&&(this._scene._activeAnimatables.splice(t,1),this._scene._activeAnimatables.push(this))}return this}getAnimations(){return this._runtimeAnimations}appendAnimations(t,e){for(let i=0;i<e.length;i++){const n=e[i],a=new A(t,n,this._scene,this);a._onLoop=()=>{this.onAnimationLoopObservable.notifyObservers(this),this.onAnimationLoop&&this.onAnimationLoop()},this._runtimeAnimations.push(a)}}getAnimationByTargetProperty(t){const e=this._runtimeAnimations;for(let i=0;i<e.length;i++)if(e[i].animation.targetProperty===t)return e[i].animation;return null}getRuntimeAnimationByTargetProperty(t){const e=this._runtimeAnimations;for(let i=0;i<e.length;i++)if(e[i].animation.targetProperty===t)return e[i];return null}reset(){const t=this._runtimeAnimations;for(let e=0;e<t.length;e++)t[e].reset(!0);this._localDelayOffset=null,this._pausedDelay=null}enableBlending(t){const e=this._runtimeAnimations;for(let i=0;i<e.length;i++)e[i].animation.enableBlending=!0,e[i].animation.blendingSpeed=t}disableBlending(){const t=this._runtimeAnimations;for(let e=0;e<t.length;e++)t[e].animation.enableBlending=!1}goToFrame(t){const e=this._runtimeAnimations;if(e[0]){const i=e[0].animation.framePerSecond;this._frameToSyncFromJump=this._frameToSyncFromJump??e[0].currentFrame;const n=0===this.speedRatio?0:(t-this._frameToSyncFromJump)/i*1e3/this.speedRatio;this._manualJumpDelay=-n}for(let i=0;i<e.length;i++)e[i].goToFrame(t,this._weight);this._goToFrame=t}get paused(){return this._paused}pause(){this._paused||(this._paused=!0)}restart(){this._paused=!1}_raiseOnAnimationEnd(){this.onAnimationEnd&&this.onAnimationEnd(),this.onAnimationEndObservable.notifyObservers(this)}stop(t,e,i=!1,n=!1){if(t||e){const a=this._scene._activeAnimatables.indexOf(this);if(a>-1){const s=this._runtimeAnimations;for(let i=s.length-1;i>=0;i--){const n=s[i];t&&n.animation.name!=t||(e&&!e(n.target)||(n.dispose(),s.splice(i,1)))}0==s.length&&(i||this._scene._activeAnimatables.splice(a,1),n||this._raiseOnAnimationEnd())}}else{const t=this._scene._activeAnimatables.indexOf(this);if(t>-1){i||this._scene._activeAnimatables.splice(t,1);const e=this._runtimeAnimations;for(let t=0;t<e.length;t++)e[t].dispose();this._runtimeAnimations.length=0,n||this._raiseOnAnimationEnd()}}}waitAsync(){return new Promise((t=>{this.onAnimationEndObservable.add((()=>{t(this)}),void 0,void 0,this,!0)}))}_animate(t){if(this._paused)return this.animationStarted=!1,null===this._pausedDelay&&(this._pausedDelay=t),!0;if(null===this._localDelayOffset?(this._localDelayOffset=t,this._pausedDelay=null):null!==this._pausedDelay&&(this._localDelayOffset+=t-this._pausedDelay,this._pausedDelay=null),null!==this._manualJumpDelay&&(this._localDelayOffset+=this._manualJumpDelay,this._manualJumpDelay=null,this._frameToSyncFromJump=null),this._goToFrame=null,0===this._weight)return!0;let e=!1;const i=this._runtimeAnimations;let n;for(n=0;n<i.length;n++){const a=i[n].animate(t-this._localDelayOffset,this.fromFrame,this.toFrame,this.loopAnimation,this._speedRatio,this._weight);e=e||a}if(this.animationStarted=e,!e){if(this.disposeOnEnd)for(n=this._scene._activeAnimatables.indexOf(this),this._scene._activeAnimatables.splice(n,1),n=0;n<i.length;n++)i[n].dispose();this._raiseOnAnimationEnd(),this.disposeOnEnd&&(this.onAnimationEnd=null,this.onAnimationLoop=null,this.onAnimationLoopObservable.clear(),this.onAnimationEndObservable.clear())}return e}}function b(t){if(0===t.totalWeight&&0===t.totalAdditiveWeight)return t.originalValue;let i=1;const n=_.Vector3[0],a=_.Vector3[1],s=_.Quaternion[0];let o=0;const r=t.animations[0],l=t.originalValue;let h=1,d=!1;if(t.totalWeight<1)h=1-t.totalWeight,l.decompose(a,s,n);else{if(o=1,i=t.totalWeight,h=r.weight/i,1==h){if(!t.totalAdditiveWeight)return r.currentValue;d=!0}r.currentValue.decompose(a,s,n)}if(!d){a.scaleInPlace(h),n.scaleInPlace(h),s.scaleInPlace(h);for(let e=o;e<t.animations.length;e++){const o=t.animations[e];if(0===o.weight)continue;h=o.weight/i;const r=_.Vector3[2],l=_.Vector3[3],g=_.Quaternion[1];o.currentValue.decompose(l,g,r),l.scaleAndAddToRef(h,a),g.scaleAndAddToRef(m.Dot(s,g)>0?h:-h,s),r.scaleAndAddToRef(h,n)}s.normalize()}for(let e=0;e<t.additiveAnimations.length;e++){const i=t.additiveAnimations[e];if(0===i.weight)continue;const o=_.Vector3[2],r=_.Vector3[3],l=_.Quaternion[1];i.currentValue.decompose(r,l,o),r.multiplyToRef(a,r),g.LerpToRef(a,r,i.weight,a),s.multiplyToRef(l,l),m.SlerpToRef(s,l,i.weight,s),o.scaleAndAddToRef(i.weight,n)}const u=r?r._animationState.workValue:_.Matrix[0].clone();return e.ComposeToRef(a,s,n,u),u}function v(t,e){if(0===t.totalWeight&&0===t.totalAdditiveWeight)return e;const i=t.animations[0],n=t.originalValue;let a=e;if(0===t.totalWeight&&t.totalAdditiveWeight>0)a.copyFrom(n);else if(1===t.animations.length){if(m.SlerpToRef(n,i.currentValue,Math.min(1,t.totalWeight),a),0===t.totalAdditiveWeight)return a}else if(t.animations.length>1){let i,s,o=1;if(t.totalWeight<1){const e=1-t.totalWeight;i=[],s=[],i.push(n),s.push(e)}else{if(2===t.animations.length&&(m.SlerpToRef(t.animations[0].currentValue,t.animations[1].currentValue,t.animations[1].weight/t.totalWeight,e),0===t.totalAdditiveWeight))return e;i=[],s=[],o=t.totalWeight}for(let e=0;e<t.animations.length;e++){const n=t.animations[e];i.push(n.currentValue),s.push(n.weight/o)}let r=0;for(let t=0;t<i.length;)t?(r+=s[t],m.SlerpToRef(a,i[t],s[t]/r,a),t++):(m.SlerpToRef(i[t],i[t+1],s[t+1]/(s[t]+s[t+1]),e),a=e,r=s[t]+s[t+1],t+=2)}for(let e=0;e<t.additiveAnimations.length;e++){const i=t.additiveAnimations[e];0!==i.weight&&(a.multiplyToRef(i.currentValue,_.Quaternion[0]),m.SlerpToRef(a,_.Quaternion[0],i.weight,a))}return a}var y,T;y=d,(T=p)&&(T.prototype.copyAnimationRange=function(e,i,n,a=!1,s=null){0===this.animations.length&&(this.animations.push(new t(this.name,"_matrix",e.animations[0].framePerSecond,t.ANIMATIONTYPE_MATRIX,0)),this.animations[0].setKeys([]));const o=e.animations[0].getRange(i);if(!o)return!1;const r=o.from,l=o.to,h=e.animations[0].getKeys(),m=e.length,_=e.getParent(),g=this.getParent(),d=a&&_&&m&&this.length&&m!==this.length,u=d&&g&&_?g.length/_.length:1,c=a&&!g&&s&&(1!==s.x||1!==s.y||1!==s.z),p=this.animations[0].getKeys();let A,f,b;for(let t=0,e=h.length;t<e;t++)A=h[t],A.frame>=r&&A.frame<=l&&(a?(b=A.value.clone(),d?(f=b.getTranslation(),b.setTranslation(f.scaleInPlace(u))):c&&s?(f=b.getTranslation(),b.setTranslation(f.multiplyInPlace(s))):b=A.value):b=A.value,p.push({frame:A.frame+n,value:b}));return this.animations[0].createRange(i,r+n,l+n),!0}),y&&(y.prototype._animate=function(e){if(!this.animationsEnabled)return;const i=l.Now;if(!this._animationTimeLast){if(this._pendingData.length>0)return;this._animationTimeLast=i}this.deltaTime=void 0!==e?e:this.useConstantAnimationDeltaTime?16:(i-this._animationTimeLast)*this.animationTimeScale,this._animationTimeLast=i;const n=this._activeAnimatables;if(0===n.length)return;this._animationTime+=this.deltaTime;const a=this._animationTime;for(let t=0;t<n.length;t++){const e=n[t];!e._animate(a)&&e.disposeOnEnd&&t--}!function(e){if(e._registeredForLateAnimationBindings.length){for(let i=0;i<e._registeredForLateAnimationBindings.length;i++){const n=e._registeredForLateAnimationBindings.data[i];for(const e in n._lateAnimationHolders){const i=n._lateAnimationHolders[e],a=i.animations[0],s=i.originalValue;if(null==s)continue;const o=t.AllowMatrixDecomposeForInterpolation&&s.m;let r=n[e];if(o)r=b(i);else if(void 0!==s.w)r=v(i,r||m.Identity());else{let e=0,n=1;const o=a&&a._animationState.loopMode===t.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT;if(i.totalWeight<1)r=o?s.clone?s.clone():s:a&&s.scale?s.scale(1-i.totalWeight):a?s*(1-i.totalWeight):s.clone?s.clone():s;else if(a){n=i.totalWeight;const t=a.weight/n;r=1!==t?a.currentValue.scale?a.currentValue.scale(t):a.currentValue*t:a.currentValue,o&&(r.addToRef?r.addToRef(s,r):r+=s),e=1}for(let t=e;t<i.animations.length;t++){const e=i.animations[t],a=e.weight/n;a&&(e.currentValue.scaleAndAddToRef?e.currentValue.scaleAndAddToRef(a,r):r+=e.currentValue*a)}for(let t=0;t<i.additiveAnimations.length;t++){const e=i.additiveAnimations[t],n=e.weight;n&&(e.currentValue.scaleAndAddToRef?e.currentValue.scaleAndAddToRef(n,r):r+=e.currentValue*n)}}n[e]=r}n._lateAnimationHolders={}}e._registeredForLateAnimationBindings.reset()}}(this)},y.prototype.sortActiveAnimatables=function(){this._activeAnimatables.sort(((t,e)=>t.playOrder-e.playOrder))},y.prototype.beginWeightedAnimation=function(t,e,i,n=1,a,s=1,o,r,l,h,m=!1){const _=this.beginAnimation(t,e,i,a,s,o,r,!1,l,h,m);return _.weight=n,_},y.prototype.beginAnimation=function(t,e,i,n,a=1,s,o,r=!0,l,h,m=!1){if(a<0){const t=e;e=i,i=t,a=-a}e>i&&(a=-a),r&&this.stopAnimation(t,void 0,l),o||(o=new f(this,t,e,i,n,a,s,void 0,h,m));const _=!l||l(t);if(t.animations&&_&&o.appendAnimations(t,t.animations),t.getAnimatables){const m=t.getAnimatables();for(let t=0;t<m.length;t++)this.beginAnimation(m[t],e,i,n,a,s,o,r,l,h)}return o.reset(),o},y.prototype.beginHierarchyAnimation=function(t,e,i,n,a,s=1,o,r,l=!0,h,m,_=!1){const g=t.getDescendants(e),d=[];d.push(this.beginAnimation(t,i,n,a,s,o,r,l,h,void 0,_));for(const t of g)d.push(this.beginAnimation(t,i,n,a,s,o,r,l,h,void 0,_));return d},y.prototype.beginDirectAnimation=function(t,e,i,n,a,s=1,o,r,l=!1){if(s<0){const t=i;i=n,n=t,s=-s}return i>n&&(s=-s),new f(this,t,i,n,a,s,o,e,r,l)},y.prototype.beginDirectHierarchyAnimation=function(t,e,i,n,a,s,o,r,l,h=!1){const m=t.getDescendants(e),_=[];_.push(this.beginDirectAnimation(t,i,n,a,s,o,r,l,h));for(const t of m)_.push(this.beginDirectAnimation(t,i,n,a,s,o,r,l,h));return _},y.prototype.getAnimatableByTarget=function(t){for(let e=0;e<this._activeAnimatables.length;e++)if(this._activeAnimatables[e].target===t)return this._activeAnimatables[e];return null},y.prototype.getAllAnimatablesByTarget=function(t){const e=[];for(let i=0;i<this._activeAnimatables.length;i++)this._activeAnimatables[i].target===t&&e.push(this._activeAnimatables[i]);return e},y.prototype.stopAnimation=function(t,e,i){const n=this.getAllAnimatablesByTarget(t);for(const t of n)t.stop(e,i)},y.prototype.stopAllAnimations=function(){if(this._activeAnimatables){for(let t=0;t<this._activeAnimatables.length;t++)this._activeAnimatables[t].stop(void 0,void 0,!0);this._activeAnimatables.length=0}for(const t of this.animationGroups)t.stop()});class O{getClassName(){return"TargetedAnimation"}serialize(){const t={};return t.animation=this.animation.serialize(),t.targetId=this.target.id,t}}class V{get mask(){return this._mask}set mask(t){this._mask!==t&&(this._mask=t,this.syncWithMask(!0))}syncWithMask(t=!1){if(this.mask||t){this._numActiveAnimatables=0;for(let t=0;t<this._animatables.length;++t){const e=this._animatables[t];!this.mask||this.mask.disabled||this.mask.retainsTarget(e.target.name)?(this._numActiveAnimatables++,e.paused&&e.restart()):e.paused||e.pause()}}else this._numActiveAnimatables=this._targetedAnimations.length}removeUnmaskedAnimations(){if(this.mask&&!this.mask.disabled){for(let t=0;t<this._animatables.length;++t){const e=this._animatables[t];this.mask.retainsTarget(e.target.name)||(e.stop(),this._animatables.splice(t,1),--t)}for(let t=0;t<this._targetedAnimations.length;t++){const e=this._targetedAnimations[t];this.mask.retainsTarget(e.target.name)||(this._targetedAnimations.splice(t,1),--t)}}}get from(){return this._from}set from(t){if(this._from!==t){this._from=t;for(let t=0;t<this._animatables.length;t++){this._animatables[t].fromFrame=this._from}}}get to(){return this._to}set to(t){if(this._to!==t){this._to=t;for(let t=0;t<this._animatables.length;t++){this._animatables[t].toFrame=this._to}}}get isStarted(){return this._isStarted}get isPlaying(){return this._isStarted&&!this._isPaused}get speedRatio(){return this._speedRatio}set speedRatio(t){if(this._speedRatio!==t){this._speedRatio=t;for(let t=0;t<this._animatables.length;t++){this._animatables[t].speedRatio=this._speedRatio}}}get loopAnimation(){return this._loopAnimation}set loopAnimation(t){if(this._loopAnimation!==t){this._loopAnimation=t;for(let t=0;t<this._animatables.length;t++){this._animatables[t].loopAnimation=this._loopAnimation}}}get isAdditive(){return this._isAdditive}set isAdditive(t){if(this._isAdditive!==t){this._isAdditive=t;for(let t=0;t<this._animatables.length;t++){this._animatables[t].isAdditive=this._isAdditive}}}get weight(){return this._weight}set weight(t){this._weight!==t&&(this._weight=t,this.setWeightForAllAnimatables(this._weight))}get targetedAnimations(){return this._targetedAnimations}get animatables(){return this._animatables}get children(){return this._targetedAnimations}get playOrder(){return this._playOrder}set playOrder(t){if(this._playOrder!==t&&(this._playOrder=t,this._animatables.length>0)){for(let t=0;t<this._animatables.length;t++)this._animatables[t].playOrder=this._playOrder;this._scene.sortActiveAnimatables()}}get enableBlending(){return this._enableBlending}set enableBlending(t){if(this._enableBlending!==t&&(this._enableBlending=t,null!==t))for(let e=0;e<this._targetedAnimations.length;++e)this._targetedAnimations[e].animation.enableBlending=t}get blendingSpeed(){return this._blendingSpeed}set blendingSpeed(t){if(this._blendingSpeed!==t&&(this._blendingSpeed=t,null!==t))for(let e=0;e<this._targetedAnimations.length;++e)this._targetedAnimations[e].animation.blendingSpeed=t}getLength(t,e){t=t??this._from;return((e=e??this._to)-t)/(this.targetedAnimations[0].animation.framePerSecond*this._speedRatio)}static MergeAnimationGroups(t,e=!0,i=!1,n){if(0===t.length)return null;n=n??t[0].weight;let a=Number.MAX_VALUE,s=-Number.MAX_VALUE;if(i)for(const e of t)e.from<a&&(a=e.from),e.to>s&&(s=e.to);const o=new V(t[0].name+"_merged",t[0]._scene,n);for(const n of t){i&&n.normalize(a,s);for(const t of n.targetedAnimations)o.addTargetedAnimation(t.animation,t.target);e&&n.dispose()}return o}constructor(t,e=null,i=-1,n=0){this.name=t,this._targetedAnimations=new Array,this._animatables=new Array,this._from=Number.MAX_VALUE,this._to=-Number.MAX_VALUE,this._speedRatio=1,this._loopAnimation=!1,this._isAdditive=!1,this._weight=-1,this._playOrder=0,this._enableBlending=null,this._blendingSpeed=null,this._numActiveAnimatables=0,this._shouldStart=!0,this._parentContainer=null,this.onAnimationEndObservable=new h,this.onAnimationLoopObservable=new h,this.onAnimationGroupLoopObservable=new h,this.onAnimationGroupEndObservable=new h,this.onAnimationGroupPauseObservable=new h,this.onAnimationGroupPlayObservable=new h,this.metadata=null,this._mask=null,this._animationLoopFlags=[],this._scene=e||u.LastCreatedScene,this._weight=i,this._playOrder=n,this.uniqueId=this._scene.getUniqueId(),this._scene.addAnimationGroup(this)}addTargetedAnimation(t,e){const i=new O;i.animation=t,i.target=e;const n=t.getKeys();return this._from>n[0].frame&&(this._from=n[0].frame),this._to<n[n.length-1].frame&&(this._to=n[n.length-1].frame),null!==this._enableBlending&&(t.enableBlending=this._enableBlending),null!==this._blendingSpeed&&(t.blendingSpeed=this._blendingSpeed),this._targetedAnimations.push(i),this._shouldStart=!0,i}removeTargetedAnimation(t){for(let e=this._targetedAnimations.length-1;e>-1;e--){this._targetedAnimations[e].animation===t&&this._targetedAnimations.splice(e,1)}}normalize(t=null,e=null){null==t&&(t=this._from),null==e&&(e=this._to);for(let i=0;i<this._targetedAnimations.length;i++){const n=this._targetedAnimations[i].animation.getKeys(),a=n[0],s=n[n.length-1];if(a.frame>t){const e={frame:t,value:a.value,inTangent:a.inTangent,outTangent:a.outTangent,interpolation:a.interpolation};n.splice(0,0,e)}if(s.frame<e){const t={frame:e,value:s.value,inTangent:s.inTangent,outTangent:s.outTangent,interpolation:s.interpolation};n.push(t)}}return this._from=t,this._to=e,this}_processLoop(t,e,i){t.onAnimationLoop=()=>{this.onAnimationLoopObservable.notifyObservers(e),this._animationLoopFlags[i]||(this._animationLoopFlags[i]=!0,this._animationLoopCount++,this._animationLoopCount===this._numActiveAnimatables&&(this.onAnimationGroupLoopObservable.notifyObservers(this),this._animationLoopCount=0,this._animationLoopFlags.length=0))}}start(t=!1,e=1,i,n,a){if(this._isStarted||0===this._targetedAnimations.length)return this;this._loopAnimation=t,this._shouldStart=!1,this._animationLoopCount=0,this._animationLoopFlags.length=0;for(let s=0;s<this._targetedAnimations.length;s++){const o=this._targetedAnimations[s],r=this._scene.beginDirectAnimation(o.target,[o.animation],void 0!==i?i:this._from,void 0!==n?n:this._to,t,e,void 0,void 0,void 0!==a?a:this._isAdditive);r.weight=this._weight,r.playOrder=this._playOrder,r.onAnimationEnd=()=>{this.onAnimationEndObservable.notifyObservers(o),this._checkAnimationGroupEnded(r)},this._processLoop(r,o,s),this._animatables.push(r)}return this.syncWithMask(),this._scene.sortActiveAnimatables(),this._speedRatio=e,this._isStarted=!0,this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}pause(){if(!this._isStarted)return this;this._isPaused=!0;for(let t=0;t<this._animatables.length;t++){this._animatables[t].pause()}return this.onAnimationGroupPauseObservable.notifyObservers(this),this}play(t){return this.isStarted&&this._animatables.length&&!this._shouldStart?(void 0!==t&&(this.loopAnimation=t),this.restart()):(this.stop(),this.start(t,this._speedRatio)),this}reset(){if(!this._isStarted)return this.play(),this.goToFrame(0),this.stop(!0),this;for(let t=0;t<this._animatables.length;t++){this._animatables[t].reset()}return this}restart(){if(!this._isStarted)return this;for(let t=0;t<this._animatables.length;t++){this._animatables[t].restart()}return this.syncWithMask(),this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}stop(t=!1){if(!this._isStarted)return this;const e=this._animatables.slice();for(let i=0;i<e.length;i++)e[i].stop(void 0,void 0,!0,t);let i=0;for(let e=0;e<this._scene._activeAnimatables.length;e++){const n=this._scene._activeAnimatables[e];n._runtimeAnimations.length>0?this._scene._activeAnimatables[i++]=n:t&&this._checkAnimationGroupEnded(n,t)}return this._scene._activeAnimatables.length=i,this._isStarted=!1,this}setWeightForAllAnimatables(t){for(let e=0;e<this._animatables.length;e++){this._animatables[e].weight=t}return this}syncAllAnimationsWith(t){for(let e=0;e<this._animatables.length;e++){this._animatables[e].syncWith(t)}return this}goToFrame(t){if(!this._isStarted)return this;for(let e=0;e<this._animatables.length;e++){this._animatables[e].goToFrame(t)}return this}getCurrentFrame(){return this.animatables[0]?.masterFrame||0}dispose(){this.isStarted&&this.stop(),this._targetedAnimations.length=0,this._animatables.length=0;const t=this._scene.animationGroups.indexOf(this);if(t>-1&&this._scene.animationGroups.splice(t,1),this._parentContainer){const t=this._parentContainer.animationGroups.indexOf(this);t>-1&&this._parentContainer.animationGroups.splice(t,1),this._parentContainer=null}this.onAnimationEndObservable.clear(),this.onAnimationGroupEndObservable.clear(),this.onAnimationGroupPauseObservable.clear(),this.onAnimationGroupPlayObservable.clear(),this.onAnimationLoopObservable.clear(),this.onAnimationGroupLoopObservable.clear()}_checkAnimationGroupEnded(t,e=!1){const i=this._animatables.indexOf(t);i>-1&&this._animatables.splice(i,1),0===this._animatables.length&&(this._isStarted=!1,e||this.onAnimationGroupEndObservable.notifyObservers(this))}clone(t,e,i=!1){const n=new V(t||this.name,this._scene,this._weight,this._playOrder);n._from=this.from,n._to=this.to,n._speedRatio=this.speedRatio,n._loopAnimation=this.loopAnimation,n._isAdditive=this.isAdditive,n._enableBlending=this.enableBlending,n._blendingSpeed=this.blendingSpeed,n.metadata=this.metadata,n.mask=this.mask;for(const t of this._targetedAnimations)n.addTargetedAnimation(i?t.animation.clone():t.animation,e?e(t.target):t.target);return n}serialize(){const t={};t.name=this.name,t.from=this.from,t.to=this.to,t.speedRatio=this.speedRatio,t.loopAnimation=this.loopAnimation,t.isAdditive=this.isAdditive,t.weight=this.weight,t.playOrder=this.playOrder,t.enableBlending=this.enableBlending,t.blendingSpeed=this.blendingSpeed,t.targetedAnimations=[];for(let e=0;e<this.targetedAnimations.length;e++){const i=this.targetedAnimations[e];t.targetedAnimations[e]=i.serialize()}return c&&c.HasTags(this)&&(t.tags=c.GetTags(this)),this.metadata&&(t.metadata=this.metadata),t}static Parse(e,i){const n=new V(e.name,i,e.weight,e.playOrder);for(let a=0;a<e.targetedAnimations.length;a++){const s=e.targetedAnimations[a],o=t.Parse(s.animation),r=s.targetId;if("influence"===s.animation.property){const t=i.getMorphTargetById(r);t&&n.addTargetedAnimation(o,t)}else{const t=i.getNodeById(r);null!=t&&n.addTargetedAnimation(o,t)}}return c&&c.AddTagsTo(n,e.tags),null!==e.from&&null!==e.to&&n.normalize(e.from,e.to),void 0!==e.speedRatio&&(n._speedRatio=e.speedRatio),void 0!==e.loopAnimation&&(n._loopAnimation=e.loopAnimation),void 0!==e.isAdditive&&(n._isAdditive=e.isAdditive),void 0!==e.weight&&(n._weight=e.weight),void 0!==e.playOrder&&(n._playOrder=e.playOrder),void 0!==e.enableBlending&&(n._enableBlending=e.enableBlending),void 0!==e.blendingSpeed&&(n._blendingSpeed=e.blendingSpeed),void 0!==e.metadata&&(n.metadata=e.metadata),n}static MakeAnimationAdditive(e,i,n,a=!1,s){let o;o="object"==typeof i?i:{referenceFrame:i,range:n,cloneOriginalAnimationGroup:a,clonedAnimationName:s};let r=e;o.cloneOriginalAnimationGroup&&(r=e.clone(o.clonedAnimationGroupName||r.name));const l=r.targetedAnimations;for(let e=0;e<l.length;e++){const i=l[e];i.animation=t.MakeAnimationAdditive(i.animation,o)}if(r.isAdditive=!0,o.clipKeys){let t=Number.MAX_VALUE,e=-Number.MAX_VALUE;const i=r.targetedAnimations;for(let n=0;n<i.length;n++){const a=i[n].animation.getKeys();t>a[0].frame&&(t=a[0].frame),e<a[a.length-1].frame&&(e=a[a.length-1].frame)}r._from=t,r._to=e}return r}static ClipKeys(t,e,i,n,a){const s=t.clone(n||t.name);return V.ClipKeysInPlace(s,e,i,a)}static ClipKeysInPlace(t,e,i,n){return V.ClipInPlace(t,e,i,n,!1)}static ClipFrames(t,e,i,n,a){const s=t.clone(n||t.name);return V.ClipFramesInPlace(s,e,i,a)}static ClipFramesInPlace(t,e,i,n){return V.ClipInPlace(t,e,i,n,!0)}static ClipInPlace(t,e,i,n,a=!1){let s=Number.MAX_VALUE,o=-Number.MAX_VALUE;const r=t.targetedAnimations;for(let t=0;t<r.length;t++){const l=r[t],h=n?l.animation:l.animation.clone();a&&(h.createKeyForFrame(e),h.createKeyForFrame(i));const m=h.getKeys(),_=[];let g=Number.MAX_VALUE;for(let t=0;t<m.length;t++){const n=m[t];if(!a&&t>=e&&t<=i||a&&n.frame>=e&&n.frame<=i){const t={frame:n.frame,value:n.value.clone?n.value.clone():n.value,inTangent:n.inTangent,outTangent:n.outTangent,interpolation:n.interpolation,lockedTangent:n.lockedTangent};g===Number.MAX_VALUE&&(g=t.frame),t.frame-=g,_.push(t)}}0!==_.length?(s>_[0].frame&&(s=_[0].frame),o<_[_.length-1].frame&&(o=_[_.length-1].frame),h.setKeys(_,!0),l.animation=h):(r.splice(t,1),t--)}return t._from=s,t._to=o,t}getClassName(){return"AnimationGroup"}toString(t){let e="Name: "+this.name;return e+=", type: "+this.getClassName(),t&&(e+=", from: "+this._from,e+=", to: "+this._to,e+=", isStarted: "+this._isStarted,e+=", speedRatio: "+this._speedRatio,e+=", targetedAnimations length: "+this._targetedAnimations.length,e+=", animatables length: "+this._animatables),e}}export{V as AnimationGroup,O as TargetedAnimation};
|
|
2
|
-
//# sourceMappingURL=animationGroup-BV7aO-eR.esm.min.js.map
|