@babylonjs/viewer 7.40.3 → 7.40.4-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/photoStudio.env +0 -0
- package/dist/babylon-viewer.esm.js +2 -0
- package/dist/babylon-viewer.esm.js.map +1 -0
- package/dist/babylon-viewer.esm.min.js +2 -0
- package/dist/babylon-viewer.esm.min.js.map +1 -0
- package/dist/chunks/EXT_lights_ies-B7tVMCka.esm.min.js +2 -0
- package/dist/chunks/EXT_lights_ies-B7tVMCka.esm.min.js.map +1 -0
- package/dist/chunks/EXT_lights_ies-T0Tkc0j0.esm.js +84 -0
- package/dist/chunks/EXT_lights_ies-T0Tkc0j0.esm.js.map +1 -0
- package/dist/chunks/EXT_lights_image_based-CyoPcoDC.esm.min.js +2 -0
- package/dist/chunks/EXT_lights_image_based-CyoPcoDC.esm.min.js.map +1 -0
- package/dist/chunks/EXT_lights_image_based-TRLY00MY.esm.js +171 -0
- package/dist/chunks/EXT_lights_image_based-TRLY00MY.esm.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-CNSWr-2o.esm.js +86 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-CNSWr-2o.esm.js.map +1 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-DvkytavO.esm.min.js +2 -0
- package/dist/chunks/EXT_mesh_gpu_instancing-DvkytavO.esm.min.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-C5Jf55Kx.esm.min.js +2 -0
- package/dist/chunks/EXT_meshopt_compression-C5Jf55Kx.esm.min.js.map +1 -0
- package/dist/chunks/EXT_meshopt_compression-CWVLJCmT.esm.js +134 -0
- package/dist/chunks/EXT_meshopt_compression-CWVLJCmT.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-Bv2Pa-Lr.esm.js +44 -0
- package/dist/chunks/EXT_texture_avif-Bv2Pa-Lr.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_avif-DZmsorD-.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_avif-DZmsorD-.esm.min.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-CBpWQrqC.esm.js +43 -0
- package/dist/chunks/EXT_texture_webp-CBpWQrqC.esm.js.map +1 -0
- package/dist/chunks/EXT_texture_webp-D6RSOJSe.esm.min.js +2 -0
- package/dist/chunks/EXT_texture_webp-D6RSOJSe.esm.min.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-6ZohdbjJ.esm.js +64 -0
- package/dist/chunks/ExtrasAsMetadata-6ZohdbjJ.esm.js.map +1 -0
- package/dist/chunks/ExtrasAsMetadata-CrG2l0Kf.esm.min.js +2 -0
- package/dist/chunks/ExtrasAsMetadata-CrG2l0Kf.esm.min.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-Cvu5a-gj.esm.js +352 -0
- package/dist/chunks/KHR_animation_pointer-Cvu5a-gj.esm.js.map +1 -0
- package/dist/chunks/KHR_animation_pointer-Rk2uzfDp.esm.min.js +2 -0
- package/dist/chunks/KHR_animation_pointer-Rk2uzfDp.esm.min.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-BrXprwd5.esm.js +610 -0
- package/dist/chunks/KHR_draco_mesh_compression-BrXprwd5.esm.js.map +1 -0
- package/dist/chunks/KHR_draco_mesh_compression-Iv3q50MG.esm.min.js +2 -0
- package/dist/chunks/KHR_draco_mesh_compression-Iv3q50MG.esm.min.js.map +1 -0
- package/dist/chunks/KHR_interactivity-B4iFgkk7.esm.min.js +2 -0
- package/dist/chunks/KHR_interactivity-B4iFgkk7.esm.min.js.map +1 -0
- package/dist/chunks/KHR_interactivity-Db4iHU65.esm.js +4033 -0
- package/dist/chunks/KHR_interactivity-Db4iHU65.esm.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-B7yNiRZy.esm.min.js +2 -0
- package/dist/chunks/KHR_lights_punctual-B7yNiRZy.esm.min.js.map +1 -0
- package/dist/chunks/KHR_lights_punctual-iZl19DTA.esm.js +581 -0
- package/dist/chunks/KHR_lights_punctual-iZl19DTA.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-Bk9K0k0q.esm.js +65 -0
- package/dist/chunks/KHR_materials_anisotropy-Bk9K0k0q.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_anisotropy-DlDnL4o4.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_anisotropy-DlDnL4o4.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-BrT4VgMS.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_clearcoat-BrT4VgMS.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_clearcoat-DXAyxIfA.esm.js +96 -0
- package/dist/chunks/KHR_materials_clearcoat-DXAyxIfA.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-CRqI4Umg.esm.js +97 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-CRqI4Umg.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-jyVvmpFx.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_diffuse_transmission-jyVvmpFx.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-BwXQSsRC.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_dispersion-BwXQSsRC.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_dispersion-DTMaHZal.esm.js +62 -0
- package/dist/chunks/KHR_materials_dispersion-DTMaHZal.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-BCWSR6Zg.esm.js +55 -0
- package/dist/chunks/KHR_materials_emissive_strength-BCWSR6Zg.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_emissive_strength-dEqNWrU4.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_emissive_strength-dEqNWrU4.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-DXmoDlX8.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_ior-DXmoDlX8.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_ior-NvWqR2ZR.esm.js +64 -0
- package/dist/chunks/KHR_materials_ior-NvWqR2ZR.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-2VKZo_Mv.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_iridescence-2VKZo_Mv.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_iridescence-B2wLtYQ4.esm.js +72 -0
- package/dist/chunks/KHR_materials_iridescence-B2wLtYQ4.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DYK5fci0.esm.js +81 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DYK5fci0.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-PlzNRHwZ.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_pbrSpecularGlossiness-PlzNRHwZ.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-CvA19viC.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_sheen-CvA19viC.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_sheen-DY8Hlw2C.esm.js +85 -0
- package/dist/chunks/KHR_materials_sheen-DY8Hlw2C.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-DPankAYO.esm.js +75 -0
- package/dist/chunks/KHR_materials_specular-DPankAYO.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_specular-SFjYTaHn.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_specular-SFjYTaHn.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-CBvCfGeN.esm.js +307 -0
- package/dist/chunks/KHR_materials_transmission-CBvCfGeN.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_transmission-DeRHqgMd.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_transmission-DeRHqgMd.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-Dp-VzfY2.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_unlit-Dp-VzfY2.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_unlit-xG3eIsVn.esm.js +74 -0
- package/dist/chunks/KHR_materials_unlit-xG3eIsVn.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-DtTs7enl.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_variants-DtTs7enl.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_variants-POauQPs7.esm.js +262 -0
- package/dist/chunks/KHR_materials_variants-POauQPs7.esm.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-BO1lvsUq.esm.min.js +2 -0
- package/dist/chunks/KHR_materials_volume-BO1lvsUq.esm.min.js.map +1 -0
- package/dist/chunks/KHR_materials_volume-BqCunks7.esm.js +87 -0
- package/dist/chunks/KHR_materials_volume-BqCunks7.esm.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-3ON-a5Bz.esm.js +26 -0
- package/dist/chunks/KHR_mesh_quantization-3ON-a5Bz.esm.js.map +1 -0
- package/dist/chunks/KHR_mesh_quantization-C1uR5Lci.esm.min.js +2 -0
- package/dist/chunks/KHR_mesh_quantization-C1uR5Lci.esm.min.js.map +1 -0
- package/dist/chunks/KHR_node_hoverability-CZIi0X9e.esm.js +39 -0
- package/dist/chunks/KHR_node_hoverability-CZIi0X9e.esm.js.map +1 -0
- package/dist/chunks/KHR_node_hoverability-gPD0oS5c.esm.min.js +2 -0
- package/dist/chunks/KHR_node_hoverability-gPD0oS5c.esm.min.js.map +1 -0
- package/dist/chunks/KHR_node_visibility-B5fFI1TX.esm.js +46 -0
- package/dist/chunks/KHR_node_visibility-B5fFI1TX.esm.js.map +1 -0
- package/dist/chunks/KHR_node_visibility-DPw-0W4p.esm.min.js +2 -0
- package/dist/chunks/KHR_node_visibility-DPw-0W4p.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-D6tStneN.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_basisu-D6tStneN.esm.min.js.map +1 -0
- package/dist/chunks/KHR_texture_basisu-Did7TM-4.esm.js +43 -0
- package/dist/chunks/KHR_texture_basisu-Did7TM-4.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-Da5NeRUm.esm.js +63 -0
- package/dist/chunks/KHR_texture_transform-Da5NeRUm.esm.js.map +1 -0
- package/dist/chunks/KHR_texture_transform-jNMzm3zb.esm.min.js +2 -0
- package/dist/chunks/KHR_texture_transform-jNMzm3zb.esm.min.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-D514my_a.esm.js +51 -0
- package/dist/chunks/KHR_xmp_json_ld-D514my_a.esm.js.map +1 -0
- package/dist/chunks/KHR_xmp_json_ld-D5Gbko_w.esm.min.js +2 -0
- package/dist/chunks/KHR_xmp_json_ld-D5Gbko_w.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-CiB3yG6v.esm.js +2201 -0
- package/dist/chunks/MSFT_audio_emitter-CiB3yG6v.esm.js.map +1 -0
- package/dist/chunks/MSFT_audio_emitter-Cn-DCgMh.esm.min.js +2 -0
- package/dist/chunks/MSFT_audio_emitter-Cn-DCgMh.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_lod-BDP9fUoB.esm.js +337 -0
- package/dist/chunks/MSFT_lod-BDP9fUoB.esm.js.map +1 -0
- package/dist/chunks/MSFT_lod-BEbIdncN.esm.min.js +2 -0
- package/dist/chunks/MSFT_lod-BEbIdncN.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-jASzndfE.esm.min.js +2 -0
- package/dist/chunks/MSFT_minecraftMesh-jASzndfE.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_minecraftMesh-mKnNUrKI.esm.js +46 -0
- package/dist/chunks/MSFT_minecraftMesh-mKnNUrKI.esm.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-B1Bk1U5N.esm.min.js +2 -0
- package/dist/chunks/MSFT_sRGBFactors-B1Bk1U5N.esm.min.js.map +1 -0
- package/dist/chunks/MSFT_sRGBFactors-IZnSmmDU.esm.js +47 -0
- package/dist/chunks/MSFT_sRGBFactors-IZnSmmDU.esm.js.map +1 -0
- package/dist/chunks/animationGroup-B1YyqoTa.esm.js +2482 -0
- package/dist/chunks/animationGroup-B1YyqoTa.esm.js.map +1 -0
- package/dist/chunks/animationGroup-C9C7qST_.esm.min.js +2 -0
- package/dist/chunks/animationGroup-C9C7qST_.esm.min.js.map +1 -0
- package/dist/chunks/assetContainer-BzlRl_4x.esm.js +1720 -0
- package/dist/chunks/assetContainer-BzlRl_4x.esm.js.map +1 -0
- package/dist/chunks/assetContainer-D7C3a-Xn.esm.min.js +2 -0
- package/dist/chunks/assetContainer-D7C3a-Xn.esm.min.js.map +1 -0
- package/dist/chunks/audioEngine-BZB34VjD.esm.js +305 -0
- package/dist/chunks/audioEngine-BZB34VjD.esm.js.map +1 -0
- package/dist/chunks/audioEngine-BoxJPZL7.esm.min.js +2 -0
- package/dist/chunks/audioEngine-BoxJPZL7.esm.min.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-BQki1eZ4.esm.min.js +2 -0
- package/dist/chunks/bakedVertexAnimation-BQki1eZ4.esm.min.js.map +1 -0
- package/dist/chunks/bakedVertexAnimation-DpSHNKcC.esm.js +114 -0
- package/dist/chunks/bakedVertexAnimation-DpSHNKcC.esm.js.map +1 -0
- package/dist/chunks/basisTextureLoader-C3RlzqZl.esm.min.js +2 -0
- package/dist/chunks/basisTextureLoader-C3RlzqZl.esm.min.js.map +1 -0
- package/dist/chunks/basisTextureLoader-D6uyehp2.esm.js +600 -0
- package/dist/chunks/basisTextureLoader-D6uyehp2.esm.js.map +1 -0
- package/dist/chunks/dds-C1QgDMMC.esm.min.js +2 -0
- package/dist/chunks/dds-C1QgDMMC.esm.min.js.map +1 -0
- package/dist/chunks/dds-zApWiwah.esm.js +540 -0
- package/dist/chunks/dds-zApWiwah.esm.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-CSYQAUdw.esm.js +88 -0
- package/dist/chunks/ddsTextureLoader-CSYQAUdw.esm.js.map +1 -0
- package/dist/chunks/ddsTextureLoader-Dyl2CjaG.esm.min.js +2 -0
- package/dist/chunks/ddsTextureLoader-Dyl2CjaG.esm.min.js.map +1 -0
- package/dist/chunks/decalFragment-BbsT8PSx.esm.min.js +2 -0
- package/dist/chunks/decalFragment-BbsT8PSx.esm.min.js.map +1 -0
- package/dist/chunks/decalFragment-DqgT4NiX.esm.js +18 -0
- package/dist/chunks/decalFragment-DqgT4NiX.esm.js.map +1 -0
- package/dist/chunks/default.fragment-Bpw23SLq.esm.min.js +2 -0
- package/dist/chunks/default.fragment-Bpw23SLq.esm.min.js.map +1 -0
- package/dist/chunks/default.fragment-C8lcinV9.esm.js +446 -0
- package/dist/chunks/default.fragment-C8lcinV9.esm.js.map +1 -0
- package/dist/chunks/default.fragment-De3FJCJD.esm.js +515 -0
- package/dist/chunks/default.fragment-De3FJCJD.esm.js.map +1 -0
- package/dist/chunks/default.fragment-b__nAv93.esm.min.js +2 -0
- package/dist/chunks/default.fragment-b__nAv93.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-BnpZVKdz.esm.min.js +2 -0
- package/dist/chunks/default.vertex-BnpZVKdz.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-CD2qxrmB.esm.js +190 -0
- package/dist/chunks/default.vertex-CD2qxrmB.esm.js.map +1 -0
- package/dist/chunks/default.vertex-CN5WYROZ.esm.min.js +2 -0
- package/dist/chunks/default.vertex-CN5WYROZ.esm.min.js.map +1 -0
- package/dist/chunks/default.vertex-DRHq60qX.esm.js +211 -0
- package/dist/chunks/default.vertex-DRHq60qX.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-C0gMCjYL.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-C0gMCjYL.esm.min.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-CGRrluBg.esm.min.js +2 -0
- package/dist/chunks/defaultUboDeclaration-CGRrluBg.esm.min.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-DCybxQ0F.esm.js +13 -0
- package/dist/chunks/defaultUboDeclaration-DCybxQ0F.esm.js.map +1 -0
- package/dist/chunks/defaultUboDeclaration-xxIrKyXf.esm.js +15 -0
- package/dist/chunks/defaultUboDeclaration-xxIrKyXf.esm.js.map +1 -0
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +11 -0
- package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +1 -0
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +2 -0
- package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +1 -0
- package/dist/chunks/dumpTools-BOVGklo2.esm.min.js +2 -0
- package/dist/chunks/dumpTools-BOVGklo2.esm.min.js.map +1 -0
- package/dist/chunks/dumpTools-Dy-fD64p.esm.js +200 -0
- package/dist/chunks/dumpTools-Dy-fD64p.esm.js.map +1 -0
- package/dist/chunks/engine-CBGABL2W.esm.min.js +2 -0
- package/dist/chunks/engine-CBGABL2W.esm.min.js.map +1 -0
- package/dist/chunks/engine-D9Sn-BC6.esm.js +2213 -0
- package/dist/chunks/engine-D9Sn-BC6.esm.js.map +1 -0
- package/dist/chunks/engine.common-BM1GAef8.esm.js +1162 -0
- package/dist/chunks/engine.common-BM1GAef8.esm.js.map +1 -0
- package/dist/chunks/engine.common-xMH7x2b0.esm.min.js +2 -0
- package/dist/chunks/engine.common-xMH7x2b0.esm.min.js.map +1 -0
- package/dist/chunks/envTextureLoader-BRdNaVH2.esm.min.js +2 -0
- package/dist/chunks/envTextureLoader-BRdNaVH2.esm.min.js.map +1 -0
- package/dist/chunks/envTextureLoader-DT_xwrde.esm.js +64 -0
- package/dist/chunks/envTextureLoader-DT_xwrde.esm.js.map +1 -0
- package/dist/chunks/environmentTextureTools-BxWsgzT8.esm.min.js +2 -0
- package/dist/chunks/environmentTextureTools-BxWsgzT8.esm.min.js.map +1 -0
- package/dist/chunks/environmentTextureTools-DuNLB_SE.esm.js +382 -0
- package/dist/chunks/environmentTextureTools-DuNLB_SE.esm.js.map +1 -0
- package/dist/chunks/exrTextureLoader-BBL1-v_g.esm.min.js +2 -0
- package/dist/chunks/exrTextureLoader-BBL1-v_g.esm.min.js.map +1 -0
- package/dist/chunks/exrTextureLoader-CUiWw4Oh.esm.js +1683 -0
- package/dist/chunks/exrTextureLoader-CUiWw4Oh.esm.js.map +1 -0
- package/dist/chunks/fogFragment-BCz1GIrJ.esm.min.js +2 -0
- package/dist/chunks/fogFragment-BCz1GIrJ.esm.min.js.map +1 -0
- package/dist/chunks/fogFragment-BQLWFsYl.esm.min.js +2 -0
- package/dist/chunks/fogFragment-BQLWFsYl.esm.min.js.map +1 -0
- package/dist/chunks/fogFragment-DANl-YQk.esm.js +102 -0
- package/dist/chunks/fogFragment-DANl-YQk.esm.js.map +1 -0
- package/dist/chunks/fogFragment-DptoygQ5.esm.js +101 -0
- package/dist/chunks/fogFragment-DptoygQ5.esm.js.map +1 -0
- package/dist/chunks/fresnelFunction-3-z89NGn.esm.js +12 -0
- package/dist/chunks/fresnelFunction-3-z89NGn.esm.js.map +1 -0
- package/dist/chunks/fresnelFunction-CbnLfwWn.esm.min.js +2 -0
- package/dist/chunks/fresnelFunction-CbnLfwWn.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoader-Qw5JObwf.esm.js +7658 -0
- package/dist/chunks/glTFLoader-Qw5JObwf.esm.js.map +1 -0
- package/dist/chunks/glTFLoader-iKlvKEG-.esm.min.js +2 -0
- package/dist/chunks/glTFLoader-iKlvKEG-.esm.min.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-BCUZthxT.esm.js +77 -0
- package/dist/chunks/glTFLoaderAnimation-BCUZthxT.esm.js.map +1 -0
- package/dist/chunks/glTFLoaderAnimation-DnTkRibM.esm.min.js +2 -0
- package/dist/chunks/glTFLoaderAnimation-DnTkRibM.esm.min.js.map +1 -0
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
- package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
- package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-19PWyV81.esm.js +34 -0
- package/dist/chunks/harmonicsFunctions-19PWyV81.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-D4sp7bHN.esm.js +35 -0
- package/dist/chunks/harmonicsFunctions-D4sp7bHN.esm.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-DSpaTpH7.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-DSpaTpH7.esm.min.js.map +1 -0
- package/dist/chunks/harmonicsFunctions-DvH68s1g.esm.min.js +2 -0
- package/dist/chunks/harmonicsFunctions-DvH68s1g.esm.min.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-ChbZ5_1g.esm.min.js +2 -0
- package/dist/chunks/hdrTextureLoader-ChbZ5_1g.esm.min.js.map +1 -0
- package/dist/chunks/hdrTextureLoader-OJaopXAb.esm.js +253 -0
- package/dist/chunks/hdrTextureLoader-OJaopXAb.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-CNCeKea7.esm.js +81 -0
- package/dist/chunks/helperFunctions-CNCeKea7.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-Crs36Q3w.esm.js +109 -0
- package/dist/chunks/helperFunctions-Crs36Q3w.esm.js.map +1 -0
- package/dist/chunks/helperFunctions-DKz6om6i.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-DKz6om6i.esm.min.js.map +1 -0
- package/dist/chunks/helperFunctions-bZhuioWn.esm.min.js +2 -0
- package/dist/chunks/helperFunctions-bZhuioWn.esm.min.js.map +1 -0
- package/dist/chunks/iesTextureLoader-BTOaWdIK.esm.js +189 -0
- package/dist/chunks/iesTextureLoader-BTOaWdIK.esm.js.map +1 -0
- package/dist/chunks/iesTextureLoader-CKnu1maC.esm.min.js +2 -0
- package/dist/chunks/iesTextureLoader-CKnu1maC.esm.min.js.map +1 -0
- package/dist/chunks/index-5L5wXyrx.esm.js +74870 -0
- package/dist/chunks/index-5L5wXyrx.esm.js.map +1 -0
- package/dist/chunks/index-B5KLkjYm.esm.min.js +57 -0
- package/dist/chunks/index-B5KLkjYm.esm.min.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-CMfHt5rp.esm.js +814 -0
- package/dist/chunks/ktxTextureLoader-CMfHt5rp.esm.js.map +1 -0
- package/dist/chunks/ktxTextureLoader-DCyzShol.esm.min.js +2 -0
- package/dist/chunks/ktxTextureLoader-DCyzShol.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-8CuoGLY6.esm.js +35 -0
- package/dist/chunks/logDepthDeclaration-8CuoGLY6.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-BC68Ktb0.esm.js +11 -0
- package/dist/chunks/logDepthDeclaration-BC68Ktb0.esm.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-CgPuLaM9.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-CgPuLaM9.esm.min.js.map +1 -0
- package/dist/chunks/logDepthDeclaration-iNYm9mSn.esm.min.js +2 -0
- package/dist/chunks/logDepthDeclaration-iNYm9mSn.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-BOepIJij.esm.js +77 -0
- package/dist/chunks/logDepthVertex-BOepIJij.esm.js.map +1 -0
- package/dist/chunks/logDepthVertex-Bno6ozc-.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-Bno6ozc-.esm.min.js.map +1 -0
- package/dist/chunks/logDepthVertex-CU3WBwOA.esm.js +81 -0
- package/dist/chunks/logDepthVertex-CU3WBwOA.esm.js.map +1 -0
- package/dist/chunks/logDepthVertex-DjeubcPn.esm.min.js +2 -0
- package/dist/chunks/logDepthVertex-DjeubcPn.esm.min.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-C_Am-o4e.esm.js +11 -0
- package/dist/chunks/mainUVVaryingDeclaration-C_Am-o4e.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-CuSqEhkE.esm.min.js +2 -0
- package/dist/chunks/mainUVVaryingDeclaration-CuSqEhkE.esm.min.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-DxqJq0-m.esm.js +11 -0
- package/dist/chunks/mainUVVaryingDeclaration-DxqJq0-m.esm.js.map +1 -0
- package/dist/chunks/mainUVVaryingDeclaration-oZF0xIut.esm.min.js +2 -0
- package/dist/chunks/mainUVVaryingDeclaration-oZF0xIut.esm.min.js.map +1 -0
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +119 -0
- package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +1 -0
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +2 -0
- package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-BWuUYN5-.esm.js +26 -0
- package/dist/chunks/meshUboDeclaration-BWuUYN5-.esm.js.map +1 -0
- package/dist/chunks/meshUboDeclaration-D-9f-79D.esm.min.js +2 -0
- package/dist/chunks/meshUboDeclaration-D-9f-79D.esm.min.js.map +1 -0
- package/dist/chunks/objFileLoader-B3PzHlWB.esm.min.js +2 -0
- package/dist/chunks/objFileLoader-B3PzHlWB.esm.min.js.map +1 -0
- package/dist/chunks/objFileLoader-BjHr-pn1.esm.js +1338 -0
- package/dist/chunks/objFileLoader-BjHr-pn1.esm.js.map +1 -0
- package/dist/chunks/oitFragment-BypZDJVo.esm.min.js +2 -0
- package/dist/chunks/oitFragment-BypZDJVo.esm.min.js.map +1 -0
- package/dist/chunks/oitFragment-D3g8w3hO.esm.js +1078 -0
- package/dist/chunks/oitFragment-D3g8w3hO.esm.js.map +1 -0
- package/dist/chunks/oitFragment-Db3h4DV5.esm.min.js +2 -0
- package/dist/chunks/oitFragment-Db3h4DV5.esm.min.js.map +1 -0
- package/dist/chunks/oitFragment-tQJLudg5.esm.js +1240 -0
- package/dist/chunks/oitFragment-tQJLudg5.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-C8CWeVkM.esm.js +15 -0
- package/dist/chunks/pass.fragment-C8CWeVkM.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-CSK2ynPe.esm.js +15 -0
- package/dist/chunks/pass.fragment-CSK2ynPe.esm.js.map +1 -0
- package/dist/chunks/pass.fragment-CdgLWa1Q.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-CdgLWa1Q.esm.min.js.map +1 -0
- package/dist/chunks/pass.fragment-ONNyQPrD.esm.min.js +2 -0
- package/dist/chunks/pass.fragment-ONNyQPrD.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-Be9mZgL7.esm.js +3269 -0
- package/dist/chunks/pbr.fragment-Be9mZgL7.esm.js.map +1 -0
- package/dist/chunks/pbr.fragment-C13t4f7Z.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-C13t4f7Z.esm.min.js.map +1 -0
- package/dist/chunks/pbr.fragment-CiAe6mgr.esm.js +3222 -0
- package/dist/chunks/pbr.fragment-CiAe6mgr.esm.js.map +1 -0
- package/dist/chunks/pbr.fragment-I66pqwoX.esm.min.js +2 -0
- package/dist/chunks/pbr.fragment-I66pqwoX.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-BlqPEcZe.esm.js +223 -0
- package/dist/chunks/pbr.vertex-BlqPEcZe.esm.js.map +1 -0
- package/dist/chunks/pbr.vertex-C1r_QFvZ.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-C1r_QFvZ.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-DE9NTHal.esm.min.js +2 -0
- package/dist/chunks/pbr.vertex-DE9NTHal.esm.min.js.map +1 -0
- package/dist/chunks/pbr.vertex-oQpu2zia.esm.js +348 -0
- package/dist/chunks/pbr.vertex-oQpu2zia.esm.js.map +1 -0
- package/dist/chunks/postprocess.vertex-D3XLqa14.esm.js +20 -0
- package/dist/chunks/postprocess.vertex-D3XLqa14.esm.js.map +1 -0
- package/dist/chunks/postprocess.vertex-IkQbrBQH.esm.min.js +2 -0
- package/dist/chunks/postprocess.vertex-IkQbrBQH.esm.min.js.map +1 -0
- package/dist/chunks/rawTexture-BVf9vm87.esm.js +191 -0
- package/dist/chunks/rawTexture-BVf9vm87.esm.js.map +1 -0
- package/dist/chunks/rawTexture-CNxyCiVq.esm.min.js +2 -0
- package/dist/chunks/rawTexture-CNxyCiVq.esm.min.js.map +1 -0
- package/dist/chunks/ray-BLVbie8S.esm.min.js +2 -0
- package/dist/chunks/ray-BLVbie8S.esm.min.js.map +1 -0
- package/dist/chunks/ray-C7H9vp-x.esm.js +946 -0
- package/dist/chunks/ray-C7H9vp-x.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-9dPOcBOA.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-9dPOcBOA.esm.min.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-ApyH83v_.esm.js +13 -0
- package/dist/chunks/rgbdDecode.fragment-ApyH83v_.esm.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-Bt75XOUV.esm.min.js +2 -0
- package/dist/chunks/rgbdDecode.fragment-Bt75XOUV.esm.min.js.map +1 -0
- package/dist/chunks/rgbdDecode.fragment-DDIJs9ID.esm.js +13 -0
- package/dist/chunks/rgbdDecode.fragment-DDIJs9ID.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-CSquf6K4.esm.js +13 -0
- package/dist/chunks/rgbdEncode.fragment-CSquf6K4.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-Cpudy2qT.esm.js +13 -0
- package/dist/chunks/rgbdEncode.fragment-Cpudy2qT.esm.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-DZs59_tV.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-DZs59_tV.esm.min.js.map +1 -0
- package/dist/chunks/rgbdEncode.fragment-Djxd-azW.esm.min.js +2 -0
- package/dist/chunks/rgbdEncode.fragment-Djxd-azW.esm.min.js.map +1 -0
- package/dist/chunks/splatFileLoader-BkExyfY6.esm.js +3379 -0
- package/dist/chunks/splatFileLoader-BkExyfY6.esm.js.map +1 -0
- package/dist/chunks/splatFileLoader-DLc_wKu4.esm.min.js +2 -0
- package/dist/chunks/splatFileLoader-DLc_wKu4.esm.min.js.map +1 -0
- package/dist/chunks/spotLight-CFGRpcFc.esm.js +701 -0
- package/dist/chunks/spotLight-CFGRpcFc.esm.js.map +1 -0
- package/dist/chunks/spotLight-z5HIEQmM.esm.min.js +2 -0
- package/dist/chunks/spotLight-z5HIEQmM.esm.min.js.map +1 -0
- package/dist/chunks/standardMaterial-B5u9Vzil.esm.min.js +2 -0
- package/dist/chunks/standardMaterial-B5u9Vzil.esm.min.js.map +1 -0
- package/dist/chunks/standardMaterial-BJzDZ72T.esm.js +1806 -0
- package/dist/chunks/standardMaterial-BJzDZ72T.esm.js.map +1 -0
- package/dist/chunks/stlFileLoader-B3Y6u4L6.esm.min.js +2 -0
- package/dist/chunks/stlFileLoader-B3Y6u4L6.esm.min.js.map +1 -0
- package/dist/chunks/stlFileLoader-Bd1GgkYU.esm.js +238 -0
- package/dist/chunks/stlFileLoader-Bd1GgkYU.esm.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-BD_A6gyw.esm.min.js +2 -0
- package/dist/chunks/tgaTextureLoader-BD_A6gyw.esm.min.js.map +1 -0
- package/dist/chunks/tgaTextureLoader-DnUiJRBO.esm.js +349 -0
- package/dist/chunks/tgaTextureLoader-DnUiJRBO.esm.js.map +1 -0
- package/dist/chunks/thinEngine-CRNAFHqA.esm.min.js +2 -0
- package/dist/chunks/thinEngine-CRNAFHqA.esm.min.js.map +1 -0
- package/dist/chunks/thinEngine-DGyFDxzW.esm.js +3853 -0
- package/dist/chunks/thinEngine-DGyFDxzW.esm.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-B-f1KNB2.esm.min.js +2 -0
- package/dist/chunks/thinInstanceMesh-B-f1KNB2.esm.min.js.map +1 -0
- package/dist/chunks/thinInstanceMesh-D-cofgbF.esm.js +314 -0
- package/dist/chunks/thinInstanceMesh-D-cofgbF.esm.js.map +1 -0
- package/dist/chunks/vertexColorMixing-BUqoiJkS.esm.min.js +2 -0
- package/dist/chunks/vertexColorMixing-BUqoiJkS.esm.min.js.map +1 -0
- package/dist/chunks/vertexColorMixing-CBpXxGvM.esm.js +421 -0
- package/dist/chunks/vertexColorMixing-CBpXxGvM.esm.js.map +1 -0
- package/dist/chunks/vertexColorMixing-ChUhO7eS.esm.js +531 -0
- package/dist/chunks/vertexColorMixing-ChUhO7eS.esm.js.map +1 -0
- package/dist/chunks/vertexColorMixing-DbmkfWMo.esm.min.js +2 -0
- package/dist/chunks/vertexColorMixing-DbmkfWMo.esm.min.js.map +1 -0
- package/dist/chunks/webgpuEngine-DqprhQ4L.esm.js +11538 -0
- package/dist/chunks/webgpuEngine-DqprhQ4L.esm.js.map +1 -0
- package/dist/chunks/webgpuEngine-LpKjcEuV.esm.min.js +2 -0
- package/dist/chunks/webgpuEngine-LpKjcEuV.esm.min.js.map +1 -0
- package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
- package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
- package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
- package/lib/index.d.ts +591 -0
- package/lib/index.js +2165 -0
- package/lib/index.js.map +1 -0
- package/package.json +19 -28
- package/readme.md +28 -28
- package/configuration/configuration.d.ts +0 -107
- package/configuration/configuration.js +0 -16
- package/configuration/configuration.js.map +0 -1
- package/configuration/configurationCompatibility.d.ts +0 -8
- package/configuration/configurationCompatibility.js +0 -66
- package/configuration/configurationCompatibility.js.map +0 -1
- package/configuration/configurationContainer.d.ts +0 -10
- package/configuration/configurationContainer.js +0 -10
- package/configuration/configurationContainer.js.map +0 -1
- package/configuration/globals.d.ts +0 -6
- package/configuration/globals.js +0 -18
- package/configuration/globals.js.map +0 -1
- package/configuration/index.d.ts +0 -2
- package/configuration/index.js +0 -4
- package/configuration/index.js.map +0 -1
- package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
- package/configuration/interfaces/cameraConfiguration.js +0 -2
- package/configuration/interfaces/cameraConfiguration.js.map +0 -1
- package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
- package/configuration/interfaces/colorGradingConfiguration.js +0 -2
- package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
- package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
- package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
- package/configuration/interfaces/environmentMapConfiguration.js +0 -2
- package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
- package/configuration/interfaces/groundConfiguration.d.ts +0 -24
- package/configuration/interfaces/groundConfiguration.js +0 -2
- package/configuration/interfaces/groundConfiguration.js.map +0 -1
- package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
- package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
- package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
- package/configuration/interfaces/index.d.ts +0 -15
- package/configuration/interfaces/index.js +0 -16
- package/configuration/interfaces/index.js.map +0 -1
- package/configuration/interfaces/lightConfiguration.d.ts +0 -60
- package/configuration/interfaces/lightConfiguration.js +0 -2
- package/configuration/interfaces/lightConfiguration.js.map +0 -1
- package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
- package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
- package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
- package/configuration/interfaces/modelConfiguration.d.ts +0 -65
- package/configuration/interfaces/modelConfiguration.js +0 -2
- package/configuration/interfaces/modelConfiguration.js.map +0 -1
- package/configuration/interfaces/observersConfiguration.d.ts +0 -5
- package/configuration/interfaces/observersConfiguration.js +0 -2
- package/configuration/interfaces/observersConfiguration.js.map +0 -1
- package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
- package/configuration/interfaces/sceneConfiguration.js +0 -2
- package/configuration/interfaces/sceneConfiguration.js.map +0 -1
- package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
- package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
- package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
- package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
- package/configuration/interfaces/skyboxConfiguration.js +0 -2
- package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
- package/configuration/interfaces/templateConfiguration.d.ts +0 -67
- package/configuration/interfaces/templateConfiguration.js +0 -2
- package/configuration/interfaces/templateConfiguration.js.map +0 -1
- package/configuration/interfaces/vrConfiguration.d.ts +0 -16
- package/configuration/interfaces/vrConfiguration.js +0 -2
- package/configuration/interfaces/vrConfiguration.js.map +0 -1
- package/configuration/loader.d.ts +0 -4
- package/configuration/loader.js +0 -17
- package/configuration/loader.js.map +0 -1
- package/configuration/mappers.d.ts +0 -43
- package/configuration/mappers.js +0 -193
- package/configuration/mappers.js.map +0 -1
- package/configuration/renderOnlyLoader.d.ts +0 -33
- package/configuration/renderOnlyLoader.js +0 -162
- package/configuration/renderOnlyLoader.js.map +0 -1
- package/configuration/types/default.d.ts +0 -6
- package/configuration/types/default.js +0 -121
- package/configuration/types/default.js.map +0 -1
- package/configuration/types/environmentMap.d.ts +0 -5
- package/configuration/types/environmentMap.js +0 -14
- package/configuration/types/environmentMap.js.map +0 -1
- package/configuration/types/extended.d.ts +0 -6
- package/configuration/types/extended.js +0 -317
- package/configuration/types/extended.js.map +0 -1
- package/configuration/types/index.d.ts +0 -14
- package/configuration/types/index.js +0 -51
- package/configuration/types/index.js.map +0 -1
- package/configuration/types/minimal.d.ts +0 -6
- package/configuration/types/minimal.js +0 -43
- package/configuration/types/minimal.js.map +0 -1
- package/configuration/types/renderOnlyDefault.d.ts +0 -30
- package/configuration/types/renderOnlyDefault.js +0 -31
- package/configuration/types/renderOnlyDefault.js.map +0 -1
- package/configuration/types/shadowLight.d.ts +0 -9
- package/configuration/types/shadowLight.js +0 -64
- package/configuration/types/shadowLight.js.map +0 -1
- package/helper/index.d.ts +0 -29
- package/helper/index.js +0 -66
- package/helper/index.js.map +0 -1
- package/index.d.ts +0 -30
- package/index.js +0 -46
- package/index.js.map +0 -1
- package/initializer.d.ts +0 -11
- package/initializer.js +0 -35
- package/initializer.js.map +0 -1
- package/interfaces.d.ts +0 -5
- package/interfaces.js +0 -7
- package/interfaces.js.map +0 -1
- package/labs/environmentSerializer.d.ts +0 -126
- package/labs/environmentSerializer.js +0 -191
- package/labs/environmentSerializer.js.map +0 -1
- package/labs/texture.d.ts +0 -183
- package/labs/texture.js +0 -351
- package/labs/texture.js.map +0 -1
- package/labs/viewerLabs.d.ts +0 -51
- package/labs/viewerLabs.js +0 -134
- package/labs/viewerLabs.js.map +0 -1
- package/loader/modelLoader.d.ts +0 -56
- package/loader/modelLoader.js +0 -202
- package/loader/modelLoader.js.map +0 -1
- package/loader/plugins/applyMaterialConfig.d.ts +0 -12
- package/loader/plugins/applyMaterialConfig.js +0 -16
- package/loader/plugins/applyMaterialConfig.js.map +0 -1
- package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
- package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
- package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
- package/loader/plugins/index.d.ts +0 -19
- package/loader/plugins/index.js +0 -44
- package/loader/plugins/index.js.map +0 -1
- package/loader/plugins/loaderPlugin.d.ts +0 -24
- package/loader/plugins/loaderPlugin.js +0 -2
- package/loader/plugins/loaderPlugin.js.map +0 -1
- package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
- package/loader/plugins/msftLodLoaderPlugin.js +0 -21
- package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
- package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
- package/loader/plugins/telemetryLoaderPlugin.js +0 -36
- package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
- package/managers/observablesManager.d.ts +0 -66
- package/managers/observablesManager.js +0 -35
- package/managers/observablesManager.js.map +0 -1
- package/managers/sceneManager.d.ts +0 -245
- package/managers/sceneManager.js +0 -1375
- package/managers/sceneManager.js.map +0 -1
- package/managers/telemetryManager.d.ts +0 -78
- package/managers/telemetryManager.js +0 -117
- package/managers/telemetryManager.js.map +0 -1
- package/model/modelAnimation.d.ts +0 -215
- package/model/modelAnimation.js +0 -237
- package/model/modelAnimation.js.map +0 -1
- package/model/viewerModel.d.ts +0 -233
- package/model/viewerModel.js +0 -673
- package/model/viewerModel.js.map +0 -1
- package/optimizer/custom/extended.d.ts +0 -13
- package/optimizer/custom/extended.js +0 -101
- package/optimizer/custom/extended.js.map +0 -1
- package/optimizer/custom/index.d.ts +0 -9
- package/optimizer/custom/index.js +0 -26
- package/optimizer/custom/index.js.map +0 -1
- package/renderOnlyIndex.d.ts +0 -11
- package/renderOnlyIndex.js +0 -18
- package/renderOnlyIndex.js.map +0 -1
- package/templating/eventManager.d.ts +0 -35
- package/templating/eventManager.js +0 -66
- package/templating/eventManager.js.map +0 -1
- package/templating/plugins/hdButtonPlugin.d.ts +0 -9
- package/templating/plugins/hdButtonPlugin.js +0 -22
- package/templating/plugins/hdButtonPlugin.js.map +0 -1
- package/templating/plugins/printButton.d.ts +0 -9
- package/templating/plugins/printButton.js +0 -41
- package/templating/plugins/printButton.js.map +0 -1
- package/templating/templateManager.d.ts +0 -197
- package/templating/templateManager.js +0 -561
- package/templating/templateManager.js.map +0 -1
- package/templating/viewerTemplatePlugin.d.ts +0 -21
- package/templating/viewerTemplatePlugin.js +0 -69
- package/templating/viewerTemplatePlugin.js.map +0 -1
- package/viewer/defaultViewer.d.ts +0 -130
- package/viewer/defaultViewer.js +0 -672
- package/viewer/defaultViewer.js.map +0 -1
- package/viewer/renderOnlyViewer.d.ts +0 -9
- package/viewer/renderOnlyViewer.js +0 -46
- package/viewer/renderOnlyViewer.js.map +0 -1
- package/viewer/viewer.d.ts +0 -258
- package/viewer/viewer.js +0 -783
- package/viewer/viewer.js.map +0 -1
- package/viewer/viewerManager.d.ts +0 -58
- package/viewer/viewerManager.js +0 -91
- package/viewer/viewerManager.js.map +0 -1
- package/viewer/viewerWithTemplate.d.ts +0 -9
- package/viewer/viewerWithTemplate.js +0 -20
- package/viewer/viewerWithTemplate.js.map +0 -1
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { am as STLFileLoaderMetadata, M as Mesh, T as Tools, V as VertexBuffer, y as registerSceneLoaderPlugin } from './index-5L5wXyrx.esm.js';
|
|
2
|
+
import { A as AssetContainer } from './assetContainer-BzlRl_4x.esm.js';
|
|
3
|
+
import './standardMaterial-BJzDZ72T.esm.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* STL file type loader.
|
|
7
|
+
* This is a babylon scene loader plugin.
|
|
8
|
+
*/
|
|
9
|
+
class STLFileLoader {
|
|
10
|
+
constructor() {
|
|
11
|
+
/** @internal */
|
|
12
|
+
this.solidPattern = /solid (\S*)([\S\s]*?)endsolid[ ]*(\S*)/g;
|
|
13
|
+
/** @internal */
|
|
14
|
+
this.facetsPattern = /facet([\s\S]*?)endfacet/g;
|
|
15
|
+
/** @internal */
|
|
16
|
+
this.normalPattern = /normal[\s]+([-+]?[0-9]+\.?[0-9]*([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;
|
|
17
|
+
/** @internal */
|
|
18
|
+
this.vertexPattern = /vertex[\s]+([-+]?[0-9]+\.?[0-9]*([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;
|
|
19
|
+
/**
|
|
20
|
+
* Defines the name of the plugin.
|
|
21
|
+
*/
|
|
22
|
+
this.name = STLFileLoaderMetadata.name;
|
|
23
|
+
/**
|
|
24
|
+
* Defines the extensions the stl loader is able to load.
|
|
25
|
+
* force data to come in as an ArrayBuffer
|
|
26
|
+
* we'll convert to string if it looks like it's an ASCII .stl
|
|
27
|
+
*/
|
|
28
|
+
this.extensions = STLFileLoaderMetadata.extensions;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Import meshes into a scene.
|
|
32
|
+
* @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported
|
|
33
|
+
* @param scene The scene to import into
|
|
34
|
+
* @param data The data to import
|
|
35
|
+
* @param rootUrl The root url for scene and resources
|
|
36
|
+
* @param meshes The meshes array to import into
|
|
37
|
+
* @returns True if successful or false otherwise
|
|
38
|
+
*/
|
|
39
|
+
importMesh(meshesNames, scene, data, rootUrl, meshes) {
|
|
40
|
+
let matches;
|
|
41
|
+
if (typeof data !== "string") {
|
|
42
|
+
if (this._isBinary(data)) {
|
|
43
|
+
// binary .stl
|
|
44
|
+
const babylonMesh = new Mesh("stlmesh", scene);
|
|
45
|
+
this._parseBinary(babylonMesh, data);
|
|
46
|
+
if (meshes) {
|
|
47
|
+
meshes.push(babylonMesh);
|
|
48
|
+
}
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
// ASCII .stl
|
|
52
|
+
// convert to string
|
|
53
|
+
data = new TextDecoder().decode(new Uint8Array(data));
|
|
54
|
+
}
|
|
55
|
+
//if arrived here, data is a string, containing the STLA data.
|
|
56
|
+
while ((matches = this.solidPattern.exec(data))) {
|
|
57
|
+
let meshName = matches[1];
|
|
58
|
+
const meshNameFromEnd = matches[3];
|
|
59
|
+
if (meshNameFromEnd && meshName != meshNameFromEnd) {
|
|
60
|
+
Tools.Error("Error in STL, solid name != endsolid name");
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
// check meshesNames
|
|
64
|
+
if (meshesNames && meshName) {
|
|
65
|
+
if (meshesNames instanceof Array) {
|
|
66
|
+
if (!meshesNames.indexOf(meshName)) {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
if (meshName !== meshesNames) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// stl mesh name can be empty as well
|
|
77
|
+
meshName = meshName || "stlmesh";
|
|
78
|
+
const babylonMesh = new Mesh(meshName, scene);
|
|
79
|
+
this._parseASCII(babylonMesh, matches[2]);
|
|
80
|
+
if (meshes) {
|
|
81
|
+
meshes.push(babylonMesh);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Load into a scene.
|
|
88
|
+
* @param scene The scene to load into
|
|
89
|
+
* @param data The data to import
|
|
90
|
+
* @param rootUrl The root url for scene and resources
|
|
91
|
+
* @returns true if successful or false otherwise
|
|
92
|
+
*/
|
|
93
|
+
load(scene, data, rootUrl) {
|
|
94
|
+
const result = this.importMesh(null, scene, data, rootUrl, null);
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Load into an asset container.
|
|
99
|
+
* @param scene The scene to load into
|
|
100
|
+
* @param data The data to import
|
|
101
|
+
* @param rootUrl The root url for scene and resources
|
|
102
|
+
* @returns The loaded asset container
|
|
103
|
+
*/
|
|
104
|
+
loadAssetContainer(scene, data, rootUrl) {
|
|
105
|
+
const container = new AssetContainer(scene);
|
|
106
|
+
scene._blockEntityCollection = true;
|
|
107
|
+
this.importMesh(null, scene, data, rootUrl, container.meshes);
|
|
108
|
+
scene._blockEntityCollection = false;
|
|
109
|
+
return container;
|
|
110
|
+
}
|
|
111
|
+
_isBinary(data) {
|
|
112
|
+
// check if file size is correct for binary stl
|
|
113
|
+
const reader = new DataView(data);
|
|
114
|
+
// A Binary STL header is 80 bytes, if the data size is not great than
|
|
115
|
+
// that then it's not a binary STL.
|
|
116
|
+
if (reader.byteLength <= 80) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
const faceSize = (32 / 8) * 3 + (32 / 8) * 3 * 3 + 16 / 8;
|
|
120
|
+
const nFaces = reader.getUint32(80, true);
|
|
121
|
+
if (80 + 32 / 8 + nFaces * faceSize === reader.byteLength) {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
// US-ASCII begin with 's', 'o', 'l', 'i', 'd'
|
|
125
|
+
const ascii = [115, 111, 108, 105, 100];
|
|
126
|
+
for (let off = 0; off < 5; off++) {
|
|
127
|
+
if (reader.getUint8(off) !== ascii[off]) {
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
_parseBinary(mesh, data) {
|
|
134
|
+
const reader = new DataView(data);
|
|
135
|
+
const faces = reader.getUint32(80, true);
|
|
136
|
+
const dataOffset = 84;
|
|
137
|
+
const faceLength = 12 * 4 + 2;
|
|
138
|
+
let offset = 0;
|
|
139
|
+
const positions = new Float32Array(faces * 3 * 3);
|
|
140
|
+
const normals = new Float32Array(faces * 3 * 3);
|
|
141
|
+
const indices = new Uint32Array(faces * 3);
|
|
142
|
+
let indicesCount = 0;
|
|
143
|
+
for (let face = 0; face < faces; face++) {
|
|
144
|
+
const start = dataOffset + face * faceLength;
|
|
145
|
+
const normalX = reader.getFloat32(start, true);
|
|
146
|
+
const normalY = reader.getFloat32(start + 4, true);
|
|
147
|
+
const normalZ = reader.getFloat32(start + 8, true);
|
|
148
|
+
for (let i = 1; i <= 3; i++) {
|
|
149
|
+
const vertexstart = start + i * 12;
|
|
150
|
+
// ordering is intentional to match ascii import
|
|
151
|
+
positions[offset] = reader.getFloat32(vertexstart, true);
|
|
152
|
+
normals[offset] = normalX;
|
|
153
|
+
if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
|
|
154
|
+
positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);
|
|
155
|
+
positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);
|
|
156
|
+
normals[offset + 2] = normalY;
|
|
157
|
+
normals[offset + 1] = normalZ;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
positions[offset + 1] = reader.getFloat32(vertexstart + 4, true);
|
|
161
|
+
positions[offset + 2] = reader.getFloat32(vertexstart + 8, true);
|
|
162
|
+
normals[offset + 1] = normalY;
|
|
163
|
+
normals[offset + 2] = normalZ;
|
|
164
|
+
}
|
|
165
|
+
offset += 3;
|
|
166
|
+
}
|
|
167
|
+
if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
|
|
168
|
+
indices[indicesCount] = indicesCount;
|
|
169
|
+
indices[indicesCount + 1] = indicesCount + 2;
|
|
170
|
+
indices[indicesCount + 2] = indicesCount + 1;
|
|
171
|
+
indicesCount += 3;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
indices[indicesCount] = indicesCount++;
|
|
175
|
+
indices[indicesCount] = indicesCount++;
|
|
176
|
+
indices[indicesCount] = indicesCount++;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
mesh.setVerticesData(VertexBuffer.PositionKind, positions);
|
|
180
|
+
mesh.setVerticesData(VertexBuffer.NormalKind, normals);
|
|
181
|
+
mesh.setIndices(indices);
|
|
182
|
+
mesh.computeWorldMatrix(true);
|
|
183
|
+
}
|
|
184
|
+
_parseASCII(mesh, solidData) {
|
|
185
|
+
const positions = [];
|
|
186
|
+
const normals = [];
|
|
187
|
+
const indices = [];
|
|
188
|
+
let indicesCount = 0;
|
|
189
|
+
//load facets, ignoring loop as the standard doesn't define it can contain more than vertices
|
|
190
|
+
let matches;
|
|
191
|
+
while ((matches = this.facetsPattern.exec(solidData))) {
|
|
192
|
+
const facet = matches[1];
|
|
193
|
+
//one normal per face
|
|
194
|
+
const normalMatches = this.normalPattern.exec(facet);
|
|
195
|
+
this.normalPattern.lastIndex = 0;
|
|
196
|
+
if (!normalMatches) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
const normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];
|
|
200
|
+
let vertexMatch;
|
|
201
|
+
while ((vertexMatch = this.vertexPattern.exec(facet))) {
|
|
202
|
+
if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
|
|
203
|
+
positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));
|
|
204
|
+
normals.push(normal[0], normal[1], normal[2]);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
positions.push(Number(vertexMatch[1]), Number(vertexMatch[3]), Number(vertexMatch[5]));
|
|
208
|
+
// Flipping the second and third component because inverted
|
|
209
|
+
// when normal was declared.
|
|
210
|
+
normals.push(normal[0], normal[2], normal[1]);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
|
|
214
|
+
indices.push(indicesCount, indicesCount + 2, indicesCount + 1);
|
|
215
|
+
indicesCount += 3;
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
indices.push(indicesCount++, indicesCount++, indicesCount++);
|
|
219
|
+
}
|
|
220
|
+
this.vertexPattern.lastIndex = 0;
|
|
221
|
+
}
|
|
222
|
+
this.facetsPattern.lastIndex = 0;
|
|
223
|
+
mesh.setVerticesData(VertexBuffer.PositionKind, positions);
|
|
224
|
+
mesh.setVerticesData(VertexBuffer.NormalKind, normals);
|
|
225
|
+
mesh.setIndices(indices);
|
|
226
|
+
mesh.computeWorldMatrix(true);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Defines if Y and Z axes are swapped or not when loading an STL file.
|
|
231
|
+
* The default is false to maintain backward compatibility. When set to
|
|
232
|
+
* true, coordinates from the STL file are used without change.
|
|
233
|
+
*/
|
|
234
|
+
STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES = false;
|
|
235
|
+
registerSceneLoaderPlugin(new STLFileLoader());
|
|
236
|
+
|
|
237
|
+
export { STLFileLoader };
|
|
238
|
+
//# sourceMappingURL=stlFileLoader-Bd1GgkYU.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stlFileLoader-Bd1GgkYU.esm.js","sources":["../../../../../dev/loaders/dist/STL/stlFileLoader.js"],"sourcesContent":["import { Tools } from \"core/Misc/tools\";\nimport { VertexBuffer } from \"core/Buffers/buffer\";\nimport { Mesh } from \"core/Meshes/mesh\";\nimport { registerSceneLoaderPlugin } from \"core/Loading/sceneLoader\";\nimport { AssetContainer } from \"core/assetContainer\";\nimport { STLFileLoaderMetadata } from \"./stlFileLoader.metadata\";\nimport \"core/Materials/standardMaterial\";\n/**\n * STL file type loader.\n * This is a babylon scene loader plugin.\n */\nexport class STLFileLoader {\n constructor() {\n /** @internal */\n this.solidPattern = /solid (\\S*)([\\S\\s]*?)endsolid[ ]*(\\S*)/g;\n /** @internal */\n this.facetsPattern = /facet([\\s\\S]*?)endfacet/g;\n /** @internal */\n this.normalPattern = /normal[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /** @internal */\n this.vertexPattern = /vertex[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /**\n * Defines the name of the plugin.\n */\n this.name = STLFileLoaderMetadata.name;\n /**\n * Defines the extensions the stl loader is able to load.\n * force data to come in as an ArrayBuffer\n * we'll convert to string if it looks like it's an ASCII .stl\n */\n this.extensions = STLFileLoaderMetadata.extensions;\n }\n /**\n * Import meshes into a scene.\n * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported\n * @param scene The scene to import into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @param meshes The meshes array to import into\n * @returns True if successful or false otherwise\n */\n importMesh(meshesNames, scene, data, rootUrl, meshes) {\n let matches;\n if (typeof data !== \"string\") {\n if (this._isBinary(data)) {\n // binary .stl\n const babylonMesh = new Mesh(\"stlmesh\", scene);\n this._parseBinary(babylonMesh, data);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n return true;\n }\n // ASCII .stl\n // convert to string\n data = new TextDecoder().decode(new Uint8Array(data));\n }\n //if arrived here, data is a string, containing the STLA data.\n while ((matches = this.solidPattern.exec(data))) {\n let meshName = matches[1];\n const meshNameFromEnd = matches[3];\n if (meshNameFromEnd && meshName != meshNameFromEnd) {\n Tools.Error(\"Error in STL, solid name != endsolid name\");\n return false;\n }\n // check meshesNames\n if (meshesNames && meshName) {\n if (meshesNames instanceof Array) {\n if (!meshesNames.indexOf(meshName)) {\n continue;\n }\n }\n else {\n if (meshName !== meshesNames) {\n continue;\n }\n }\n }\n // stl mesh name can be empty as well\n meshName = meshName || \"stlmesh\";\n const babylonMesh = new Mesh(meshName, scene);\n this._parseASCII(babylonMesh, matches[2]);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n }\n return true;\n }\n /**\n * Load into a scene.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns true if successful or false otherwise\n */\n load(scene, data, rootUrl) {\n const result = this.importMesh(null, scene, data, rootUrl, null);\n return result;\n }\n /**\n * Load into an asset container.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns The loaded asset container\n */\n loadAssetContainer(scene, data, rootUrl) {\n const container = new AssetContainer(scene);\n scene._blockEntityCollection = true;\n this.importMesh(null, scene, data, rootUrl, container.meshes);\n scene._blockEntityCollection = false;\n return container;\n }\n _isBinary(data) {\n // check if file size is correct for binary stl\n const reader = new DataView(data);\n // A Binary STL header is 80 bytes, if the data size is not great than\n // that then it's not a binary STL.\n if (reader.byteLength <= 80) {\n return false;\n }\n const faceSize = (32 / 8) * 3 + (32 / 8) * 3 * 3 + 16 / 8;\n const nFaces = reader.getUint32(80, true);\n if (80 + 32 / 8 + nFaces * faceSize === reader.byteLength) {\n return true;\n }\n // US-ASCII begin with 's', 'o', 'l', 'i', 'd'\n const ascii = [115, 111, 108, 105, 100];\n for (let off = 0; off < 5; off++) {\n if (reader.getUint8(off) !== ascii[off]) {\n return true;\n }\n }\n return false;\n }\n _parseBinary(mesh, data) {\n const reader = new DataView(data);\n const faces = reader.getUint32(80, true);\n const dataOffset = 84;\n const faceLength = 12 * 4 + 2;\n let offset = 0;\n const positions = new Float32Array(faces * 3 * 3);\n const normals = new Float32Array(faces * 3 * 3);\n const indices = new Uint32Array(faces * 3);\n let indicesCount = 0;\n for (let face = 0; face < faces; face++) {\n const start = dataOffset + face * faceLength;\n const normalX = reader.getFloat32(start, true);\n const normalY = reader.getFloat32(start + 4, true);\n const normalZ = reader.getFloat32(start + 8, true);\n for (let i = 1; i <= 3; i++) {\n const vertexstart = start + i * 12;\n // ordering is intentional to match ascii import\n positions[offset] = reader.getFloat32(vertexstart, true);\n normals[offset] = normalX;\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 2] = normalY;\n normals[offset + 1] = normalZ;\n }\n else {\n positions[offset + 1] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 2] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 1] = normalY;\n normals[offset + 2] = normalZ;\n }\n offset += 3;\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices[indicesCount] = indicesCount;\n indices[indicesCount + 1] = indicesCount + 2;\n indices[indicesCount + 2] = indicesCount + 1;\n indicesCount += 3;\n }\n else {\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n }\n }\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n _parseASCII(mesh, solidData) {\n const positions = [];\n const normals = [];\n const indices = [];\n let indicesCount = 0;\n //load facets, ignoring loop as the standard doesn't define it can contain more than vertices\n let matches;\n while ((matches = this.facetsPattern.exec(solidData))) {\n const facet = matches[1];\n //one normal per face\n const normalMatches = this.normalPattern.exec(facet);\n this.normalPattern.lastIndex = 0;\n if (!normalMatches) {\n continue;\n }\n const normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];\n let vertexMatch;\n while ((vertexMatch = this.vertexPattern.exec(facet))) {\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));\n normals.push(normal[0], normal[1], normal[2]);\n }\n else {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[3]), Number(vertexMatch[5]));\n // Flipping the second and third component because inverted\n // when normal was declared.\n normals.push(normal[0], normal[2], normal[1]);\n }\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices.push(indicesCount, indicesCount + 2, indicesCount + 1);\n indicesCount += 3;\n }\n else {\n indices.push(indicesCount++, indicesCount++, indicesCount++);\n }\n this.vertexPattern.lastIndex = 0;\n }\n this.facetsPattern.lastIndex = 0;\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n}\n/**\n * Defines if Y and Z axes are swapped or not when loading an STL file.\n * The default is false to maintain backward compatibility. When set to\n * true, coordinates from the STL file are used without change.\n */\nSTLFileLoader.DO_NOT_ALTER_FILE_COORDINATES = false;\nregisterSceneLoaderPlugin(new STLFileLoader());\n//# sourceMappingURL=stlFileLoader.js.map"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{L as t}from"./index-B5KLkjYm.esm.min.js";function e(t){let e=0;return{id_length:t[e++],colormap_type:t[e++],image_type:t[e++],colormap_index:t[e++]|t[e++]<<8,colormap_length:t[e++]|t[e++]<<8,colormap_size:t[e++],origin:[t[e++]|t[e++]<<8,t[e++]|t[e++]<<8],width:t[e++]|t[e++]<<8,height:t[e++]|t[e++]<<8,pixel_size:t[e++],flags:t[e++]}}function r(r,a){if(a.length<19)return void t.Error("Unable to load TGA file - Not enough data to contain header");let i=18;const o=e(a);if(o.id_length+i>a.length)return void t.Error("Unable to load TGA file - Not enough data");i+=o.id_length;let s,h=!1,c=!1,g=!1;switch(o.image_type){case 9:h=!0;case 1:c=!0;break;case 10:h=!0;case 2:break;case 11:h=!0;case 3:g=!0}const l=o.pixel_size>>3,f=o.width*o.height*l;let d,u,w,p,_,b,y;if(c&&(d=a.subarray(i,i+=o.colormap_length*(o.colormap_size>>3))),h){let t,e,r;s=new Uint8Array(f);let n=0;const o=new Uint8Array(l);for(;i<f&&n<f;)if(t=a[i++],e=1+(127&t),128&t){for(r=0;r<l;++r)o[r]=a[i++];for(r=0;r<e;++r)s.set(o,n+r*l);n+=l*e}else{for(e*=l,r=0;r<e;++r)s[n+r]=a[i++];n+=e}}else s=a.subarray(i,i+=c?o.width*o.height:f);switch((48&o.flags)>>4){default:case 2:u=0,p=1,y=o.width,w=0,_=1,b=o.height;break;case 0:u=0,p=1,y=o.width,w=o.height-1,_=-1,b=-1;break;case 3:u=o.width-1,p=-1,y=-1,w=0,_=1,b=o.height;break;case 1:u=o.width-1,p=-1,y=-1,w=o.height-1,_=-1,b=-1}const m="_getImageData"+(g?"Grey":"")+o.pixel_size+"bits",A=n[m](o,d,s,w,_,b,u,p,y);r.getEngine()._uploadDataToTextureDirectly(r,A)}const n={GetTGAHeader:e,UploadContent:r,_getImageData8bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=e,l=t.width,f=t.height;let d,u,w,p=0;const _=new Uint8Array(l*f*4);for(w=n;w!==i;w+=a)for(u=o;u!==h;u+=s,p++)d=c[p],_[4*(u+l*w)+3]=255,_[4*(u+l*w)+2]=g[3*d+0],_[4*(u+l*w)+1]=g[3*d+1],_[4*(u+l*w)+0]=g[3*d+2];return _},_getImageData16bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u,w=0;const p=new Uint8Array(g*l*4);for(u=n;u!==i;u+=a)for(d=o;d!==h;d+=s,w+=2){f=c[w+0]+(c[w+1]<<8);const t=255*((31744&f)>>10)/31|0,e=255*((992&f)>>5)/31|0,r=255*(31&f)/31|0;p[4*(d+g*u)+0]=t,p[4*(d+g*u)+1]=e,p[4*(d+g*u)+2]=r,p[4*(d+g*u)+3]=32768&f?0:255}return p},_getImageData24bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u=0;const w=new Uint8Array(g*l*4);for(d=n;d!==i;d+=a)for(f=o;f!==h;f+=s,u+=3)w[4*(f+g*d)+3]=255,w[4*(f+g*d)+2]=c[u+0],w[4*(f+g*d)+1]=c[u+1],w[4*(f+g*d)+0]=c[u+2];return w},_getImageData32bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u=0;const w=new Uint8Array(g*l*4);for(d=n;d!==i;d+=a)for(f=o;f!==h;f+=s,u+=4)w[4*(f+g*d)+2]=c[u+0],w[4*(f+g*d)+1]=c[u+1],w[4*(f+g*d)+0]=c[u+2],w[4*(f+g*d)+3]=c[u+3];return w},_getImageDataGrey8bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u,w=0;const p=new Uint8Array(g*l*4);for(u=n;u!==i;u+=a)for(d=o;d!==h;d+=s,w++)f=c[w],p[4*(d+g*u)+0]=f,p[4*(d+g*u)+1]=f,p[4*(d+g*u)+2]=f,p[4*(d+g*u)+3]=255;return p},_getImageDataGrey16bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u=0;const w=new Uint8Array(g*l*4);for(d=n;d!==i;d+=a)for(f=o;f!==h;f+=s,u+=2)w[4*(f+g*d)+0]=c[u+0],w[4*(f+g*d)+1]=c[u+0],w[4*(f+g*d)+2]=c[u+0],w[4*(f+g*d)+3]=c[u+1];return w}};class a{constructor(){this.supportCascades=!1}loadCubeData(){throw".env not supported in Cube."}loadData(t,n,a){const i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=e(i);a(o.width,o.height,n.generateMipMaps,!1,(()=>{r(n,i)}))}}export{a as _TGATextureLoader};
|
|
2
|
+
//# sourceMappingURL=tgaTextureLoader-BD_A6gyw.esm.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tgaTextureLoader-BD_A6gyw.esm.min.js","sources":["../../../../../dev/core/dist/Misc/tga.js","../../../../../dev/core/dist/Materials/Textures/Loaders/tgaTextureLoader.js"],"sourcesContent":["import { Logger } from \"../Misc/logger\";\n//private static _TYPE_NO_DATA = 0;\nconst _TYPE_INDEXED = 1;\nconst _TYPE_RGB = 2;\nconst _TYPE_GREY = 3;\nconst _TYPE_RLE_INDEXED = 9;\nconst _TYPE_RLE_RGB = 10;\nconst _TYPE_RLE_GREY = 11;\nconst _ORIGIN_MASK = 0x30;\nconst _ORIGIN_SHIFT = 0x04;\nconst _ORIGIN_BL = 0x00;\nconst _ORIGIN_BR = 0x01;\nconst _ORIGIN_UL = 0x02;\nconst _ORIGIN_UR = 0x03;\n/**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\nexport function GetTGAHeader(data) {\n let offset = 0;\n const header = {\n id_length: data[offset++],\n colormap_type: data[offset++],\n image_type: data[offset++],\n colormap_index: data[offset++] | (data[offset++] << 8),\n colormap_length: data[offset++] | (data[offset++] << 8),\n colormap_size: data[offset++],\n origin: [data[offset++] | (data[offset++] << 8), data[offset++] | (data[offset++] << 8)],\n width: data[offset++] | (data[offset++] << 8),\n height: data[offset++] | (data[offset++] << 8),\n pixel_size: data[offset++],\n flags: data[offset++],\n };\n return header;\n}\n/**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\nexport function UploadContent(texture, data) {\n // Not enough data to contain header ?\n if (data.length < 19) {\n Logger.Error(\"Unable to load TGA file - Not enough data to contain header\");\n return;\n }\n // Read Header\n let offset = 18;\n const header = GetTGAHeader(data);\n // Assume it's a valid Targa file.\n if (header.id_length + offset > data.length) {\n Logger.Error(\"Unable to load TGA file - Not enough data\");\n return;\n }\n // Skip not needed data\n offset += header.id_length;\n let use_rle = false;\n let use_pal = false;\n let use_grey = false;\n // Get some informations.\n switch (header.image_type) {\n case _TYPE_RLE_INDEXED:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_INDEXED:\n use_pal = true;\n break;\n case _TYPE_RLE_RGB:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_RGB:\n // use_rgb = true;\n break;\n case _TYPE_RLE_GREY:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_GREY:\n use_grey = true;\n break;\n }\n let pixel_data;\n // var numAlphaBits = header.flags & 0xf;\n const pixel_size = header.pixel_size >> 3;\n const pixel_total = header.width * header.height * pixel_size;\n // Read palettes\n let palettes;\n if (use_pal) {\n palettes = data.subarray(offset, (offset += header.colormap_length * (header.colormap_size >> 3)));\n }\n // Read LRE\n if (use_rle) {\n pixel_data = new Uint8Array(pixel_total);\n let c, count, i;\n let localOffset = 0;\n const pixels = new Uint8Array(pixel_size);\n while (offset < pixel_total && localOffset < pixel_total) {\n c = data[offset++];\n count = (c & 0x7f) + 1;\n // RLE pixels\n if (c & 0x80) {\n // Bind pixel tmp array\n for (i = 0; i < pixel_size; ++i) {\n pixels[i] = data[offset++];\n }\n // Copy pixel array\n for (i = 0; i < count; ++i) {\n pixel_data.set(pixels, localOffset + i * pixel_size);\n }\n localOffset += pixel_size * count;\n }\n // Raw pixels\n else {\n count *= pixel_size;\n for (i = 0; i < count; ++i) {\n pixel_data[localOffset + i] = data[offset++];\n }\n localOffset += count;\n }\n }\n }\n // RAW Pixels\n else {\n pixel_data = data.subarray(offset, (offset += use_pal ? header.width * header.height : pixel_total));\n }\n // Load to texture\n let x_start, y_start, x_step, y_step, y_end, x_end;\n switch ((header.flags & _ORIGIN_MASK) >> _ORIGIN_SHIFT) {\n default:\n case _ORIGIN_UL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n case _ORIGIN_UR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n }\n // Load the specify method\n const func = \"_getImageData\" + (use_grey ? \"Grey\" : \"\") + header.pixel_size + \"bits\";\n const imageData = TGATools[func](header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end);\n const engine = texture.getEngine();\n engine._uploadDataToTextureDirectly(texture, imageData);\n}\n/**\n * @internal\n */\nfunction _getImageData8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data, colormap = palettes;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = colormap[color * 3 + 0];\n imageData[(x + width * y) * 4 + 1] = colormap[color * 3 + 1];\n imageData[(x + width * y) * 4 + 0] = colormap[color * 3 + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n color = image[i + 0] + (image[i + 1] << 8); // Inversed ?\n const r = ((((color & 0x7c00) >> 10) * 255) / 0x1f) | 0;\n const g = ((((color & 0x03e0) >> 5) * 255) / 0x1f) | 0;\n const b = (((color & 0x001f) * 255) / 0x1f) | 0;\n imageData[(x + width * y) * 4 + 0] = r;\n imageData[(x + width * y) * 4 + 1] = g;\n imageData[(x + width * y) * 4 + 2] = b;\n imageData[(x + width * y) * 4 + 3] = color & 0x8000 ? 0 : 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData24bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 3) {\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData32bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 4) {\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n imageData[(x + width * y) * 4 + 3] = image[i + 3];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 0] = color;\n imageData[(x + width * y) * 4 + 1] = color;\n imageData[(x + width * y) * 4 + 2] = color;\n imageData[(x + width * y) * 4 + 3] = 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n imageData[(x + width * y) * 4 + 0] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 0];\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 3] = image[i + 1];\n }\n }\n return imageData;\n}\n/**\n * Based on jsTGALoader - Javascript loader for TGA file\n * By Vincent Thibault\n * @see http://blog.robrowser.com/javascript-tga-loader.html\n */\nexport const TGATools = {\n /**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\n GetTGAHeader,\n /**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\n UploadContent,\n /** @internal */\n _getImageData8bits,\n /** @internal */\n _getImageData16bits,\n /** @internal */\n _getImageData24bits,\n /** @internal */\n _getImageData32bits,\n /** @internal */\n _getImageDataGrey8bits,\n /** @internal */\n _getImageDataGrey16bits,\n};\n//# sourceMappingURL=tga.js.map","import { GetTGAHeader, UploadContent } from \"../../../Misc/tga\";\n/**\n * Implementation of the TGA Texture Loader.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class _TGATextureLoader {\n constructor() {\n /**\n * Defines whether the loader supports cascade loading the different faces.\n */\n this.supportCascades = false;\n }\n /**\n * Uploads the cube texture data to the WebGL texture. It has already been bound.\n */\n loadCubeData() {\n // eslint-disable-next-line no-throw-literal\n throw \".env not supported in Cube.\";\n }\n /**\n * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.\n * @param data contains the texture data\n * @param texture defines the BabylonJS internal texture\n * @param callback defines the method to call once ready to upload\n */\n loadData(data, texture, callback) {\n const bytes = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n const header = GetTGAHeader(bytes);\n callback(header.width, header.height, texture.generateMipMaps, false, () => {\n UploadContent(texture, bytes);\n });\n }\n}\n//# sourceMappingURL=tgaTextureLoader.js.map"],"names":["GetTGAHeader","data","offset","id_length","colormap_type","image_type","colormap_index","colormap_length","colormap_size","origin","width","height","pixel_size","flags","UploadContent","texture","length","Logger","Error","header","pixel_data","use_rle","use_pal","use_grey","pixel_total","palettes","x_start","y_start","x_step","y_step","y_end","x_end","subarray","c","count","i","Uint8Array","localOffset","pixels","set","func","imageData","TGATools","getEngine","_uploadDataToTextureDirectly","_getImageData8bits","image","colormap","color","x","y","_getImageData16bits","r","g","b","_getImageData24bits","_getImageData32bits","_getImageDataGrey8bits","_getImageDataGrey16bits","_TGATextureLoader","constructor","this","supportCascades","loadCubeData","loadData","callback","bytes","buffer","byteOffset","byteLength","generateMipMaps"],"mappings":"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"}
|