@babylonjs/viewer 7.41.0-alpha → 7.41.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-CFzvmxxg.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_ies-CFzvmxxg.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_ies-cyFdY7yl.esm.js +0 -84
- package/dist/chunks/EXT_lights_ies-cyFdY7yl.esm.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-BNmSqx40.esm.min.js +0 -2
- package/dist/chunks/EXT_lights_image_based-BNmSqx40.esm.min.js.map +0 -1
- package/dist/chunks/EXT_lights_image_based-CC48JVU0.esm.js +0 -171
- package/dist/chunks/EXT_lights_image_based-CC48JVU0.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-B2qj3kQu.esm.js +0 -86
- package/dist/chunks/EXT_mesh_gpu_instancing-B2qj3kQu.esm.js.map +0 -1
- package/dist/chunks/EXT_mesh_gpu_instancing-lanrAAoi.esm.min.js +0 -2
- package/dist/chunks/EXT_mesh_gpu_instancing-lanrAAoi.esm.min.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-DjvHx7gJ.esm.js +0 -134
- package/dist/chunks/EXT_meshopt_compression-DjvHx7gJ.esm.js.map +0 -1
- package/dist/chunks/EXT_meshopt_compression-oH6HzGir.esm.min.js +0 -2
- package/dist/chunks/EXT_meshopt_compression-oH6HzGir.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-BYWETW7-.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_avif-BYWETW7-.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_avif-CKXEq29h.esm.js +0 -44
- package/dist/chunks/EXT_texture_avif-CKXEq29h.esm.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-Dl4GPoEU.esm.min.js +0 -2
- package/dist/chunks/EXT_texture_webp-Dl4GPoEU.esm.min.js.map +0 -1
- package/dist/chunks/EXT_texture_webp-fAiSgaNl.esm.js +0 -43
- package/dist/chunks/EXT_texture_webp-fAiSgaNl.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-BUQ3X3M6.esm.js +0 -64
- package/dist/chunks/ExtrasAsMetadata-BUQ3X3M6.esm.js.map +0 -1
- package/dist/chunks/ExtrasAsMetadata-C_M9nxb4.esm.min.js +0 -2
- package/dist/chunks/ExtrasAsMetadata-C_M9nxb4.esm.min.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-BdFZyLUq.esm.js +0 -352
- package/dist/chunks/KHR_animation_pointer-BdFZyLUq.esm.js.map +0 -1
- package/dist/chunks/KHR_animation_pointer-CBqZcURZ.esm.min.js +0 -2
- package/dist/chunks/KHR_animation_pointer-CBqZcURZ.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js +0 -2
- package/dist/chunks/KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_draco_mesh_compression-hVF9XuFz.esm.js +0 -610
- package/dist/chunks/KHR_draco_mesh_compression-hVF9XuFz.esm.js.map +0 -1
- package/dist/chunks/KHR_interactivity-COE1p684.esm.min.js +0 -2
- package/dist/chunks/KHR_interactivity-COE1p684.esm.min.js.map +0 -1
- package/dist/chunks/KHR_interactivity-Cv1s_pea.esm.js +0 -4033
- package/dist/chunks/KHR_interactivity-Cv1s_pea.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-CHf5kbKi.esm.js +0 -581
- package/dist/chunks/KHR_lights_punctual-CHf5kbKi.esm.js.map +0 -1
- package/dist/chunks/KHR_lights_punctual-DIEAP5SG.esm.min.js +0 -2
- package/dist/chunks/KHR_lights_punctual-DIEAP5SG.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-CU-xxV6y.esm.js +0 -65
- package/dist/chunks/KHR_materials_anisotropy-CU-xxV6y.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_anisotropy-Cq6CU4qW.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_anisotropy-Cq6CU4qW.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-BSjcmIju.esm.js +0 -96
- package/dist/chunks/KHR_materials_clearcoat-BSjcmIju.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_clearcoat-CVNNhJRE.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_clearcoat-CVNNhJRE.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-BDuGIkOh.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_diffuse_transmission-BDuGIkOh.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_diffuse_transmission-BZ-9rJUf.esm.js +0 -97
- package/dist/chunks/KHR_materials_diffuse_transmission-BZ-9rJUf.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-BxiGElVU.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_dispersion-BxiGElVU.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_dispersion-UI4zH1V_.esm.js +0 -62
- package/dist/chunks/KHR_materials_dispersion-UI4zH1V_.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-BT-Nu60T.esm.js +0 -55
- package/dist/chunks/KHR_materials_emissive_strength-BT-Nu60T.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_emissive_strength-CwkVNmN7.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_emissive_strength-CwkVNmN7.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-BGUUe5AW.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_ior-BGUUe5AW.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_ior-BbBQF-yw.esm.js +0 -64
- package/dist/chunks/KHR_materials_ior-BbBQF-yw.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-IFN2ewvr.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_iridescence-IFN2ewvr.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_iridescence-nLZDN7sc.esm.js +0 -72
- package/dist/chunks/KHR_materials_iridescence-nLZDN7sc.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CyNVQC-W.esm.js +0 -81
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CyNVQC-W.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-zxcydJdp.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-zxcydJdp.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-BWL9yo8Z.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_sheen-BWL9yo8Z.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_sheen-DSThWwq2.esm.js +0 -85
- package/dist/chunks/KHR_materials_sheen-DSThWwq2.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-B96NRFEV.esm.js +0 -75
- package/dist/chunks/KHR_materials_specular-B96NRFEV.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_specular-D2JwOdxw.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_specular-D2JwOdxw.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-BvqtJXfD.esm.js +0 -307
- package/dist/chunks/KHR_materials_transmission-BvqtJXfD.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_transmission-ljXN4y_0.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_transmission-ljXN4y_0.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-CjGTXU3z.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_unlit-CjGTXU3z.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_unlit-ww00IloC.esm.js +0 -74
- package/dist/chunks/KHR_materials_unlit-ww00IloC.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-D0pVU1lm.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_variants-D0pVU1lm.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_variants-D3IDOJfB.esm.js +0 -262
- package/dist/chunks/KHR_materials_variants-D3IDOJfB.esm.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-BfZR8rbr.esm.min.js +0 -2
- package/dist/chunks/KHR_materials_volume-BfZR8rbr.esm.min.js.map +0 -1
- package/dist/chunks/KHR_materials_volume-CLkC_Bvi.esm.js +0 -87
- package/dist/chunks/KHR_materials_volume-CLkC_Bvi.esm.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-BJv1P2Wt.esm.js +0 -26
- package/dist/chunks/KHR_mesh_quantization-BJv1P2Wt.esm.js.map +0 -1
- package/dist/chunks/KHR_mesh_quantization-D69X_5bR.esm.min.js +0 -2
- package/dist/chunks/KHR_mesh_quantization-D69X_5bR.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-CG6s7hhs.esm.min.js +0 -2
- package/dist/chunks/KHR_node_hoverability-CG6s7hhs.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_hoverability-xgvyZ_r-.esm.js +0 -39
- package/dist/chunks/KHR_node_hoverability-xgvyZ_r-.esm.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-DUozjXRR.esm.min.js +0 -2
- package/dist/chunks/KHR_node_visibility-DUozjXRR.esm.min.js.map +0 -1
- package/dist/chunks/KHR_node_visibility-aAs5Kkey.esm.js +0 -46
- package/dist/chunks/KHR_node_visibility-aAs5Kkey.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-Bjw0jG1d.esm.js +0 -43
- package/dist/chunks/KHR_texture_basisu-Bjw0jG1d.esm.js.map +0 -1
- package/dist/chunks/KHR_texture_basisu-FWm46QOj.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_basisu-FWm46QOj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-BZYr2brj.esm.min.js +0 -2
- package/dist/chunks/KHR_texture_transform-BZYr2brj.esm.min.js.map +0 -1
- package/dist/chunks/KHR_texture_transform-DdsN6SA_.esm.js +0 -63
- package/dist/chunks/KHR_texture_transform-DdsN6SA_.esm.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-DhFD64vh.esm.min.js +0 -2
- package/dist/chunks/KHR_xmp_json_ld-DhFD64vh.esm.min.js.map +0 -1
- package/dist/chunks/KHR_xmp_json_ld-sTn6N13E.esm.js +0 -51
- package/dist/chunks/KHR_xmp_json_ld-sTn6N13E.esm.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-5lrNj8-c.esm.min.js +0 -2
- package/dist/chunks/MSFT_audio_emitter-5lrNj8-c.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_audio_emitter-B7RJSCaF.esm.js +0 -2201
- package/dist/chunks/MSFT_audio_emitter-B7RJSCaF.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-BJBjM7Gp.esm.js +0 -337
- package/dist/chunks/MSFT_lod-BJBjM7Gp.esm.js.map +0 -1
- package/dist/chunks/MSFT_lod-DpEZMnoU.esm.min.js +0 -2
- package/dist/chunks/MSFT_lod-DpEZMnoU.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-CXHPdyar.esm.min.js +0 -2
- package/dist/chunks/MSFT_minecraftMesh-CXHPdyar.esm.min.js.map +0 -1
- package/dist/chunks/MSFT_minecraftMesh-DRC2tMvY.esm.js +0 -46
- package/dist/chunks/MSFT_minecraftMesh-DRC2tMvY.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-Db1asZRk.esm.js +0 -47
- package/dist/chunks/MSFT_sRGBFactors-Db1asZRk.esm.js.map +0 -1
- package/dist/chunks/MSFT_sRGBFactors-RhAtY3q7.esm.min.js +0 -2
- package/dist/chunks/MSFT_sRGBFactors-RhAtY3q7.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-CjaFhT87.esm.min.js +0 -2
- package/dist/chunks/animationGroup-CjaFhT87.esm.min.js.map +0 -1
- package/dist/chunks/animationGroup-Ctc6BUYh.esm.js +0 -2482
- package/dist/chunks/animationGroup-Ctc6BUYh.esm.js.map +0 -1
- package/dist/chunks/assetContainer-DDEska5G.esm.min.js +0 -2
- package/dist/chunks/assetContainer-DDEska5G.esm.min.js.map +0 -1
- package/dist/chunks/assetContainer-QD3gUzyx.esm.js +0 -1720
- package/dist/chunks/assetContainer-QD3gUzyx.esm.js.map +0 -1
- package/dist/chunks/audioEngine-C6R2Ow6e.esm.js +0 -305
- package/dist/chunks/audioEngine-C6R2Ow6e.esm.js.map +0 -1
- package/dist/chunks/audioEngine-FKYFzzDb.esm.min.js +0 -2
- package/dist/chunks/audioEngine-FKYFzzDb.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-DKR6lpIg.esm.min.js +0 -2
- package/dist/chunks/bakedVertexAnimation-DKR6lpIg.esm.min.js.map +0 -1
- package/dist/chunks/bakedVertexAnimation-Hxn22qoJ.esm.js +0 -114
- package/dist/chunks/bakedVertexAnimation-Hxn22qoJ.esm.js.map +0 -1
- package/dist/chunks/basisTextureLoader-BcNAHqjw.esm.min.js +0 -2
- package/dist/chunks/basisTextureLoader-BcNAHqjw.esm.min.js.map +0 -1
- package/dist/chunks/basisTextureLoader-Dr2d0ez5.esm.js +0 -600
- package/dist/chunks/basisTextureLoader-Dr2d0ez5.esm.js.map +0 -1
- package/dist/chunks/dds-CFrq_XFM.esm.js +0 -540
- package/dist/chunks/dds-CFrq_XFM.esm.js.map +0 -1
- package/dist/chunks/dds-D1NTXLIL.esm.min.js +0 -2
- package/dist/chunks/dds-D1NTXLIL.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-DbvffCUa.esm.min.js +0 -2
- package/dist/chunks/ddsTextureLoader-DbvffCUa.esm.min.js.map +0 -1
- package/dist/chunks/ddsTextureLoader-wyjUdBoO.esm.js +0 -88
- package/dist/chunks/ddsTextureLoader-wyjUdBoO.esm.js.map +0 -1
- package/dist/chunks/decalFragment-CGto5zyq.esm.js +0 -18
- package/dist/chunks/decalFragment-CGto5zyq.esm.js.map +0 -1
- package/dist/chunks/decalFragment-CU64C8uG.esm.min.js +0 -2
- package/dist/chunks/decalFragment-CU64C8uG.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-B2bhCC4E.esm.js +0 -446
- package/dist/chunks/default.fragment-B2bhCC4E.esm.js.map +0 -1
- package/dist/chunks/default.fragment-Boq79lom.esm.min.js +0 -2
- package/dist/chunks/default.fragment-Boq79lom.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-CluFtXFp.esm.min.js +0 -2
- package/dist/chunks/default.fragment-CluFtXFp.esm.min.js.map +0 -1
- package/dist/chunks/default.fragment-Dshl5Uqc.esm.js +0 -515
- package/dist/chunks/default.fragment-Dshl5Uqc.esm.js.map +0 -1
- package/dist/chunks/default.vertex-BAAgCiYo.esm.min.js +0 -2
- package/dist/chunks/default.vertex-BAAgCiYo.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-BhOIicZW.esm.min.js +0 -2
- package/dist/chunks/default.vertex-BhOIicZW.esm.min.js.map +0 -1
- package/dist/chunks/default.vertex-DL7IogGB.esm.js +0 -211
- package/dist/chunks/default.vertex-DL7IogGB.esm.js.map +0 -1
- package/dist/chunks/default.vertex-DOXcZEQ0.esm.js +0 -190
- package/dist/chunks/default.vertex-DOXcZEQ0.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-1qBz6EuF.esm.js +0 -15
- package/dist/chunks/defaultUboDeclaration-1qBz6EuF.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-B9LzMzlw.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-B9LzMzlw.esm.min.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-CXdodf7i.esm.js +0 -13
- package/dist/chunks/defaultUboDeclaration-CXdodf7i.esm.js.map +0 -1
- package/dist/chunks/defaultUboDeclaration-CZlCaxgu.esm.min.js +0 -2
- package/dist/chunks/defaultUboDeclaration-CZlCaxgu.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-C3vcqEdz.esm.js +0 -200
- package/dist/chunks/dumpTools-C3vcqEdz.esm.js.map +0 -1
- package/dist/chunks/dumpTools-C8ZzlWEh.esm.min.js +0 -2
- package/dist/chunks/dumpTools-C8ZzlWEh.esm.min.js.map +0 -1
- package/dist/chunks/engine-_wVL12I1.esm.js +0 -2213
- package/dist/chunks/engine-_wVL12I1.esm.js.map +0 -1
- package/dist/chunks/engine-nCWszV_w.esm.min.js +0 -2
- package/dist/chunks/engine-nCWszV_w.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-BuPfo1Wj.esm.min.js +0 -2
- package/dist/chunks/engine.common-BuPfo1Wj.esm.min.js.map +0 -1
- package/dist/chunks/engine.common-CT5iq3ZT.esm.js +0 -1162
- package/dist/chunks/engine.common-CT5iq3ZT.esm.js.map +0 -1
- package/dist/chunks/envTextureLoader-D7L0fVXR.esm.min.js +0 -2
- package/dist/chunks/envTextureLoader-D7L0fVXR.esm.min.js.map +0 -1
- package/dist/chunks/envTextureLoader-PtuRNDrr.esm.js +0 -64
- package/dist/chunks/envTextureLoader-PtuRNDrr.esm.js.map +0 -1
- package/dist/chunks/environmentTextureTools-BjmCbfSf.esm.min.js +0 -2
- package/dist/chunks/environmentTextureTools-BjmCbfSf.esm.min.js.map +0 -1
- package/dist/chunks/environmentTextureTools-DYbFmR95.esm.js +0 -382
- package/dist/chunks/environmentTextureTools-DYbFmR95.esm.js.map +0 -1
- package/dist/chunks/exrTextureLoader-BIPK0bPG.esm.min.js +0 -2
- package/dist/chunks/exrTextureLoader-BIPK0bPG.esm.min.js.map +0 -1
- package/dist/chunks/exrTextureLoader-CEhv_7O9.esm.js +0 -1683
- package/dist/chunks/exrTextureLoader-CEhv_7O9.esm.js.map +0 -1
- package/dist/chunks/fogFragment-B7_evZbY.esm.js +0 -102
- package/dist/chunks/fogFragment-B7_evZbY.esm.js.map +0 -1
- package/dist/chunks/fogFragment-CoZPb7oI.esm.min.js +0 -2
- package/dist/chunks/fogFragment-CoZPb7oI.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-DSO97-dc.esm.min.js +0 -2
- package/dist/chunks/fogFragment-DSO97-dc.esm.min.js.map +0 -1
- package/dist/chunks/fogFragment-wY2jQ7fb.esm.js +0 -101
- package/dist/chunks/fogFragment-wY2jQ7fb.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-BSEp5SCT.esm.js +0 -12
- package/dist/chunks/fresnelFunction-BSEp5SCT.esm.js.map +0 -1
- package/dist/chunks/fresnelFunction-Cg-NNSrz.esm.min.js +0 -2
- package/dist/chunks/fresnelFunction-Cg-NNSrz.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoader-3ZUBWawQ.esm.min.js +0 -2
- package/dist/chunks/glTFLoader-3ZUBWawQ.esm.min.js.map +0 -1
- package/dist/chunks/glTFLoader-DVoAJl_A.esm.js +0 -7658
- package/dist/chunks/glTFLoader-DVoAJl_A.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-By7yP8sQ.esm.js +0 -77
- package/dist/chunks/glTFLoaderAnimation-By7yP8sQ.esm.js.map +0 -1
- package/dist/chunks/glTFLoaderAnimation-C9g-SHaJ.esm.min.js +0 -2
- package/dist/chunks/glTFLoaderAnimation-C9g-SHaJ.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-B8pgRSdd.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-B8pgRSdd.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-BcfkM4gb.esm.js +0 -35
- package/dist/chunks/harmonicsFunctions-BcfkM4gb.esm.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-DF1x585z.esm.min.js +0 -2
- package/dist/chunks/harmonicsFunctions-DF1x585z.esm.min.js.map +0 -1
- package/dist/chunks/harmonicsFunctions-a48Ki58F.esm.js +0 -34
- package/dist/chunks/harmonicsFunctions-a48Ki58F.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-BWnO8u1r.esm.js +0 -253
- package/dist/chunks/hdrTextureLoader-BWnO8u1r.esm.js.map +0 -1
- package/dist/chunks/hdrTextureLoader-Bii9QpYI.esm.min.js +0 -2
- package/dist/chunks/hdrTextureLoader-Bii9QpYI.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-BinFB44e.esm.js +0 -110
- package/dist/chunks/helperFunctions-BinFB44e.esm.js.map +0 -1
- package/dist/chunks/helperFunctions-CZAyJNTJ.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-CZAyJNTJ.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-DjoUVhI2.esm.min.js +0 -2
- package/dist/chunks/helperFunctions-DjoUVhI2.esm.min.js.map +0 -1
- package/dist/chunks/helperFunctions-Ds3-3-tu.esm.js +0 -83
- package/dist/chunks/helperFunctions-Ds3-3-tu.esm.js.map +0 -1
- package/dist/chunks/iesTextureLoader-CsnjIN7M.esm.js +0 -189
- package/dist/chunks/iesTextureLoader-CsnjIN7M.esm.js.map +0 -1
- package/dist/chunks/iesTextureLoader-DkmTomCD.esm.min.js +0 -2
- package/dist/chunks/iesTextureLoader-DkmTomCD.esm.min.js.map +0 -1
- package/dist/chunks/index-Cw2FZpYY.esm.js +0 -74870
- package/dist/chunks/index-Cw2FZpYY.esm.js.map +0 -1
- package/dist/chunks/index-DRbhrB0j.esm.min.js +0 -57
- package/dist/chunks/index-DRbhrB0j.esm.min.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-B4pmAFQl.esm.js +0 -814
- package/dist/chunks/ktxTextureLoader-B4pmAFQl.esm.js.map +0 -1
- package/dist/chunks/ktxTextureLoader-B8Rlj2T0.esm.min.js +0 -2
- package/dist/chunks/ktxTextureLoader-B8Rlj2T0.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CGz2sG_K.esm.js +0 -11
- package/dist/chunks/logDepthDeclaration-CGz2sG_K.esm.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CfVFs2QC.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-CfVFs2QC.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-CzVshpad.esm.min.js +0 -2
- package/dist/chunks/logDepthDeclaration-CzVshpad.esm.min.js.map +0 -1
- package/dist/chunks/logDepthDeclaration-xOwnAKtd.esm.js +0 -35
- package/dist/chunks/logDepthDeclaration-xOwnAKtd.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-BRgUZAsw.esm.js +0 -81
- package/dist/chunks/logDepthVertex-BRgUZAsw.esm.js.map +0 -1
- package/dist/chunks/logDepthVertex-CWfPfN9-.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-CWfPfN9-.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-HDlt7vTP.esm.min.js +0 -2
- package/dist/chunks/logDepthVertex-HDlt7vTP.esm.min.js.map +0 -1
- package/dist/chunks/logDepthVertex-l0uEG89p.esm.js +0 -77
- package/dist/chunks/logDepthVertex-l0uEG89p.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-B72zV2P9.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-B72zV2P9.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-BDogjZrz.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-BDogjZrz.esm.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-DO5HJKyl.esm.min.js +0 -2
- package/dist/chunks/mainUVVaryingDeclaration-DO5HJKyl.esm.min.js.map +0 -1
- package/dist/chunks/mainUVVaryingDeclaration-DqzNajlu.esm.js +0 -11
- package/dist/chunks/mainUVVaryingDeclaration-DqzNajlu.esm.js.map +0 -1
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +0 -119
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +0 -1
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +0 -2
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-BCO87lfZ.esm.js +0 -26
- package/dist/chunks/meshUboDeclaration-BCO87lfZ.esm.js.map +0 -1
- package/dist/chunks/meshUboDeclaration-o4Xf2fwW.esm.min.js +0 -2
- package/dist/chunks/meshUboDeclaration-o4Xf2fwW.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-BfPYM2Sh.esm.min.js +0 -2
- package/dist/chunks/objFileLoader-BfPYM2Sh.esm.min.js.map +0 -1
- package/dist/chunks/objFileLoader-D1emf4Qh.esm.js +0 -1338
- package/dist/chunks/objFileLoader-D1emf4Qh.esm.js.map +0 -1
- package/dist/chunks/oitFragment-B92YpEfj.esm.min.js +0 -2
- package/dist/chunks/oitFragment-B92YpEfj.esm.min.js.map +0 -1
- package/dist/chunks/oitFragment-BoFKkDNv.esm.js +0 -1078
- package/dist/chunks/oitFragment-BoFKkDNv.esm.js.map +0 -1
- package/dist/chunks/oitFragment-Cfx3g0iX.esm.js +0 -1240
- package/dist/chunks/oitFragment-Cfx3g0iX.esm.js.map +0 -1
- package/dist/chunks/oitFragment-CiA7gld-.esm.min.js +0 -2
- package/dist/chunks/oitFragment-CiA7gld-.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-BLbIViJ7.esm.js +0 -15
- package/dist/chunks/pass.fragment-BLbIViJ7.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-BqMk9ouF.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-BqMk9ouF.esm.min.js.map +0 -1
- package/dist/chunks/pass.fragment-BuVDFNSR.esm.js +0 -15
- package/dist/chunks/pass.fragment-BuVDFNSR.esm.js.map +0 -1
- package/dist/chunks/pass.fragment-cM5FBHLm.esm.min.js +0 -2
- package/dist/chunks/pass.fragment-cM5FBHLm.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-5L_F7nGn.esm.js +0 -3222
- package/dist/chunks/pbr.fragment-5L_F7nGn.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-BJNPHSa-.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-BJNPHSa-.esm.min.js.map +0 -1
- package/dist/chunks/pbr.fragment-CTLrOzV2.esm.js +0 -3269
- package/dist/chunks/pbr.fragment-CTLrOzV2.esm.js.map +0 -1
- package/dist/chunks/pbr.fragment-D9MJFOr2.esm.min.js +0 -2
- package/dist/chunks/pbr.fragment-D9MJFOr2.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-BJyjq_fb.esm.js +0 -223
- package/dist/chunks/pbr.vertex-BJyjq_fb.esm.js.map +0 -1
- package/dist/chunks/pbr.vertex-Bm8Ng4Sx.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-Bm8Ng4Sx.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-CAKPUhfb.esm.min.js +0 -2
- package/dist/chunks/pbr.vertex-CAKPUhfb.esm.min.js.map +0 -1
- package/dist/chunks/pbr.vertex-DJd_-MvE.esm.js +0 -348
- package/dist/chunks/pbr.vertex-DJd_-MvE.esm.js.map +0 -1
- package/dist/chunks/postprocess.vertex-BjRX5eGi.esm.min.js +0 -2
- package/dist/chunks/postprocess.vertex-BjRX5eGi.esm.min.js.map +0 -1
- package/dist/chunks/postprocess.vertex-CFaKNIU-.esm.js +0 -20
- package/dist/chunks/postprocess.vertex-CFaKNIU-.esm.js.map +0 -1
- package/dist/chunks/rawTexture-ByD8l28R.esm.min.js +0 -2
- package/dist/chunks/rawTexture-ByD8l28R.esm.min.js.map +0 -1
- package/dist/chunks/rawTexture-DGz22uaX.esm.js +0 -191
- package/dist/chunks/rawTexture-DGz22uaX.esm.js.map +0 -1
- package/dist/chunks/ray-ByafiITx.esm.js +0 -946
- package/dist/chunks/ray-ByafiITx.esm.js.map +0 -1
- package/dist/chunks/ray-ChSTYrPm.esm.min.js +0 -2
- package/dist/chunks/ray-ChSTYrPm.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-CJ7PpH1N.esm.js +0 -13
- package/dist/chunks/rgbdDecode.fragment-CJ7PpH1N.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-DJ9crbPP.esm.js +0 -13
- package/dist/chunks/rgbdDecode.fragment-DJ9crbPP.esm.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-DLpb3z18.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-DLpb3z18.esm.min.js.map +0 -1
- package/dist/chunks/rgbdDecode.fragment-ygeOUzIi.esm.min.js +0 -2
- package/dist/chunks/rgbdDecode.fragment-ygeOUzIi.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-BTG_wbck.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-BTG_wbck.esm.min.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-C2s4AQaM.esm.js +0 -13
- package/dist/chunks/rgbdEncode.fragment-C2s4AQaM.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-C6LKySQH.esm.js +0 -13
- package/dist/chunks/rgbdEncode.fragment-C6LKySQH.esm.js.map +0 -1
- package/dist/chunks/rgbdEncode.fragment-CKB2lpgL.esm.min.js +0 -2
- package/dist/chunks/rgbdEncode.fragment-CKB2lpgL.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-BtSUlfZs.esm.min.js +0 -2
- package/dist/chunks/splatFileLoader-BtSUlfZs.esm.min.js.map +0 -1
- package/dist/chunks/splatFileLoader-Wn5sDtLq.esm.js +0 -3379
- package/dist/chunks/splatFileLoader-Wn5sDtLq.esm.js.map +0 -1
- package/dist/chunks/spotLight-CmDQEB8V.esm.js +0 -701
- package/dist/chunks/spotLight-CmDQEB8V.esm.js.map +0 -1
- package/dist/chunks/spotLight-hg94aMJD.esm.min.js +0 -2
- package/dist/chunks/spotLight-hg94aMJD.esm.min.js.map +0 -1
- package/dist/chunks/standardMaterial-BhIiLn1_.esm.js +0 -1806
- package/dist/chunks/standardMaterial-BhIiLn1_.esm.js.map +0 -1
- package/dist/chunks/standardMaterial-DQii8fRL.esm.min.js +0 -2
- package/dist/chunks/standardMaterial-DQii8fRL.esm.min.js.map +0 -1
- package/dist/chunks/stlFileLoader-D83u9BOr.esm.js +0 -238
- package/dist/chunks/stlFileLoader-D83u9BOr.esm.js.map +0 -1
- package/dist/chunks/stlFileLoader-DkXWqjZo.esm.min.js +0 -2
- package/dist/chunks/stlFileLoader-DkXWqjZo.esm.min.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-C9xl6cvE.esm.js +0 -349
- package/dist/chunks/tgaTextureLoader-C9xl6cvE.esm.js.map +0 -1
- package/dist/chunks/tgaTextureLoader-DfzjGulW.esm.min.js +0 -2
- package/dist/chunks/tgaTextureLoader-DfzjGulW.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-Cu21aOSC.esm.min.js +0 -2
- package/dist/chunks/thinEngine-Cu21aOSC.esm.min.js.map +0 -1
- package/dist/chunks/thinEngine-IzS60pqU.esm.js +0 -3853
- package/dist/chunks/thinEngine-IzS60pqU.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-BN8Ev-h8.esm.js +0 -314
- package/dist/chunks/thinInstanceMesh-BN8Ev-h8.esm.js.map +0 -1
- package/dist/chunks/thinInstanceMesh-Bm9vmKU4.esm.min.js +0 -2
- package/dist/chunks/thinInstanceMesh-Bm9vmKU4.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-Cazf4vEl.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-Cazf4vEl.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-DGvq3Fju.esm.js +0 -421
- package/dist/chunks/vertexColorMixing-DGvq3Fju.esm.js.map +0 -1
- package/dist/chunks/vertexColorMixing-D_6ZvivZ.esm.min.js +0 -2
- package/dist/chunks/vertexColorMixing-D_6ZvivZ.esm.min.js.map +0 -1
- package/dist/chunks/vertexColorMixing-DuYHnuUm.esm.js +0 -531
- package/dist/chunks/vertexColorMixing-DuYHnuUm.esm.js.map +0 -1
- package/dist/chunks/webgpuEngine-DHaXinU4.esm.min.js +0 -2
- package/dist/chunks/webgpuEngine-DHaXinU4.esm.min.js.map +0 -1
- package/dist/chunks/webgpuEngine-Dxev7pbz.esm.js +0 -11538
- package/dist/chunks/webgpuEngine-Dxev7pbz.esm.js.map +0 -1
- package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
- package/lib/index.d.ts +0 -591
- package/lib/index.js +0 -2165
- package/lib/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_animation_pointer-CBqZcURZ.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":"wNAIA,SAASA,EAAUC,EAASC,EAAQC,EAAQC,GACxC,OAAOC,EAAOC,UAAUJ,EAAQC,GAAQC,MAAMA,EAClD,CAIA,SAASG,EAASN,EAASC,EAAQC,EAAQC,GACvC,OAAOF,EAAOC,GAAUC,CAC5B,CACA,SAASI,EAAcP,EAASC,EAAQC,EAAQC,GAC5C,OAAQF,EAAOC,GAAUC,CAC7B,CACA,SAASK,EAAaR,EAASC,EAAQC,EAAQC,GAC3C,OAAOF,EAAOC,EAAS,GAAKC,CAChC,CACA,SAASM,EAAYT,EAASC,EAAQC,EAAQC,GAC1C,OAAOF,EAAOC,GAAUC,EAAQ,CACpC,CACA,SAASO,EAAwBC,GAC7B,MAAO,CACHR,MAAO,CACH,IAAIS,EAA8BC,EAAUC,oBAAqB,GAAGH,WAAsBL,GAAU,IAAM,IAC1G,IAAIM,EAA8BC,EAAUC,oBAAqB,GAAGH,WAAsBH,GAAc,IAAM,KAElHN,OAAQ,CACJ,IAAIU,EAA8BC,EAAUC,oBAAqB,GAAGH,YAAuBL,GAAU,IAAM,IAC3G,IAAIM,EAA8BC,EAAUC,oBAAqB,GAAGH,YAAuBH,GAAc,IAAM,KAEnHO,SAAU,CAAC,IAAIH,EAA8BC,EAAUC,oBAAqB,GAAGH,SAAoBJ,GAAe,IAAM,KAEhI,CACA,MAAMS,UAAoCC,EAEtC,eAAAC,CAAgBC,EAAQC,EAAMC,EAAKC,EAAMC,GACrCA,EAASJ,EAAOK,eAAgBC,KAAKC,gBAAgBN,EAAMC,EAAKC,GACxE,EAEA,MAAMV,UAAsCK,EAExC,eAAAC,CAAgBC,EAAQC,EAAMC,EAAKC,EAAMC,GACrC,IAAK,MAAMI,KAAYR,EAAOS,MAC1BL,EAASJ,EAAOS,MAAMD,GAAUE,gBAAiBJ,KAAKC,gBAAgBN,EAAMC,EAAKC,GAE7F,EAEA,MAAMQ,UAAmCb,EAErC,eAAAC,CAAgBC,EAAQC,EAAMC,EAAKC,EAAMC,GACrCA,EAASJ,EAAOY,cAAeN,KAAKC,gBAAgBN,EAAMC,EAAKC,GACvE,EAEA,MAAMU,EAAY,CACdC,UAAW,CACPC,YAAY,KACTC,IAGLC,EAAc,CAChBH,UAAW,CACPC,YAAY,EACZG,aAAc,CACVC,KAAM,CACF,IAAItB,EAA4BH,EAAUC,oBAAqB,YAAaP,GAAe,IAAM,IACjG,IAAIS,EAA4BH,EAAUC,oBAAqB,aAAcN,GAAc,IAAM,KAErG+B,KAAM,CACF,IAAIvB,EAA4BH,EAAUC,oBAAqB,cAAeP,GAAe,IAAM,IACnG,IAAIS,EAA4BH,EAAUC,oBAAqB,WAAYN,GAAc,IAAM,KAEnGgC,KAAM,CAAC,IAAIxB,EAA4BH,EAAUC,oBAAqB,OAAQR,GAAU,IAAM,KAC9FmC,MAAO,CAAC,IAAIzB,EAA4BH,EAAUC,oBAAqB,OAAQR,GAAU,IAAM,MAEnGoC,YAAa,CACTC,KAAM,CAAC,IAAI3B,EAA4BH,EAAUC,oBAAqB,MAAOR,GAAU,IAAM,KAC7FkC,KAAM,CAAC,IAAIxB,EAA4BH,EAAUC,oBAAqB,OAAQR,GAAU,IAAM,KAC9FmC,MAAO,CAAC,IAAIzB,EAA4BH,EAAUC,oBAAqB,OAAQR,GAAU,IAAM,QA2L9FsC,EAAuB,CAChCC,MAAOb,EACPc,UAzLkB,CAClBb,UAAW,CACPC,YAAY,EACZa,qBAAsB,CAClBC,gBAAiB,CACb,IAAIpC,EAA8BC,EAAUoC,qBAAsB,cAAelD,GAAW,IAAM,IAClG,IAAIa,EAA8BC,EAAUC,oBAAqB,SAlFjF,SAAkBd,EAASC,EAAQC,EAAQC,GACvC,OAAOF,EAAOC,EAAS,GAAKC,CAChC,IAgFoG,IAAM,KAE9F+C,eAAgB,CAAC,IAAItC,EAA8BC,EAAUC,oBAAqB,WAAYR,GAAU,IAAM,KAC9G6C,gBAAiB,CAAC,IAAIvC,EAA8BC,EAAUC,oBAAqB,YAAaR,GAAU,IAAM,KAChH8C,iBAAkB,CACdC,WAAY,CACRC,sBAAuB5C,EAAwB,mBAGvD6C,yBAA0B,CACtBF,WAAY,CACRC,sBAAuB5C,EAAwB,sBAI3D8C,eAAgB,CAAC,IAAI5C,EAA8BC,EAAUoC,qBAAsB,gBAAiBlD,GAAW,IAAM,KACrH0D,cAAe,CACXtD,MAAO,CAAC,IAAIS,EAA8BC,EAAUC,oBAAqB,oBAAqBR,GAAU,IAAM,KAC9G+C,WAAY,CACRC,sBAAuB5C,EAAwB,iBAGvDgD,iBAAkB,CACdC,SAAU,CAAC,IAAI/C,EAA8BC,EAAUC,oBAAqB,yBAA0BR,GAAU,IAAM,KACtH+C,WAAY,CACRC,sBAAuB5C,EAAwB,oBAGvDkD,gBAAiB,CACbP,WAAY,CACRC,sBAAuB5C,EAAwB,qBAGvD2C,WAAY,CACRQ,yBAA0B,CACtBC,mBAAoB,CAAC,IAAIlD,EAA8BC,EAAUC,oBAAqB,uBAAwBR,GAAU,IAAM,KAC9HyD,mBAAoB,CAAC,IAAInD,EAA8BC,EAAUC,oBAAqB,mBAAoBR,GAAU,IAAM,KAC1H0D,kBAAmB,CACfX,WAAY,CACRC,sBAAuB5C,EAAwB,yBAI3DuD,wBAAyB,CACrBC,gBAAiB,CAAC,IAAItD,EAA8BC,EAAUC,oBAAqB,sBAAuBR,GAAU,IAAM,KAC1H6D,yBAA0B,CAAC,IAAIvD,EAA8BC,EAAUC,oBAAqB,sBAAuBR,GAAU,IAAM,KACnI8D,iBAAkB,CACdf,WAAY,CACRC,sBAAuB5C,EAAwB,uBAGvD2D,uBAAwB,CACpBlE,MAAO,CAAC,IAAIS,EAA8BC,EAAUC,oBAAqB,8BAA+BR,GAAU,IAAM,KACxH+C,WAAY,CACRC,sBAAuB5C,EAAwB,2BAGvD4D,0BAA2B,CACvBjB,WAAY,CACRC,sBAAuB5C,EAAwB,iCAI3D6D,yBAA0B,CACtBC,WAAY,CAAC,IAAI5D,EAA8BC,EAAUC,oBAAqB,wBAAyBR,GAAU,IAAM,MAE3HmE,gCAAiC,CAC7BC,iBAAkB,CAAC,IAAI9D,EAA8BC,EAAUC,oBAAqB,oBAAqBR,GAAU,IAAM,MAE7HqE,kBAAmB,CACfC,IAAK,CAAC,IAAIhE,EAA8BC,EAAUC,oBAAqB,oBAAqBR,GAAU,IAAM,MAEhHuE,0BAA2B,CACvBC,kBAAmB,CAAC,IAAIlE,EAA8BC,EAAUC,oBAAqB,wBAAyBR,GAAU,IAAM,KAC9HyE,eAAgB,CAAC,IAAInE,EAA8BC,EAAUC,oBAAqB,gCAAiCR,GAAU,IAAM,KACnI0E,4BAA6B,CAAC,IAAIpE,EAA8BC,EAAUC,oBAAqB,+BAAgCR,GAAU,IAAM,KAC/I2E,4BAA6B,CAAC,IAAIrE,EAA8BC,EAAUC,oBAAqB,+BAAgCR,GAAU,IAAM,KAC/I4E,mBAAoB,CAChB7B,WAAY,CACRC,sBAAuB5C,EAAwB,yBAGvDyE,4BAA6B,CACzB9B,WAAY,CACRC,sBAAuB5C,EAAwB,mCAI3D0E,oBAAqB,CACjBC,iBAAkB,CAAC,IAAIzE,EAA8BC,EAAUoC,qBAAsB,cAAelD,GAAW,IAAM,KACrHuF,qBAAsB,CAAC,IAAI1E,EAA8BC,EAAUC,oBAAqB,kBAAmBR,GAAU,IAAM,KAC3HiF,kBAAmB,CACflC,WAAY,CACRC,sBAAuB5C,EAAwB,mBAGvD8E,sBAAuB,CACnBnC,WAAY,CACRC,sBAAuB5C,EAAwB,6BAI3D+E,uBAAwB,CACpBC,eAAgB,CAAC,IAAI9E,EAA8BC,EAAUC,oBAAqB,mBAAoBR,GAAU,IAAM,KACtHqF,oBAAqB,CAAC,IAAI/E,EAA8BC,EAAUoC,qBAAsB,2BAA4BlD,GAAW,IAAM,KACrI6F,gBAAiB,CACbvC,WAAY,CACRC,sBAAuB5C,EAAwB,gCAGvDmF,qBAAsB,CAClBxC,WAAY,CACRC,sBAAuB5C,EAAwB,yBAI3DoF,2BAA4B,CACxBC,mBAAoB,CAAC,IAAInF,EAA8BC,EAAUC,oBAAqB,iCAAkCR,GAAU,IAAM,KACxI0F,oBAAqB,CACjB3C,WAAY,CACRC,sBAAuB5C,EAAwB,4CAI3DuF,qBAAsB,CAClBC,iBAAkB,CAAC,IAAItF,EAA8BC,EAAUoC,qBAAsB,uBAAwBlD,GAAW,IAAM,KAC9HoG,oBAAqB,CAAC,IAAIvF,EAA8BC,EAAUC,oBAAqB,iCAAkCR,GAAU,IAAM,KACzI8F,gBAAiB,CAAC,IAAIxF,EAA8BC,EAAUC,oBAAqB,8BAA+BR,GAAU,IAAM,KAClI+F,iBAAkB,CACdhD,WAAY,CACRC,sBAAuB5C,EAAwB,kCAI3D4F,mCAAoC,CAChCC,0BAA2B,CAAC,IAAI3F,EAA8BC,EAAUC,oBAAqB,mCAAoCR,GAAU,IAAM,KACjJkG,2BAA4B,CACxBnD,WAAY,CACRC,sBAAuB5C,EAAwB,6CAGvD+F,+BAAgC,CAAC,IAAI7F,EAA8BC,EAAUoC,qBAAsB,+BAAgClD,GAAW,IAAM,KACpJ2G,gCAAiC,CAC7BrD,WAAY,CACRC,sBAAuB5C,EAAwB,6CAoCnEiG,QAASvE,EACTiB,WA9BmB,CACnBuD,oBAAqB,CACjBC,OAAQ,CACJ5E,UAAW,CACPC,YAAY,EACZ4E,MAAO,CAAC,IAAIhF,EAA2BjB,EAAUoC,qBAAsB,UAAWlD,GAAW,IAAM,KACnGgH,UAAW,CAAC,IAAIjF,EAA2BjB,EAAUC,oBAAqB,YAAaR,GAAU,IAAM,KACvG0G,MAAO,CAAC,IAAIlF,EAA2BjB,EAAUC,oBAAqB,QAASR,GAAU,IAAM,KAC/F2G,KAAM,CACFC,eAAgB,CAAC,IAAIpF,EAA2BjB,EAAUC,oBAAqB,aAAcL,GAAa,IAAM,KAChH0G,eAAgB,CAAC,IAAIrF,EAA2BjB,EAAUC,oBAAqB,QAASL,GAAa,IAAM,SAK3H2G,eAAgB,CACZP,OAAQ,CACJ5E,UAAW,CACPC,YAAY,EACZ4E,MAAO,CAAC,IAAIhF,EAA2BjB,EAAUoC,qBAAsB,UAAWlD,GAAW,IAAM,KACnGsH,WAAY,CAAC,IAAIvF,EAA2BjB,EAAUC,oBAAqB,YAAaR,GAAU,IAAM,UChQlHgH,EAAO,wBAKb,MAAMC,UAA8CC,EAChD,WAAAC,CAAYC,GACRC,MAAMD,EAAM9E,EACpB,EAOO,MAAMgF,EAIT,WAAAH,CAAYI,GAIRpG,KAAKL,KAAOkG,EACZ7F,KAAKqG,QAAUD,EACfpG,KAAKsG,uBAAyB,IAAIR,EAAsC9F,KAAKqG,QAAQJ,KAC7F,CAII,WAAIM,GACA,OAAOvG,KAAKqG,QAAQG,gBAAgBX,EAC5C,CAEI,OAAAY,GACIzG,KAAKqG,QAAU,YACRrG,KAAKsG,sBACpB,CAUI,0BAAAI,CAA2BC,EAASC,EAAkBC,EAAWC,EAASC,GACtE,MAAMC,EAAYF,EAAQpH,OAAOkC,YAAYuE,sBAC7C,IAAKa,IAAchH,KAAKsG,uBACpB,OAAO,KAEiB,YAAxBQ,EAAQpH,OAAOuH,MACfC,EAAOC,KAAK,GAAGR,yBAA+BG,EAAQpH,OAAOuH,0CAAwFjH,KAAKL,kBAEnIyH,MAAvBN,EAAQpH,OAAO2H,MACfH,EAAOC,KAAK,GAAGR,yBAA+BG,EAAQpH,OAAO2H,4CAA4CrH,KAAKL,kBAElH,MAAM2H,EAAmB,GAAGX,gBAAsB3G,KAAKL,OACjD4H,EAAUP,EAAUO,QAC1B,IAAKA,EACD,MAAM,IAAIC,MAAM,GAAGF,yBAEvB,IACI,MAAMG,EAAazH,KAAKsG,uBAAuBoB,QAAQH,GACvD,OAAOvH,KAAKqG,QAAQsB,yCAAyChB,EAASC,EAAkBC,EAAWC,EAASW,EAAYV,EACpI,CACQ,MAAOa,GAEH,OADAV,EAAOC,KAAK,GAAGG,+BAA8CC,cACtD,IACnB,CACA,EAEAM,EAAwBhC,GACxBiC,EAAsBjC,GAAM,GAAOO,GAAW,IAAID,EAAsBC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{T as e,w as r,V as t,L as o,aQ as s,aR as n}from"./index-DRbhrB0j.esm.min.js";import{A as a}from"./workerPool-BWHiDmEZ.esm.min.js";import{G as i,A as d,L as l}from"./glTFLoader-3ZUBWawQ.esm.min.js";import"./rawTexture-ByD8l28R.esm.min.js";import"./assetContainer-DDEska5G.esm.min.js";import"./glTFLoaderAnimation-C9g-SHaJ.esm.min.js";function c(e,r,t,o,s){let n=null,a=null,i=null;try{let d;n=new e.Decoder,a=new e.DecoderBuffer,a.Init(r,r.byteLength);const l=n.GetEncodedGeometryType(a);switch(l){case e.TRIANGULAR_MESH:{const r=new e.Mesh;if(d=n.DecodeBufferToMesh(a,r),!d.ok()||0===r.ptr)throw new Error(d.error_msg());const t=3*r.num_faces(),s=4*t,l=e._malloc(s);try{n.GetTrianglesUInt32Array(r,s,l);const a=new Uint32Array(t);a.set(new Uint32Array(e.HEAPF32.buffer,l,t)),o(a)}finally{e._free(l)}i=r;break}case e.POINT_CLOUD:{const r=new e.PointCloud;if(d=n.DecodeBufferToPointCloud(a,r),!d.ok()||!r.ptr)throw new Error(d.error_msg());i=r;break}default:throw new Error(`Invalid geometry type ${l}`)}const c=i.num_points(),u=(r,t,o,n)=>{const a=n.data_type(),i=n.num_components(),d=n.normalized(),l=n.byte_stride(),u=n.byte_offset(),m={[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}}[a];if(!m)throw new Error(`Invalid data type ${a}`);const f=c*i,y=f*m.typedArrayConstructor.BYTES_PER_ELEMENT,h=e._malloc(y);try{r.GetAttributeDataArrayForAllPoints(t,n,a,y,h);const e=new m.typedArrayConstructor(m.heap.buffer,h,f);s(o,e.slice(),i,u,l,d)}finally{e._free(h)}};if(t)for(const e in t){const r=t[e],o=n.GetAttributeByUniqueId(i,r);u(n,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=n.GetAttributeId(i,r[e]);if(-1!==t){const r=n.GetAttribute(i,t);u(n,i,e,r)}}}return c}finally{i&&e.destroy(i),a&&e.destroy(a),n&&e.destroy(n)}}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=c(e,t.dataView,t.attributes,(e=>{postMessage({id:"indices",data:e},[e.buffer])}),((e,r,t,o,s,n)=>{postMessage({id:"attribute",kind:e,data:r,size:t,byteOffset:o,byteStride:s,normalized:n},[r.buffer])}));postMessage({id:"decodeMeshDone",totalVertices:r})}))}}}class m{constructor(r){if(r.workerPool)return void(this._workerPoolPromise=Promise.resolve(r.workerPool));const t=r.wasmBinary,o=r.numWorkers??("object"==typeof navigator&&navigator.hardwareConcurrency?Math.min(Math.floor(.5*navigator.hardwareConcurrency),4):1),s=o&&"function"==typeof Worker&&"function"==typeof URL,n=s||!r.jsModule,i=r.wasmUrl&&r.wasmBinaryUrl&&"object"==typeof WebAssembly?{url:n?e.GetBabylonScriptURL(r.wasmUrl,!0):"",wasmBinaryPromise:t?Promise.resolve(t):e.LoadFileAsync(e.GetBabylonScriptURL(r.wasmBinaryUrl,!0))}:{url:n?e.GetBabylonScriptURL(r.fallbackUrl):"",wasmBinaryPromise:Promise.resolve(void 0)};s?this._workerPoolPromise=i.wasmBinaryPromise.then((e=>{const r=this._getWorkerContent(),t=URL.createObjectURL(new Blob([r],{type:"application/javascript"}));return new a(o,(()=>function(e,r,t){return new Promise(((o,s)=>{const n=r=>{e.removeEventListener("error",n),e.removeEventListener("message",a),s(r)},a=r=>{"initDone"===r.data.id&&(e.removeEventListener("error",n),e.removeEventListener("message",a),o(e))};if(e.addEventListener("error",n),e.addEventListener("message",a),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,i.url)))})):this._modulePromise=i.wasmBinaryPromise.then((async t=>{if(!this._isModuleAvailable()&&!r.jsModule){if(!i.url)throw new Error("Draco codec module is not available");await e.LoadBabylonScriptAsync(i.url)}return this._createModuleAsync(t,r.jsModule)}))}async whenReadyAsync(){this._workerPoolPromise?await this._workerPoolPromise:this._modulePromise&&await this._modulePromise}dispose(){this._workerPoolPromise&&this._workerPoolPromise.then((e=>{e.dispose()})),delete this._workerPoolPromise,delete this._modulePromise}}class f extends m{static get DefaultAvailable(){return!!((e=f.DefaultConfiguration).wasmUrl&&(e.wasmBinary||e.wasmBinaryUrl)&&"object"==typeof WebAssembly||e.fallbackUrl);var e}static get Default(){return f._Default??=new f,f._Default}static ResetDefault(e){f._Default&&(e||f._Default.dispose(),f._Default=null)}_isModuleAvailable(){return"undefined"!=typeof DracoDecoderModule}async _createModuleAsync(e,r){return{module:await(r||DracoDecoderModule)({wasmBinary:e})}}_getWorkerContent(){return`${c}(${u})()`}constructor(e=f.DefaultConfiguration){super(e)}decodeMeshToMeshDataAsync(e,r,t){const s=e instanceof ArrayBuffer?new Int8Array(e):new Int8Array(e.buffer,e.byteOffset,e.byteLength);if(this._workerPoolPromise)return this._workerPoolPromise.then((e=>new Promise(((n,a)=>{e.push(((e,i)=>{let d=null;const l=[],c=r=>{e.removeEventListener("error",c),e.removeEventListener("message",u),a(r),i()},u=r=>{const s=r.data;switch(s.id){case"indices":d=s.data;break;case"attribute":l.push({kind:s.kind,data:s.data,size:s.size,byteOffset:s.byteOffset,byteStride:s.byteStride,normalized:(a=s.kind,m=s.normalized,t&&void 0!==t[a]?(m!==t[a]&&o.Warn(`Normalized flag from Draco data (${m}) does not match normalized flag from glTF accessor (${t[a]}). Using flag from glTF accessor.`),t[a]):m)});break;case"decodeMeshDone":e.removeEventListener("error",c),e.removeEventListener("message",u),n({indices:d,attributes:l,totalVertices:s.totalVertices}),i()}var a,m};e.addEventListener("error",c),e.addEventListener("message",u);const m=s.slice();e.postMessage({id:"decodeMesh",dataView:m,attributes:r},[m.buffer])}))}))));if(this._modulePromise)return this._modulePromise.then((e=>{let t=null;const o=[],n=c(e.module,s,r,(e=>{t=e}),((e,r,t,s,n,a)=>{o.push({kind:e,data:r,size:t,byteOffset:s,byteStride:n,normalized:a})}));return{indices:t,attributes:o,totalVertices:n}}));throw new Error("Draco decoder module is not available")}async decodeMeshToGeometryAsync(e,o,s,n){const a=await this.decodeMeshToMeshDataAsync(s,n),i=new r(e,o);a.indices&&i.setIndices(a.indices);for(const e of a.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),a.totalVertices);return i}async _decodeMeshToGeometryForGltfAsync(e,o,s,n,a,i){const d=await this.decodeMeshToMeshDataAsync(s,n,a),l=new r(e,o);i&&(l._boundingInfo=i,l.useBoundingInfoFromGeometry=!0),d.indices&&l.setIndices(d.indices);for(const e of d.attributes)l.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 l}}f.DefaultConfiguration={wasmUrl:`${e._DefaultCdnUrl}/draco_wasm_wrapper_gltf.js`,wasmBinaryUrl:`${e._DefaultCdnUrl}/draco_decoder_gltf.wasm`,fallbackUrl:`${e._DefaultCdnUrl}/draco_decoder_gltf.js`},f._Default=null;const y="KHR_draco_mesh_compression";class h{constructor(e){this.name=y,this.useNormalizedFlagFromAccessor=!0,this._loader=e,this.enabled=f.DefaultAvailable&&this._loader.isExtensionUsed(y)}dispose(){delete this.dracoDecoder,this._loader=null}_loadVertexDataAsync(e,r,o){return i.LoadExtensionAsync(e,r,this.name,((s,n)=>{if(null!=r.mode&&4!==r.mode&&5!==r.mode)throw new Error(`${e}: Unsupported mode ${r.mode}`);const a={},i={},c=(e,t)=>{const s=n.attributes[e];if(null!=s&&(o._delayInfo=o._delayInfo||[],-1===o._delayInfo.indexOf(t)&&o._delayInfo.push(t),a[t]=s,this.useNormalizedFlagFromAccessor)){const o=d.TryGet(this._loader.gltf.accessors,r.attributes[e]);o&&(i[t]=o.normalized||!1)}};c("POSITION",t.PositionKind),c("NORMAL",t.NormalKind),c("TANGENT",t.TangentKind),c("TEXCOORD_0",t.UVKind),c("TEXCOORD_1",t.UV2Kind),c("TEXCOORD_2",t.UV3Kind),c("TEXCOORD_3",t.UV4Kind),c("TEXCOORD_4",t.UV5Kind),c("TEXCOORD_5",t.UV6Kind),c("JOINTS_0",t.MatricesIndicesKind),c("WEIGHTS_0",t.MatricesWeightsKind),c("COLOR_0",t.ColorKind);const u=d.Get(s,this._loader.gltf.bufferViews,n.bufferView);return u._dracoBabylonGeometry||(u._dracoBabylonGeometry=this._loader.loadBufferViewAsync(`/bufferViews/${u.index}`,u).then((t=>{const s=this.dracoDecoder||f.Default,n=d.TryGet(this._loader.gltf.accessors,r.attributes.POSITION),c=this._loader.parent.alwaysComputeBoundingBox||o.skeleton||!n?null:l(n);return s._decodeMeshToGeometryForGltfAsync(o.name,this._loader.babylonScene,t,a,i,c).catch((r=>{throw new Error(`${e}: ${r.message}`)}))}))),u._dracoBabylonGeometry}))}}s(y),n(y,!0,(e=>new h(e)));export{h as KHR_draco_mesh_compression};
|
|
2
|
-
//# sourceMappingURL=KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KHR_draco_mesh_compression-DU2Rk2nj.esm.min.js","sources":["../../../../../dev/core/dist/Meshes/Compression/dracoCompressionWorker.js","../../../../../dev/core/dist/Meshes/Compression/dracoCodec.js","../../../../../dev/core/dist/Meshes/Compression/dracoDecoder.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 { initializeWebWorker } from \"./dracoCompressionWorker\";\n/**\n * @internal\n */\nexport function _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 * @internal\n */\nexport function _IsConfigurationAvailable(config) {\n return !!((config.wasmUrl && (config.wasmBinary || config.wasmBinaryUrl) && typeof WebAssembly === \"object\") || config.fallbackUrl);\n // TODO: Account for jsModule\n}\n/**\n * Base class for a Draco codec.\n * @internal\n */\nexport class DracoCodec {\n /**\n * Constructor\n * @param configuration The configuration for the DracoCodec instance.\n */\n constructor(configuration) {\n // check if the codec 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 (configuration.workerPool) {\n // Set the promise accordingly\n this._workerPoolPromise = Promise.resolve(configuration.workerPool);\n return;\n }\n // to avoid making big changes to the code here, if wasmBinary is provided use it in the wasmBinaryPromise\n const wasmBinaryProvided = configuration.wasmBinary;\n const numberOfWorkers = configuration.numWorkers ?? _GetDefaultNumWorkers();\n const useWorkers = numberOfWorkers && typeof Worker === \"function\" && typeof URL === \"function\";\n const urlNeeded = useWorkers || !configuration.jsModule;\n // code maintained here for back-compat with no changes\n const codecInfo = configuration.wasmUrl && configuration.wasmBinaryUrl && typeof WebAssembly === \"object\"\n ? {\n url: urlNeeded ? Tools.GetBabylonScriptURL(configuration.wasmUrl, true) : \"\",\n wasmBinaryPromise: wasmBinaryProvided\n ? Promise.resolve(wasmBinaryProvided)\n : Tools.LoadFileAsync(Tools.GetBabylonScriptURL(configuration.wasmBinaryUrl, true)),\n }\n : {\n url: urlNeeded ? Tools.GetBabylonScriptURL(configuration.fallbackUrl) : \"\",\n wasmBinaryPromise: Promise.resolve(undefined),\n };\n // If using workers, initialize a worker pool with either the wasm or url?\n if (useWorkers) {\n this._workerPoolPromise = codecInfo.wasmBinaryPromise.then((wasmBinary) => {\n const workerContent = this._getWorkerContent();\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, wasmBinary, codecInfo.url);\n });\n });\n }\n else {\n this._modulePromise = codecInfo.wasmBinaryPromise.then(async (wasmBinary) => {\n if (!this._isModuleAvailable()) {\n if (!configuration.jsModule) {\n if (!codecInfo.url) {\n throw new Error(\"Draco codec module is not available\");\n }\n await Tools.LoadBabylonScriptAsync(codecInfo.url);\n }\n }\n return this._createModuleAsync(wasmBinary, configuration.jsModule);\n });\n }\n }\n /**\n * Returns a promise that resolves when ready. Call this manually to ensure the draco codec 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._modulePromise) {\n await this._modulePromise;\n return;\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._modulePromise;\n }\n}\n//# sourceMappingURL=dracoCodec.js.map","import { _IsConfigurationAvailable, DracoCodec } from \"./dracoCodec\";\nimport { Tools } from \"../../Misc/tools\";\nimport { Geometry } from \"../geometry\";\nimport { VertexBuffer } from \"../buffer\";\nimport { Logger } from \"../../Misc/logger\";\nimport { decodeMesh, workerFunction } from \"./dracoCompressionWorker\";\n/**\n * @experimental This class is an experimental version of `DracoCompression` and is subject to change.\n *\n * Draco Decoder (https://google.github.io/draco/)\n *\n * This class wraps the Draco decoder module.\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 * DracoDecoder.DefaultConfiguration = {\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 * 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 `DracoDecoder.DefaultAvailable` to determine if the decoder configuration is available for the current context.\n *\n * To decode Draco compressed data, get the default DracoDecoder object and call decodeMeshToGeometryAsync:\n * ```javascript\n * var geometry = await DracoDecoder.Default.decodeMeshToGeometryAsync(data);\n * ```\n */\nexport class DracoDecoder extends DracoCodec {\n /**\n * Returns true if the decoder's `DefaultConfiguration` is available.\n */\n static get DefaultAvailable() {\n return _IsConfigurationAvailable(DracoDecoder.DefaultConfiguration);\n }\n /**\n * Default instance for the DracoDecoder.\n */\n static get Default() {\n DracoDecoder._Default ??= new DracoDecoder();\n return DracoDecoder._Default;\n }\n /**\n * Reset the default DracoDecoder object to null and disposing the removed default instance.\n * Note that if the workerPool is a member of the static DefaultConfiguration 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 (DracoDecoder._Default) {\n if (!skipDispose) {\n DracoDecoder._Default.dispose();\n }\n DracoDecoder._Default = null;\n }\n }\n _isModuleAvailable() {\n return typeof DracoDecoderModule !== \"undefined\";\n }\n async _createModuleAsync(wasmBinary, jsModule) {\n const module = await (jsModule || DracoDecoderModule)({ wasmBinary });\n return { module };\n }\n _getWorkerContent() {\n return `${decodeMesh}(${workerFunction})()`;\n }\n /**\n * Creates a new Draco decoder.\n * @param configuration Optional override of the configuration for the DracoDecoder. If not provided, defaults to {@link DracoDecoder.DefaultConfiguration}.\n */\n constructor(configuration = DracoDecoder.DefaultConfiguration) {\n super(configuration);\n }\n /**\n * Decode Draco compressed mesh data to mesh data.\n * @param data The ArrayBuffer or ArrayBufferView of the compressed Draco 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 \"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 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 }\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._modulePromise) {\n return this._modulePromise.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 of the Draco compressed 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/**\n * Default configuration for the DracoDecoder. Defaults to the following:\n * - numWorkers: 50% of the available logical processors, capped to 4. If no logical processors are available, defaults to 1.\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 */\nDracoDecoder.DefaultConfiguration = {\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};\nDracoDecoder._Default = null;\n//# sourceMappingURL=dracoDecoder.js.map","import { DracoDecoder } from \"core/Meshes/Compression/dracoDecoder\";\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 = DracoDecoder.DefaultAvailable && this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n delete this.dracoDecoder;\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 dracoDecoder = this.dracoDecoder || DracoDecoder.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 dracoDecoder\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","DracoCodec","constructor","configuration","workerPool","this","_workerPoolPromise","Promise","resolve","wasmBinaryProvided","numberOfWorkers","numWorkers","navigator","hardwareConcurrency","Math","min","floor","useWorkers","Worker","URL","urlNeeded","jsModule","codecInfo","wasmUrl","wasmBinaryUrl","WebAssembly","Tools","GetBabylonScriptURL","wasmBinaryPromise","LoadFileAsync","fallbackUrl","undefined","workerContent","_getWorkerContent","workerBlobUrl","createObjectURL","Blob","AutoReleaseWorkerPool","worker","decoderWasmBinary","moduleUrl","reject","onError","error","removeEventListener","onMessage","addEventListener","clone","initializeWebWorker","_modulePromise","async","_isModuleAvailable","LoadBabylonScriptAsync","_createModuleAsync","whenReadyAsync","dispose","DracoDecoder","DefaultAvailable","config","DefaultConfiguration","Default","_Default","ResetDefault","skipDispose","module","super","decodeMeshToMeshDataAsync","gltfNormalizedOverride","ArrayBuffer","push","onComplete","resultIndices","resultAttributes","Logger","Warn","dataViewCopy","decodeMeshToGeometryAsync","name","scene","meshData","Geometry","setIndices","setVerticesBuffer","VertexBuffer","getEngine","_decodeMeshToGeometryForGltfAsync","boundingInfo","_boundingInfo","useBoundingInfoFromGeometry","_DefaultCdnUrl","NAME","KHR_draco_mesh_compression","loader","useNormalizedFlagFromAccessor","_loader","enabled","isExtensionUsed","dracoDecoder","_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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"}
|