@babylonjs/viewer 7.24.0 → 7.25.0-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.
Files changed (522) hide show
  1. package/dist/babylon-viewer.esm.js +2 -0
  2. package/dist/babylon-viewer.esm.js.map +1 -0
  3. package/dist/babylon-viewer.esm.min.js +2 -0
  4. package/dist/babylon-viewer.esm.min.js.map +1 -0
  5. package/dist/chunks/EXT_lights_image_based-DC9fPJli.esm.min.js +2 -0
  6. package/dist/chunks/EXT_lights_image_based-DC9fPJli.esm.min.js.map +1 -0
  7. package/dist/chunks/EXT_lights_image_based-DfFQ31PL.esm.js +170 -0
  8. package/dist/chunks/EXT_lights_image_based-DfFQ31PL.esm.js.map +1 -0
  9. package/dist/chunks/EXT_mesh_gpu_instancing-DepTQjtD.esm.min.js +2 -0
  10. package/dist/chunks/EXT_mesh_gpu_instancing-DepTQjtD.esm.min.js.map +1 -0
  11. package/dist/chunks/EXT_mesh_gpu_instancing-cqFbSeIg.esm.js +86 -0
  12. package/dist/chunks/EXT_mesh_gpu_instancing-cqFbSeIg.esm.js.map +1 -0
  13. package/dist/chunks/EXT_meshopt_compression-BZz8a7N9.esm.js +134 -0
  14. package/dist/chunks/EXT_meshopt_compression-BZz8a7N9.esm.js.map +1 -0
  15. package/dist/chunks/EXT_meshopt_compression-CjMbh6eU.esm.min.js +2 -0
  16. package/dist/chunks/EXT_meshopt_compression-CjMbh6eU.esm.min.js.map +1 -0
  17. package/dist/chunks/EXT_texture_avif-DBTOdhvO.esm.js +44 -0
  18. package/dist/chunks/EXT_texture_avif-DBTOdhvO.esm.js.map +1 -0
  19. package/dist/chunks/EXT_texture_avif-DVAZSRkl.esm.min.js +2 -0
  20. package/dist/chunks/EXT_texture_avif-DVAZSRkl.esm.min.js.map +1 -0
  21. package/dist/chunks/EXT_texture_webp-BWiEqn-s.esm.min.js +2 -0
  22. package/dist/chunks/EXT_texture_webp-BWiEqn-s.esm.min.js.map +1 -0
  23. package/dist/chunks/EXT_texture_webp-Bgb7TgNp.esm.js +43 -0
  24. package/dist/chunks/EXT_texture_webp-Bgb7TgNp.esm.js.map +1 -0
  25. package/dist/chunks/ExtrasAsMetadata-Cr7Llzvd.esm.js +64 -0
  26. package/dist/chunks/ExtrasAsMetadata-Cr7Llzvd.esm.js.map +1 -0
  27. package/dist/chunks/ExtrasAsMetadata-DGIXOpGN.esm.min.js +2 -0
  28. package/dist/chunks/ExtrasAsMetadata-DGIXOpGN.esm.min.js.map +1 -0
  29. package/dist/chunks/KHR_animation_pointer-DrmQLtaw.esm.js +343 -0
  30. package/dist/chunks/KHR_animation_pointer-DrmQLtaw.esm.js.map +1 -0
  31. package/dist/chunks/KHR_animation_pointer-IVYLBxVU.esm.min.js +2 -0
  32. package/dist/chunks/KHR_animation_pointer-IVYLBxVU.esm.min.js.map +1 -0
  33. package/dist/chunks/KHR_draco_mesh_compression-CfqHokQU.esm.min.js +2 -0
  34. package/dist/chunks/KHR_draco_mesh_compression-CfqHokQU.esm.min.js.map +1 -0
  35. package/dist/chunks/KHR_draco_mesh_compression-DZR9h5nP.esm.js +610 -0
  36. package/dist/chunks/KHR_draco_mesh_compression-DZR9h5nP.esm.js.map +1 -0
  37. package/dist/chunks/KHR_interactivity-BQOxjpC1.esm.min.js +2 -0
  38. package/dist/chunks/KHR_interactivity-BQOxjpC1.esm.min.js.map +1 -0
  39. package/dist/chunks/KHR_interactivity-BbEGVmbr.esm.js +4033 -0
  40. package/dist/chunks/KHR_interactivity-BbEGVmbr.esm.js.map +1 -0
  41. package/dist/chunks/KHR_lights_punctual-5wF2wPZ4.esm.js +1253 -0
  42. package/dist/chunks/KHR_lights_punctual-5wF2wPZ4.esm.js.map +1 -0
  43. package/dist/chunks/KHR_lights_punctual-CxE0tWFW.esm.min.js +2 -0
  44. package/dist/chunks/KHR_lights_punctual-CxE0tWFW.esm.min.js.map +1 -0
  45. package/dist/chunks/KHR_materials_anisotropy-D5wj2P4R.esm.js +64 -0
  46. package/dist/chunks/KHR_materials_anisotropy-D5wj2P4R.esm.js.map +1 -0
  47. package/dist/chunks/KHR_materials_anisotropy-DzShF01_.esm.min.js +2 -0
  48. package/dist/chunks/KHR_materials_anisotropy-DzShF01_.esm.min.js.map +1 -0
  49. package/dist/chunks/KHR_materials_clearcoat-CVlq2-J0.esm.min.js +2 -0
  50. package/dist/chunks/KHR_materials_clearcoat-CVlq2-J0.esm.min.js.map +1 -0
  51. package/dist/chunks/KHR_materials_clearcoat-v7Cuht8B.esm.js +96 -0
  52. package/dist/chunks/KHR_materials_clearcoat-v7Cuht8B.esm.js.map +1 -0
  53. package/dist/chunks/KHR_materials_diffuse_transmission-Btv08kRf.esm.min.js +2 -0
  54. package/dist/chunks/KHR_materials_diffuse_transmission-Btv08kRf.esm.min.js.map +1 -0
  55. package/dist/chunks/KHR_materials_diffuse_transmission-DxEe_ssV.esm.js +95 -0
  56. package/dist/chunks/KHR_materials_diffuse_transmission-DxEe_ssV.esm.js.map +1 -0
  57. package/dist/chunks/KHR_materials_dispersion-BIMxA8Vq.esm.min.js +2 -0
  58. package/dist/chunks/KHR_materials_dispersion-BIMxA8Vq.esm.min.js.map +1 -0
  59. package/dist/chunks/KHR_materials_dispersion-D_4Rt_AT.esm.js +62 -0
  60. package/dist/chunks/KHR_materials_dispersion-D_4Rt_AT.esm.js.map +1 -0
  61. package/dist/chunks/KHR_materials_emissive_strength-BImvoUuh.esm.js +55 -0
  62. package/dist/chunks/KHR_materials_emissive_strength-BImvoUuh.esm.js.map +1 -0
  63. package/dist/chunks/KHR_materials_emissive_strength-BidGyKyI.esm.min.js +2 -0
  64. package/dist/chunks/KHR_materials_emissive_strength-BidGyKyI.esm.min.js.map +1 -0
  65. package/dist/chunks/KHR_materials_ior-DRDijE46.esm.min.js +2 -0
  66. package/dist/chunks/KHR_materials_ior-DRDijE46.esm.min.js.map +1 -0
  67. package/dist/chunks/KHR_materials_ior-Qsq8sSTQ.esm.js +64 -0
  68. package/dist/chunks/KHR_materials_ior-Qsq8sSTQ.esm.js.map +1 -0
  69. package/dist/chunks/KHR_materials_iridescence-BO-OSEkK.esm.min.js +2 -0
  70. package/dist/chunks/KHR_materials_iridescence-BO-OSEkK.esm.min.js.map +1 -0
  71. package/dist/chunks/KHR_materials_iridescence-Cc8j46MB.esm.js +72 -0
  72. package/dist/chunks/KHR_materials_iridescence-Cc8j46MB.esm.js.map +1 -0
  73. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Cd2w1hlF.esm.min.js +2 -0
  74. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Cd2w1hlF.esm.min.js.map +1 -0
  75. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DEtDFZPX.esm.js +81 -0
  76. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DEtDFZPX.esm.js.map +1 -0
  77. package/dist/chunks/KHR_materials_sheen-2GP5jiCT.esm.min.js +2 -0
  78. package/dist/chunks/KHR_materials_sheen-2GP5jiCT.esm.min.js.map +1 -0
  79. package/dist/chunks/KHR_materials_sheen-CQ3Q14sp.esm.js +85 -0
  80. package/dist/chunks/KHR_materials_sheen-CQ3Q14sp.esm.js.map +1 -0
  81. package/dist/chunks/KHR_materials_specular-B8bgMjMv.esm.min.js +2 -0
  82. package/dist/chunks/KHR_materials_specular-B8bgMjMv.esm.min.js.map +1 -0
  83. package/dist/chunks/KHR_materials_specular-D7P48RHW.esm.js +75 -0
  84. package/dist/chunks/KHR_materials_specular-D7P48RHW.esm.js.map +1 -0
  85. package/dist/chunks/KHR_materials_transmission-B6NtjEPp.esm.js +306 -0
  86. package/dist/chunks/KHR_materials_transmission-B6NtjEPp.esm.js.map +1 -0
  87. package/dist/chunks/KHR_materials_transmission-DPUUVLV8.esm.min.js +2 -0
  88. package/dist/chunks/KHR_materials_transmission-DPUUVLV8.esm.min.js.map +1 -0
  89. package/dist/chunks/KHR_materials_unlit-BRJnLegu.esm.min.js +2 -0
  90. package/dist/chunks/KHR_materials_unlit-BRJnLegu.esm.min.js.map +1 -0
  91. package/dist/chunks/KHR_materials_unlit-jqO9HFUm.esm.js +74 -0
  92. package/dist/chunks/KHR_materials_unlit-jqO9HFUm.esm.js.map +1 -0
  93. package/dist/chunks/KHR_materials_variants-D3zo3Fn8.esm.min.js +2 -0
  94. package/dist/chunks/KHR_materials_variants-D3zo3Fn8.esm.min.js.map +1 -0
  95. package/dist/chunks/KHR_materials_variants-DVhDwsbf.esm.js +238 -0
  96. package/dist/chunks/KHR_materials_variants-DVhDwsbf.esm.js.map +1 -0
  97. package/dist/chunks/KHR_materials_volume-BBlHI00R.esm.min.js +2 -0
  98. package/dist/chunks/KHR_materials_volume-BBlHI00R.esm.min.js.map +1 -0
  99. package/dist/chunks/KHR_materials_volume-pazjLjwn.esm.js +87 -0
  100. package/dist/chunks/KHR_materials_volume-pazjLjwn.esm.js.map +1 -0
  101. package/dist/chunks/KHR_mesh_quantization-BFCOpPq5.esm.min.js +2 -0
  102. package/dist/chunks/KHR_mesh_quantization-BFCOpPq5.esm.min.js.map +1 -0
  103. package/dist/chunks/KHR_mesh_quantization-DPAOJj_N.esm.js +26 -0
  104. package/dist/chunks/KHR_mesh_quantization-DPAOJj_N.esm.js.map +1 -0
  105. package/dist/chunks/KHR_texture_basisu-BGQg840h.esm.js +43 -0
  106. package/dist/chunks/KHR_texture_basisu-BGQg840h.esm.js.map +1 -0
  107. package/dist/chunks/KHR_texture_basisu-DjOd_UYI.esm.min.js +2 -0
  108. package/dist/chunks/KHR_texture_basisu-DjOd_UYI.esm.min.js.map +1 -0
  109. package/dist/chunks/KHR_texture_transform-CIEkHeKT.esm.js +63 -0
  110. package/dist/chunks/KHR_texture_transform-CIEkHeKT.esm.js.map +1 -0
  111. package/dist/chunks/KHR_texture_transform-LAK_4q2j.esm.min.js +2 -0
  112. package/dist/chunks/KHR_texture_transform-LAK_4q2j.esm.min.js.map +1 -0
  113. package/dist/chunks/KHR_xmp_json_ld-ByF20O9F.esm.min.js +2 -0
  114. package/dist/chunks/KHR_xmp_json_ld-ByF20O9F.esm.min.js.map +1 -0
  115. package/dist/chunks/KHR_xmp_json_ld-if0NXwJy.esm.js +51 -0
  116. package/dist/chunks/KHR_xmp_json_ld-if0NXwJy.esm.js.map +1 -0
  117. package/dist/chunks/MSFT_audio_emitter-D2B5Hzz0.esm.js +1608 -0
  118. package/dist/chunks/MSFT_audio_emitter-D2B5Hzz0.esm.js.map +1 -0
  119. package/dist/chunks/MSFT_audio_emitter-k-n62mVd.esm.min.js +2 -0
  120. package/dist/chunks/MSFT_audio_emitter-k-n62mVd.esm.min.js.map +1 -0
  121. package/dist/chunks/MSFT_lod-CpIv0Ill.esm.min.js +2 -0
  122. package/dist/chunks/MSFT_lod-CpIv0Ill.esm.min.js.map +1 -0
  123. package/dist/chunks/MSFT_lod-DZ3Pv8Ql.esm.js +337 -0
  124. package/dist/chunks/MSFT_lod-DZ3Pv8Ql.esm.js.map +1 -0
  125. package/dist/chunks/MSFT_minecraftMesh-GnUA-Z1C.esm.min.js +2 -0
  126. package/dist/chunks/MSFT_minecraftMesh-GnUA-Z1C.esm.min.js.map +1 -0
  127. package/dist/chunks/MSFT_minecraftMesh-KL-RFOpw.esm.js +46 -0
  128. package/dist/chunks/MSFT_minecraftMesh-KL-RFOpw.esm.js.map +1 -0
  129. package/dist/chunks/MSFT_sRGBFactors-BqvzNhFN.esm.js +47 -0
  130. package/dist/chunks/MSFT_sRGBFactors-BqvzNhFN.esm.js.map +1 -0
  131. package/dist/chunks/MSFT_sRGBFactors-BzPS1BeM.esm.min.js +2 -0
  132. package/dist/chunks/MSFT_sRGBFactors-BzPS1BeM.esm.min.js.map +1 -0
  133. package/dist/chunks/assetContainer-CaFtpYEC.esm.min.js +2 -0
  134. package/dist/chunks/assetContainer-CaFtpYEC.esm.min.js.map +1 -0
  135. package/dist/chunks/assetContainer-DEN9e8ap.esm.js +1598 -0
  136. package/dist/chunks/assetContainer-DEN9e8ap.esm.js.map +1 -0
  137. package/dist/chunks/basisTextureLoader-4lvRsW5R.esm.js +600 -0
  138. package/dist/chunks/basisTextureLoader-4lvRsW5R.esm.js.map +1 -0
  139. package/dist/chunks/basisTextureLoader-CSgqqtvQ.esm.min.js +2 -0
  140. package/dist/chunks/basisTextureLoader-CSgqqtvQ.esm.min.js.map +1 -0
  141. package/dist/chunks/ddsTextureLoader-BIGKoQfH.esm.min.js +2 -0
  142. package/dist/chunks/ddsTextureLoader-BIGKoQfH.esm.min.js.map +1 -0
  143. package/dist/chunks/ddsTextureLoader-WkW9Z98R.esm.js +87 -0
  144. package/dist/chunks/ddsTextureLoader-WkW9Z98R.esm.js.map +1 -0
  145. package/dist/chunks/default.fragment-C5qVdkwU.esm.min.js +2 -0
  146. package/dist/chunks/default.fragment-C5qVdkwU.esm.min.js.map +1 -0
  147. package/dist/chunks/default.fragment-KU3HcVdD.esm.js +515 -0
  148. package/dist/chunks/default.fragment-KU3HcVdD.esm.js.map +1 -0
  149. package/dist/chunks/default.fragment-YuNZ7QG_.esm.js +456 -0
  150. package/dist/chunks/default.fragment-YuNZ7QG_.esm.js.map +1 -0
  151. package/dist/chunks/default.fragment-tBVj8NVU.esm.min.js +2 -0
  152. package/dist/chunks/default.fragment-tBVj8NVU.esm.min.js.map +1 -0
  153. package/dist/chunks/default.vertex-BO-PPsjL.esm.min.js +2 -0
  154. package/dist/chunks/default.vertex-BO-PPsjL.esm.min.js.map +1 -0
  155. package/dist/chunks/default.vertex-BVid4c1x.esm.js +199 -0
  156. package/dist/chunks/default.vertex-BVid4c1x.esm.js.map +1 -0
  157. package/dist/chunks/default.vertex-DyVCLPqJ.esm.js +178 -0
  158. package/dist/chunks/default.vertex-DyVCLPqJ.esm.js.map +1 -0
  159. package/dist/chunks/default.vertex-Jx_lr96D.esm.min.js +2 -0
  160. package/dist/chunks/default.vertex-Jx_lr96D.esm.min.js.map +1 -0
  161. package/dist/chunks/defaultUboDeclaration-BCAmDlbI.esm.min.js +2 -0
  162. package/dist/chunks/defaultUboDeclaration-BCAmDlbI.esm.min.js.map +1 -0
  163. package/dist/chunks/defaultUboDeclaration-Bc5r1i_z.esm.js +13 -0
  164. package/dist/chunks/defaultUboDeclaration-Bc5r1i_z.esm.js.map +1 -0
  165. package/dist/chunks/defaultUboDeclaration-BuE-DHID.esm.js +15 -0
  166. package/dist/chunks/defaultUboDeclaration-BuE-DHID.esm.js.map +1 -0
  167. package/dist/chunks/defaultUboDeclaration-DSNWa2yC.esm.min.js +2 -0
  168. package/dist/chunks/defaultUboDeclaration-DSNWa2yC.esm.min.js.map +1 -0
  169. package/dist/chunks/envTextureLoader-DMQ4NJ4V.esm.js +63 -0
  170. package/dist/chunks/envTextureLoader-DMQ4NJ4V.esm.js.map +1 -0
  171. package/dist/chunks/envTextureLoader-a8A_Oy6u.esm.min.js +2 -0
  172. package/dist/chunks/envTextureLoader-a8A_Oy6u.esm.min.js.map +1 -0
  173. package/dist/chunks/environmentTextureTools-DUKiZwIi.esm.min.js +2 -0
  174. package/dist/chunks/environmentTextureTools-DUKiZwIi.esm.min.js.map +1 -0
  175. package/dist/chunks/environmentTextureTools-nMKhR78g.esm.js +381 -0
  176. package/dist/chunks/environmentTextureTools-nMKhR78g.esm.js.map +1 -0
  177. package/dist/chunks/exrTextureLoader-D5NU09ih.esm.js +1682 -0
  178. package/dist/chunks/exrTextureLoader-D5NU09ih.esm.js.map +1 -0
  179. package/dist/chunks/exrTextureLoader-N-X2bKA6.esm.min.js +2 -0
  180. package/dist/chunks/exrTextureLoader-N-X2bKA6.esm.min.js.map +1 -0
  181. package/dist/chunks/fogFragment-D6bC8Ff4.esm.min.js +2 -0
  182. package/dist/chunks/fogFragment-D6bC8Ff4.esm.min.js.map +1 -0
  183. package/dist/chunks/fogFragment-I5stYsjp.esm.js +102 -0
  184. package/dist/chunks/fogFragment-I5stYsjp.esm.js.map +1 -0
  185. package/dist/chunks/glTFLoader-Da2YOCGR.esm.js +7552 -0
  186. package/dist/chunks/glTFLoader-Da2YOCGR.esm.js.map +1 -0
  187. package/dist/chunks/glTFLoader-Is2_r9v2.esm.min.js +2 -0
  188. package/dist/chunks/glTFLoader-Is2_r9v2.esm.min.js.map +1 -0
  189. package/dist/chunks/glTFLoaderAnimation-Bglz6m7h.esm.min.js +2 -0
  190. package/dist/chunks/glTFLoaderAnimation-Bglz6m7h.esm.min.js.map +1 -0
  191. package/dist/chunks/glTFLoaderAnimation-CbznFn_D.esm.js +77 -0
  192. package/dist/chunks/glTFLoaderAnimation-CbznFn_D.esm.js.map +1 -0
  193. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
  194. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
  195. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
  196. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
  197. package/dist/chunks/harmonicsFunctions-BetF_GFT.esm.js +35 -0
  198. package/dist/chunks/harmonicsFunctions-BetF_GFT.esm.js.map +1 -0
  199. package/dist/chunks/harmonicsFunctions-CilRmaCi.esm.js +34 -0
  200. package/dist/chunks/harmonicsFunctions-CilRmaCi.esm.js.map +1 -0
  201. package/dist/chunks/harmonicsFunctions-DeWuwYX2.esm.min.js +2 -0
  202. package/dist/chunks/harmonicsFunctions-DeWuwYX2.esm.min.js.map +1 -0
  203. package/dist/chunks/harmonicsFunctions-DvXfJIer.esm.min.js +2 -0
  204. package/dist/chunks/harmonicsFunctions-DvXfJIer.esm.min.js.map +1 -0
  205. package/dist/chunks/hdrTextureLoader-Dcqnpgjb.esm.min.js +2 -0
  206. package/dist/chunks/hdrTextureLoader-Dcqnpgjb.esm.min.js.map +1 -0
  207. package/dist/chunks/hdrTextureLoader-byrfFp-O.esm.js +252 -0
  208. package/dist/chunks/hdrTextureLoader-byrfFp-O.esm.js.map +1 -0
  209. package/dist/chunks/helperFunctions-B7m7R064.esm.js +108 -0
  210. package/dist/chunks/helperFunctions-B7m7R064.esm.js.map +1 -0
  211. package/dist/chunks/helperFunctions-BAP7B_1V.esm.min.js +2 -0
  212. package/dist/chunks/helperFunctions-BAP7B_1V.esm.min.js.map +1 -0
  213. package/dist/chunks/helperFunctions-CigixUGL.esm.min.js +2 -0
  214. package/dist/chunks/helperFunctions-CigixUGL.esm.min.js.map +1 -0
  215. package/dist/chunks/helperFunctions-D2JAu3Um.esm.js +80 -0
  216. package/dist/chunks/helperFunctions-D2JAu3Um.esm.js.map +1 -0
  217. package/dist/chunks/index-Ba-YQVRw.esm.min.js +57 -0
  218. package/dist/chunks/index-Ba-YQVRw.esm.min.js.map +1 -0
  219. package/dist/chunks/index-DCMXQRx5.esm.js +81652 -0
  220. package/dist/chunks/index-DCMXQRx5.esm.js.map +1 -0
  221. package/dist/chunks/ktxTextureLoader-B7JJ6I6Z.esm.js +814 -0
  222. package/dist/chunks/ktxTextureLoader-B7JJ6I6Z.esm.js.map +1 -0
  223. package/dist/chunks/ktxTextureLoader-BVcuaoad.esm.min.js +2 -0
  224. package/dist/chunks/ktxTextureLoader-BVcuaoad.esm.min.js.map +1 -0
  225. package/dist/chunks/logDepthDeclaration-BJgjCQaD.esm.js +42 -0
  226. package/dist/chunks/logDepthDeclaration-BJgjCQaD.esm.js.map +1 -0
  227. package/dist/chunks/logDepthDeclaration-Bsw_jD9J.esm.js +35 -0
  228. package/dist/chunks/logDepthDeclaration-Bsw_jD9J.esm.js.map +1 -0
  229. package/dist/chunks/logDepthDeclaration-C0bLjDGt.esm.min.js +2 -0
  230. package/dist/chunks/logDepthDeclaration-C0bLjDGt.esm.min.js.map +1 -0
  231. package/dist/chunks/logDepthDeclaration-CF5JhF4_.esm.min.js +2 -0
  232. package/dist/chunks/logDepthDeclaration-CF5JhF4_.esm.min.js.map +1 -0
  233. package/dist/chunks/logDepthVertex-Bu3IKzw6.esm.min.js +2 -0
  234. package/dist/chunks/logDepthVertex-Bu3IKzw6.esm.min.js.map +1 -0
  235. package/dist/chunks/logDepthVertex-D6ApgK5s.esm.js +77 -0
  236. package/dist/chunks/logDepthVertex-D6ApgK5s.esm.js.map +1 -0
  237. package/dist/chunks/logDepthVertex-RSueoP5o.esm.min.js +2 -0
  238. package/dist/chunks/logDepthVertex-RSueoP5o.esm.min.js.map +1 -0
  239. package/dist/chunks/logDepthVertex-jmh6sp9r.esm.js +605 -0
  240. package/dist/chunks/logDepthVertex-jmh6sp9r.esm.js.map +1 -0
  241. package/dist/chunks/mainUVVaryingDeclaration-BNr0GD05.esm.min.js +2 -0
  242. package/dist/chunks/mainUVVaryingDeclaration-BNr0GD05.esm.min.js.map +1 -0
  243. package/dist/chunks/mainUVVaryingDeclaration-ZPe9Pfpm.esm.js +11 -0
  244. package/dist/chunks/mainUVVaryingDeclaration-ZPe9Pfpm.esm.js.map +1 -0
  245. package/dist/chunks/objFileLoader-B1j9OyPi.esm.js +1280 -0
  246. package/dist/chunks/objFileLoader-B1j9OyPi.esm.js.map +1 -0
  247. package/dist/chunks/objFileLoader-B2Z0kBGZ.esm.min.js +2 -0
  248. package/dist/chunks/objFileLoader-B2Z0kBGZ.esm.min.js.map +1 -0
  249. package/dist/chunks/oitFragment-C7OX8yZO.esm.js +1166 -0
  250. package/dist/chunks/oitFragment-C7OX8yZO.esm.js.map +1 -0
  251. package/dist/chunks/oitFragment-CROGuom4.esm.min.js +2 -0
  252. package/dist/chunks/oitFragment-CROGuom4.esm.min.js.map +1 -0
  253. package/dist/chunks/oitFragment-Cx8fxkh0.esm.min.js +2 -0
  254. package/dist/chunks/oitFragment-Cx8fxkh0.esm.min.js.map +1 -0
  255. package/dist/chunks/oitFragment-QaeREI-l.esm.js +1210 -0
  256. package/dist/chunks/oitFragment-QaeREI-l.esm.js.map +1 -0
  257. package/dist/chunks/pass.fragment-Cp76VdVm.esm.min.js +2 -0
  258. package/dist/chunks/pass.fragment-Cp76VdVm.esm.min.js.map +1 -0
  259. package/dist/chunks/pass.fragment-DWGZaulM.esm.js +15 -0
  260. package/dist/chunks/pass.fragment-DWGZaulM.esm.js.map +1 -0
  261. package/dist/chunks/pbr.fragment-1MSLuKxt.esm.min.js +2 -0
  262. package/dist/chunks/pbr.fragment-1MSLuKxt.esm.min.js.map +1 -0
  263. package/dist/chunks/pbr.fragment-CVVaxHTM.esm.js +3172 -0
  264. package/dist/chunks/pbr.fragment-CVVaxHTM.esm.js.map +1 -0
  265. package/dist/chunks/pbr.fragment-DjDXkzPC.esm.js +3228 -0
  266. package/dist/chunks/pbr.fragment-DjDXkzPC.esm.js.map +1 -0
  267. package/dist/chunks/pbr.fragment-u-qCDBnn.esm.min.js +2 -0
  268. package/dist/chunks/pbr.fragment-u-qCDBnn.esm.min.js.map +1 -0
  269. package/dist/chunks/pbr.vertex-CY3atoVH.esm.min.js +2 -0
  270. package/dist/chunks/pbr.vertex-CY3atoVH.esm.min.js.map +1 -0
  271. package/dist/chunks/pbr.vertex-CvBNpmrL.esm.js +335 -0
  272. package/dist/chunks/pbr.vertex-CvBNpmrL.esm.js.map +1 -0
  273. package/dist/chunks/pbr.vertex-Cz1vuu4g.esm.min.js +2 -0
  274. package/dist/chunks/pbr.vertex-Cz1vuu4g.esm.min.js.map +1 -0
  275. package/dist/chunks/pbr.vertex-DmN6aBEn.esm.js +208 -0
  276. package/dist/chunks/pbr.vertex-DmN6aBEn.esm.js.map +1 -0
  277. package/dist/chunks/postprocess.vertex-C1KLVO46.esm.min.js +2 -0
  278. package/dist/chunks/postprocess.vertex-C1KLVO46.esm.min.js.map +1 -0
  279. package/dist/chunks/postprocess.vertex-bRjFMMTw.esm.js +20 -0
  280. package/dist/chunks/postprocess.vertex-bRjFMMTw.esm.js.map +1 -0
  281. package/dist/chunks/rawTexture-CnRJFGS0.esm.min.js +2 -0
  282. package/dist/chunks/rawTexture-CnRJFGS0.esm.min.js.map +1 -0
  283. package/dist/chunks/rawTexture-DqO-U47x.esm.js +562 -0
  284. package/dist/chunks/rawTexture-DqO-U47x.esm.js.map +1 -0
  285. package/dist/chunks/rgbdDecode.fragment-B3x1NGLA.esm.js +17 -0
  286. package/dist/chunks/rgbdDecode.fragment-B3x1NGLA.esm.js.map +1 -0
  287. package/dist/chunks/rgbdDecode.fragment-Ced65A9P.esm.js +17 -0
  288. package/dist/chunks/rgbdDecode.fragment-Ced65A9P.esm.js.map +1 -0
  289. package/dist/chunks/rgbdDecode.fragment-DeTDMkx-.esm.min.js +2 -0
  290. package/dist/chunks/rgbdDecode.fragment-DeTDMkx-.esm.min.js.map +1 -0
  291. package/dist/chunks/rgbdDecode.fragment-I4vSkcn6.esm.min.js +2 -0
  292. package/dist/chunks/rgbdDecode.fragment-I4vSkcn6.esm.min.js.map +1 -0
  293. package/dist/chunks/rgbdEncode.fragment-BI_5lpaM.esm.js +17 -0
  294. package/dist/chunks/rgbdEncode.fragment-BI_5lpaM.esm.js.map +1 -0
  295. package/dist/chunks/rgbdEncode.fragment-CvsdJfL-.esm.min.js +2 -0
  296. package/dist/chunks/rgbdEncode.fragment-CvsdJfL-.esm.min.js.map +1 -0
  297. package/dist/chunks/rgbdEncode.fragment-DBV9U7_S.esm.js +17 -0
  298. package/dist/chunks/rgbdEncode.fragment-DBV9U7_S.esm.js.map +1 -0
  299. package/dist/chunks/rgbdEncode.fragment-Ga_wck8r.esm.min.js +2 -0
  300. package/dist/chunks/rgbdEncode.fragment-Ga_wck8r.esm.min.js.map +1 -0
  301. package/dist/chunks/splatFileLoader-CqZQp8gT.esm.min.js +2 -0
  302. package/dist/chunks/splatFileLoader-CqZQp8gT.esm.min.js.map +1 -0
  303. package/dist/chunks/splatFileLoader-Ojz6wPQF.esm.js +3154 -0
  304. package/dist/chunks/splatFileLoader-Ojz6wPQF.esm.js.map +1 -0
  305. package/dist/chunks/standardMaterial-BRFkCYek.esm.min.js +2 -0
  306. package/dist/chunks/standardMaterial-BRFkCYek.esm.min.js.map +1 -0
  307. package/dist/chunks/standardMaterial-CrPdkeQ7.esm.js +1809 -0
  308. package/dist/chunks/standardMaterial-CrPdkeQ7.esm.js.map +1 -0
  309. package/dist/chunks/stlFileLoader-CZ4gnzj5.esm.js +237 -0
  310. package/dist/chunks/stlFileLoader-CZ4gnzj5.esm.js.map +1 -0
  311. package/dist/chunks/stlFileLoader-vUsEa3k7.esm.min.js +2 -0
  312. package/dist/chunks/stlFileLoader-vUsEa3k7.esm.min.js.map +1 -0
  313. package/dist/chunks/tgaTextureLoader-CWw7TE84.esm.js +349 -0
  314. package/dist/chunks/tgaTextureLoader-CWw7TE84.esm.js.map +1 -0
  315. package/dist/chunks/tgaTextureLoader-z-0S-ufz.esm.min.js +2 -0
  316. package/dist/chunks/tgaTextureLoader-z-0S-ufz.esm.min.js.map +1 -0
  317. package/dist/chunks/thinInstanceMesh-BPnShKmm.esm.min.js +2 -0
  318. package/dist/chunks/thinInstanceMesh-BPnShKmm.esm.min.js.map +1 -0
  319. package/dist/chunks/thinInstanceMesh-BvcXpcNe.esm.js +314 -0
  320. package/dist/chunks/thinInstanceMesh-BvcXpcNe.esm.js.map +1 -0
  321. package/dist/chunks/vertexColorMixing-BY_oWZih.esm.min.js +2 -0
  322. package/dist/chunks/vertexColorMixing-BY_oWZih.esm.min.js.map +1 -0
  323. package/dist/chunks/vertexColorMixing-Cq9NDkQU.esm.js +528 -0
  324. package/dist/chunks/vertexColorMixing-Cq9NDkQU.esm.js.map +1 -0
  325. package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
  326. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
  327. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
  328. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
  329. package/lib/index.d.ts +237 -0
  330. package/lib/index.js +871 -0
  331. package/lib/index.js.map +1 -0
  332. package/package.json +17 -27
  333. package/readme.md +35 -21
  334. package/configuration/configuration.d.ts +0 -107
  335. package/configuration/configuration.js +0 -16
  336. package/configuration/configuration.js.map +0 -1
  337. package/configuration/configurationCompatibility.d.ts +0 -8
  338. package/configuration/configurationCompatibility.js +0 -66
  339. package/configuration/configurationCompatibility.js.map +0 -1
  340. package/configuration/configurationContainer.d.ts +0 -10
  341. package/configuration/configurationContainer.js +0 -10
  342. package/configuration/configurationContainer.js.map +0 -1
  343. package/configuration/globals.d.ts +0 -6
  344. package/configuration/globals.js +0 -18
  345. package/configuration/globals.js.map +0 -1
  346. package/configuration/index.d.ts +0 -2
  347. package/configuration/index.js +0 -4
  348. package/configuration/index.js.map +0 -1
  349. package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
  350. package/configuration/interfaces/cameraConfiguration.js +0 -2
  351. package/configuration/interfaces/cameraConfiguration.js.map +0 -1
  352. package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
  353. package/configuration/interfaces/colorGradingConfiguration.js +0 -2
  354. package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
  355. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
  356. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
  357. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
  358. package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
  359. package/configuration/interfaces/environmentMapConfiguration.js +0 -2
  360. package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
  361. package/configuration/interfaces/groundConfiguration.d.ts +0 -24
  362. package/configuration/interfaces/groundConfiguration.js +0 -2
  363. package/configuration/interfaces/groundConfiguration.js.map +0 -1
  364. package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
  365. package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
  366. package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
  367. package/configuration/interfaces/index.d.ts +0 -15
  368. package/configuration/interfaces/index.js +0 -16
  369. package/configuration/interfaces/index.js.map +0 -1
  370. package/configuration/interfaces/lightConfiguration.d.ts +0 -60
  371. package/configuration/interfaces/lightConfiguration.js +0 -2
  372. package/configuration/interfaces/lightConfiguration.js.map +0 -1
  373. package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
  374. package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
  375. package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
  376. package/configuration/interfaces/modelConfiguration.d.ts +0 -65
  377. package/configuration/interfaces/modelConfiguration.js +0 -2
  378. package/configuration/interfaces/modelConfiguration.js.map +0 -1
  379. package/configuration/interfaces/observersConfiguration.d.ts +0 -5
  380. package/configuration/interfaces/observersConfiguration.js +0 -2
  381. package/configuration/interfaces/observersConfiguration.js.map +0 -1
  382. package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
  383. package/configuration/interfaces/sceneConfiguration.js +0 -2
  384. package/configuration/interfaces/sceneConfiguration.js.map +0 -1
  385. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
  386. package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
  387. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
  388. package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
  389. package/configuration/interfaces/skyboxConfiguration.js +0 -2
  390. package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
  391. package/configuration/interfaces/templateConfiguration.d.ts +0 -67
  392. package/configuration/interfaces/templateConfiguration.js +0 -2
  393. package/configuration/interfaces/templateConfiguration.js.map +0 -1
  394. package/configuration/interfaces/vrConfiguration.d.ts +0 -16
  395. package/configuration/interfaces/vrConfiguration.js +0 -2
  396. package/configuration/interfaces/vrConfiguration.js.map +0 -1
  397. package/configuration/loader.d.ts +0 -4
  398. package/configuration/loader.js +0 -17
  399. package/configuration/loader.js.map +0 -1
  400. package/configuration/mappers.d.ts +0 -43
  401. package/configuration/mappers.js +0 -192
  402. package/configuration/mappers.js.map +0 -1
  403. package/configuration/renderOnlyLoader.d.ts +0 -33
  404. package/configuration/renderOnlyLoader.js +0 -162
  405. package/configuration/renderOnlyLoader.js.map +0 -1
  406. package/configuration/types/default.d.ts +0 -6
  407. package/configuration/types/default.js +0 -121
  408. package/configuration/types/default.js.map +0 -1
  409. package/configuration/types/environmentMap.d.ts +0 -5
  410. package/configuration/types/environmentMap.js +0 -14
  411. package/configuration/types/environmentMap.js.map +0 -1
  412. package/configuration/types/extended.d.ts +0 -6
  413. package/configuration/types/extended.js +0 -317
  414. package/configuration/types/extended.js.map +0 -1
  415. package/configuration/types/index.d.ts +0 -14
  416. package/configuration/types/index.js +0 -51
  417. package/configuration/types/index.js.map +0 -1
  418. package/configuration/types/minimal.d.ts +0 -6
  419. package/configuration/types/minimal.js +0 -43
  420. package/configuration/types/minimal.js.map +0 -1
  421. package/configuration/types/renderOnlyDefault.d.ts +0 -30
  422. package/configuration/types/renderOnlyDefault.js +0 -31
  423. package/configuration/types/renderOnlyDefault.js.map +0 -1
  424. package/configuration/types/shadowLight.d.ts +0 -9
  425. package/configuration/types/shadowLight.js +0 -64
  426. package/configuration/types/shadowLight.js.map +0 -1
  427. package/helper/index.d.ts +0 -29
  428. package/helper/index.js +0 -66
  429. package/helper/index.js.map +0 -1
  430. package/index.d.ts +0 -30
  431. package/index.js +0 -46
  432. package/index.js.map +0 -1
  433. package/initializer.d.ts +0 -11
  434. package/initializer.js +0 -35
  435. package/initializer.js.map +0 -1
  436. package/interfaces.d.ts +0 -5
  437. package/interfaces.js +0 -7
  438. package/interfaces.js.map +0 -1
  439. package/labs/environmentSerializer.d.ts +0 -126
  440. package/labs/environmentSerializer.js +0 -191
  441. package/labs/environmentSerializer.js.map +0 -1
  442. package/labs/texture.d.ts +0 -183
  443. package/labs/texture.js +0 -351
  444. package/labs/texture.js.map +0 -1
  445. package/labs/viewerLabs.d.ts +0 -51
  446. package/labs/viewerLabs.js +0 -134
  447. package/labs/viewerLabs.js.map +0 -1
  448. package/loader/modelLoader.d.ts +0 -56
  449. package/loader/modelLoader.js +0 -199
  450. package/loader/modelLoader.js.map +0 -1
  451. package/loader/plugins/applyMaterialConfig.d.ts +0 -12
  452. package/loader/plugins/applyMaterialConfig.js +0 -16
  453. package/loader/plugins/applyMaterialConfig.js.map +0 -1
  454. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
  455. package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
  456. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
  457. package/loader/plugins/index.d.ts +0 -19
  458. package/loader/plugins/index.js +0 -44
  459. package/loader/plugins/index.js.map +0 -1
  460. package/loader/plugins/loaderPlugin.d.ts +0 -24
  461. package/loader/plugins/loaderPlugin.js +0 -2
  462. package/loader/plugins/loaderPlugin.js.map +0 -1
  463. package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
  464. package/loader/plugins/msftLodLoaderPlugin.js +0 -21
  465. package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
  466. package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
  467. package/loader/plugins/telemetryLoaderPlugin.js +0 -36
  468. package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
  469. package/managers/observablesManager.d.ts +0 -66
  470. package/managers/observablesManager.js +0 -35
  471. package/managers/observablesManager.js.map +0 -1
  472. package/managers/sceneManager.d.ts +0 -245
  473. package/managers/sceneManager.js +0 -1375
  474. package/managers/sceneManager.js.map +0 -1
  475. package/managers/telemetryManager.d.ts +0 -78
  476. package/managers/telemetryManager.js +0 -117
  477. package/managers/telemetryManager.js.map +0 -1
  478. package/model/modelAnimation.d.ts +0 -215
  479. package/model/modelAnimation.js +0 -237
  480. package/model/modelAnimation.js.map +0 -1
  481. package/model/viewerModel.d.ts +0 -233
  482. package/model/viewerModel.js +0 -673
  483. package/model/viewerModel.js.map +0 -1
  484. package/optimizer/custom/extended.d.ts +0 -13
  485. package/optimizer/custom/extended.js +0 -101
  486. package/optimizer/custom/extended.js.map +0 -1
  487. package/optimizer/custom/index.d.ts +0 -9
  488. package/optimizer/custom/index.js +0 -26
  489. package/optimizer/custom/index.js.map +0 -1
  490. package/renderOnlyIndex.d.ts +0 -11
  491. package/renderOnlyIndex.js +0 -18
  492. package/renderOnlyIndex.js.map +0 -1
  493. package/templating/eventManager.d.ts +0 -35
  494. package/templating/eventManager.js +0 -66
  495. package/templating/eventManager.js.map +0 -1
  496. package/templating/plugins/hdButtonPlugin.d.ts +0 -9
  497. package/templating/plugins/hdButtonPlugin.js +0 -21
  498. package/templating/plugins/hdButtonPlugin.js.map +0 -1
  499. package/templating/plugins/printButton.d.ts +0 -9
  500. package/templating/plugins/printButton.js +0 -40
  501. package/templating/plugins/printButton.js.map +0 -1
  502. package/templating/templateManager.d.ts +0 -197
  503. package/templating/templateManager.js +0 -561
  504. package/templating/templateManager.js.map +0 -1
  505. package/templating/viewerTemplatePlugin.d.ts +0 -21
  506. package/templating/viewerTemplatePlugin.js +0 -69
  507. package/templating/viewerTemplatePlugin.js.map +0 -1
  508. package/viewer/defaultViewer.d.ts +0 -130
  509. package/viewer/defaultViewer.js +0 -675
  510. package/viewer/defaultViewer.js.map +0 -1
  511. package/viewer/renderOnlyViewer.d.ts +0 -9
  512. package/viewer/renderOnlyViewer.js +0 -46
  513. package/viewer/renderOnlyViewer.js.map +0 -1
  514. package/viewer/viewer.d.ts +0 -258
  515. package/viewer/viewer.js +0 -783
  516. package/viewer/viewer.js.map +0 -1
  517. package/viewer/viewerManager.d.ts +0 -58
  518. package/viewer/viewerManager.js +0 -91
  519. package/viewer/viewerManager.js.map +0 -1
  520. package/viewer/viewerWithTemplate.d.ts +0 -9
  521. package/viewer/viewerWithTemplate.js +0 -20
  522. package/viewer/viewerWithTemplate.js.map +0 -1
@@ -0,0 +1,238 @@
1
+ import { GLTFLoader, ArrayItem } from './glTFLoader-Da2YOCGR.esm.js';
2
+ import { M as Mesh, ak as unregisterGLTFExtension, al as registerGLTFExtension } from './index-DCMXQRx5.esm.js';
3
+ import './rawTexture-DqO-U47x.esm.js';
4
+ import './assetContainer-DEN9e8ap.esm.js';
5
+ import './glTFLoaderAnimation-CbznFn_D.esm.js';
6
+
7
+ const NAME = "KHR_materials_variants";
8
+ /**
9
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_variants/README.md)
10
+ */
11
+ // eslint-disable-next-line @typescript-eslint/naming-convention
12
+ class KHR_materials_variants {
13
+ /**
14
+ * @internal
15
+ */
16
+ constructor(loader) {
17
+ /**
18
+ * The name of this extension.
19
+ */
20
+ this.name = NAME;
21
+ this._loader = loader;
22
+ this.enabled = this._loader.isExtensionUsed(NAME);
23
+ }
24
+ /** @internal */
25
+ dispose() {
26
+ this._loader = null;
27
+ }
28
+ /**
29
+ * Gets the list of available variant names for this asset.
30
+ * @param rootMesh The glTF root mesh
31
+ * @returns the list of all the variant names for this model
32
+ */
33
+ static GetAvailableVariants(rootMesh) {
34
+ const extensionMetadata = this._GetExtensionMetadata(rootMesh);
35
+ if (!extensionMetadata) {
36
+ return [];
37
+ }
38
+ return Object.keys(extensionMetadata.variants);
39
+ }
40
+ /**
41
+ * Gets the list of available variant names for this asset.
42
+ * @param rootMesh The glTF root mesh
43
+ * @returns the list of all the variant names for this model
44
+ */
45
+ getAvailableVariants(rootMesh) {
46
+ return KHR_materials_variants.GetAvailableVariants(rootMesh);
47
+ }
48
+ /**
49
+ * Select a variant given a variant name or a list of variant names.
50
+ * @param rootMesh The glTF root mesh
51
+ * @param variantName The variant name(s) to select.
52
+ */
53
+ static SelectVariant(rootMesh, variantName) {
54
+ const extensionMetadata = this._GetExtensionMetadata(rootMesh);
55
+ if (!extensionMetadata) {
56
+ throw new Error(`Cannot select variant on a glTF mesh that does not have the ${NAME} extension`);
57
+ }
58
+ const select = (variantName) => {
59
+ const entries = extensionMetadata.variants[variantName];
60
+ if (entries) {
61
+ for (const entry of entries) {
62
+ entry.mesh.material = entry.material;
63
+ }
64
+ }
65
+ };
66
+ if (variantName instanceof Array) {
67
+ for (const name of variantName) {
68
+ select(name);
69
+ }
70
+ }
71
+ else {
72
+ select(variantName);
73
+ }
74
+ extensionMetadata.lastSelected = variantName;
75
+ }
76
+ /**
77
+ * Select a variant given a variant name or a list of variant names.
78
+ * @param rootMesh The glTF root mesh
79
+ * @param variantName The variant name(s) to select.
80
+ */
81
+ selectVariant(rootMesh, variantName) {
82
+ KHR_materials_variants.SelectVariant(rootMesh, variantName);
83
+ }
84
+ /**
85
+ * Reset back to the original before selecting a variant.
86
+ * @param rootMesh The glTF root mesh
87
+ */
88
+ static Reset(rootMesh) {
89
+ const extensionMetadata = this._GetExtensionMetadata(rootMesh);
90
+ if (!extensionMetadata) {
91
+ throw new Error(`Cannot reset on a glTF mesh that does not have the ${NAME} extension`);
92
+ }
93
+ for (const entry of extensionMetadata.original) {
94
+ entry.mesh.material = entry.material;
95
+ }
96
+ extensionMetadata.lastSelected = null;
97
+ }
98
+ /**
99
+ * Reset back to the original before selecting a variant.
100
+ * @param rootMesh The glTF root mesh
101
+ */
102
+ reset(rootMesh) {
103
+ KHR_materials_variants.Reset(rootMesh);
104
+ }
105
+ /**
106
+ * Gets the last selected variant name(s) or null if original.
107
+ * @param rootMesh The glTF root mesh
108
+ * @returns The selected variant name(s).
109
+ */
110
+ static GetLastSelectedVariant(rootMesh) {
111
+ const extensionMetadata = this._GetExtensionMetadata(rootMesh);
112
+ if (!extensionMetadata) {
113
+ throw new Error(`Cannot get the last selected variant on a glTF mesh that does not have the ${NAME} extension`);
114
+ }
115
+ return extensionMetadata.lastSelected;
116
+ }
117
+ /**
118
+ * Gets the last selected variant name(s) or null if original.
119
+ * @param rootMesh The glTF root mesh
120
+ * @returns The selected variant name(s).
121
+ */
122
+ getLastSelectedVariant(rootMesh) {
123
+ return KHR_materials_variants.GetLastSelectedVariant(rootMesh);
124
+ }
125
+ static _GetExtensionMetadata(rootMesh) {
126
+ return rootMesh?._internalMetadata?.gltf?.[NAME] || null;
127
+ }
128
+ /** @internal */
129
+ onLoading() {
130
+ const extensions = this._loader.gltf.extensions;
131
+ if (extensions && extensions[this.name]) {
132
+ const extension = extensions[this.name];
133
+ this._variants = extension.variants;
134
+ }
135
+ }
136
+ /**
137
+ * @internal
138
+ */
139
+ _loadMeshPrimitiveAsync(context, name, node, mesh, primitive, assign) {
140
+ return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, (extensionContext, extension) => {
141
+ const promises = new Array();
142
+ promises.push(this._loader._loadMeshPrimitiveAsync(context, name, node, mesh, primitive, (babylonMesh) => {
143
+ assign(babylonMesh);
144
+ if (babylonMesh instanceof Mesh) {
145
+ const babylonDrawMode = GLTFLoader._GetDrawMode(context, primitive.mode);
146
+ const root = this._loader.rootBabylonMesh;
147
+ const metadata = root ? (root._internalMetadata = root._internalMetadata || {}) : {};
148
+ const gltf = (metadata.gltf = metadata.gltf || {});
149
+ const extensionMetadata = (gltf[NAME] = gltf[NAME] || { lastSelected: null, original: [], variants: {} });
150
+ // Store the original material.
151
+ extensionMetadata.original.push({ mesh: babylonMesh, material: babylonMesh.material });
152
+ // For each mapping, look at the variants and make a new entry for them.
153
+ for (let mappingIndex = 0; mappingIndex < extension.mappings.length; ++mappingIndex) {
154
+ const mapping = extension.mappings[mappingIndex];
155
+ const material = ArrayItem.Get(`${extensionContext}/mappings/${mappingIndex}/material`, this._loader.gltf.materials, mapping.material);
156
+ promises.push(this._loader._loadMaterialAsync(`#/materials/${mapping.material}`, material, babylonMesh, babylonDrawMode, (babylonMaterial) => {
157
+ for (let mappingVariantIndex = 0; mappingVariantIndex < mapping.variants.length; ++mappingVariantIndex) {
158
+ const variantIndex = mapping.variants[mappingVariantIndex];
159
+ const variant = ArrayItem.Get(`/extensions/${NAME}/variants/${variantIndex}`, this._variants, variantIndex);
160
+ extensionMetadata.variants[variant.name] = extensionMetadata.variants[variant.name] || [];
161
+ extensionMetadata.variants[variant.name].push({
162
+ mesh: babylonMesh,
163
+ material: babylonMaterial,
164
+ });
165
+ // Replace the target when original mesh is cloned
166
+ babylonMesh.onClonedObservable.add((newOne) => {
167
+ const newMesh = newOne;
168
+ let metadata = null;
169
+ let newRoot = newMesh;
170
+ // Find root to get medata
171
+ do {
172
+ newRoot = newRoot.parent;
173
+ if (!newRoot) {
174
+ return;
175
+ }
176
+ metadata = KHR_materials_variants._GetExtensionMetadata(newRoot);
177
+ } while (metadata === null);
178
+ // Need to clone the metadata on the root (first time only)
179
+ if (root && metadata === KHR_materials_variants._GetExtensionMetadata(root)) {
180
+ // Copy main metadata
181
+ newRoot._internalMetadata = {};
182
+ for (const key in root._internalMetadata) {
183
+ newRoot._internalMetadata[key] = root._internalMetadata[key];
184
+ }
185
+ // Copy the gltf metadata
186
+ newRoot._internalMetadata.gltf = [];
187
+ for (const key in root._internalMetadata.gltf) {
188
+ newRoot._internalMetadata.gltf[key] = root._internalMetadata.gltf[key];
189
+ }
190
+ // Duplicate the extension specific metadata
191
+ newRoot._internalMetadata.gltf[NAME] = { lastSelected: null, original: [], variants: {} };
192
+ for (const original of metadata.original) {
193
+ newRoot._internalMetadata.gltf[NAME].original.push({
194
+ mesh: original.mesh,
195
+ material: original.material,
196
+ });
197
+ }
198
+ for (const key in metadata.variants) {
199
+ if (Object.prototype.hasOwnProperty.call(metadata.variants, key)) {
200
+ newRoot._internalMetadata.gltf[NAME].variants[key] = [];
201
+ for (const variantEntry of metadata.variants[key]) {
202
+ newRoot._internalMetadata.gltf[NAME].variants[key].push({
203
+ mesh: variantEntry.mesh,
204
+ material: variantEntry.material,
205
+ });
206
+ }
207
+ }
208
+ }
209
+ metadata = newRoot._internalMetadata.gltf[NAME];
210
+ }
211
+ // Relocate
212
+ for (const target of metadata.original) {
213
+ if (target.mesh === babylonMesh) {
214
+ target.mesh = newMesh;
215
+ }
216
+ }
217
+ for (const target of metadata.variants[variant.name]) {
218
+ if (target.mesh === babylonMesh) {
219
+ target.mesh = newMesh;
220
+ }
221
+ }
222
+ });
223
+ }
224
+ }));
225
+ }
226
+ }
227
+ }));
228
+ return Promise.all(promises).then(([babylonMesh]) => {
229
+ return babylonMesh;
230
+ });
231
+ });
232
+ }
233
+ }
234
+ unregisterGLTFExtension(NAME);
235
+ registerGLTFExtension(NAME, true, (loader) => new KHR_materials_variants(loader));
236
+
237
+ export { KHR_materials_variants };
238
+ //# sourceMappingURL=KHR_materials_variants-DVhDwsbf.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_variants-DVhDwsbf.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_variants.js"],"sourcesContent":["import { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { Mesh } from \"core/Meshes/mesh\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_variants\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_variants/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_variants {\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.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * Gets the list of available variant names for this asset.\n * @param rootMesh The glTF root mesh\n * @returns the list of all the variant names for this model\n */\n static GetAvailableVariants(rootMesh) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\n if (!extensionMetadata) {\n return [];\n }\n return Object.keys(extensionMetadata.variants);\n }\n /**\n * Gets the list of available variant names for this asset.\n * @param rootMesh The glTF root mesh\n * @returns the list of all the variant names for this model\n */\n getAvailableVariants(rootMesh) {\n return KHR_materials_variants.GetAvailableVariants(rootMesh);\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootMesh The glTF root mesh\n * @param variantName The variant name(s) to select.\n */\n static SelectVariant(rootMesh, variantName) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\n if (!extensionMetadata) {\n throw new Error(`Cannot select variant on a glTF mesh that does not have the ${NAME} extension`);\n }\n const select = (variantName) => {\n const entries = extensionMetadata.variants[variantName];\n if (entries) {\n for (const entry of entries) {\n entry.mesh.material = entry.material;\n }\n }\n };\n if (variantName instanceof Array) {\n for (const name of variantName) {\n select(name);\n }\n }\n else {\n select(variantName);\n }\n extensionMetadata.lastSelected = variantName;\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootMesh The glTF root mesh\n * @param variantName The variant name(s) to select.\n */\n selectVariant(rootMesh, variantName) {\n KHR_materials_variants.SelectVariant(rootMesh, variantName);\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootMesh The glTF root mesh\n */\n static Reset(rootMesh) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\n if (!extensionMetadata) {\n throw new Error(`Cannot reset on a glTF mesh that does not have the ${NAME} extension`);\n }\n for (const entry of extensionMetadata.original) {\n entry.mesh.material = entry.material;\n }\n extensionMetadata.lastSelected = null;\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootMesh The glTF root mesh\n */\n reset(rootMesh) {\n KHR_materials_variants.Reset(rootMesh);\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootMesh The glTF root mesh\n * @returns The selected variant name(s).\n */\n static GetLastSelectedVariant(rootMesh) {\n const extensionMetadata = this._GetExtensionMetadata(rootMesh);\n if (!extensionMetadata) {\n throw new Error(`Cannot get the last selected variant on a glTF mesh that does not have the ${NAME} extension`);\n }\n return extensionMetadata.lastSelected;\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootMesh The glTF root mesh\n * @returns The selected variant name(s).\n */\n getLastSelectedVariant(rootMesh) {\n return KHR_materials_variants.GetLastSelectedVariant(rootMesh);\n }\n static _GetExtensionMetadata(rootMesh) {\n return rootMesh?._internalMetadata?.gltf?.[NAME] || null;\n }\n /** @internal */\n onLoading() {\n const extensions = this._loader.gltf.extensions;\n if (extensions && extensions[this.name]) {\n const extension = extensions[this.name];\n this._variants = extension.variants;\n }\n }\n /**\n * @internal\n */\n _loadMeshPrimitiveAsync(context, name, node, mesh, primitive, assign) {\n return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader._loadMeshPrimitiveAsync(context, name, node, mesh, primitive, (babylonMesh) => {\n assign(babylonMesh);\n if (babylonMesh instanceof Mesh) {\n const babylonDrawMode = GLTFLoader._GetDrawMode(context, primitive.mode);\n const root = this._loader.rootBabylonMesh;\n const metadata = root ? (root._internalMetadata = root._internalMetadata || {}) : {};\n const gltf = (metadata.gltf = metadata.gltf || {});\n const extensionMetadata = (gltf[NAME] = gltf[NAME] || { lastSelected: null, original: [], variants: {} });\n // Store the original material.\n extensionMetadata.original.push({ mesh: babylonMesh, material: babylonMesh.material });\n // For each mapping, look at the variants and make a new entry for them.\n for (let mappingIndex = 0; mappingIndex < extension.mappings.length; ++mappingIndex) {\n const mapping = extension.mappings[mappingIndex];\n const material = ArrayItem.Get(`${extensionContext}/mappings/${mappingIndex}/material`, this._loader.gltf.materials, mapping.material);\n promises.push(this._loader._loadMaterialAsync(`#/materials/${mapping.material}`, material, babylonMesh, babylonDrawMode, (babylonMaterial) => {\n for (let mappingVariantIndex = 0; mappingVariantIndex < mapping.variants.length; ++mappingVariantIndex) {\n const variantIndex = mapping.variants[mappingVariantIndex];\n const variant = ArrayItem.Get(`/extensions/${NAME}/variants/${variantIndex}`, this._variants, variantIndex);\n extensionMetadata.variants[variant.name] = extensionMetadata.variants[variant.name] || [];\n extensionMetadata.variants[variant.name].push({\n mesh: babylonMesh,\n material: babylonMaterial,\n });\n // Replace the target when original mesh is cloned\n babylonMesh.onClonedObservable.add((newOne) => {\n const newMesh = newOne;\n let metadata = null;\n let newRoot = newMesh;\n // Find root to get medata\n do {\n newRoot = newRoot.parent;\n if (!newRoot) {\n return;\n }\n metadata = KHR_materials_variants._GetExtensionMetadata(newRoot);\n } while (metadata === null);\n // Need to clone the metadata on the root (first time only)\n if (root && metadata === KHR_materials_variants._GetExtensionMetadata(root)) {\n // Copy main metadata\n newRoot._internalMetadata = {};\n for (const key in root._internalMetadata) {\n newRoot._internalMetadata[key] = root._internalMetadata[key];\n }\n // Copy the gltf metadata\n newRoot._internalMetadata.gltf = [];\n for (const key in root._internalMetadata.gltf) {\n newRoot._internalMetadata.gltf[key] = root._internalMetadata.gltf[key];\n }\n // Duplicate the extension specific metadata\n newRoot._internalMetadata.gltf[NAME] = { lastSelected: null, original: [], variants: {} };\n for (const original of metadata.original) {\n newRoot._internalMetadata.gltf[NAME].original.push({\n mesh: original.mesh,\n material: original.material,\n });\n }\n for (const key in metadata.variants) {\n if (Object.prototype.hasOwnProperty.call(metadata.variants, key)) {\n newRoot._internalMetadata.gltf[NAME].variants[key] = [];\n for (const variantEntry of metadata.variants[key]) {\n newRoot._internalMetadata.gltf[NAME].variants[key].push({\n mesh: variantEntry.mesh,\n material: variantEntry.material,\n });\n }\n }\n }\n metadata = newRoot._internalMetadata.gltf[NAME];\n }\n // Relocate\n for (const target of metadata.original) {\n if (target.mesh === babylonMesh) {\n target.mesh = newMesh;\n }\n }\n for (const target of metadata.variants[variant.name]) {\n if (target.mesh === babylonMesh) {\n target.mesh = newMesh;\n }\n }\n });\n }\n }));\n }\n }\n }));\n return Promise.all(promises).then(([babylonMesh]) => {\n return babylonMesh;\n });\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_variants(loader));\n//# sourceMappingURL=KHR_materials_variants.js.map"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{ax as e,ak as s,al as t}from"./index-Ba-YQVRw.esm.min.js";import{GLTFLoader as n}from"./glTFLoader-Is2_r9v2.esm.min.js";import"./rawTexture-CnRJFGS0.esm.min.js";import"./assetContainer-CaFtpYEC.esm.min.js";import"./glTFLoaderAnimation-Bglz6m7h.esm.min.js";const r="KHR_materials_volume";class a{constructor(e){this.name=r,this.order=173,this._loader=e,this.enabled=this._loader.isExtensionUsed(r),this.enabled&&this._loader._disableInstancedMesh++}dispose(){this.enabled&&this._loader._disableInstancedMesh--,this._loader=null}loadMaterialPropertiesAsync(e,s,t){return n.LoadExtensionAsync(e,s,this.name,((n,r)=>{const a=new Array;return a.push(this._loader.loadMaterialPropertiesAsync(e,s,t)),a.push(this._loadVolumePropertiesAsync(n,s,t,r)),Promise.all(a).then((()=>{}))}))}_loadVolumePropertiesAsync(s,t,n,r){if(!(n instanceof e))throw new Error(`${s}: Material type not supported`);if(!n.subSurface.isRefractionEnabled&&!n.subSurface.isTranslucencyEnabled||!r.thicknessFactor)return Promise.resolve();n.subSurface.volumeIndexOfRefraction=n.indexOfRefraction;const a=void 0!==r.attenuationDistance?r.attenuationDistance:Number.MAX_VALUE;return n.subSurface.tintColorAtDistance=a,void 0!==r.attenuationColor&&3==r.attenuationColor.length&&n.subSurface.tintColor.copyFromFloats(r.attenuationColor[0],r.attenuationColor[1],r.attenuationColor[2]),n.subSurface.minimumThickness=0,n.subSurface.maximumThickness=r.thicknessFactor,n.subSurface.useThicknessAsDepth=!0,r.thicknessTexture?(r.thicknessTexture.nonColorData=!0,this._loader.loadTextureInfoAsync(`${s}/thicknessTexture`,r.thicknessTexture).then((e=>{e.name=`${n.name} (thickness)`,n.subSurface.thicknessTexture=e,n.subSurface.useGltfStyleTextures=!0}))):Promise.resolve()}}s(r),t(r,!0,(e=>new a(e)));export{a as KHR_materials_volume};
2
+ //# sourceMappingURL=KHR_materials_volume-BBlHI00R.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_volume-BBlHI00R.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_volume.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_volume\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md)\n * @since 5.0.0\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_volume {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 173;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n if (this.enabled) {\n // We need to disable instance usage because the attenuation factor depends on the node scale of each individual mesh\n this._loader._disableInstancedMesh++;\n }\n }\n /** @internal */\n dispose() {\n if (this.enabled) {\n this._loader._disableInstancedMesh--;\n }\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadVolumePropertiesAsync(extensionContext, material, babylonMaterial, extension));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadVolumePropertiesAsync(context, material, babylonMaterial, extension) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n // If transparency isn't enabled already, this extension shouldn't do anything.\n // i.e. it requires either the KHR_materials_transmission or KHR_materials_diffuse_transmission extensions.\n if ((!babylonMaterial.subSurface.isRefractionEnabled && !babylonMaterial.subSurface.isTranslucencyEnabled) || !extension.thicknessFactor) {\n return Promise.resolve();\n }\n // IOR in this extension only affects interior.\n babylonMaterial.subSurface.volumeIndexOfRefraction = babylonMaterial.indexOfRefraction;\n const attenuationDistance = extension.attenuationDistance !== undefined ? extension.attenuationDistance : Number.MAX_VALUE;\n babylonMaterial.subSurface.tintColorAtDistance = attenuationDistance;\n if (extension.attenuationColor !== undefined && extension.attenuationColor.length == 3) {\n babylonMaterial.subSurface.tintColor.copyFromFloats(extension.attenuationColor[0], extension.attenuationColor[1], extension.attenuationColor[2]);\n }\n babylonMaterial.subSurface.minimumThickness = 0.0;\n babylonMaterial.subSurface.maximumThickness = extension.thicknessFactor;\n babylonMaterial.subSurface.useThicknessAsDepth = true;\n if (extension.thicknessTexture) {\n extension.thicknessTexture.nonColorData = true;\n return this._loader.loadTextureInfoAsync(`${context}/thicknessTexture`, extension.thicknessTexture).then((texture) => {\n texture.name = `${babylonMaterial.name} (thickness)`;\n babylonMaterial.subSurface.thicknessTexture = texture;\n babylonMaterial.subSurface.useGltfStyleTextures = true;\n });\n }\n else {\n return Promise.resolve();\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_volume(loader));\n//# sourceMappingURL=KHR_materials_volume.js.map"],"names":["NAME","KHR_materials_volume","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","_disableInstancedMesh","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","extensionContext","extension","promises","Array","push","_loadVolumePropertiesAsync","Promise","all","then","PBRMaterial","Error","subSurface","isRefractionEnabled","isTranslucencyEnabled","thicknessFactor","resolve","volumeIndexOfRefraction","indexOfRefraction","attenuationDistance","undefined","Number","MAX_VALUE","tintColorAtDistance","attenuationColor","length","tintColor","copyFromFloats","minimumThickness","maximumThickness","useThicknessAsDepth","thicknessTexture","nonColorData","loadTextureInfoAsync","texture","useGltfStyleTextures","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"uQAGA,MAAMA,EAAO,uBAMN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,GACxCI,KAAKI,SAELJ,KAAKG,QAAQG,uBAEpB,CAED,OAAAC,GACQP,KAAKI,SACLJ,KAAKG,QAAQG,wBAEjBN,KAAKG,QAAU,IAClB,CAID,2BAAAK,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUV,KAAKC,MAAM,CAACa,EAAkBC,KAClF,MAAMC,EAAW,IAAIC,MAGrB,OAFAD,EAASE,KAAKlB,KAAKG,QAAQK,4BAA4BC,EAASC,EAAUC,IAC1EK,EAASE,KAAKlB,KAAKmB,2BAA2BL,EAAkBJ,EAAUC,EAAiBI,IACpFK,QAAQC,IAAIL,GAAUM,MAAK,QAAU,GAEnD,CACD,0BAAAH,CAA2BV,EAASC,EAAUC,EAAiBI,GAC3D,KAAMJ,aAA2BY,GAC7B,MAAM,IAAIC,MAAM,GAAGf,kCAIvB,IAAME,EAAgBc,WAAWC,sBAAwBf,EAAgBc,WAAWE,wBAA2BZ,EAAUa,gBACrH,OAAOR,QAAQS,UAGnBlB,EAAgBc,WAAWK,wBAA0BnB,EAAgBoB,kBACrE,MAAMC,OAAwDC,IAAlClB,EAAUiB,oBAAoCjB,EAAUiB,oBAAsBE,OAAOC,UAQjH,OAPAxB,EAAgBc,WAAWW,oBAAsBJ,OACdC,IAA/BlB,EAAUsB,kBAAuE,GAArCtB,EAAUsB,iBAAiBC,QACvE3B,EAAgBc,WAAWc,UAAUC,eAAezB,EAAUsB,iBAAiB,GAAItB,EAAUsB,iBAAiB,GAAItB,EAAUsB,iBAAiB,IAEjJ1B,EAAgBc,WAAWgB,iBAAmB,EAC9C9B,EAAgBc,WAAWiB,iBAAmB3B,EAAUa,gBACxDjB,EAAgBc,WAAWkB,qBAAsB,EAC7C5B,EAAU6B,kBACV7B,EAAU6B,iBAAiBC,cAAe,EACnC7C,KAAKG,QAAQ2C,qBAAqB,GAAGrC,qBAA4BM,EAAU6B,kBAAkBtB,MAAMyB,IACtGA,EAAQ9C,KAAO,GAAGU,EAAgBV,mBAClCU,EAAgBc,WAAWmB,iBAAmBG,EAC9CpC,EAAgBc,WAAWuB,sBAAuB,CAAI,KAInD5B,QAAQS,SAEtB,EAELoB,EAAwBrD,GACxBsD,EAAsBtD,GAAM,GAAOG,GAAW,IAAIF,EAAqBE"}
@@ -0,0 +1,87 @@
1
+ import { ax as PBRMaterial, ak as unregisterGLTFExtension, al as registerGLTFExtension } from './index-DCMXQRx5.esm.js';
2
+ import { GLTFLoader } from './glTFLoader-Da2YOCGR.esm.js';
3
+ import './rawTexture-DqO-U47x.esm.js';
4
+ import './assetContainer-DEN9e8ap.esm.js';
5
+ import './glTFLoaderAnimation-CbznFn_D.esm.js';
6
+
7
+ const NAME = "KHR_materials_volume";
8
+ /**
9
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md)
10
+ * @since 5.0.0
11
+ */
12
+ // eslint-disable-next-line @typescript-eslint/naming-convention
13
+ class KHR_materials_volume {
14
+ /**
15
+ * @internal
16
+ */
17
+ constructor(loader) {
18
+ /**
19
+ * The name of this extension.
20
+ */
21
+ this.name = NAME;
22
+ /**
23
+ * Defines a number that determines the order the extensions are applied.
24
+ */
25
+ this.order = 173;
26
+ this._loader = loader;
27
+ this.enabled = this._loader.isExtensionUsed(NAME);
28
+ if (this.enabled) {
29
+ // We need to disable instance usage because the attenuation factor depends on the node scale of each individual mesh
30
+ this._loader._disableInstancedMesh++;
31
+ }
32
+ }
33
+ /** @internal */
34
+ dispose() {
35
+ if (this.enabled) {
36
+ this._loader._disableInstancedMesh--;
37
+ }
38
+ this._loader = null;
39
+ }
40
+ /**
41
+ * @internal
42
+ */
43
+ loadMaterialPropertiesAsync(context, material, babylonMaterial) {
44
+ return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
45
+ const promises = new Array();
46
+ promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
47
+ promises.push(this._loadVolumePropertiesAsync(extensionContext, material, babylonMaterial, extension));
48
+ return Promise.all(promises).then(() => { });
49
+ });
50
+ }
51
+ _loadVolumePropertiesAsync(context, material, babylonMaterial, extension) {
52
+ if (!(babylonMaterial instanceof PBRMaterial)) {
53
+ throw new Error(`${context}: Material type not supported`);
54
+ }
55
+ // If transparency isn't enabled already, this extension shouldn't do anything.
56
+ // i.e. it requires either the KHR_materials_transmission or KHR_materials_diffuse_transmission extensions.
57
+ if ((!babylonMaterial.subSurface.isRefractionEnabled && !babylonMaterial.subSurface.isTranslucencyEnabled) || !extension.thicknessFactor) {
58
+ return Promise.resolve();
59
+ }
60
+ // IOR in this extension only affects interior.
61
+ babylonMaterial.subSurface.volumeIndexOfRefraction = babylonMaterial.indexOfRefraction;
62
+ const attenuationDistance = extension.attenuationDistance !== undefined ? extension.attenuationDistance : Number.MAX_VALUE;
63
+ babylonMaterial.subSurface.tintColorAtDistance = attenuationDistance;
64
+ if (extension.attenuationColor !== undefined && extension.attenuationColor.length == 3) {
65
+ babylonMaterial.subSurface.tintColor.copyFromFloats(extension.attenuationColor[0], extension.attenuationColor[1], extension.attenuationColor[2]);
66
+ }
67
+ babylonMaterial.subSurface.minimumThickness = 0.0;
68
+ babylonMaterial.subSurface.maximumThickness = extension.thicknessFactor;
69
+ babylonMaterial.subSurface.useThicknessAsDepth = true;
70
+ if (extension.thicknessTexture) {
71
+ extension.thicknessTexture.nonColorData = true;
72
+ return this._loader.loadTextureInfoAsync(`${context}/thicknessTexture`, extension.thicknessTexture).then((texture) => {
73
+ texture.name = `${babylonMaterial.name} (thickness)`;
74
+ babylonMaterial.subSurface.thicknessTexture = texture;
75
+ babylonMaterial.subSurface.useGltfStyleTextures = true;
76
+ });
77
+ }
78
+ else {
79
+ return Promise.resolve();
80
+ }
81
+ }
82
+ }
83
+ unregisterGLTFExtension(NAME);
84
+ registerGLTFExtension(NAME, true, (loader) => new KHR_materials_volume(loader));
85
+
86
+ export { KHR_materials_volume };
87
+ //# sourceMappingURL=KHR_materials_volume-pazjLjwn.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_volume-pazjLjwn.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_volume.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_volume\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_volume/README.md)\n * @since 5.0.0\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_volume {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n /**\n * Defines a number that determines the order the extensions are applied.\n */\n this.order = 173;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n if (this.enabled) {\n // We need to disable instance usage because the attenuation factor depends on the node scale of each individual mesh\n this._loader._disableInstancedMesh++;\n }\n }\n /** @internal */\n dispose() {\n if (this.enabled) {\n this._loader._disableInstancedMesh--;\n }\n this._loader = null;\n }\n /**\n * @internal\n */\n loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadVolumePropertiesAsync(extensionContext, material, babylonMaterial, extension));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadVolumePropertiesAsync(context, material, babylonMaterial, extension) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n // If transparency isn't enabled already, this extension shouldn't do anything.\n // i.e. it requires either the KHR_materials_transmission or KHR_materials_diffuse_transmission extensions.\n if ((!babylonMaterial.subSurface.isRefractionEnabled && !babylonMaterial.subSurface.isTranslucencyEnabled) || !extension.thicknessFactor) {\n return Promise.resolve();\n }\n // IOR in this extension only affects interior.\n babylonMaterial.subSurface.volumeIndexOfRefraction = babylonMaterial.indexOfRefraction;\n const attenuationDistance = extension.attenuationDistance !== undefined ? extension.attenuationDistance : Number.MAX_VALUE;\n babylonMaterial.subSurface.tintColorAtDistance = attenuationDistance;\n if (extension.attenuationColor !== undefined && extension.attenuationColor.length == 3) {\n babylonMaterial.subSurface.tintColor.copyFromFloats(extension.attenuationColor[0], extension.attenuationColor[1], extension.attenuationColor[2]);\n }\n babylonMaterial.subSurface.minimumThickness = 0.0;\n babylonMaterial.subSurface.maximumThickness = extension.thicknessFactor;\n babylonMaterial.subSurface.useThicknessAsDepth = true;\n if (extension.thicknessTexture) {\n extension.thicknessTexture.nonColorData = true;\n return this._loader.loadTextureInfoAsync(`${context}/thicknessTexture`, extension.thicknessTexture).then((texture) => {\n texture.name = `${babylonMaterial.name} (thickness)`;\n babylonMaterial.subSurface.thicknessTexture = texture;\n babylonMaterial.subSurface.useGltfStyleTextures = true;\n });\n }\n else {\n return Promise.resolve();\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_volume(loader));\n//# sourceMappingURL=KHR_materials_volume.js.map"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{ak as s,al as e}from"./index-Ba-YQVRw.esm.min.js";const n="KHR_mesh_quantization";class i{constructor(s){this.name=n,this.enabled=s.isExtensionUsed(n)}dispose(){}}s(n),e(n,!0,(s=>new i(s)));export{i as KHR_mesh_quantization};
2
+ //# sourceMappingURL=KHR_mesh_quantization-BFCOpPq5.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_mesh_quantization-BFCOpPq5.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_mesh_quantization.js"],"sourcesContent":["import { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_mesh_quantization\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_mesh_quantization {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this.enabled = loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() { }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_mesh_quantization(loader));\n//# sourceMappingURL=KHR_mesh_quantization.js.map"],"names":["NAME","KHR_mesh_quantization","constructor","loader","this","name","enabled","isExtensionUsed","dispose","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"yDACA,MAAMA,EAAO,wBAKN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EAAOI,gBAAgBP,EACzC,CAED,OAAAQ,GAAa,EAEjBC,EAAwBT,GACxBU,EAAsBV,GAAM,GAAOG,GAAW,IAAIF,EAAsBE"}
@@ -0,0 +1,26 @@
1
+ import { ak as unregisterGLTFExtension, al as registerGLTFExtension } from './index-DCMXQRx5.esm.js';
2
+
3
+ const NAME = "KHR_mesh_quantization";
4
+ /**
5
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md)
6
+ */
7
+ // eslint-disable-next-line @typescript-eslint/naming-convention
8
+ class KHR_mesh_quantization {
9
+ /**
10
+ * @internal
11
+ */
12
+ constructor(loader) {
13
+ /**
14
+ * The name of this extension.
15
+ */
16
+ this.name = NAME;
17
+ this.enabled = loader.isExtensionUsed(NAME);
18
+ }
19
+ /** @internal */
20
+ dispose() { }
21
+ }
22
+ unregisterGLTFExtension(NAME);
23
+ registerGLTFExtension(NAME, true, (loader) => new KHR_mesh_quantization(loader));
24
+
25
+ export { KHR_mesh_quantization };
26
+ //# sourceMappingURL=KHR_mesh_quantization-DPAOJj_N.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_mesh_quantization-DPAOJj_N.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_mesh_quantization.js"],"sourcesContent":["import { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_mesh_quantization\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_mesh_quantization/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_mesh_quantization {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this.enabled = loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() { }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_mesh_quantization(loader));\n//# sourceMappingURL=KHR_mesh_quantization.js.map"],"names":[],"mappings":";;AACA,MAAM,IAAI,GAAG,uBAAuB,CAAC;AACrC;AACA;AACA;AACA;AACO,MAAM,qBAAqB,CAAC;AACnC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACpD,KAAK;AACL;AACA,IAAI,OAAO,GAAG,GAAG;AACjB,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;;;;"}
@@ -0,0 +1,43 @@
1
+ import { GLTFLoader, ArrayItem } from './glTFLoader-Da2YOCGR.esm.js';
2
+ import { ak as unregisterGLTFExtension, al as registerGLTFExtension } from './index-DCMXQRx5.esm.js';
3
+ import './rawTexture-DqO-U47x.esm.js';
4
+ import './assetContainer-DEN9e8ap.esm.js';
5
+ import './glTFLoaderAnimation-CbznFn_D.esm.js';
6
+
7
+ const NAME = "KHR_texture_basisu";
8
+ /**
9
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_basisu/README.md)
10
+ */
11
+ // eslint-disable-next-line @typescript-eslint/naming-convention
12
+ class KHR_texture_basisu {
13
+ /**
14
+ * @internal
15
+ */
16
+ constructor(loader) {
17
+ /** The name of this extension. */
18
+ this.name = NAME;
19
+ this._loader = loader;
20
+ this.enabled = loader.isExtensionUsed(NAME);
21
+ }
22
+ /** @internal */
23
+ dispose() {
24
+ this._loader = null;
25
+ }
26
+ /**
27
+ * @internal
28
+ */
29
+ _loadTextureAsync(context, texture, assign) {
30
+ return GLTFLoader.LoadExtensionAsync(context, texture, this.name, (extensionContext, extension) => {
31
+ const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);
32
+ const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);
33
+ return this._loader._createTextureAsync(context, sampler, image, (babylonTexture) => {
34
+ assign(babylonTexture);
35
+ }, texture._textureInfo.nonColorData ? { useRGBAIfASTCBC7NotAvailableWhenUASTC: true } : undefined, !texture._textureInfo.nonColorData);
36
+ });
37
+ }
38
+ }
39
+ unregisterGLTFExtension(NAME);
40
+ registerGLTFExtension(NAME, true, (loader) => new KHR_texture_basisu(loader));
41
+
42
+ export { KHR_texture_basisu };
43
+ //# sourceMappingURL=KHR_texture_basisu-BGQg840h.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_texture_basisu-BGQg840h.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_texture_basisu.js"],"sourcesContent":["import { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_texture_basisu\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_basisu/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_texture_basisu {\n /**\n * @internal\n */\n constructor(loader) {\n /** The name of this extension. */\n this.name = NAME;\n this._loader = loader;\n this.enabled = loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n _loadTextureAsync(context, texture, assign) {\n return GLTFLoader.LoadExtensionAsync(context, texture, this.name, (extensionContext, extension) => {\n const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);\n const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);\n return this._loader._createTextureAsync(context, sampler, image, (babylonTexture) => {\n assign(babylonTexture);\n }, texture._textureInfo.nonColorData ? { useRGBAIfASTCBC7NotAvailableWhenUASTC: true } : undefined, !texture._textureInfo.nonColorData);\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_texture_basisu(loader));\n//# sourceMappingURL=KHR_texture_basisu.js.map"],"names":[],"mappings":";;;;;;AAEA,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC;AACA;AACA;AACA;AACO,MAAM,kBAAkB,CAAC;AAChC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACpD,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,KAAK;AACL;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;AAChD,QAAQ,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,gBAAgB,EAAE,SAAS,KAAK;AAC3G,YAAY,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,GAAG,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACxK,YAAY,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAClH,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,cAAc,KAAK;AACjG,gBAAgB,MAAM,CAAC,cAAc,CAAC,CAAC;AACvC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,GAAG,EAAE,qCAAqC,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;AACpJ,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ import{GLTFLoader as e,ArrayItem as s}from"./glTFLoader-Is2_r9v2.esm.min.js";import{ak as t,al as r}from"./index-Ba-YQVRw.esm.min.js";import"./rawTexture-CnRJFGS0.esm.min.js";import"./assetContainer-CaFtpYEC.esm.min.js";import"./glTFLoaderAnimation-Bglz6m7h.esm.min.js";const o="KHR_texture_basisu";class a{constructor(e){this.name=o,this._loader=e,this.enabled=e.isExtensionUsed(o)}dispose(){this._loader=null}_loadTextureAsync(t,r,o){return e.LoadExtensionAsync(t,r,this.name,((a,n)=>{const i=null==r.sampler?e.DefaultSampler:s.Get(`${t}/sampler`,this._loader.gltf.samplers,r.sampler),l=s.Get(`${a}/source`,this._loader.gltf.images,n.source);return this._loader._createTextureAsync(t,i,l,(e=>{o(e)}),r._textureInfo.nonColorData?{useRGBAIfASTCBC7NotAvailableWhenUASTC:!0}:void 0,!r._textureInfo.nonColorData)}))}}t(o),r(o,!0,(e=>new a(e)));export{a as KHR_texture_basisu};
2
+ //# sourceMappingURL=KHR_texture_basisu-DjOd_UYI.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_texture_basisu-DjOd_UYI.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_texture_basisu.js"],"sourcesContent":["import { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_texture_basisu\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_basisu/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_texture_basisu {\n /**\n * @internal\n */\n constructor(loader) {\n /** The name of this extension. */\n this.name = NAME;\n this._loader = loader;\n this.enabled = loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n _loadTextureAsync(context, texture, assign) {\n return GLTFLoader.LoadExtensionAsync(context, texture, this.name, (extensionContext, extension) => {\n const sampler = texture.sampler == undefined ? GLTFLoader.DefaultSampler : ArrayItem.Get(`${context}/sampler`, this._loader.gltf.samplers, texture.sampler);\n const image = ArrayItem.Get(`${extensionContext}/source`, this._loader.gltf.images, extension.source);\n return this._loader._createTextureAsync(context, sampler, image, (babylonTexture) => {\n assign(babylonTexture);\n }, texture._textureInfo.nonColorData ? { useRGBAIfASTCBC7NotAvailableWhenUASTC: true } : undefined, !texture._textureInfo.nonColorData);\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_texture_basisu(loader));\n//# sourceMappingURL=KHR_texture_basisu.js.map"],"names":["NAME","KHR_texture_basisu","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","_loadTextureAsync","context","texture","assign","GLTFLoader","LoadExtensionAsync","extensionContext","extension","sampler","undefined","DefaultSampler","ArrayItem","Get","gltf","samplers","image","images","source","_createTextureAsync","babylonTexture","_textureInfo","nonColorData","useRGBAIfASTCBC7NotAvailableWhenUASTC","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"8QAEA,MAAMA,EAAO,qBAKN,MAAMC,EAIT,WAAAC,CAAYC,GAERC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EACfC,KAAKG,QAAUJ,EAAOK,gBAAgBR,EACzC,CAED,OAAAS,GACIL,KAAKE,QAAU,IAClB,CAID,iBAAAI,CAAkBC,EAASC,EAASC,GAChC,OAAOC,EAAWC,mBAAmBJ,EAASC,EAASR,KAAKC,MAAM,CAACW,EAAkBC,KACjF,MAAMC,EAA6BC,MAAnBP,EAAQM,QAAuBJ,EAAWM,eAAiBC,EAAUC,IAAI,GAAGX,YAAmBP,KAAKE,QAAQiB,KAAKC,SAAUZ,EAAQM,SAC7IO,EAAQJ,EAAUC,IAAI,GAAGN,WAA2BZ,KAAKE,QAAQiB,KAAKG,OAAQT,EAAUU,QAC9F,OAAOvB,KAAKE,QAAQsB,oBAAoBjB,EAASO,EAASO,GAAQI,IAC9DhB,EAAOgB,EAAe,GACvBjB,EAAQkB,aAAaC,aAAe,CAAEC,uCAAuC,QAASb,GAAYP,EAAQkB,aAAaC,aAAa,GAE9I,EAELE,EAAwBjC,GACxBkC,EAAsBlC,GAAM,GAAOG,GAAW,IAAIF,EAAmBE"}
@@ -0,0 +1,63 @@
1
+ import { T as Texture, ak as unregisterGLTFExtension, al as registerGLTFExtension } from './index-DCMXQRx5.esm.js';
2
+ import { GLTFLoader } from './glTFLoader-Da2YOCGR.esm.js';
3
+ import './rawTexture-DqO-U47x.esm.js';
4
+ import './assetContainer-DEN9e8ap.esm.js';
5
+ import './glTFLoaderAnimation-CbznFn_D.esm.js';
6
+
7
+ const NAME = "KHR_texture_transform";
8
+ /**
9
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md)
10
+ */
11
+ // eslint-disable-next-line @typescript-eslint/naming-convention
12
+ class KHR_texture_transform {
13
+ /**
14
+ * @internal
15
+ */
16
+ constructor(loader) {
17
+ /**
18
+ * The name of this extension.
19
+ */
20
+ this.name = NAME;
21
+ this._loader = loader;
22
+ this.enabled = this._loader.isExtensionUsed(NAME);
23
+ }
24
+ /** @internal */
25
+ dispose() {
26
+ this._loader = null;
27
+ }
28
+ /**
29
+ * @internal
30
+ */
31
+ loadTextureInfoAsync(context, textureInfo, assign) {
32
+ return GLTFLoader.LoadExtensionAsync(context, textureInfo, this.name, (extensionContext, extension) => {
33
+ return this._loader.loadTextureInfoAsync(context, textureInfo, (babylonTexture) => {
34
+ if (!(babylonTexture instanceof Texture)) {
35
+ throw new Error(`${extensionContext}: Texture type not supported`);
36
+ }
37
+ if (extension.offset) {
38
+ babylonTexture.uOffset = extension.offset[0];
39
+ babylonTexture.vOffset = extension.offset[1];
40
+ }
41
+ // Always rotate around the origin.
42
+ babylonTexture.uRotationCenter = 0;
43
+ babylonTexture.vRotationCenter = 0;
44
+ if (extension.rotation) {
45
+ babylonTexture.wAng = -extension.rotation;
46
+ }
47
+ if (extension.scale) {
48
+ babylonTexture.uScale = extension.scale[0];
49
+ babylonTexture.vScale = extension.scale[1];
50
+ }
51
+ if (extension.texCoord != undefined) {
52
+ babylonTexture.coordinatesIndex = extension.texCoord;
53
+ }
54
+ assign(babylonTexture);
55
+ });
56
+ });
57
+ }
58
+ }
59
+ unregisterGLTFExtension(NAME);
60
+ registerGLTFExtension(NAME, true, (loader) => new KHR_texture_transform(loader));
61
+
62
+ export { KHR_texture_transform };
63
+ //# sourceMappingURL=KHR_texture_transform-CIEkHeKT.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_texture_transform-CIEkHeKT.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_texture_transform.js"],"sourcesContent":["import { Texture } from \"core/Materials/Textures/texture\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_texture_transform\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_texture_transform {\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.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadTextureInfoAsync(context, textureInfo, assign) {\n return GLTFLoader.LoadExtensionAsync(context, textureInfo, this.name, (extensionContext, extension) => {\n return this._loader.loadTextureInfoAsync(context, textureInfo, (babylonTexture) => {\n if (!(babylonTexture instanceof Texture)) {\n throw new Error(`${extensionContext}: Texture type not supported`);\n }\n if (extension.offset) {\n babylonTexture.uOffset = extension.offset[0];\n babylonTexture.vOffset = extension.offset[1];\n }\n // Always rotate around the origin.\n babylonTexture.uRotationCenter = 0;\n babylonTexture.vRotationCenter = 0;\n if (extension.rotation) {\n babylonTexture.wAng = -extension.rotation;\n }\n if (extension.scale) {\n babylonTexture.uScale = extension.scale[0];\n babylonTexture.vScale = extension.scale[1];\n }\n if (extension.texCoord != undefined) {\n babylonTexture.coordinatesIndex = extension.texCoord;\n }\n assign(babylonTexture);\n });\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_texture_transform(loader));\n//# sourceMappingURL=KHR_texture_transform.js.map"],"names":[],"mappings":";;;;;;AAGA,MAAM,IAAI,GAAG,uBAAuB,CAAC;AACrC;AACA;AACA;AACA;AACO,MAAM,qBAAqB,CAAC;AACnC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1D,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,KAAK;AACL;AACA;AACA;AACA,IAAI,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE;AACvD,QAAQ,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,gBAAgB,EAAE,SAAS,KAAK;AAC/G,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,cAAc,KAAK;AAC/F,gBAAgB,IAAI,EAAE,cAAc,YAAY,OAAO,CAAC,EAAE;AAC1D,oBAAoB,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC;AACvF,iBAAiB;AACjB,gBAAgB,IAAI,SAAS,CAAC,MAAM,EAAE;AACtC,oBAAoB,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjE,oBAAoB,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjE,iBAAiB;AACjB;AACA,gBAAgB,cAAc,CAAC,eAAe,GAAG,CAAC,CAAC;AACnD,gBAAgB,cAAc,CAAC,eAAe,GAAG,CAAC,CAAC;AACnD,gBAAgB,IAAI,SAAS,CAAC,QAAQ,EAAE;AACxC,oBAAoB,cAAc,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC9D,iBAAiB;AACjB,gBAAgB,IAAI,SAAS,CAAC,KAAK,EAAE;AACrC,oBAAoB,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,oBAAoB,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,iBAAiB;AACjB,gBAAgB,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,EAAE;AACrD,oBAAoB,cAAc,CAAC,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC;AACzE,iBAAiB;AACjB,gBAAgB,MAAM,CAAC,cAAc,CAAC,CAAC;AACvC,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ import{T as e,ak as t,al as o}from"./index-Ba-YQVRw.esm.min.js";import{GLTFLoader as s}from"./glTFLoader-Is2_r9v2.esm.min.js";import"./rawTexture-CnRJFGS0.esm.min.js";import"./assetContainer-CaFtpYEC.esm.min.js";import"./glTFLoaderAnimation-Bglz6m7h.esm.min.js";const n="KHR_texture_transform";class r{constructor(e){this.name=n,this._loader=e,this.enabled=this._loader.isExtensionUsed(n)}dispose(){this._loader=null}loadTextureInfoAsync(t,o,n){return s.LoadExtensionAsync(t,o,this.name,((s,r)=>this._loader.loadTextureInfoAsync(t,o,(t=>{if(!(t instanceof e))throw new Error(`${s}: Texture type not supported`);r.offset&&(t.uOffset=r.offset[0],t.vOffset=r.offset[1]),t.uRotationCenter=0,t.vRotationCenter=0,r.rotation&&(t.wAng=-r.rotation),r.scale&&(t.uScale=r.scale[0],t.vScale=r.scale[1]),null!=r.texCoord&&(t.coordinatesIndex=r.texCoord),n(t)}))))}}t(n),o(n,!0,(e=>new r(e)));export{r as KHR_texture_transform};
2
+ //# sourceMappingURL=KHR_texture_transform-LAK_4q2j.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_texture_transform-LAK_4q2j.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_texture_transform.js"],"sourcesContent":["import { Texture } from \"core/Materials/Textures/texture\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_texture_transform\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_texture_transform {\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.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * @internal\n */\n loadTextureInfoAsync(context, textureInfo, assign) {\n return GLTFLoader.LoadExtensionAsync(context, textureInfo, this.name, (extensionContext, extension) => {\n return this._loader.loadTextureInfoAsync(context, textureInfo, (babylonTexture) => {\n if (!(babylonTexture instanceof Texture)) {\n throw new Error(`${extensionContext}: Texture type not supported`);\n }\n if (extension.offset) {\n babylonTexture.uOffset = extension.offset[0];\n babylonTexture.vOffset = extension.offset[1];\n }\n // Always rotate around the origin.\n babylonTexture.uRotationCenter = 0;\n babylonTexture.vRotationCenter = 0;\n if (extension.rotation) {\n babylonTexture.wAng = -extension.rotation;\n }\n if (extension.scale) {\n babylonTexture.uScale = extension.scale[0];\n babylonTexture.vScale = extension.scale[1];\n }\n if (extension.texCoord != undefined) {\n babylonTexture.coordinatesIndex = extension.texCoord;\n }\n assign(babylonTexture);\n });\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_texture_transform(loader));\n//# sourceMappingURL=KHR_texture_transform.js.map"],"names":["NAME","KHR_texture_transform","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","loadTextureInfoAsync","context","textureInfo","assign","GLTFLoader","LoadExtensionAsync","extensionContext","extension","babylonTexture","Texture","Error","offset","uOffset","vOffset","uRotationCenter","vRotationCenter","rotation","wAng","scale","uScale","vScale","undefined","texCoord","coordinatesIndex","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"sQAGA,MAAMA,EAAO,wBAKN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EACZI,KAAKE,QAAUH,EACfC,KAAKG,QAAUH,KAAKE,QAAQE,gBAAgBR,EAC/C,CAED,OAAAS,GACIL,KAAKE,QAAU,IAClB,CAID,oBAAAI,CAAqBC,EAASC,EAAaC,GACvC,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAaR,KAAKC,MAAM,CAACW,EAAkBC,IAC9Eb,KAAKE,QAAQI,qBAAqBC,EAASC,GAAcM,IAC5D,KAAMA,aAA0BC,GAC5B,MAAM,IAAIC,MAAM,GAAGJ,iCAEnBC,EAAUI,SACVH,EAAeI,QAAUL,EAAUI,OAAO,GAC1CH,EAAeK,QAAUN,EAAUI,OAAO,IAG9CH,EAAeM,gBAAkB,EACjCN,EAAeO,gBAAkB,EAC7BR,EAAUS,WACVR,EAAeS,MAAQV,EAAUS,UAEjCT,EAAUW,QACVV,EAAeW,OAASZ,EAAUW,MAAM,GACxCV,EAAeY,OAASb,EAAUW,MAAM,IAElBG,MAAtBd,EAAUe,WACVd,EAAee,iBAAmBhB,EAAUe,UAEhDnB,EAAOK,EAAe,KAGjC,EAELgB,EAAwBlC,GACxBmC,EAAsBnC,GAAM,GAAOG,GAAW,IAAIF,EAAsBE"}
@@ -0,0 +1,2 @@
1
+ import{ak as s,al as t}from"./index-Ba-YQVRw.esm.min.js";const o="KHR_xmp_json_ld";class e{constructor(s){this.name=o,this.order=100,this._loader=s,this.enabled=this._loader.isExtensionUsed(o)}dispose(){this._loader=null}onLoading(){if(null===this._loader.rootBabylonMesh)return;const s=this._loader.gltf.extensions?.KHR_xmp_json_ld,t=this._loader.gltf.asset?.extensions?.KHR_xmp_json_ld;if(s&&t){const o=+t.packet;s.packets&&o<s.packets.length&&(this._loader.rootBabylonMesh.metadata=this._loader.rootBabylonMesh.metadata||{},this._loader.rootBabylonMesh.metadata.xmp=s.packets[o])}}}s(o),t(o,!0,(s=>new e(s)));export{e as KHR_xmp_json_ld};
2
+ //# sourceMappingURL=KHR_xmp_json_ld-ByF20O9F.esm.min.js.map