@babylonjs/viewer 7.40.0-alpha → 7.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configuration/configuration.d.ts +107 -0
- package/configuration/configuration.js +16 -0
- package/configuration/configuration.js.map +1 -0
- package/configuration/configurationCompatibility.d.ts +8 -0
- package/configuration/configurationCompatibility.js +66 -0
- package/configuration/configurationCompatibility.js.map +1 -0
- package/configuration/configurationContainer.d.ts +10 -0
- package/configuration/configurationContainer.js +10 -0
- package/configuration/configurationContainer.js.map +1 -0
- package/configuration/globals.d.ts +6 -0
- package/configuration/globals.js +18 -0
- package/configuration/globals.js.map +1 -0
- package/configuration/index.d.ts +2 -0
- package/configuration/index.js +4 -0
- package/configuration/index.js.map +1 -0
- package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
- package/configuration/interfaces/cameraConfiguration.js +2 -0
- package/configuration/interfaces/cameraConfiguration.js.map +1 -0
- package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
- package/configuration/interfaces/colorGradingConfiguration.js +2 -0
- package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
- package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
- package/configuration/interfaces/environmentMapConfiguration.js +2 -0
- package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
- package/configuration/interfaces/groundConfiguration.d.ts +24 -0
- package/configuration/interfaces/groundConfiguration.js +2 -0
- package/configuration/interfaces/groundConfiguration.js.map +1 -0
- package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
- package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
- package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
- package/configuration/interfaces/index.d.ts +15 -0
- package/configuration/interfaces/index.js +16 -0
- package/configuration/interfaces/index.js.map +1 -0
- package/configuration/interfaces/lightConfiguration.d.ts +60 -0
- package/configuration/interfaces/lightConfiguration.js +2 -0
- package/configuration/interfaces/lightConfiguration.js.map +1 -0
- package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
- package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
- package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
- package/configuration/interfaces/modelConfiguration.d.ts +65 -0
- package/configuration/interfaces/modelConfiguration.js +2 -0
- package/configuration/interfaces/modelConfiguration.js.map +1 -0
- package/configuration/interfaces/observersConfiguration.d.ts +5 -0
- package/configuration/interfaces/observersConfiguration.js +2 -0
- package/configuration/interfaces/observersConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
- package/configuration/interfaces/sceneConfiguration.js +2 -0
- package/configuration/interfaces/sceneConfiguration.js.map +1 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
- package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
- package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
- package/configuration/interfaces/skyboxConfiguration.js +2 -0
- package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
- package/configuration/interfaces/templateConfiguration.d.ts +67 -0
- package/configuration/interfaces/templateConfiguration.js +2 -0
- package/configuration/interfaces/templateConfiguration.js.map +1 -0
- package/configuration/interfaces/vrConfiguration.d.ts +16 -0
- package/configuration/interfaces/vrConfiguration.js +2 -0
- package/configuration/interfaces/vrConfiguration.js.map +1 -0
- package/configuration/loader.d.ts +4 -0
- package/configuration/loader.js +17 -0
- package/configuration/loader.js.map +1 -0
- package/configuration/mappers.d.ts +43 -0
- package/configuration/mappers.js +193 -0
- package/configuration/mappers.js.map +1 -0
- package/configuration/renderOnlyLoader.d.ts +33 -0
- package/configuration/renderOnlyLoader.js +162 -0
- package/configuration/renderOnlyLoader.js.map +1 -0
- package/configuration/types/default.d.ts +6 -0
- package/configuration/types/default.js +121 -0
- package/configuration/types/default.js.map +1 -0
- package/configuration/types/environmentMap.d.ts +5 -0
- package/configuration/types/environmentMap.js +14 -0
- package/configuration/types/environmentMap.js.map +1 -0
- package/configuration/types/extended.d.ts +6 -0
- package/configuration/types/extended.js +317 -0
- package/configuration/types/extended.js.map +1 -0
- package/configuration/types/index.d.ts +14 -0
- package/configuration/types/index.js +51 -0
- package/configuration/types/index.js.map +1 -0
- package/configuration/types/minimal.d.ts +6 -0
- package/configuration/types/minimal.js +43 -0
- package/configuration/types/minimal.js.map +1 -0
- package/configuration/types/renderOnlyDefault.d.ts +30 -0
- package/configuration/types/renderOnlyDefault.js +31 -0
- package/configuration/types/renderOnlyDefault.js.map +1 -0
- package/configuration/types/shadowLight.d.ts +9 -0
- package/configuration/types/shadowLight.js +64 -0
- package/configuration/types/shadowLight.js.map +1 -0
- package/helper/index.d.ts +29 -0
- package/helper/index.js +66 -0
- package/helper/index.js.map +1 -0
- package/index.d.ts +30 -0
- package/index.js +46 -0
- package/index.js.map +1 -0
- package/initializer.d.ts +11 -0
- package/initializer.js +35 -0
- package/initializer.js.map +1 -0
- package/interfaces.d.ts +5 -0
- package/interfaces.js +7 -0
- package/interfaces.js.map +1 -0
- package/labs/environmentSerializer.d.ts +126 -0
- package/labs/environmentSerializer.js +191 -0
- package/labs/environmentSerializer.js.map +1 -0
- package/labs/texture.d.ts +183 -0
- package/labs/texture.js +351 -0
- package/labs/texture.js.map +1 -0
- package/labs/viewerLabs.d.ts +51 -0
- package/labs/viewerLabs.js +134 -0
- package/labs/viewerLabs.js.map +1 -0
- package/loader/modelLoader.d.ts +56 -0
- package/loader/modelLoader.js +202 -0
- package/loader/modelLoader.js.map +1 -0
- package/loader/plugins/applyMaterialConfig.d.ts +12 -0
- package/loader/plugins/applyMaterialConfig.js +16 -0
- package/loader/plugins/applyMaterialConfig.js.map +1 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
- package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
- package/loader/plugins/index.d.ts +19 -0
- package/loader/plugins/index.js +44 -0
- package/loader/plugins/index.js.map +1 -0
- package/loader/plugins/loaderPlugin.d.ts +24 -0
- package/loader/plugins/loaderPlugin.js +2 -0
- package/loader/plugins/loaderPlugin.js.map +1 -0
- package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
- package/loader/plugins/msftLodLoaderPlugin.js +21 -0
- package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
- package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
- package/loader/plugins/telemetryLoaderPlugin.js +36 -0
- package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
- package/managers/observablesManager.d.ts +66 -0
- package/managers/observablesManager.js +35 -0
- package/managers/observablesManager.js.map +1 -0
- package/managers/sceneManager.d.ts +245 -0
- package/managers/sceneManager.js +1375 -0
- package/managers/sceneManager.js.map +1 -0
- package/managers/telemetryManager.d.ts +78 -0
- package/managers/telemetryManager.js +117 -0
- package/managers/telemetryManager.js.map +1 -0
- package/model/modelAnimation.d.ts +215 -0
- package/model/modelAnimation.js +237 -0
- package/model/modelAnimation.js.map +1 -0
- package/model/viewerModel.d.ts +233 -0
- package/model/viewerModel.js +673 -0
- package/model/viewerModel.js.map +1 -0
- package/optimizer/custom/extended.d.ts +13 -0
- package/optimizer/custom/extended.js +101 -0
- package/optimizer/custom/extended.js.map +1 -0
- package/optimizer/custom/index.d.ts +9 -0
- package/optimizer/custom/index.js +26 -0
- package/optimizer/custom/index.js.map +1 -0
- package/package.json +28 -19
- package/readme.md +28 -28
- package/renderOnlyIndex.d.ts +11 -0
- package/renderOnlyIndex.js +18 -0
- package/renderOnlyIndex.js.map +1 -0
- package/templating/eventManager.d.ts +35 -0
- package/templating/eventManager.js +66 -0
- package/templating/eventManager.js.map +1 -0
- package/templating/plugins/hdButtonPlugin.d.ts +9 -0
- package/templating/plugins/hdButtonPlugin.js +22 -0
- package/templating/plugins/hdButtonPlugin.js.map +1 -0
- package/templating/plugins/printButton.d.ts +9 -0
- package/templating/plugins/printButton.js +41 -0
- package/templating/plugins/printButton.js.map +1 -0
- package/templating/templateManager.d.ts +197 -0
- package/templating/templateManager.js +561 -0
- package/templating/templateManager.js.map +1 -0
- package/templating/viewerTemplatePlugin.d.ts +21 -0
- package/templating/viewerTemplatePlugin.js +69 -0
- package/templating/viewerTemplatePlugin.js.map +1 -0
- package/viewer/defaultViewer.d.ts +130 -0
- package/viewer/defaultViewer.js +672 -0
- package/viewer/defaultViewer.js.map +1 -0
- package/viewer/renderOnlyViewer.d.ts +9 -0
- package/viewer/renderOnlyViewer.js +46 -0
- package/viewer/renderOnlyViewer.js.map +1 -0
- package/viewer/viewer.d.ts +258 -0
- package/viewer/viewer.js +783 -0
- package/viewer/viewer.js.map +1 -0
- package/viewer/viewerManager.d.ts +58 -0
- package/viewer/viewerManager.js +91 -0
- package/viewer/viewerManager.js.map +1 -0
- package/viewer/viewerWithTemplate.d.ts +9 -0
- package/viewer/viewerWithTemplate.js +20 -0
- package/viewer/viewerWithTemplate.js.map +1 -0
- package/assets/photoStudio.env +0 -0
- package/dist/babylon-viewer.esm.js +0 -2
- package/dist/babylon-viewer.esm.js.map +0 -1
- package/dist/babylon-viewer.esm.min.js +0 -2
- package/dist/babylon-viewer.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_ies-CWPYWIWN.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_ies-CWPYWIWN.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_ies-DXjx4vS8.esm.js +0 -84
- package/dist/chunks/EXT_lights_ies-DXjx4vS8.esm.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-B-Daha_c.esm.js +0 -171
- package/dist/chunks/EXT_lights_image_based-B-Daha_c.esm.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-fafIAwHA.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-fafIAwHA.esm.min.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-CQHNuvea.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-CQHNuvea.esm.min.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-xQzfnk4R.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-xQzfnk4R.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-B2YW8Jul.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-B2YW8Jul.esm.min.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-D-WT4x3b.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-D-WT4x3b.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-B3jJQLi_.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-B3jJQLi_.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-Cdp43X9W.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-Cdp43X9W.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-BnjDmIhh.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-BnjDmIhh.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-CJRS8tVF.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-CJRS8tVF.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-CIJMhaBZ.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-CIJMhaBZ.esm.min.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-CwbKTcv7.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-CwbKTcv7.esm.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-9iHVi2y-.esm.js +0 -352
- package/dist/chunks/KHR_animation_pointer-9iHVi2y-.esm.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-CqdJSFtB.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-CqdJSFtB.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-ClL38TL5.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-ClL38TL5.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-D3dZicO8.esm.js +0 -617
- package/dist/chunks/KHR_draco_mesh_compression-D3dZicO8.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-6HrLuIjZ.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-6HrLuIjZ.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-zubZF_6R.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-zubZF_6R.esm.min.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-ClmFHdd7.esm.js +0 -581
- package/dist/chunks/KHR_lights_punctual-ClmFHdd7.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-Fpwx2lSI.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-Fpwx2lSI.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-DJzuE8wA.esm.js +0 -65
- package/dist/chunks/KHR_materials_anisotropy-DJzuE8wA.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-DXobrZpb.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-DXobrZpb.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-D0969pHH.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-D0969pHH.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-IanIfR8B.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-IanIfR8B.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-CswRFXu1.esm.js +0 -97
- package/dist/chunks/KHR_materials_diffuse_transmission-CswRFXu1.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-DOSvTGyA.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-DOSvTGyA.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-N7vSa0nU.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-N7vSa0nU.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-lcuIAf7T.esm.js +0 -62
- package/dist/chunks/KHR_materials_dispersion-lcuIAf7T.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-CYCr0qYT.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-CYCr0qYT.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-Ccj9q0E7.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-Ccj9q0E7.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-CMGgp610.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior-CMGgp610.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-DLbZJSfw.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-DLbZJSfw.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-DxhjIyld.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-DxhjIyld.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-GKx4iT0n.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-GKx4iT0n.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BhSexHVn.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BhSexHVn.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CaAfu_3f.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CaAfu_3f.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-CN1BYTg2.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-CN1BYTg2.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-CTrHpM3p.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-CTrHpM3p.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-D_qAmusR.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-D_qAmusR.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-DpKtpzvK.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-DpKtpzvK.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-CxaJK0KS.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-CxaJK0KS.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-jJevhaTD.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-jJevhaTD.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-B9NoDbLu.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-B9NoDbLu.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-BV2WFURQ.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-BV2WFURQ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-BmH6A7LQ.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-BmH6A7LQ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-BwlvUynB.esm.js +0 -262
- package/dist/chunks/KHR_materials_variants-BwlvUynB.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-BxsuFsjg.esm.js +0 -87
- package/dist/chunks/KHR_materials_volume-BxsuFsjg.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-DgaN4xP_.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-DgaN4xP_.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-BiqtT9kx.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-BiqtT9kx.esm.min.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-Dui9vNiN.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-Dui9vNiN.esm.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-Bb7NACAZ.esm.js +0 -39
- package/dist/chunks/KHR_node_hoverability-Bb7NACAZ.esm.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-DO_c3jaM.esm.min.js +0 -2
- package/dist/chunks/KHR_node_hoverability-DO_c3jaM.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-B5DLk18h.esm.js +0 -46
- package/dist/chunks/KHR_node_visibility-B5DLk18h.esm.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-Cf7iNP2D.esm.min.js +0 -2
- package/dist/chunks/KHR_node_visibility-Cf7iNP2D.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-DgmXsV7i.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-DgmXsV7i.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-O4WmrcrG.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-O4WmrcrG.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-C2B03Q6l.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-C2B03Q6l.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-DkQQG3PK.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform-DkQQG3PK.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-D9eCYTa2.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-D9eCYTa2.esm.min.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-gs5UzU_o.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-gs5UzU_o.esm.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-B9fkUjJ0.esm.js +0 -2207
- package/dist/chunks/MSFT_audio_emitter-B9fkUjJ0.esm.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-DpJ8OxBw.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-DpJ8OxBw.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_lod-DS6_zCB0.esm.js +0 -337
- package/dist/chunks/MSFT_lod-DS6_zCB0.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-qGdnTg6f.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-qGdnTg6f.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-99ZDXpdT.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-99ZDXpdT.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-B60rmY-O.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-B60rmY-O.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-Br1RUJsD.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-Br1RUJsD.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-DVcyl59-.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-DVcyl59-.esm.js.map +0 -1
- package/dist/chunks/animationGroup-D80NDoJK.esm.min.js +0 -2
- package/dist/chunks/animationGroup-D80NDoJK.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-DaKL_xr0.esm.js +0 -2482
- package/dist/chunks/animationGroup-DaKL_xr0.esm.js.map +0 -1
- package/dist/chunks/assetContainer-DUHXkzRR.esm.js +0 -1720
- package/dist/chunks/assetContainer-DUHXkzRR.esm.js.map +0 -1
- package/dist/chunks/assetContainer-DrlGfFUd.esm.min.js +0 -2
- package/dist/chunks/assetContainer-DrlGfFUd.esm.min.js.map +0 -1
- package/dist/chunks/audioEngine-BbaOte04.esm.min.js +0 -2
- package/dist/chunks/audioEngine-BbaOte04.esm.min.js.map +0 -1
- package/dist/chunks/audioEngine-Cl77hj6S.esm.js +0 -305
- package/dist/chunks/audioEngine-Cl77hj6S.esm.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-1Je9P1Wr.esm.js +0 -114
- package/dist/chunks/bakedVertexAnimation-1Je9P1Wr.esm.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-CqAC8NlK.esm.min.js +0 -2
- package/dist/chunks/bakedVertexAnimation-CqAC8NlK.esm.min.js.map +0 -1
- package/dist/chunks/basisTextureLoader-D6HL2Z1j.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-D6HL2Z1j.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-r7SDsKh7.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-r7SDsKh7.esm.min.js.map +0 -1
- package/dist/chunks/dds-B3q7zTkZ.esm.js +0 -540
- package/dist/chunks/dds-B3q7zTkZ.esm.js.map +0 -1
- package/dist/chunks/dds-BBiaQw-Y.esm.min.js +0 -2
- package/dist/chunks/dds-BBiaQw-Y.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-C4PtTvoL.esm.js +0 -88
- package/dist/chunks/ddsTextureLoader-C4PtTvoL.esm.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-CGA8DF-Z.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-CGA8DF-Z.esm.min.js.map +0 -1
- package/dist/chunks/decalFragment-BTxhBHbp.esm.js +0 -18
- package/dist/chunks/decalFragment-BTxhBHbp.esm.js.map +0 -1
- package/dist/chunks/decalFragment-n8HEgits.esm.min.js +0 -2
- package/dist/chunks/decalFragment-n8HEgits.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CUJQb4Ds.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CUJQb4Ds.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CkvRouhO.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CkvRouhO.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-D3CHq-x9.esm.js +0 -515
- package/dist/chunks/default.fragment-D3CHq-x9.esm.js.map +0 -1
- package/dist/chunks/default.fragment-DIWDeOi3.esm.js +0 -446
- package/dist/chunks/default.fragment-DIWDeOi3.esm.js.map +0 -1
- package/dist/chunks/default.vertex-7EvlstiX.esm.js +0 -181
- package/dist/chunks/default.vertex-7EvlstiX.esm.js.map +0 -1
- package/dist/chunks/default.vertex-DNVWc7Pt.esm.min.js +0 -2
- package/dist/chunks/default.vertex-DNVWc7Pt.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-DRUHVqKs.esm.min.js +0 -2
- package/dist/chunks/default.vertex-DRUHVqKs.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-Vc6tOJMI.esm.js +0 -202
- package/dist/chunks/default.vertex-Vc6tOJMI.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-Bf-6awzG.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-Bf-6awzG.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DDhQ3CTy.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-DDhQ3CTy.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DYX0y14N.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-DYX0y14N.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-DcdUryhi.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-DcdUryhi.esm.min.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
- package/dist/chunks/dumpTools-BWNjR_G6.esm.min.js +0 -2
- package/dist/chunks/dumpTools-BWNjR_G6.esm.min.js.map +0 -1
- package/dist/chunks/dumpTools-hegDCvBc.esm.js +0 -200
- package/dist/chunks/dumpTools-hegDCvBc.esm.js.map +0 -1
- package/dist/chunks/engine-CZGy-n30.esm.js +0 -2216
- package/dist/chunks/engine-CZGy-n30.esm.js.map +0 -1
- package/dist/chunks/engine-iddO2T22.esm.min.js +0 -2
- package/dist/chunks/engine-iddO2T22.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-CGXs9MDG.esm.min.js +0 -2
- package/dist/chunks/engine.common-CGXs9MDG.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-Cqb8HjxX.esm.js +0 -1162
- package/dist/chunks/engine.common-Cqb8HjxX.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-Czm9uAXM.esm.js +0 -64
- package/dist/chunks/envTextureLoader-Czm9uAXM.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-D-YagZnu.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-D-YagZnu.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-B5WZowyO.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-B5WZowyO.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-BrdD2X7A.esm.js +0 -382
- package/dist/chunks/environmentTextureTools-BrdD2X7A.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-ClJnk3E3.esm.js +0 -1683
- package/dist/chunks/exrTextureLoader-ClJnk3E3.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-s-Mog8_s.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-s-Mog8_s.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-C2vW2rrh.esm.js +0 -102
- package/dist/chunks/fogFragment-C2vW2rrh.esm.js.map +0 -1
- package/dist/chunks/fogFragment-CAmhx99G.esm.min.js +0 -2
- package/dist/chunks/fogFragment-CAmhx99G.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-VhCT_edc.esm.min.js +0 -2
- package/dist/chunks/fogFragment-VhCT_edc.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-weVZWTdd.esm.js +0 -101
- package/dist/chunks/fogFragment-weVZWTdd.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-4cImVcNT.esm.js +0 -12
- package/dist/chunks/fresnelFunction-4cImVcNT.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-Da1sPcvo.esm.min.js +0 -2
- package/dist/chunks/fresnelFunction-Da1sPcvo.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoader-7uvFneFt.esm.js +0 -7586
- package/dist/chunks/glTFLoader-7uvFneFt.esm.js.map +0 -1
- package/dist/chunks/glTFLoader-ChTng_Ew.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-ChTng_Ew.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-BeBTAsWq.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-BeBTAsWq.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-CCHLAoRK.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-CCHLAoRK.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-CIez3XpU.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-CIez3XpU.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-CjYmCnUh.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-CjYmCnUh.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-D8X6XkcB.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-D8X6XkcB.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-i7q2aWAO.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-i7q2aWAO.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-C6WR9qDu.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-C6WR9qDu.esm.min.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-DdEmyqh5.esm.js +0 -253
- package/dist/chunks/hdrTextureLoader-DdEmyqh5.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-B8W8JpaI.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-B8W8JpaI.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-CV2C3XEf.esm.js +0 -108
- package/dist/chunks/helperFunctions-CV2C3XEf.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-CgUf8pyk.esm.js +0 -80
- package/dist/chunks/helperFunctions-CgUf8pyk.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-VM--MJVI.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-VM--MJVI.esm.min.js.map +0 -1
- package/dist/chunks/iesTextureLoader-BuScKRlS.esm.js +0 -189
- package/dist/chunks/iesTextureLoader-BuScKRlS.esm.js.map +0 -1
- package/dist/chunks/iesTextureLoader-if1ntALJ.esm.min.js +0 -2
- package/dist/chunks/iesTextureLoader-if1ntALJ.esm.min.js.map +0 -1
- package/dist/chunks/index-7pOUdivR.esm.js +0 -74709
- package/dist/chunks/index-7pOUdivR.esm.js.map +0 -1
- package/dist/chunks/index-CHb7NKRY.esm.min.js +0 -57
- package/dist/chunks/index-CHb7NKRY.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-9L7lCOMk.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-9L7lCOMk.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-Ct-9NIcu.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-Ct-9NIcu.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CFHaSiET.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-CFHaSiET.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-Cqb_Zo_s.esm.js +0 -11
- package/dist/chunks/logDepthDeclaration-Cqb_Zo_s.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-DCW2NExX.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-DCW2NExX.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-oJ9tNQ3q.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-oJ9tNQ3q.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-BCP-KTtt.esm.js +0 -81
- package/dist/chunks/logDepthVertex-BCP-KTtt.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-BwYkGLpu.esm.js +0 -77
- package/dist/chunks/logDepthVertex-BwYkGLpu.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-DoyGVTWA.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-DoyGVTWA.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-WdJWwsLV.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-WdJWwsLV.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-B_ziE3K3.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-B_ziE3K3.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-CRWcERPP.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-CRWcERPP.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-NuhfZTP4.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-NuhfZTP4.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-_WOgDBUD.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-_WOgDBUD.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-BkKdZCAL.esm.min.js +0 -2
- package/dist/chunks/meshUboDeclaration-BkKdZCAL.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-VO75rv0M.esm.js +0 -26
- package/dist/chunks/meshUboDeclaration-VO75rv0M.esm.js.map +0 -1
- package/dist/chunks/objFileLoader-BcUlaMO0.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-BcUlaMO0.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-CrSk62pN.esm.js +0 -1338
- package/dist/chunks/objFileLoader-CrSk62pN.esm.js.map +0 -1
- package/dist/chunks/oitFragment-9xHvc1pY.esm.min.js +0 -2
- package/dist/chunks/oitFragment-9xHvc1pY.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-BedTygSm.esm.js +0 -1240
- package/dist/chunks/oitFragment-BedTygSm.esm.js.map +0 -1
- package/dist/chunks/oitFragment-Dx3jhb-Y.esm.js +0 -1078
- package/dist/chunks/oitFragment-Dx3jhb-Y.esm.js.map +0 -1
- package/dist/chunks/oitFragment-wsShal2z.esm.min.js +0 -2
- package/dist/chunks/oitFragment-wsShal2z.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-BAFAqEd3.esm.js +0 -15
- package/dist/chunks/pass.fragment-BAFAqEd3.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-BCDgjoaP.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-BCDgjoaP.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-Cw2vMur1.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-Cw2vMur1.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-DvVPDD3q.esm.js +0 -15
- package/dist/chunks/pass.fragment-DvVPDD3q.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-BEgWbv9s.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-BEgWbv9s.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-CR8wXt2w.esm.js +0 -3232
- package/dist/chunks/pbr.fragment-CR8wXt2w.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-CmVN3-cU.esm.js +0 -3273
- package/dist/chunks/pbr.fragment-CmVN3-cU.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-DXqzm4Ha.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-DXqzm4Ha.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-B7DptLQs.esm.js +0 -214
- package/dist/chunks/pbr.vertex-B7DptLQs.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-BNDn-K_8.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-BNDn-K_8.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-Cp8jkMaM.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-Cp8jkMaM.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-rvNW4KDh.esm.js +0 -339
- package/dist/chunks/pbr.vertex-rvNW4KDh.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-BRHkF-uK.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-BRHkF-uK.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-QT9kbb4b.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-QT9kbb4b.esm.min.js.map +0 -1
- package/dist/chunks/rawTexture-CS3J_QPB.esm.min.js +0 -2
- package/dist/chunks/rawTexture-CS3J_QPB.esm.min.js.map +0 -1
- package/dist/chunks/rawTexture-CTQXP4lW.esm.js +0 -191
- package/dist/chunks/rawTexture-CTQXP4lW.esm.js.map +0 -1
- package/dist/chunks/ray-D1I6_i0K.esm.js +0 -946
- package/dist/chunks/ray-D1I6_i0K.esm.js.map +0 -1
- package/dist/chunks/ray-ffMmFIRM.esm.min.js +0 -2
- package/dist/chunks/ray-ffMmFIRM.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-BuXAGpKo.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-BuXAGpKo.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-Uqqwk9hd.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-Uqqwk9hd.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-iifwD2Tq.esm.js +0 -17
- package/dist/chunks/rgbdDecode.fragment-iifwD2Tq.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-ykJ6BacZ.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-ykJ6BacZ.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-B8trM95E.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-B8trM95E.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-Dk50Ggfr.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-Dk50Ggfr.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-OfZ629fV.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-OfZ629fV.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-S4QKY6JX.esm.js +0 -17
- package/dist/chunks/rgbdEncode.fragment-S4QKY6JX.esm.js.map +0 -1
- package/dist/chunks/splatFileLoader-BKRNi0Kz.esm.js +0 -3379
- package/dist/chunks/splatFileLoader-BKRNi0Kz.esm.js.map +0 -1
- package/dist/chunks/splatFileLoader-Bii2polh.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-Bii2polh.esm.min.js.map +0 -1
- package/dist/chunks/spotLight-Bx97rCpk.esm.js +0 -701
- package/dist/chunks/spotLight-Bx97rCpk.esm.js.map +0 -1
- package/dist/chunks/spotLight-WYJhdyXT.esm.min.js +0 -2
- package/dist/chunks/spotLight-WYJhdyXT.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-B2COaxO7.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-B2COaxO7.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-DobO9sHt.esm.js +0 -1805
- package/dist/chunks/standardMaterial-DobO9sHt.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-BA8gtxRg.esm.js +0 -238
- package/dist/chunks/stlFileLoader-BA8gtxRg.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-hIvh4jC_.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-hIvh4jC_.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-BVKXLe7s.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-BVKXLe7s.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-autBbrGZ.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-autBbrGZ.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-BPspbumB.esm.min.js +0 -2
- package/dist/chunks/thinEngine-BPspbumB.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-wr-z1XFG.esm.js +0 -3848
- package/dist/chunks/thinEngine-wr-z1XFG.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-D2RBwifP.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-D2RBwifP.esm.min.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-DVy1Ya49.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-DVy1Ya49.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-B_-b5IVj.esm.js +0 -522
- package/dist/chunks/vertexColorMixing-B_-b5IVj.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-Bd53icV7.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-Bd53icV7.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-Bm_nb2CS.esm.js +0 -412
- package/dist/chunks/vertexColorMixing-Bm_nb2CS.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-DogY4EnF.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-DogY4EnF.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-CZnjGjDY.esm.min.js +0 -2
- package/dist/chunks/webgpuEngine-CZnjGjDY.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-DQcXBSQC.esm.js +0 -11533
- package/dist/chunks/webgpuEngine-DQcXBSQC.esm.js.map +0 -1
- package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
- package/lib/index.d.ts +0 -559
- package/lib/index.js +0 -2083
- package/lib/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_animation_pointer-CqdJSFtB.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_animation_pointer.data.js","../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_animation_pointer.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { Animation } from \"core/Animations/animation\";\nimport { AnimationPropertyInfo, nodeAnimationData } from \"../glTFLoaderAnimation\";\nimport { Color3 } from \"core/Maths/math.color\";\nfunction getColor3(_target, source, offset, scale) {\n return Color3.FromArray(source, offset).scale(scale);\n}\nfunction getAlpha(_target, source, offset, scale) {\n return source[offset + 3] * scale;\n}\nfunction getFloat(_target, source, offset, scale) {\n return source[offset] * scale;\n}\nfunction getMinusFloat(_target, source, offset, scale) {\n return -source[offset] * scale;\n}\nfunction getNextFloat(_target, source, offset, scale) {\n return source[offset + 1] * scale;\n}\nfunction getFloatBy2(_target, source, offset, scale) {\n return source[offset] * scale * 2;\n}\nfunction getTextureTransformTree(textureName) {\n return {\n scale: [\n new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, `${textureName}.uScale`, getFloat, () => 2),\n new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, `${textureName}.vScale`, getNextFloat, () => 2),\n ],\n offset: [\n new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, `${textureName}.uOffset`, getFloat, () => 2),\n new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, `${textureName}.vOffset`, getNextFloat, () => 2),\n ],\n rotation: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, `${textureName}.wAng`, getMinusFloat, () => 1)],\n };\n}\nclass CameraAnimationPropertyInfo extends AnimationPropertyInfo {\n /** @internal */\n buildAnimations(target, name, fps, keys, callback) {\n callback(target._babylonCamera, this._buildAnimation(name, fps, keys));\n }\n}\nclass MaterialAnimationPropertyInfo extends AnimationPropertyInfo {\n /** @internal */\n buildAnimations(target, name, fps, keys, callback) {\n for (const fillMode in target._data) {\n callback(target._data[fillMode].babylonMaterial, this._buildAnimation(name, fps, keys));\n }\n }\n}\nclass LightAnimationPropertyInfo extends AnimationPropertyInfo {\n /** @internal */\n buildAnimations(target, name, fps, keys, callback) {\n callback(target._babylonLight, this._buildAnimation(name, fps, keys));\n }\n}\nconst nodesTree = {\n __array__: {\n __target__: true,\n ...nodeAnimationData,\n },\n};\nconst camerasTree = {\n __array__: {\n __target__: true,\n orthographic: {\n xmag: [\n new CameraAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"orthoLeft\", getMinusFloat, () => 1),\n new CameraAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"orthoRight\", getNextFloat, () => 1),\n ],\n ymag: [\n new CameraAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"orthoBottom\", getMinusFloat, () => 1),\n new CameraAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"orthoTop\", getNextFloat, () => 1),\n ],\n zfar: [new CameraAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"maxZ\", getFloat, () => 1)],\n znear: [new CameraAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"minZ\", getFloat, () => 1)],\n },\n perspective: {\n yfov: [new CameraAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"fov\", getFloat, () => 1)],\n zfar: [new CameraAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"maxZ\", getFloat, () => 1)],\n znear: [new CameraAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"minZ\", getFloat, () => 1)],\n },\n },\n};\nconst materialsTree = {\n __array__: {\n __target__: true,\n pbrMetallicRoughness: {\n baseColorFactor: [\n new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_COLOR3, \"albedoColor\", getColor3, () => 4),\n new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"alpha\", getAlpha, () => 4),\n ],\n metallicFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"metallic\", getFloat, () => 1)],\n roughnessFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"roughness\", getFloat, () => 1)],\n baseColorTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"albedoTexture\"),\n },\n },\n metallicRoughnessTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"metallicTexture\"),\n },\n },\n },\n emissiveFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_COLOR3, \"emissiveColor\", getColor3, () => 3)],\n normalTexture: {\n scale: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"bumpTexture.level\", getFloat, () => 1)],\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"bumpTexture\"),\n },\n },\n occlusionTexture: {\n strength: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"ambientTextureStrength\", getFloat, () => 1)],\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"ambientTexture\"),\n },\n },\n emissiveTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"emissiveTexture\"),\n },\n },\n extensions: {\n KHR_materials_anisotropy: {\n anisotropyStrength: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"anisotropy.intensity\", getFloat, () => 1)],\n anisotropyRotation: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"anisotropy.angle\", getFloat, () => 1)],\n anisotropyTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"anisotropy.texture\"),\n },\n },\n },\n KHR_materials_clearcoat: {\n clearcoatFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"clearCoat.intensity\", getFloat, () => 1)],\n clearcoatRoughnessFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"clearCoat.roughness\", getFloat, () => 1)],\n clearcoatTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"clearCoat.texture\"),\n },\n },\n clearcoatNormalTexture: {\n scale: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"clearCoat.bumpTexture.level\", getFloat, () => 1)],\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"clearCoat.bumpTexture\"),\n },\n },\n clearcoatRoughnessTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"clearCoat.textureRoughness\"),\n },\n },\n },\n KHR_materials_dispersion: {\n dispersion: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"subSurface.dispersion\", getFloat, () => 1)],\n },\n KHR_materials_emissive_strength: {\n emissiveStrength: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"emissiveIntensity\", getFloat, () => 1)],\n },\n KHR_materials_ior: {\n ior: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"indexOfRefraction\", getFloat, () => 1)],\n },\n KHR_materials_iridescence: {\n iridescenceFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"iridescence.intensity\", getFloat, () => 1)],\n iridescenceIor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"iridescence.indexOfRefraction\", getFloat, () => 1)],\n iridescenceThicknessMinimum: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"iridescence.minimumThickness\", getFloat, () => 1)],\n iridescenceThicknessMaximum: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"iridescence.maximumThickness\", getFloat, () => 1)],\n iridescenceTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"iridescence.texture\"),\n },\n },\n iridescenceThicknessTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"iridescence.thicknessTexture\"),\n },\n },\n },\n KHR_materials_sheen: {\n sheenColorFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_COLOR3, \"sheen.color\", getColor3, () => 3)],\n sheenRoughnessFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"sheen.roughness\", getFloat, () => 1)],\n sheenColorTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"sheen.texture\"),\n },\n },\n sheenRoughnessTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"sheen.textureRoughness\"),\n },\n },\n },\n KHR_materials_specular: {\n specularFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"metallicF0Factor\", getFloat, () => 1)],\n specularColorFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_COLOR3, \"metallicReflectanceColor\", getColor3, () => 3)],\n specularTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"metallicReflectanceTexture\"),\n },\n },\n specularColorTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"reflectanceTexture\"),\n },\n },\n },\n KHR_materials_transmission: {\n transmissionFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"subSurface.refractionIntensity\", getFloat, () => 1)],\n transmissionTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"subSurface.refractionIntensityTexture\"),\n },\n },\n },\n KHR_materials_volume: {\n attenuationColor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_COLOR3, \"subSurface.tintColor\", getColor3, () => 3)],\n attenuationDistance: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"subSurface.tintColorAtDistance\", getFloat, () => 1)],\n thicknessFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"subSurface.maximumThickness\", getFloat, () => 1)],\n thicknessTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"subSurface.thicknessTexture\"),\n },\n },\n },\n KHR_materials_diffuse_transmission: {\n diffuseTransmissionFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"subSurface.translucencyIntensity\", getFloat, () => 1)],\n diffuseTransmissionTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"subSurface.translucencyIntensityTexture\"),\n },\n },\n diffuseTransmissionColorFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_COLOR3, \"subSurface.translucencyColor\", getColor3, () => 3)],\n diffuseTransmissionColorTexture: {\n extensions: {\n KHR_texture_transform: getTextureTransformTree(\"subSurface.translucencyColorTexture\"),\n },\n },\n },\n },\n },\n};\nconst extensionsTree = {\n KHR_lights_punctual: {\n lights: {\n __array__: {\n __target__: true,\n color: [new LightAnimationPropertyInfo(Animation.ANIMATIONTYPE_COLOR3, \"diffuse\", getColor3, () => 3)],\n intensity: [new LightAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"intensity\", getFloat, () => 1)],\n range: [new LightAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"range\", getFloat, () => 1)],\n spot: {\n innerConeAngle: [new LightAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"innerAngle\", getFloatBy2, () => 1)],\n outerConeAngle: [new LightAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"angle\", getFloatBy2, () => 1)],\n },\n },\n },\n },\n EXT_lights_ies: {\n lights: {\n __array__: {\n __target__: true,\n color: [new LightAnimationPropertyInfo(Animation.ANIMATIONTYPE_COLOR3, \"diffuse\", getColor3, () => 3)],\n multiplier: [new LightAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, \"intensity\", getFloat, () => 1)],\n },\n },\n },\n};\n/** @internal */\nexport const animationPointerTree = {\n nodes: nodesTree,\n materials: materialsTree,\n cameras: camerasTree,\n extensions: extensionsTree,\n};\n//# sourceMappingURL=KHR_animation_pointer.data.js.map","import { Logger } from \"core/Misc/logger\";\nimport { animationPointerTree } from \"./KHR_animation_pointer.data\";\nimport { GLTFPathToObjectConverter } from \"./gltfPathToObjectConverter\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_animation_pointer\";\n/**\n * Class to convert an animation pointer path to a smart object that\n * gets data from the animation buffer and creates animations.\n */\nclass AnimationPointerPathToObjectConverter extends GLTFPathToObjectConverter {\n constructor(gltf) {\n super(gltf, animationPointerTree);\n }\n}\n/**\n * [Specification PR](https://github.com/KhronosGroup/glTF/pull/2147)\n * !!! Experimental Extension Subject to Changes !!!\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_animation_pointer {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this._loader = loader;\n this._pathToObjectConverter = new AnimationPointerPathToObjectConverter(this._loader.gltf);\n }\n /**\n * Defines whether this extension is enabled.\n */\n get enabled() {\n return this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n delete this._pathToObjectConverter; // GC\n }\n /**\n * Loads a glTF animation channel.\n * @param context The context when loading the asset\n * @param animationContext The context of the animation when loading the asset\n * @param animation The glTF animation property\n * @param channel The glTF animation channel property\n * @param onLoad Called for each animation loaded\n * @returns A void promise that resolves when the load is complete or null if not handled\n */\n _loadAnimationChannelAsync(context, animationContext, animation, channel, onLoad) {\n const extension = channel.target.extensions?.KHR_animation_pointer;\n if (!extension || !this._pathToObjectConverter) {\n return null;\n }\n if (channel.target.path !== \"pointer\" /* AnimationChannelTargetPath.POINTER */) {\n Logger.Warn(`${context}/target/path: Value (${channel.target.path}) must be (${\"pointer\" /* AnimationChannelTargetPath.POINTER */}) when using the ${this.name} extension`);\n }\n if (channel.target.node != undefined) {\n Logger.Warn(`${context}/target/node: Value (${channel.target.node}) must not be present when using the ${this.name} extension`);\n }\n const extensionContext = `${context}/extensions/${this.name}`;\n const pointer = extension.pointer;\n if (!pointer) {\n throw new Error(`${extensionContext}: Pointer is missing`);\n }\n try {\n const targetInfo = this._pathToObjectConverter.convert(pointer);\n return this._loader._loadAnimationChannelFromTargetInfoAsync(context, animationContext, animation, channel, targetInfo, onLoad);\n }\n catch (e) {\n Logger.Warn(`${extensionContext}/pointer: Invalid pointer (${pointer}) skipped`);\n return null;\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_animation_pointer(loader));\n//# sourceMappingURL=KHR_animation_pointer.js.map"],"names":["getColor3","_target","source","offset","scale","Color3","FromArray","getFloat","getMinusFloat","getNextFloat","getFloatBy2","getTextureTransformTree","textureName","MaterialAnimationPropertyInfo","Animation","ANIMATIONTYPE_FLOAT","rotation","CameraAnimationPropertyInfo","AnimationPropertyInfo","buildAnimations","target","name","fps","keys","callback","_babylonCamera","this","_buildAnimation","fillMode","_data","babylonMaterial","LightAnimationPropertyInfo","_babylonLight","nodesTree","__array__","__target__","nodeAnimationData","camerasTree","orthographic","xmag","ymag","zfar","znear","perspective","yfov","animationPointerTree","nodes","materials","pbrMetallicRoughness","baseColorFactor","ANIMATIONTYPE_COLOR3","metallicFactor","roughnessFactor","baseColorTexture","extensions","KHR_texture_transform","metallicRoughnessTexture","emissiveFactor","normalTexture","occlusionTexture","strength","emissiveTexture","KHR_materials_anisotropy","anisotropyStrength","anisotropyRotation","anisotropyTexture","KHR_materials_clearcoat","clearcoatFactor","clearcoatRoughnessFactor","clearcoatTexture","clearcoatNormalTexture","clearcoatRoughnessTexture","KHR_materials_dispersion","dispersion","KHR_materials_emissive_strength","emissiveStrength","KHR_materials_ior","ior","KHR_materials_iridescence","iridescenceFactor","iridescenceIor","iridescenceThicknessMinimum","iridescenceThicknessMaximum","iridescenceTexture","iridescenceThicknessTexture","KHR_materials_sheen","sheenColorFactor","sheenRoughnessFactor","sheenColorTexture","sheenRoughnessTexture","KHR_materials_specular","specularFactor","specularColorFactor","specularTexture","specularColorTexture","KHR_materials_transmission","transmissionFactor","transmissionTexture","KHR_materials_volume","attenuationColor","attenuationDistance","thicknessFactor","thicknessTexture","KHR_materials_diffuse_transmission","diffuseTransmissionFactor","diffuseTransmissionTexture","diffuseTransmissionColorFactor","diffuseTransmissionColorTexture","cameras","KHR_lights_punctual","lights","color","intensity","range","spot","innerConeAngle","outerConeAngle","EXT_lights_ies","multiplier","NAME","AnimationPointerPathToObjectConverter","GLTFPathToObjectConverter","constructor","gltf","super","KHR_animation_pointer","loader","_loader","_pathToObjectConverter","enabled","isExtensionUsed","dispose","_loadAnimationChannelAsync","context","animationContext","animation","channel","onLoad","extension","path","Logger","Warn","undefined","node","extensionContext","pointer","Error","targetInfo","convert","_loadAnimationChannelFromTargetInfoAsync","e","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{T as e,w as r,V as t,x as o,L as s,aP as a,aQ as n}from"./index-CHb7NKRY.esm.min.js";import{A as i}from"./workerPool-BWHiDmEZ.esm.min.js";import{G as d,A as c,L as l}from"./glTFLoader-ChTng_Ew.esm.min.js";import"./rawTexture-CS3J_QPB.esm.min.js";import"./assetContainer-DrlGfFUd.esm.min.js";import"./glTFLoaderAnimation-CCHLAoRK.esm.min.js";function m(e,r,t,o,s){let a=null,n=null,i=null;try{let d;a=new e.Decoder,n=new e.DecoderBuffer,n.Init(r,r.byteLength);const c=a.GetEncodedGeometryType(n);switch(c){case e.TRIANGULAR_MESH:{const r=new e.Mesh;if(d=a.DecodeBufferToMesh(n,r),!d.ok()||0===r.ptr)throw new Error(d.error_msg());const t=3*r.num_faces(),s=4*t,c=e._malloc(s);try{a.GetTrianglesUInt32Array(r,s,c);const n=new Uint32Array(t);n.set(new Uint32Array(e.HEAPF32.buffer,c,t)),o(n)}finally{e._free(c)}i=r;break}case e.POINT_CLOUD:{const r=new e.PointCloud;if(d=a.DecodeBufferToPointCloud(n,r),!d.ok()||!r.ptr)throw new Error(d.error_msg());i=r;break}default:throw new Error(`Invalid geometry type ${c}`)}const l=i.num_points(),m=(r,t,o,a)=>{const n=a.data_type(),i=a.num_components(),d=a.normalized(),c=a.byte_stride(),m=a.byte_offset(),u={[e.DT_FLOAT32]:{typedArrayConstructor:Float32Array,heap:e.HEAPF32},[e.DT_INT8]:{typedArrayConstructor:Int8Array,heap:e.HEAP8},[e.DT_INT16]:{typedArrayConstructor:Int16Array,heap:e.HEAP16},[e.DT_INT32]:{typedArrayConstructor:Int32Array,heap:e.HEAP32},[e.DT_UINT8]:{typedArrayConstructor:Uint8Array,heap:e.HEAPU8},[e.DT_UINT16]:{typedArrayConstructor:Uint16Array,heap:e.HEAPU16},[e.DT_UINT32]:{typedArrayConstructor:Uint32Array,heap:e.HEAPU32}}[n];if(!u)throw new Error(`Invalid data type ${n}`);const f=l*i,y=f*u.typedArrayConstructor.BYTES_PER_ELEMENT,w=e._malloc(y);try{r.GetAttributeDataArrayForAllPoints(t,a,n,y,w);const e=new u.typedArrayConstructor(u.heap.buffer,w,f);s(o,e.slice(),i,m,c,d)}finally{e._free(w)}};if(t)for(const e in t){const r=t[e],o=a.GetAttributeByUniqueId(i,r);m(a,i,e,o)}else{const r={position:e.POSITION,normal:e.NORMAL,color:e.COLOR,uv:e.TEX_COORD};for(const e in r){const t=a.GetAttributeId(i,r[e]);if(-1!==t){const r=a.GetAttribute(i,t);m(a,i,e,r)}}}return l}finally{i&&e.destroy(i),n&&e.destroy(n),a&&e.destroy(a)}}function u(){let e;onmessage=r=>{const t=r.data;switch(t.id){case"init":{const r=t.decoder;r.url&&importScripts(r.url);const o=r.wasmBinary?{wasmBinary:r.wasmBinary}:{};e=DracoDecoderModule(o),postMessage({id:"initDone"});break}case"decodeMesh":if(!e)throw new Error("Draco decoder module is not available");e.then((e=>{const r=m(e,t.dataView,t.attributes,(e=>{postMessage({id:"indices",data:e},[e.buffer])}),((e,r,t,o,s,a)=>{postMessage({id:"attribute",kind:e,data:r,size:t,byteOffset:o,byteStride:s,normalized:a},[r.buffer])}));postMessage({id:"decodeMeshDone",totalVertices:r})}))}}}class f{static get DecoderAvailable(){const e=f.Configuration.decoder;return!!(e.wasmUrl&&e.wasmBinaryUrl&&"object"==typeof WebAssembly||e.fallbackUrl)}static GetDefaultNumWorkers(){return"object"==typeof navigator&&navigator.hardwareConcurrency?Math.min(Math.floor(.5*navigator.hardwareConcurrency),4):1}static get Default(){return f._Default||(f._Default=new f),f._Default}static ResetDefault(e){f._Default&&(e||f._Default.dispose(),f._Default=null)}constructor(r=f.DefaultNumWorkers){const t=f.Configuration.decoder;if(t.workerPool||"object"==typeof r&&r.workerPool)this._workerPoolPromise=Promise.resolve(t.workerPool||r.workerPool);else{const o=t.wasmBinary||"object"==typeof r&&r.wasmBinary,s="number"==typeof r?r:r.numWorkers,a=s&&"function"==typeof Worker&&"function"==typeof URL,n=a||!a&&!t.jsModule,d=t.wasmUrl&&t.wasmBinaryUrl&&"object"==typeof WebAssembly?{url:n?e.GetBabylonScriptURL(t.wasmUrl,!0):"",wasmBinaryPromise:o?Promise.resolve(o):e.LoadFileAsync(e.GetBabylonScriptURL(t.wasmBinaryUrl,!0))}:{url:n?e.GetBabylonScriptURL(t.fallbackUrl):"",wasmBinaryPromise:Promise.resolve(void 0)};a?this._workerPoolPromise=d.wasmBinaryPromise.then((e=>{const r=`${m}(${u})()`,t=URL.createObjectURL(new Blob([r],{type:"application/javascript"}));return new i(s,(()=>function(e,r,t){return new Promise(((o,s)=>{const a=r=>{e.removeEventListener("error",a),e.removeEventListener("message",n),s(r)},n=r=>{"initDone"===r.data.id&&(e.removeEventListener("error",a),e.removeEventListener("message",n),o(e))};if(e.addEventListener("error",a),e.addEventListener("message",n),r){const o=r.slice(0);e.postMessage({id:"init",decoder:{url:t,wasmBinary:o}},[o])}else e.postMessage({id:"init",decoder:{url:t}})}))}(new Worker(t),e,d.url)))})):this._decoderModulePromise=d.wasmBinaryPromise.then((async r=>{if("undefined"==typeof DracoDecoderModule&&!t.jsModule){if(!d.url)throw new Error("Draco decoder module is not available");await e.LoadBabylonScriptAsync(d.url)}return await(o=r,s=t.jsModule,new Promise((e=>{(s||DracoDecoderModule)({wasmBinary:o}).then((r=>{e({module:r})}))})));var o,s}))}}dispose(){this._workerPoolPromise&&this._workerPoolPromise.then((e=>{e.dispose()})),delete this._workerPoolPromise,delete this._decoderModulePromise}async whenReadyAsync(){this._workerPoolPromise?await this._workerPoolPromise:this._decoderModulePromise&&await this._decoderModulePromise}decodeMeshToMeshDataAsync(e,r,t){const o=e instanceof ArrayBuffer?new Int8Array(e):new Int8Array(e.buffer,e.byteOffset,e.byteLength);if(this._workerPoolPromise)return this._workerPoolPromise.then((e=>new Promise(((a,n)=>{e.push(((e,i)=>{let d=null;const c=[],l=r=>{e.removeEventListener("error",l),e.removeEventListener("message",m),n(r),i()},m=r=>{const o=r.data;switch(o.id){case"decodeMeshDone":e.removeEventListener("error",l),e.removeEventListener("message",m),a({indices:d,attributes:c,totalVertices:o.totalVertices}),i();break;case"indices":d=o.data;break;case"attribute":c.push({kind:o.kind,data:o.data,size:o.size,byteOffset:o.byteOffset,byteStride:o.byteStride,normalized:(n=o.kind,u=o.normalized,t&&void 0!==t[n]?(u!==t[n]&&s.Warn(`Normalized flag from Draco data (${u}) does not match normalized flag from glTF accessor (${t[n]}). Using flag from glTF accessor.`),t[n]):u)})}var n,u};e.addEventListener("error",l),e.addEventListener("message",m);const u=o.slice();e.postMessage({id:"decodeMesh",dataView:u,attributes:r},[u.buffer])}))}))));if(this._decoderModulePromise)return this._decoderModulePromise.then((e=>{let t=null;const s=[],a=m(e.module,o,r,(e=>{t=e}),((e,r,t,o,a,n)=>{s.push({kind:e,data:r,size:t,byteOffset:o,byteStride:a,normalized:n})}));return{indices:t,attributes:s,totalVertices:a}}));throw new Error("Draco decoder module is not available")}async decodeMeshToGeometryAsync(e,o,s,a){const n=await this.decodeMeshToMeshDataAsync(s,a),i=new r(e,o);n.indices&&i.setIndices(n.indices);for(const e of n.attributes)i.setVerticesBuffer(new t(o.getEngine(),e.data,e.kind,!1,void 0,e.byteStride,void 0,e.byteOffset,e.size,void 0,e.normalized,!0),n.totalVertices);return i}async _decodeMeshToGeometryForGltfAsync(e,o,s,a,n,i){const d=await this.decodeMeshToMeshDataAsync(s,a,n),c=new r(e,o);i&&(c._boundingInfo=i,c.useBoundingInfoFromGeometry=!0),d.indices&&c.setIndices(d.indices);for(const e of d.attributes)c.setVerticesBuffer(new t(o.getEngine(),e.data,e.kind,!1,void 0,e.byteStride,void 0,e.byteOffset,e.size,void 0,e.normalized,!0),d.totalVertices);return c}async decodeMeshAsync(e,r){const s=await this.decodeMeshToMeshDataAsync(e,r),a=new o;s.indices&&(a.indices=s.indices);for(const e of s.attributes){const r=t.GetFloatData(e.data,e.size,t.GetDataType(e.data),e.byteOffset,e.byteStride,e.normalized,s.totalVertices);a.set(r,e.kind)}return a}}f.Configuration={decoder:{wasmUrl:`${e._DefaultCdnUrl}/draco_wasm_wrapper_gltf.js`,wasmBinaryUrl:`${e._DefaultCdnUrl}/draco_decoder_gltf.wasm`,fallbackUrl:`${e._DefaultCdnUrl}/draco_decoder_gltf.js`}},f.DefaultNumWorkers=f.GetDefaultNumWorkers(),f._Default=null;const y="KHR_draco_mesh_compression";class w{constructor(e){this.name=y,this.useNormalizedFlagFromAccessor=!0,this._loader=e,this.enabled=f.DecoderAvailable&&this._loader.isExtensionUsed(y)}dispose(){delete this.dracoCompression,this._loader=null}_loadVertexDataAsync(e,r,o){return d.LoadExtensionAsync(e,r,this.name,((s,a)=>{if(null!=r.mode&&4!==r.mode&&5!==r.mode)throw new Error(`${e}: Unsupported mode ${r.mode}`);const n={},i={},d=(e,t)=>{const s=a.attributes[e];if(null!=s&&(o._delayInfo=o._delayInfo||[],-1===o._delayInfo.indexOf(t)&&o._delayInfo.push(t),n[t]=s,this.useNormalizedFlagFromAccessor)){const o=c.TryGet(this._loader.gltf.accessors,r.attributes[e]);o&&(i[t]=o.normalized||!1)}};d("POSITION",t.PositionKind),d("NORMAL",t.NormalKind),d("TANGENT",t.TangentKind),d("TEXCOORD_0",t.UVKind),d("TEXCOORD_1",t.UV2Kind),d("TEXCOORD_2",t.UV3Kind),d("TEXCOORD_3",t.UV4Kind),d("TEXCOORD_4",t.UV5Kind),d("TEXCOORD_5",t.UV6Kind),d("JOINTS_0",t.MatricesIndicesKind),d("WEIGHTS_0",t.MatricesWeightsKind),d("COLOR_0",t.ColorKind);const m=c.Get(s,this._loader.gltf.bufferViews,a.bufferView);return m._dracoBabylonGeometry||(m._dracoBabylonGeometry=this._loader.loadBufferViewAsync(`/bufferViews/${m.index}`,m).then((t=>{const s=this.dracoCompression||f.Default,a=c.TryGet(this._loader.gltf.accessors,r.attributes.POSITION),d=this._loader.parent.alwaysComputeBoundingBox||o.skeleton||!a?null:l(a);return s._decodeMeshToGeometryForGltfAsync(o.name,this._loader.babylonScene,t,n,i,d).catch((r=>{throw new Error(`${e}: ${r.message}`)}))}))),m._dracoBabylonGeometry}))}}a(y),n(y,!0,(e=>new w(e)));export{w as KHR_draco_mesh_compression};
|
|
2
|
-
//# sourceMappingURL=KHR_draco_mesh_compression-ClL38TL5.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_draco_mesh_compression-ClL38TL5.esm.min.js","sources":["../../../../../dev/core/dist/Meshes/Compression/dracoCompressionWorker.js","../../../../../dev/core/dist/Meshes/Compression/dracoCompression.js","../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_draco_mesh_compression.js"],"sourcesContent":["/**\n * @internal\n */\nexport function decodeMesh(decoderModule /*DecoderModule*/, data, attributes, onIndicesData, onAttributeData) {\n let decoder = null;\n let buffer = null;\n let geometry = null;\n try {\n decoder = new decoderModule.Decoder();\n buffer = new decoderModule.DecoderBuffer();\n buffer.Init(data, data.byteLength);\n let status;\n const type = decoder.GetEncodedGeometryType(buffer);\n switch (type) {\n case decoderModule.TRIANGULAR_MESH: {\n const mesh = new decoderModule.Mesh();\n status = decoder.DecodeBufferToMesh(buffer, mesh);\n if (!status.ok() || mesh.ptr === 0) {\n throw new Error(status.error_msg());\n }\n const numFaces = mesh.num_faces();\n const numIndices = numFaces * 3;\n const byteLength = numIndices * 4;\n const ptr = decoderModule._malloc(byteLength);\n try {\n decoder.GetTrianglesUInt32Array(mesh, byteLength, ptr);\n const indices = new Uint32Array(numIndices);\n indices.set(new Uint32Array(decoderModule.HEAPF32.buffer, ptr, numIndices));\n onIndicesData(indices);\n }\n finally {\n decoderModule._free(ptr);\n }\n geometry = mesh;\n break;\n }\n case decoderModule.POINT_CLOUD: {\n const pointCloud = new decoderModule.PointCloud();\n status = decoder.DecodeBufferToPointCloud(buffer, pointCloud);\n if (!status.ok() || !pointCloud.ptr) {\n throw new Error(status.error_msg());\n }\n geometry = pointCloud;\n break;\n }\n default: {\n throw new Error(`Invalid geometry type ${type}`);\n }\n }\n const numPoints = geometry.num_points();\n const processAttribute = (decoder, geometry, kind, attribute) => {\n const dataType = attribute.data_type();\n const numComponents = attribute.num_components();\n const normalized = attribute.normalized();\n const byteStride = attribute.byte_stride();\n const byteOffset = attribute.byte_offset();\n const dataTypeInfo = {\n [decoderModule.DT_FLOAT32]: { typedArrayConstructor: Float32Array, heap: decoderModule.HEAPF32 },\n [decoderModule.DT_INT8]: { typedArrayConstructor: Int8Array, heap: decoderModule.HEAP8 },\n [decoderModule.DT_INT16]: { typedArrayConstructor: Int16Array, heap: decoderModule.HEAP16 },\n [decoderModule.DT_INT32]: { typedArrayConstructor: Int32Array, heap: decoderModule.HEAP32 },\n [decoderModule.DT_UINT8]: { typedArrayConstructor: Uint8Array, heap: decoderModule.HEAPU8 },\n [decoderModule.DT_UINT16]: { typedArrayConstructor: Uint16Array, heap: decoderModule.HEAPU16 },\n [decoderModule.DT_UINT32]: { typedArrayConstructor: Uint32Array, heap: decoderModule.HEAPU32 },\n };\n const info = dataTypeInfo[dataType];\n if (!info) {\n throw new Error(`Invalid data type ${dataType}`);\n }\n const numValues = numPoints * numComponents;\n const byteLength = numValues * info.typedArrayConstructor.BYTES_PER_ELEMENT;\n const ptr = decoderModule._malloc(byteLength);\n try {\n decoder.GetAttributeDataArrayForAllPoints(geometry, attribute, dataType, byteLength, ptr);\n const data = new info.typedArrayConstructor(info.heap.buffer, ptr, numValues);\n onAttributeData(kind, data.slice(), numComponents, byteOffset, byteStride, normalized);\n }\n finally {\n decoderModule._free(ptr);\n }\n };\n if (attributes) {\n for (const kind in attributes) {\n const id = attributes[kind];\n const attribute = decoder.GetAttributeByUniqueId(geometry, id);\n processAttribute(decoder, geometry, kind, attribute);\n }\n }\n else {\n const dracoAttributeTypes = {\n position: decoderModule.POSITION,\n normal: decoderModule.NORMAL,\n color: decoderModule.COLOR,\n uv: decoderModule.TEX_COORD,\n };\n for (const kind in dracoAttributeTypes) {\n const id = decoder.GetAttributeId(geometry, dracoAttributeTypes[kind]);\n if (id !== -1) {\n const attribute = decoder.GetAttribute(geometry, id);\n processAttribute(decoder, geometry, kind, attribute);\n }\n }\n }\n return numPoints;\n }\n finally {\n if (geometry) {\n decoderModule.destroy(geometry);\n }\n if (buffer) {\n decoderModule.destroy(buffer);\n }\n if (decoder) {\n decoderModule.destroy(decoder);\n }\n }\n}\n/**\n * The worker function that gets converted to a blob url to pass into a worker.\n * To be used if a developer wants to create their own worker instance and inject it instead of using the default worker.\n */\nexport function workerFunction() {\n let decoderPromise;\n onmessage = (event) => {\n const message = event.data;\n switch (message.id) {\n case \"init\": {\n const decoder = message.decoder;\n // if URL is provided then load the script. Otherwise expect the script to be loaded already\n if (decoder.url) {\n importScripts(decoder.url);\n }\n const initDecoderObject = decoder.wasmBinary ? { wasmBinary: decoder.wasmBinary } : {};\n decoderPromise = DracoDecoderModule(initDecoderObject);\n postMessage({ id: \"initDone\" });\n break;\n }\n case \"decodeMesh\": {\n if (!decoderPromise) {\n throw new Error(\"Draco decoder module is not available\");\n }\n decoderPromise.then((decoder) => {\n const numPoints = decodeMesh(decoder, message.dataView, message.attributes, (indices) => {\n postMessage({ id: \"indices\", data: indices }, [indices.buffer]);\n }, (kind, data, size, offset, stride, normalized) => {\n postMessage({ id: \"attribute\", kind, data, size, byteOffset: offset, byteStride: stride, normalized }, [data.buffer]);\n });\n postMessage({ id: \"decodeMeshDone\", totalVertices: numPoints });\n });\n break;\n }\n }\n };\n}\n/**\n * Initializes a worker that was created for the draco agent pool\n * @param worker The worker to initialize\n * @param decoderWasmBinary The wasm binary to load into the worker\n * @param moduleUrl The url to the draco decoder module (optional)\n * @returns A promise that resolves when the worker is initialized\n */\nexport function initializeWebWorker(worker, decoderWasmBinary, moduleUrl) {\n return new Promise((resolve, reject) => {\n const onError = (error) => {\n worker.removeEventListener(\"error\", onError);\n worker.removeEventListener(\"message\", onMessage);\n reject(error);\n };\n const onMessage = (event) => {\n if (event.data.id === \"initDone\") {\n worker.removeEventListener(\"error\", onError);\n worker.removeEventListener(\"message\", onMessage);\n resolve(worker);\n }\n };\n worker.addEventListener(\"error\", onError);\n worker.addEventListener(\"message\", onMessage);\n if (!decoderWasmBinary) {\n worker.postMessage({\n id: \"init\",\n decoder: {\n url: moduleUrl,\n },\n });\n }\n else {\n // clone the array buffer to make it transferable\n const clone = decoderWasmBinary.slice(0);\n worker.postMessage({\n id: \"init\",\n decoder: {\n url: moduleUrl,\n wasmBinary: clone,\n },\n }, [clone]);\n }\n // note: no transfer list as the ArrayBuffer is shared across main thread and pool workers\n });\n}\n//# sourceMappingURL=dracoCompressionWorker.js.map","import { Tools } from \"../../Misc/tools\";\nimport { AutoReleaseWorkerPool } from \"../../Misc/workerPool\";\nimport { Geometry } from \"../geometry\";\nimport { VertexBuffer } from \"../buffer\";\nimport { VertexData } from \"../mesh.vertexData\";\nimport { Logger } from \"../../Misc/logger\";\nimport { decodeMesh, workerFunction, initializeWebWorker } from \"./dracoCompressionWorker\";\nfunction createDecoderAsync(wasmBinary, jsModule) {\n return new Promise((resolve) => {\n (jsModule || DracoDecoderModule)({ wasmBinary }).then((module) => {\n resolve({ module });\n });\n });\n}\n/**\n * Draco compression (https://google.github.io/draco/)\n *\n * This class wraps the Draco module.\n *\n * **Encoder**\n *\n * The encoder is not currently implemented.\n *\n * **Decoder**\n *\n * By default, the configuration points to a copy of the Draco decoder files for glTF from the babylon.js preview cdn https://preview.babylonjs.com/draco_wasm_wrapper_gltf.js.\n *\n * To update the configuration, use the following code:\n * ```javascript\n * DracoCompression.Configuration = {\n * decoder: {\n * wasmUrl: \"<url to the WebAssembly library>\",\n * wasmBinaryUrl: \"<url to the WebAssembly binary>\",\n * fallbackUrl: \"<url to the fallback JavaScript library>\",\n * }\n * };\n * ```\n *\n * Draco has two versions, one for WebAssembly and one for JavaScript. The decoder configuration can be set to only support WebAssembly or only support the JavaScript version.\n * Decoding will automatically fallback to the JavaScript version if WebAssembly version is not configured or if WebAssembly is not supported by the browser.\n * Use `DracoCompression.DecoderAvailable` to determine if the decoder configuration is available for the current context.\n *\n * To decode Draco compressed data, get the default DracoCompression object and call decodeMeshToGeometryAsync:\n * ```javascript\n * var geometry = await DracoCompression.Default.decodeMeshToGeometryAsync(data);\n * ```\n *\n * @see https://playground.babylonjs.com/#DMZIBD#0\n */\nexport class DracoCompression {\n /**\n * Returns true if the decoder configuration is available.\n */\n static get DecoderAvailable() {\n const decoder = DracoCompression.Configuration.decoder;\n return !!((decoder.wasmUrl && decoder.wasmBinaryUrl && typeof WebAssembly === \"object\") || decoder.fallbackUrl);\n }\n static GetDefaultNumWorkers() {\n if (typeof navigator !== \"object\" || !navigator.hardwareConcurrency) {\n return 1;\n }\n // Use 50% of the available logical processors but capped at 4.\n return Math.min(Math.floor(navigator.hardwareConcurrency * 0.5), 4);\n }\n /**\n * Default instance for the draco compression object.\n */\n static get Default() {\n if (!DracoCompression._Default) {\n DracoCompression._Default = new DracoCompression();\n }\n return DracoCompression._Default;\n }\n /**\n * Reset the default draco compression object to null and disposing the removed default instance.\n * Note that if the workerPool is a member of the static Configuration object it is recommended not to run dispose,\n * unless the static worker pool is no longer needed.\n * @param skipDispose set to true to not dispose the removed default instance\n */\n static ResetDefault(skipDispose) {\n if (DracoCompression._Default) {\n if (!skipDispose) {\n DracoCompression._Default.dispose();\n }\n DracoCompression._Default = null;\n }\n }\n /**\n * Constructor\n * @param numWorkers The number of workers for async operations Or an options object. Specify `0` to disable web workers and run synchronously in the current context.\n */\n constructor(numWorkers = DracoCompression.DefaultNumWorkers) {\n const decoder = DracoCompression.Configuration.decoder;\n // check if the decoder binary and worker pool was injected\n // Note - it is expected that the developer checked if WebWorker, WebAssembly and the URL object are available\n if (decoder.workerPool || (typeof numWorkers === \"object\" && numWorkers.workerPool)) {\n // set the promise accordingly\n this._workerPoolPromise = Promise.resolve(decoder.workerPool || numWorkers.workerPool);\n }\n else {\n // to avoid making big changes to the decider, if wasmBinary is provided use it in the wasmBinaryPromise\n const wasmBinaryProvided = decoder.wasmBinary || (typeof numWorkers === \"object\" && numWorkers.wasmBinary);\n const numberOfWorkers = typeof numWorkers === \"number\" ? numWorkers : numWorkers.numWorkers;\n const useWorkers = numberOfWorkers && typeof Worker === \"function\" && typeof URL === \"function\";\n const urlNeeded = useWorkers || (!useWorkers && !decoder.jsModule);\n // code maintained here for back-compat with no changes\n const decoderInfo = decoder.wasmUrl && decoder.wasmBinaryUrl && typeof WebAssembly === \"object\"\n ? {\n url: urlNeeded ? Tools.GetBabylonScriptURL(decoder.wasmUrl, true) : \"\",\n wasmBinaryPromise: wasmBinaryProvided ? Promise.resolve(wasmBinaryProvided) : Tools.LoadFileAsync(Tools.GetBabylonScriptURL(decoder.wasmBinaryUrl, true)),\n }\n : {\n url: urlNeeded ? Tools.GetBabylonScriptURL(decoder.fallbackUrl) : \"\",\n wasmBinaryPromise: Promise.resolve(undefined),\n };\n if (useWorkers) {\n this._workerPoolPromise = decoderInfo.wasmBinaryPromise.then((decoderWasmBinary) => {\n const workerContent = `${decodeMesh}(${workerFunction})()`;\n const workerBlobUrl = URL.createObjectURL(new Blob([workerContent], { type: \"application/javascript\" }));\n return new AutoReleaseWorkerPool(numberOfWorkers, () => {\n const worker = new Worker(workerBlobUrl);\n return initializeWebWorker(worker, decoderWasmBinary, decoderInfo.url);\n });\n });\n }\n else {\n this._decoderModulePromise = decoderInfo.wasmBinaryPromise.then(async (decoderWasmBinary) => {\n if (typeof DracoDecoderModule === \"undefined\") {\n if (!decoder.jsModule) {\n if (!decoderInfo.url) {\n throw new Error(\"Draco decoder module is not available\");\n }\n await Tools.LoadBabylonScriptAsync(decoderInfo.url);\n }\n }\n return await createDecoderAsync(decoderWasmBinary, decoder.jsModule);\n });\n }\n }\n }\n /**\n * Stop all async operations and release resources.\n */\n dispose() {\n if (this._workerPoolPromise) {\n this._workerPoolPromise.then((workerPool) => {\n workerPool.dispose();\n });\n }\n delete this._workerPoolPromise;\n delete this._decoderModulePromise;\n }\n /**\n * Returns a promise that resolves when ready. Call this manually to ensure draco compression is ready before use.\n * @returns a promise that resolves when ready\n */\n async whenReadyAsync() {\n if (this._workerPoolPromise) {\n await this._workerPoolPromise;\n return;\n }\n if (this._decoderModulePromise) {\n await this._decoderModulePromise;\n return;\n }\n }\n /**\n * Decode Draco compressed mesh data to mesh data.\n * @param data The ArrayBuffer or ArrayBufferView for the Draco compression data\n * @param attributes A map of attributes from vertex buffer kinds to Draco unique ids\n * @param gltfNormalizedOverride A map of attributes from vertex buffer kinds to normalized flags to override the Draco normalization\n * @returns A promise that resolves with the decoded mesh data\n */\n decodeMeshToMeshDataAsync(data, attributes, gltfNormalizedOverride) {\n const dataView = data instanceof ArrayBuffer ? new Int8Array(data) : new Int8Array(data.buffer, data.byteOffset, data.byteLength);\n const applyGltfNormalizedOverride = (kind, normalized) => {\n if (gltfNormalizedOverride && gltfNormalizedOverride[kind] !== undefined) {\n if (normalized !== gltfNormalizedOverride[kind]) {\n Logger.Warn(`Normalized flag from Draco data (${normalized}) does not match normalized flag from glTF accessor (${gltfNormalizedOverride[kind]}). Using flag from glTF accessor.`);\n }\n return gltfNormalizedOverride[kind];\n }\n else {\n return normalized;\n }\n };\n if (this._workerPoolPromise) {\n return this._workerPoolPromise.then((workerPool) => {\n return new Promise((resolve, reject) => {\n workerPool.push((worker, onComplete) => {\n let resultIndices = null;\n const resultAttributes = [];\n const onError = (error) => {\n worker.removeEventListener(\"error\", onError);\n worker.removeEventListener(\"message\", onMessage);\n reject(error);\n onComplete();\n };\n const onMessage = (event) => {\n const message = event.data;\n switch (message.id) {\n case \"decodeMeshDone\": {\n worker.removeEventListener(\"error\", onError);\n worker.removeEventListener(\"message\", onMessage);\n resolve({ indices: resultIndices, attributes: resultAttributes, totalVertices: message.totalVertices });\n onComplete();\n break;\n }\n case \"indices\": {\n resultIndices = message.data;\n break;\n }\n case \"attribute\": {\n resultAttributes.push({\n kind: message.kind,\n data: message.data,\n size: message.size,\n byteOffset: message.byteOffset,\n byteStride: message.byteStride,\n normalized: applyGltfNormalizedOverride(message.kind, message.normalized),\n });\n break;\n }\n }\n };\n worker.addEventListener(\"error\", onError);\n worker.addEventListener(\"message\", onMessage);\n const dataViewCopy = dataView.slice();\n worker.postMessage({ id: \"decodeMesh\", dataView: dataViewCopy, attributes: attributes }, [dataViewCopy.buffer]);\n });\n });\n });\n }\n if (this._decoderModulePromise) {\n return this._decoderModulePromise.then((decoder) => {\n let resultIndices = null;\n const resultAttributes = [];\n const numPoints = decodeMesh(decoder.module, dataView, attributes, (indices) => {\n resultIndices = indices;\n }, (kind, data, size, byteOffset, byteStride, normalized) => {\n resultAttributes.push({\n kind,\n data,\n size,\n byteOffset,\n byteStride,\n normalized,\n });\n });\n return { indices: resultIndices, attributes: resultAttributes, totalVertices: numPoints };\n });\n }\n throw new Error(\"Draco decoder module is not available\");\n }\n /**\n * Decode Draco compressed mesh data to Babylon geometry.\n * @param name The name to use when creating the geometry\n * @param scene The scene to use when creating the geometry\n * @param data The ArrayBuffer or ArrayBufferView for the Draco compression data\n * @param attributes A map of attributes from vertex buffer kinds to Draco unique ids\n * @returns A promise that resolves with the decoded geometry\n */\n async decodeMeshToGeometryAsync(name, scene, data, attributes) {\n const meshData = await this.decodeMeshToMeshDataAsync(data, attributes);\n const geometry = new Geometry(name, scene);\n if (meshData.indices) {\n geometry.setIndices(meshData.indices);\n }\n for (const attribute of meshData.attributes) {\n geometry.setVerticesBuffer(new VertexBuffer(scene.getEngine(), attribute.data, attribute.kind, false, undefined, attribute.byteStride, undefined, attribute.byteOffset, attribute.size, undefined, attribute.normalized, true), meshData.totalVertices);\n }\n return geometry;\n }\n /** @internal */\n async _decodeMeshToGeometryForGltfAsync(name, scene, data, attributes, gltfNormalizedOverride, boundingInfo) {\n const meshData = await this.decodeMeshToMeshDataAsync(data, attributes, gltfNormalizedOverride);\n const geometry = new Geometry(name, scene);\n if (boundingInfo) {\n geometry._boundingInfo = boundingInfo;\n geometry.useBoundingInfoFromGeometry = true;\n }\n if (meshData.indices) {\n geometry.setIndices(meshData.indices);\n }\n for (const attribute of meshData.attributes) {\n geometry.setVerticesBuffer(new VertexBuffer(scene.getEngine(), attribute.data, attribute.kind, false, undefined, attribute.byteStride, undefined, attribute.byteOffset, attribute.size, undefined, attribute.normalized, true), meshData.totalVertices);\n }\n return geometry;\n }\n /**\n * Decode Draco compressed mesh data to Babylon vertex data.\n * @param data The ArrayBuffer or ArrayBufferView for the Draco compression data\n * @param attributes A map of attributes from vertex buffer kinds to Draco unique ids\n * @returns A promise that resolves with the decoded vertex data\n * @deprecated Use {@link decodeMeshToGeometryAsync} for better performance in some cases\n */\n async decodeMeshAsync(data, attributes) {\n const meshData = await this.decodeMeshToMeshDataAsync(data, attributes);\n const vertexData = new VertexData();\n if (meshData.indices) {\n vertexData.indices = meshData.indices;\n }\n for (const attribute of meshData.attributes) {\n const floatData = VertexBuffer.GetFloatData(attribute.data, attribute.size, VertexBuffer.GetDataType(attribute.data), attribute.byteOffset, attribute.byteStride, attribute.normalized, meshData.totalVertices);\n vertexData.set(floatData, attribute.kind);\n }\n return vertexData;\n }\n}\n/**\n * The configuration. Defaults to the following urls:\n * - wasmUrl: \"https://cdn.babylonjs.com/draco_wasm_wrapper_gltf.js\"\n * - wasmBinaryUrl: \"https://cdn.babylonjs.com/draco_decoder_gltf.wasm\"\n * - fallbackUrl: \"https://cdn.babylonjs.com/draco_decoder_gltf.js\"\n */\nDracoCompression.Configuration = {\n decoder: {\n wasmUrl: `${Tools._DefaultCdnUrl}/draco_wasm_wrapper_gltf.js`,\n wasmBinaryUrl: `${Tools._DefaultCdnUrl}/draco_decoder_gltf.wasm`,\n fallbackUrl: `${Tools._DefaultCdnUrl}/draco_decoder_gltf.js`,\n },\n};\n/**\n * Default number of workers to create when creating the draco compression object.\n */\nDracoCompression.DefaultNumWorkers = DracoCompression.GetDefaultNumWorkers();\nDracoCompression._Default = null;\n//# sourceMappingURL=dracoCompression.js.map","import { DracoCompression } from \"core/Meshes/Compression/dracoCompression\";\nimport { VertexBuffer } from \"core/Buffers/buffer\";\nimport { GLTFLoader, ArrayItem, LoadBoundingInfoFromPositionAccessor } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_draco_mesh_compression\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_draco_mesh_compression {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines whether to use the normalized flag from the glTF accessor instead of the Draco data. Defaults to true.\n */\n this.useNormalizedFlagFromAccessor = true;\n this._loader = loader;\n this.enabled = DracoCompression.DecoderAvailable && this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n delete this.dracoCompression;\n this._loader = null;\n }\n /**\n * @internal\n */\n _loadVertexDataAsync(context, primitive, babylonMesh) {\n return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, (extensionContext, extension) => {\n if (primitive.mode != undefined) {\n if (primitive.mode !== 4 /* MeshPrimitiveMode.TRIANGLES */ && primitive.mode !== 5 /* MeshPrimitiveMode.TRIANGLE_STRIP */) {\n throw new Error(`${context}: Unsupported mode ${primitive.mode}`);\n }\n }\n const attributes = {};\n const normalized = {};\n const loadAttribute = (name, kind) => {\n const uniqueId = extension.attributes[name];\n if (uniqueId == undefined) {\n return;\n }\n babylonMesh._delayInfo = babylonMesh._delayInfo || [];\n if (babylonMesh._delayInfo.indexOf(kind) === -1) {\n babylonMesh._delayInfo.push(kind);\n }\n attributes[kind] = uniqueId;\n if (this.useNormalizedFlagFromAccessor) {\n const accessor = ArrayItem.TryGet(this._loader.gltf.accessors, primitive.attributes[name]);\n if (accessor) {\n normalized[kind] = accessor.normalized || false;\n }\n }\n };\n loadAttribute(\"POSITION\", VertexBuffer.PositionKind);\n loadAttribute(\"NORMAL\", VertexBuffer.NormalKind);\n loadAttribute(\"TANGENT\", VertexBuffer.TangentKind);\n loadAttribute(\"TEXCOORD_0\", VertexBuffer.UVKind);\n loadAttribute(\"TEXCOORD_1\", VertexBuffer.UV2Kind);\n loadAttribute(\"TEXCOORD_2\", VertexBuffer.UV3Kind);\n loadAttribute(\"TEXCOORD_3\", VertexBuffer.UV4Kind);\n loadAttribute(\"TEXCOORD_4\", VertexBuffer.UV5Kind);\n loadAttribute(\"TEXCOORD_5\", VertexBuffer.UV6Kind);\n loadAttribute(\"JOINTS_0\", VertexBuffer.MatricesIndicesKind);\n loadAttribute(\"WEIGHTS_0\", VertexBuffer.MatricesWeightsKind);\n loadAttribute(\"COLOR_0\", VertexBuffer.ColorKind);\n const bufferView = ArrayItem.Get(extensionContext, this._loader.gltf.bufferViews, extension.bufferView);\n if (!bufferView._dracoBabylonGeometry) {\n bufferView._dracoBabylonGeometry = this._loader.loadBufferViewAsync(`/bufferViews/${bufferView.index}`, bufferView).then((data) => {\n const dracoCompression = this.dracoCompression || DracoCompression.Default;\n const positionAccessor = ArrayItem.TryGet(this._loader.gltf.accessors, primitive.attributes[\"POSITION\"]);\n const babylonBoundingInfo = !this._loader.parent.alwaysComputeBoundingBox && !babylonMesh.skeleton && positionAccessor ? LoadBoundingInfoFromPositionAccessor(positionAccessor) : null;\n return dracoCompression\n ._decodeMeshToGeometryForGltfAsync(babylonMesh.name, this._loader.babylonScene, data, attributes, normalized, babylonBoundingInfo)\n .catch((error) => {\n throw new Error(`${context}: ${error.message}`);\n });\n });\n }\n return bufferView._dracoBabylonGeometry;\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_draco_mesh_compression(loader));\n//# sourceMappingURL=KHR_draco_mesh_compression.js.map"],"names":["decodeMesh","decoderModule","data","attributes","onIndicesData","onAttributeData","decoder","buffer","geometry","status","Decoder","DecoderBuffer","Init","byteLength","type","GetEncodedGeometryType","TRIANGULAR_MESH","mesh","Mesh","DecodeBufferToMesh","ok","ptr","Error","error_msg","numIndices","num_faces","_malloc","GetTrianglesUInt32Array","indices","Uint32Array","set","HEAPF32","_free","POINT_CLOUD","pointCloud","PointCloud","DecodeBufferToPointCloud","numPoints","num_points","processAttribute","kind","attribute","dataType","data_type","numComponents","num_components","normalized","byteStride","byte_stride","byteOffset","byte_offset","info","DT_FLOAT32","typedArrayConstructor","Float32Array","heap","DT_INT8","Int8Array","HEAP8","DT_INT16","Int16Array","HEAP16","DT_INT32","Int32Array","HEAP32","DT_UINT8","Uint8Array","HEAPU8","DT_UINT16","Uint16Array","HEAPU16","DT_UINT32","HEAPU32","numValues","BYTES_PER_ELEMENT","GetAttributeDataArrayForAllPoints","slice","id","GetAttributeByUniqueId","dracoAttributeTypes","position","POSITION","normal","NORMAL","color","COLOR","uv","TEX_COORD","GetAttributeId","GetAttribute","destroy","workerFunction","decoderPromise","onmessage","event","message","url","importScripts","initDecoderObject","wasmBinary","DracoDecoderModule","postMessage","then","dataView","size","offset","stride","totalVertices","DracoCompression","DecoderAvailable","Configuration","wasmUrl","wasmBinaryUrl","WebAssembly","fallbackUrl","GetDefaultNumWorkers","navigator","hardwareConcurrency","Math","min","floor","Default","_Default","ResetDefault","skipDispose","dispose","constructor","numWorkers","DefaultNumWorkers","workerPool","this","_workerPoolPromise","Promise","resolve","wasmBinaryProvided","numberOfWorkers","useWorkers","Worker","URL","urlNeeded","jsModule","decoderInfo","Tools","GetBabylonScriptURL","wasmBinaryPromise","LoadFileAsync","undefined","decoderWasmBinary","workerContent","workerBlobUrl","createObjectURL","Blob","AutoReleaseWorkerPool","worker","moduleUrl","reject","onError","error","removeEventListener","onMessage","addEventListener","clone","initializeWebWorker","_decoderModulePromise","async","LoadBabylonScriptAsync","module","whenReadyAsync","decodeMeshToMeshDataAsync","gltfNormalizedOverride","ArrayBuffer","push","onComplete","resultIndices","resultAttributes","Logger","Warn","dataViewCopy","decodeMeshToGeometryAsync","name","scene","meshData","Geometry","setIndices","setVerticesBuffer","VertexBuffer","getEngine","_decodeMeshToGeometryForGltfAsync","boundingInfo","_boundingInfo","useBoundingInfoFromGeometry","decodeMeshAsync","vertexData","VertexData","floatData","GetFloatData","GetDataType","_DefaultCdnUrl","NAME","KHR_draco_mesh_compression","loader","useNormalizedFlagFromAccessor","_loader","enabled","isExtensionUsed","dracoCompression","_loadVertexDataAsync","context","primitive","babylonMesh","GLTFLoader","LoadExtensionAsync","extensionContext","extension","mode","loadAttribute","uniqueId","_delayInfo","indexOf","accessor","ArrayItem","TryGet","gltf","accessors","PositionKind","NormalKind","TangentKind","UVKind","UV2Kind","UV3Kind","UV4Kind","UV5Kind","UV6Kind","MatricesIndicesKind","MatricesWeightsKind","ColorKind","bufferView","Get","bufferViews","_dracoBabylonGeometry","loadBufferViewAsync","index","positionAccessor","babylonBoundingInfo","parent","alwaysComputeBoundingBox","skeleton","LoadBoundingInfoFromPositionAccessor","babylonScene","catch","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"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"}
|