@babylonjs/viewer 7.27.3 → 7.28.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 (587) hide show
  1. package/assets/photoStudio.env +0 -0
  2. package/dist/babylon-viewer.esm.js +2 -0
  3. package/dist/babylon-viewer.esm.js.map +1 -0
  4. package/dist/babylon-viewer.esm.min.js +2 -0
  5. package/dist/babylon-viewer.esm.min.js.map +1 -0
  6. package/dist/chunks/EXT_lights_image_based-3eXoqwff.esm.min.js +2 -0
  7. package/dist/chunks/EXT_lights_image_based-3eXoqwff.esm.min.js.map +1 -0
  8. package/dist/chunks/EXT_lights_image_based-DgCGZ2BG.esm.js +172 -0
  9. package/dist/chunks/EXT_lights_image_based-DgCGZ2BG.esm.js.map +1 -0
  10. package/dist/chunks/EXT_mesh_gpu_instancing-UFRD8RET.esm.js +86 -0
  11. package/dist/chunks/EXT_mesh_gpu_instancing-UFRD8RET.esm.js.map +1 -0
  12. package/dist/chunks/EXT_mesh_gpu_instancing-jLXZLcnP.esm.min.js +2 -0
  13. package/dist/chunks/EXT_mesh_gpu_instancing-jLXZLcnP.esm.min.js.map +1 -0
  14. package/dist/chunks/EXT_meshopt_compression-2itUWj1c.esm.js +134 -0
  15. package/dist/chunks/EXT_meshopt_compression-2itUWj1c.esm.js.map +1 -0
  16. package/dist/chunks/EXT_meshopt_compression-COSiPUUL.esm.min.js +2 -0
  17. package/dist/chunks/EXT_meshopt_compression-COSiPUUL.esm.min.js.map +1 -0
  18. package/dist/chunks/EXT_texture_avif-DDk0j61R.esm.js +44 -0
  19. package/dist/chunks/EXT_texture_avif-DDk0j61R.esm.js.map +1 -0
  20. package/dist/chunks/EXT_texture_avif-S53GgWUZ.esm.min.js +2 -0
  21. package/dist/chunks/EXT_texture_avif-S53GgWUZ.esm.min.js.map +1 -0
  22. package/dist/chunks/EXT_texture_webp-C9RawsOL.esm.js +43 -0
  23. package/dist/chunks/EXT_texture_webp-C9RawsOL.esm.js.map +1 -0
  24. package/dist/chunks/EXT_texture_webp-D2XKcbvR.esm.min.js +2 -0
  25. package/dist/chunks/EXT_texture_webp-D2XKcbvR.esm.min.js.map +1 -0
  26. package/dist/chunks/ExtrasAsMetadata-CT2uMzBs.esm.js +64 -0
  27. package/dist/chunks/ExtrasAsMetadata-CT2uMzBs.esm.js.map +1 -0
  28. package/dist/chunks/ExtrasAsMetadata-CTQija-r.esm.min.js +2 -0
  29. package/dist/chunks/ExtrasAsMetadata-CTQija-r.esm.min.js.map +1 -0
  30. package/dist/chunks/KHR_animation_pointer-BRkXpXY_.esm.min.js +2 -0
  31. package/dist/chunks/KHR_animation_pointer-BRkXpXY_.esm.min.js.map +1 -0
  32. package/dist/chunks/KHR_animation_pointer-DrPB7NZz.esm.js +343 -0
  33. package/dist/chunks/KHR_animation_pointer-DrPB7NZz.esm.js.map +1 -0
  34. package/dist/chunks/KHR_draco_mesh_compression-3KGuSXAA.esm.min.js +2 -0
  35. package/dist/chunks/KHR_draco_mesh_compression-3KGuSXAA.esm.min.js.map +1 -0
  36. package/dist/chunks/KHR_draco_mesh_compression-CwTlj-Hp.esm.js +610 -0
  37. package/dist/chunks/KHR_draco_mesh_compression-CwTlj-Hp.esm.js.map +1 -0
  38. package/dist/chunks/KHR_interactivity-CPooex_D.esm.js +4033 -0
  39. package/dist/chunks/KHR_interactivity-CPooex_D.esm.js.map +1 -0
  40. package/dist/chunks/KHR_interactivity-CjtTFwNc.esm.min.js +2 -0
  41. package/dist/chunks/KHR_interactivity-CjtTFwNc.esm.min.js.map +1 -0
  42. package/dist/chunks/KHR_lights_punctual-CE_Pbomw.esm.js +1253 -0
  43. package/dist/chunks/KHR_lights_punctual-CE_Pbomw.esm.js.map +1 -0
  44. package/dist/chunks/KHR_lights_punctual-MUrTncyq.esm.min.js +2 -0
  45. package/dist/chunks/KHR_lights_punctual-MUrTncyq.esm.min.js.map +1 -0
  46. package/dist/chunks/KHR_materials_anisotropy-DcEIoErr.esm.js +64 -0
  47. package/dist/chunks/KHR_materials_anisotropy-DcEIoErr.esm.js.map +1 -0
  48. package/dist/chunks/KHR_materials_anisotropy-U-61ECua.esm.min.js +2 -0
  49. package/dist/chunks/KHR_materials_anisotropy-U-61ECua.esm.min.js.map +1 -0
  50. package/dist/chunks/KHR_materials_clearcoat-CtK90V8c.esm.js +96 -0
  51. package/dist/chunks/KHR_materials_clearcoat-CtK90V8c.esm.js.map +1 -0
  52. package/dist/chunks/KHR_materials_clearcoat-DMi2rgcw.esm.min.js +2 -0
  53. package/dist/chunks/KHR_materials_clearcoat-DMi2rgcw.esm.min.js.map +1 -0
  54. package/dist/chunks/KHR_materials_diffuse_transmission-BwohhmnH.esm.js +97 -0
  55. package/dist/chunks/KHR_materials_diffuse_transmission-BwohhmnH.esm.js.map +1 -0
  56. package/dist/chunks/KHR_materials_diffuse_transmission-aRFTAZnS.esm.min.js +2 -0
  57. package/dist/chunks/KHR_materials_diffuse_transmission-aRFTAZnS.esm.min.js.map +1 -0
  58. package/dist/chunks/KHR_materials_dispersion-C0sb52Jw.esm.js +62 -0
  59. package/dist/chunks/KHR_materials_dispersion-C0sb52Jw.esm.js.map +1 -0
  60. package/dist/chunks/KHR_materials_dispersion-C4HCJyeO.esm.min.js +2 -0
  61. package/dist/chunks/KHR_materials_dispersion-C4HCJyeO.esm.min.js.map +1 -0
  62. package/dist/chunks/KHR_materials_emissive_strength-CthUQnvM.esm.js +55 -0
  63. package/dist/chunks/KHR_materials_emissive_strength-CthUQnvM.esm.js.map +1 -0
  64. package/dist/chunks/KHR_materials_emissive_strength-L5aAyvqr.esm.min.js +2 -0
  65. package/dist/chunks/KHR_materials_emissive_strength-L5aAyvqr.esm.min.js.map +1 -0
  66. package/dist/chunks/KHR_materials_ior-BSUtCKDf.esm.js +64 -0
  67. package/dist/chunks/KHR_materials_ior-BSUtCKDf.esm.js.map +1 -0
  68. package/dist/chunks/KHR_materials_ior-DAKNR7z-.esm.min.js +2 -0
  69. package/dist/chunks/KHR_materials_ior-DAKNR7z-.esm.min.js.map +1 -0
  70. package/dist/chunks/KHR_materials_iridescence-BjLvEtdQ.esm.min.js +2 -0
  71. package/dist/chunks/KHR_materials_iridescence-BjLvEtdQ.esm.min.js.map +1 -0
  72. package/dist/chunks/KHR_materials_iridescence-CQ-o2Qag.esm.js +72 -0
  73. package/dist/chunks/KHR_materials_iridescence-CQ-o2Qag.esm.js.map +1 -0
  74. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Cx8AsXK8.esm.min.js +2 -0
  75. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Cx8AsXK8.esm.min.js.map +1 -0
  76. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-iQiy6qp4.esm.js +81 -0
  77. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-iQiy6qp4.esm.js.map +1 -0
  78. package/dist/chunks/KHR_materials_sheen-CQkrxBFM.esm.min.js +2 -0
  79. package/dist/chunks/KHR_materials_sheen-CQkrxBFM.esm.min.js.map +1 -0
  80. package/dist/chunks/KHR_materials_sheen-IPqZM4PN.esm.js +85 -0
  81. package/dist/chunks/KHR_materials_sheen-IPqZM4PN.esm.js.map +1 -0
  82. package/dist/chunks/KHR_materials_specular-BkCr8Zv5.esm.js +75 -0
  83. package/dist/chunks/KHR_materials_specular-BkCr8Zv5.esm.js.map +1 -0
  84. package/dist/chunks/KHR_materials_specular-CVIDVIZl.esm.min.js +2 -0
  85. package/dist/chunks/KHR_materials_specular-CVIDVIZl.esm.min.js.map +1 -0
  86. package/dist/chunks/KHR_materials_transmission--XYp5qZT.esm.min.js +2 -0
  87. package/dist/chunks/KHR_materials_transmission--XYp5qZT.esm.min.js.map +1 -0
  88. package/dist/chunks/KHR_materials_transmission-C5q0bJ71.esm.js +307 -0
  89. package/dist/chunks/KHR_materials_transmission-C5q0bJ71.esm.js.map +1 -0
  90. package/dist/chunks/KHR_materials_unlit-C_0UOWUu.esm.min.js +2 -0
  91. package/dist/chunks/KHR_materials_unlit-C_0UOWUu.esm.min.js.map +1 -0
  92. package/dist/chunks/KHR_materials_unlit-qnEYXc2y.esm.js +74 -0
  93. package/dist/chunks/KHR_materials_unlit-qnEYXc2y.esm.js.map +1 -0
  94. package/dist/chunks/KHR_materials_variants-CXJiHSOj.esm.js +238 -0
  95. package/dist/chunks/KHR_materials_variants-CXJiHSOj.esm.js.map +1 -0
  96. package/dist/chunks/KHR_materials_variants-DYis5Tv2.esm.min.js +2 -0
  97. package/dist/chunks/KHR_materials_variants-DYis5Tv2.esm.min.js.map +1 -0
  98. package/dist/chunks/KHR_materials_volume-BfwkCW5U.esm.min.js +2 -0
  99. package/dist/chunks/KHR_materials_volume-BfwkCW5U.esm.min.js.map +1 -0
  100. package/dist/chunks/KHR_materials_volume-DjJClxGQ.esm.js +87 -0
  101. package/dist/chunks/KHR_materials_volume-DjJClxGQ.esm.js.map +1 -0
  102. package/dist/chunks/KHR_mesh_quantization-BVjp41hH.esm.js +26 -0
  103. package/dist/chunks/KHR_mesh_quantization-BVjp41hH.esm.js.map +1 -0
  104. package/dist/chunks/KHR_mesh_quantization-Bs1ERLau.esm.min.js +2 -0
  105. package/dist/chunks/KHR_mesh_quantization-Bs1ERLau.esm.min.js.map +1 -0
  106. package/dist/chunks/KHR_texture_basisu-CX4ZwCxA.esm.min.js +2 -0
  107. package/dist/chunks/KHR_texture_basisu-CX4ZwCxA.esm.min.js.map +1 -0
  108. package/dist/chunks/KHR_texture_basisu-DpzoPKaR.esm.js +43 -0
  109. package/dist/chunks/KHR_texture_basisu-DpzoPKaR.esm.js.map +1 -0
  110. package/dist/chunks/KHR_texture_transform-BYTNC2PZ.esm.js +63 -0
  111. package/dist/chunks/KHR_texture_transform-BYTNC2PZ.esm.js.map +1 -0
  112. package/dist/chunks/KHR_texture_transform-D2gSKYqq.esm.min.js +2 -0
  113. package/dist/chunks/KHR_texture_transform-D2gSKYqq.esm.min.js.map +1 -0
  114. package/dist/chunks/KHR_xmp_json_ld-B9p_mnIE.esm.min.js +2 -0
  115. package/dist/chunks/KHR_xmp_json_ld-B9p_mnIE.esm.min.js.map +1 -0
  116. package/dist/chunks/KHR_xmp_json_ld-yryfql1G.esm.js +51 -0
  117. package/dist/chunks/KHR_xmp_json_ld-yryfql1G.esm.js.map +1 -0
  118. package/dist/chunks/MSFT_audio_emitter-CsMdhXHJ.esm.min.js +2 -0
  119. package/dist/chunks/MSFT_audio_emitter-CsMdhXHJ.esm.min.js.map +1 -0
  120. package/dist/chunks/MSFT_audio_emitter-bdzRBwn5.esm.js +2207 -0
  121. package/dist/chunks/MSFT_audio_emitter-bdzRBwn5.esm.js.map +1 -0
  122. package/dist/chunks/MSFT_lod-CRv-taiG.esm.js +337 -0
  123. package/dist/chunks/MSFT_lod-CRv-taiG.esm.js.map +1 -0
  124. package/dist/chunks/MSFT_lod-DY6GwVy6.esm.min.js +2 -0
  125. package/dist/chunks/MSFT_lod-DY6GwVy6.esm.min.js.map +1 -0
  126. package/dist/chunks/MSFT_minecraftMesh-BKt5AmWl.esm.js +46 -0
  127. package/dist/chunks/MSFT_minecraftMesh-BKt5AmWl.esm.js.map +1 -0
  128. package/dist/chunks/MSFT_minecraftMesh-Dt7wMpY2.esm.min.js +2 -0
  129. package/dist/chunks/MSFT_minecraftMesh-Dt7wMpY2.esm.min.js.map +1 -0
  130. package/dist/chunks/MSFT_sRGBFactors-72Bu-2h1.esm.min.js +2 -0
  131. package/dist/chunks/MSFT_sRGBFactors-72Bu-2h1.esm.min.js.map +1 -0
  132. package/dist/chunks/MSFT_sRGBFactors-BbWdK1_1.esm.js +47 -0
  133. package/dist/chunks/MSFT_sRGBFactors-BbWdK1_1.esm.js.map +1 -0
  134. package/dist/chunks/animationGroup-Cnv-QRPm.esm.js +2479 -0
  135. package/dist/chunks/animationGroup-Cnv-QRPm.esm.js.map +1 -0
  136. package/dist/chunks/animationGroup-Dj6g76i_.esm.min.js +2 -0
  137. package/dist/chunks/animationGroup-Dj6g76i_.esm.min.js.map +1 -0
  138. package/dist/chunks/assetContainer-C-F4HA2b.esm.js +1720 -0
  139. package/dist/chunks/assetContainer-C-F4HA2b.esm.js.map +1 -0
  140. package/dist/chunks/assetContainer-yzkL3HL9.esm.min.js +2 -0
  141. package/dist/chunks/assetContainer-yzkL3HL9.esm.min.js.map +1 -0
  142. package/dist/chunks/audioEngine-2xiZaVR-.esm.min.js +2 -0
  143. package/dist/chunks/audioEngine-2xiZaVR-.esm.min.js.map +1 -0
  144. package/dist/chunks/audioEngine-Cx0ma7EX.esm.js +305 -0
  145. package/dist/chunks/audioEngine-Cx0ma7EX.esm.js.map +1 -0
  146. package/dist/chunks/bakedVertexAnimation-ANJNS_Pv.esm.min.js +2 -0
  147. package/dist/chunks/bakedVertexAnimation-ANJNS_Pv.esm.min.js.map +1 -0
  148. package/dist/chunks/bakedVertexAnimation-CxyFWdGx.esm.js +119 -0
  149. package/dist/chunks/bakedVertexAnimation-CxyFWdGx.esm.js.map +1 -0
  150. package/dist/chunks/basisTextureLoader-BwtYdV_P.esm.js +600 -0
  151. package/dist/chunks/basisTextureLoader-BwtYdV_P.esm.js.map +1 -0
  152. package/dist/chunks/basisTextureLoader-Dq_XBlPR.esm.min.js +2 -0
  153. package/dist/chunks/basisTextureLoader-Dq_XBlPR.esm.min.js.map +1 -0
  154. package/dist/chunks/dds-D5OqOLui.esm.js +540 -0
  155. package/dist/chunks/dds-D5OqOLui.esm.js.map +1 -0
  156. package/dist/chunks/dds-DK9ShfvY.esm.min.js +2 -0
  157. package/dist/chunks/dds-DK9ShfvY.esm.min.js.map +1 -0
  158. package/dist/chunks/ddsTextureLoader-2ezzl3nq.esm.js +88 -0
  159. package/dist/chunks/ddsTextureLoader-2ezzl3nq.esm.js.map +1 -0
  160. package/dist/chunks/ddsTextureLoader-C3o86gMM.esm.min.js +2 -0
  161. package/dist/chunks/ddsTextureLoader-C3o86gMM.esm.min.js.map +1 -0
  162. package/dist/chunks/decalFragment-Drag0mRm.esm.js +18 -0
  163. package/dist/chunks/decalFragment-Drag0mRm.esm.js.map +1 -0
  164. package/dist/chunks/decalFragment-I7zHHg4g.esm.min.js +2 -0
  165. package/dist/chunks/decalFragment-I7zHHg4g.esm.min.js.map +1 -0
  166. package/dist/chunks/default.fragment-C757ivRm.esm.min.js +2 -0
  167. package/dist/chunks/default.fragment-C757ivRm.esm.min.js.map +1 -0
  168. package/dist/chunks/default.fragment-CBCZy0zH.esm.js +515 -0
  169. package/dist/chunks/default.fragment-CBCZy0zH.esm.js.map +1 -0
  170. package/dist/chunks/default.fragment-CxhchRBe.esm.min.js +2 -0
  171. package/dist/chunks/default.fragment-CxhchRBe.esm.min.js.map +1 -0
  172. package/dist/chunks/default.fragment-vJeaqi0K.esm.js +449 -0
  173. package/dist/chunks/default.fragment-vJeaqi0K.esm.js.map +1 -0
  174. package/dist/chunks/default.vertex-CyPWwm-H.esm.min.js +2 -0
  175. package/dist/chunks/default.vertex-CyPWwm-H.esm.min.js.map +1 -0
  176. package/dist/chunks/default.vertex-DKlAQm_v.esm.min.js +2 -0
  177. package/dist/chunks/default.vertex-DKlAQm_v.esm.min.js.map +1 -0
  178. package/dist/chunks/default.vertex-EbP94etr.esm.js +199 -0
  179. package/dist/chunks/default.vertex-EbP94etr.esm.js.map +1 -0
  180. package/dist/chunks/default.vertex-sXmCc1dY.esm.js +180 -0
  181. package/dist/chunks/default.vertex-sXmCc1dY.esm.js.map +1 -0
  182. package/dist/chunks/defaultUboDeclaration-C3pnDAEV.esm.min.js +2 -0
  183. package/dist/chunks/defaultUboDeclaration-C3pnDAEV.esm.min.js.map +1 -0
  184. package/dist/chunks/defaultUboDeclaration-DKQWE8MQ.esm.min.js +2 -0
  185. package/dist/chunks/defaultUboDeclaration-DKQWE8MQ.esm.min.js.map +1 -0
  186. package/dist/chunks/defaultUboDeclaration-DjoMGLp2.esm.js +13 -0
  187. package/dist/chunks/defaultUboDeclaration-DjoMGLp2.esm.js.map +1 -0
  188. package/dist/chunks/defaultUboDeclaration-HaQvlp0b.esm.js +15 -0
  189. package/dist/chunks/defaultUboDeclaration-HaQvlp0b.esm.js.map +1 -0
  190. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +11 -0
  191. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +1 -0
  192. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +2 -0
  193. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +1 -0
  194. package/dist/chunks/dumpTools-8Kbuuv_t.esm.js +401 -0
  195. package/dist/chunks/dumpTools-8Kbuuv_t.esm.js.map +1 -0
  196. package/dist/chunks/dumpTools-BQULMnHn.esm.min.js +2 -0
  197. package/dist/chunks/dumpTools-BQULMnHn.esm.min.js.map +1 -0
  198. package/dist/chunks/engine-R8ufvngA.esm.js +2174 -0
  199. package/dist/chunks/engine-R8ufvngA.esm.js.map +1 -0
  200. package/dist/chunks/engine-j0ie5u4Y.esm.min.js +2 -0
  201. package/dist/chunks/engine-j0ie5u4Y.esm.min.js.map +1 -0
  202. package/dist/chunks/engine.common-DW5fOVN3.esm.min.js +2 -0
  203. package/dist/chunks/engine.common-DW5fOVN3.esm.min.js.map +1 -0
  204. package/dist/chunks/engine.common-buSIz8Ev.esm.js +1088 -0
  205. package/dist/chunks/engine.common-buSIz8Ev.esm.js.map +1 -0
  206. package/dist/chunks/envTextureLoader-B6pcDqsM.esm.min.js +2 -0
  207. package/dist/chunks/envTextureLoader-B6pcDqsM.esm.min.js.map +1 -0
  208. package/dist/chunks/envTextureLoader-CGhTHASj.esm.js +65 -0
  209. package/dist/chunks/envTextureLoader-CGhTHASj.esm.js.map +1 -0
  210. package/dist/chunks/environmentTextureTools-BDGuP88l.esm.js +382 -0
  211. package/dist/chunks/environmentTextureTools-BDGuP88l.esm.js.map +1 -0
  212. package/dist/chunks/environmentTextureTools-BT0gE-EJ.esm.min.js +2 -0
  213. package/dist/chunks/environmentTextureTools-BT0gE-EJ.esm.min.js.map +1 -0
  214. package/dist/chunks/exrTextureLoader-CN5dc0n8.esm.min.js +2 -0
  215. package/dist/chunks/exrTextureLoader-CN5dc0n8.esm.min.js.map +1 -0
  216. package/dist/chunks/exrTextureLoader-CYQnUrVl.esm.js +1682 -0
  217. package/dist/chunks/exrTextureLoader-CYQnUrVl.esm.js.map +1 -0
  218. package/dist/chunks/fogFragment-6FnKPxpy.esm.min.js +2 -0
  219. package/dist/chunks/fogFragment-6FnKPxpy.esm.min.js.map +1 -0
  220. package/dist/chunks/fogFragment-CizzLpaY.esm.js +102 -0
  221. package/dist/chunks/fogFragment-CizzLpaY.esm.js.map +1 -0
  222. package/dist/chunks/fresnelFunction-B6mPA48a.esm.min.js +2 -0
  223. package/dist/chunks/fresnelFunction-B6mPA48a.esm.min.js.map +1 -0
  224. package/dist/chunks/fresnelFunction-DVso4sEr.esm.js +12 -0
  225. package/dist/chunks/fresnelFunction-DVso4sEr.esm.js.map +1 -0
  226. package/dist/chunks/glTFLoader-CEQKEyEA.esm.min.js +2 -0
  227. package/dist/chunks/glTFLoader-CEQKEyEA.esm.min.js.map +1 -0
  228. package/dist/chunks/glTFLoader-ht4lq0nT.esm.js +7563 -0
  229. package/dist/chunks/glTFLoader-ht4lq0nT.esm.js.map +1 -0
  230. package/dist/chunks/glTFLoaderAnimation-C5YcVTsA.esm.min.js +2 -0
  231. package/dist/chunks/glTFLoaderAnimation-C5YcVTsA.esm.min.js.map +1 -0
  232. package/dist/chunks/glTFLoaderAnimation-DcmHMDkS.esm.js +77 -0
  233. package/dist/chunks/glTFLoaderAnimation-DcmHMDkS.esm.js.map +1 -0
  234. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
  235. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
  236. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
  237. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
  238. package/dist/chunks/harmonicsFunctions-BPx91vrF.esm.min.js +2 -0
  239. package/dist/chunks/harmonicsFunctions-BPx91vrF.esm.min.js.map +1 -0
  240. package/dist/chunks/harmonicsFunctions-D3SGmS-X.esm.js +35 -0
  241. package/dist/chunks/harmonicsFunctions-D3SGmS-X.esm.js.map +1 -0
  242. package/dist/chunks/harmonicsFunctions-DCor55C8.esm.js +34 -0
  243. package/dist/chunks/harmonicsFunctions-DCor55C8.esm.js.map +1 -0
  244. package/dist/chunks/harmonicsFunctions-m8lNczKz.esm.min.js +2 -0
  245. package/dist/chunks/harmonicsFunctions-m8lNczKz.esm.min.js.map +1 -0
  246. package/dist/chunks/hdrTextureLoader-CQcm6tqX.esm.js +252 -0
  247. package/dist/chunks/hdrTextureLoader-CQcm6tqX.esm.js.map +1 -0
  248. package/dist/chunks/hdrTextureLoader-DTzTMrfG.esm.min.js +2 -0
  249. package/dist/chunks/hdrTextureLoader-DTzTMrfG.esm.min.js.map +1 -0
  250. package/dist/chunks/helperFunctions-CQ8qVahI.esm.js +80 -0
  251. package/dist/chunks/helperFunctions-CQ8qVahI.esm.js.map +1 -0
  252. package/dist/chunks/helperFunctions-CZxhBJEB.esm.min.js +2 -0
  253. package/dist/chunks/helperFunctions-CZxhBJEB.esm.min.js.map +1 -0
  254. package/dist/chunks/helperFunctions-HLM-sI3x.esm.min.js +2 -0
  255. package/dist/chunks/helperFunctions-HLM-sI3x.esm.min.js.map +1 -0
  256. package/dist/chunks/helperFunctions-wENQHUG-.esm.js +108 -0
  257. package/dist/chunks/helperFunctions-wENQHUG-.esm.js.map +1 -0
  258. package/dist/chunks/index-BC5LF5i9.esm.min.js +57 -0
  259. package/dist/chunks/index-BC5LF5i9.esm.min.js.map +1 -0
  260. package/dist/chunks/index-D0E1moDr.esm.js +71434 -0
  261. package/dist/chunks/index-D0E1moDr.esm.js.map +1 -0
  262. package/dist/chunks/ktxTextureLoader-DuEV4loQ.esm.min.js +2 -0
  263. package/dist/chunks/ktxTextureLoader-DuEV4loQ.esm.min.js.map +1 -0
  264. package/dist/chunks/ktxTextureLoader-Dwzkv6L3.esm.js +814 -0
  265. package/dist/chunks/ktxTextureLoader-Dwzkv6L3.esm.js.map +1 -0
  266. package/dist/chunks/logDepthDeclaration-BiRU-jkq.esm.js +20 -0
  267. package/dist/chunks/logDepthDeclaration-BiRU-jkq.esm.js.map +1 -0
  268. package/dist/chunks/logDepthDeclaration-CgsbzCKe.esm.js +35 -0
  269. package/dist/chunks/logDepthDeclaration-CgsbzCKe.esm.js.map +1 -0
  270. package/dist/chunks/logDepthDeclaration-D5PPo0wt.esm.min.js +2 -0
  271. package/dist/chunks/logDepthDeclaration-D5PPo0wt.esm.min.js.map +1 -0
  272. package/dist/chunks/logDepthDeclaration-p80kxWvc.esm.min.js +2 -0
  273. package/dist/chunks/logDepthDeclaration-p80kxWvc.esm.min.js.map +1 -0
  274. package/dist/chunks/logDepthVertex-C8xmntAE.esm.js +488 -0
  275. package/dist/chunks/logDepthVertex-C8xmntAE.esm.js.map +1 -0
  276. package/dist/chunks/logDepthVertex-Da1k46VZ.esm.min.js +2 -0
  277. package/dist/chunks/logDepthVertex-Da1k46VZ.esm.min.js.map +1 -0
  278. package/dist/chunks/logDepthVertex-DgGvTksF.esm.min.js +2 -0
  279. package/dist/chunks/logDepthVertex-DgGvTksF.esm.min.js.map +1 -0
  280. package/dist/chunks/logDepthVertex-KLC5ytc9.esm.js +77 -0
  281. package/dist/chunks/logDepthVertex-KLC5ytc9.esm.js.map +1 -0
  282. package/dist/chunks/mainUVVaryingDeclaration-BBNnWqL3.esm.min.js +2 -0
  283. package/dist/chunks/mainUVVaryingDeclaration-BBNnWqL3.esm.min.js.map +1 -0
  284. package/dist/chunks/mainUVVaryingDeclaration-CrsDQ7Rw.esm.js +11 -0
  285. package/dist/chunks/mainUVVaryingDeclaration-CrsDQ7Rw.esm.js.map +1 -0
  286. package/dist/chunks/meshUboDeclaration-BvX3Ec7p.esm.min.js +2 -0
  287. package/dist/chunks/meshUboDeclaration-BvX3Ec7p.esm.min.js.map +1 -0
  288. package/dist/chunks/meshUboDeclaration-DRaaTiEk.esm.js +24 -0
  289. package/dist/chunks/meshUboDeclaration-DRaaTiEk.esm.js.map +1 -0
  290. package/dist/chunks/objFileLoader-Ce4aJaFM.esm.js +1338 -0
  291. package/dist/chunks/objFileLoader-Ce4aJaFM.esm.js.map +1 -0
  292. package/dist/chunks/objFileLoader-CrYKstAi.esm.min.js +2 -0
  293. package/dist/chunks/objFileLoader-CrYKstAi.esm.min.js.map +1 -0
  294. package/dist/chunks/oitFragment-CNXv_oV2.esm.js +1210 -0
  295. package/dist/chunks/oitFragment-CNXv_oV2.esm.js.map +1 -0
  296. package/dist/chunks/oitFragment-D-QO9BYL.esm.min.js +2 -0
  297. package/dist/chunks/oitFragment-D-QO9BYL.esm.min.js.map +1 -0
  298. package/dist/chunks/oitFragment-DL-siQkY.esm.js +1150 -0
  299. package/dist/chunks/oitFragment-DL-siQkY.esm.js.map +1 -0
  300. package/dist/chunks/oitFragment-Dh89u6kd.esm.min.js +2 -0
  301. package/dist/chunks/oitFragment-Dh89u6kd.esm.min.js.map +1 -0
  302. package/dist/chunks/pass.fragment-6gActEq9.esm.min.js +2 -0
  303. package/dist/chunks/pass.fragment-6gActEq9.esm.min.js.map +1 -0
  304. package/dist/chunks/pass.fragment-BWtGFHKR.esm.min.js +2 -0
  305. package/dist/chunks/pass.fragment-BWtGFHKR.esm.min.js.map +1 -0
  306. package/dist/chunks/pass.fragment-Cf3scVhm.esm.js +15 -0
  307. package/dist/chunks/pass.fragment-Cf3scVhm.esm.js.map +1 -0
  308. package/dist/chunks/pass.fragment-L2hyelgw.esm.js +15 -0
  309. package/dist/chunks/pass.fragment-L2hyelgw.esm.js.map +1 -0
  310. package/dist/chunks/pbr.fragment-BCiIhSwY.esm.min.js +2 -0
  311. package/dist/chunks/pbr.fragment-BCiIhSwY.esm.min.js.map +1 -0
  312. package/dist/chunks/pbr.fragment-BQsptCnM.esm.js +3165 -0
  313. package/dist/chunks/pbr.fragment-BQsptCnM.esm.js.map +1 -0
  314. package/dist/chunks/pbr.fragment-CV7nHiSW.esm.min.js +2 -0
  315. package/dist/chunks/pbr.fragment-CV7nHiSW.esm.min.js.map +1 -0
  316. package/dist/chunks/pbr.fragment-zekg3AtG.esm.js +3219 -0
  317. package/dist/chunks/pbr.fragment-zekg3AtG.esm.js.map +1 -0
  318. package/dist/chunks/pbr.vertex-BdS85hcR.esm.min.js +2 -0
  319. package/dist/chunks/pbr.vertex-BdS85hcR.esm.min.js.map +1 -0
  320. package/dist/chunks/pbr.vertex-CdmOZTsb.esm.js +335 -0
  321. package/dist/chunks/pbr.vertex-CdmOZTsb.esm.js.map +1 -0
  322. package/dist/chunks/pbr.vertex-Ch16cpRc.esm.min.js +2 -0
  323. package/dist/chunks/pbr.vertex-Ch16cpRc.esm.min.js.map +1 -0
  324. package/dist/chunks/pbr.vertex-DP-JkeNL.esm.js +210 -0
  325. package/dist/chunks/pbr.vertex-DP-JkeNL.esm.js.map +1 -0
  326. package/dist/chunks/postprocess.vertex-BfybF4d2.esm.js +18 -0
  327. package/dist/chunks/postprocess.vertex-BfybF4d2.esm.js.map +1 -0
  328. package/dist/chunks/postprocess.vertex-Bnmi3e9K.esm.min.js +2 -0
  329. package/dist/chunks/postprocess.vertex-Bnmi3e9K.esm.min.js.map +1 -0
  330. package/dist/chunks/postprocess.vertex-CYL4-dVR.esm.js +20 -0
  331. package/dist/chunks/postprocess.vertex-CYL4-dVR.esm.js.map +1 -0
  332. package/dist/chunks/postprocess.vertex-Q5d7l8WF.esm.min.js +2 -0
  333. package/dist/chunks/postprocess.vertex-Q5d7l8WF.esm.min.js.map +1 -0
  334. package/dist/chunks/rawTexture-BWFTuwIO.esm.min.js +2 -0
  335. package/dist/chunks/rawTexture-BWFTuwIO.esm.min.js.map +1 -0
  336. package/dist/chunks/rawTexture-C-BSm1U5.esm.js +191 -0
  337. package/dist/chunks/rawTexture-C-BSm1U5.esm.js.map +1 -0
  338. package/dist/chunks/rgbdDecode.fragment-6nGwVmNO.esm.js +17 -0
  339. package/dist/chunks/rgbdDecode.fragment-6nGwVmNO.esm.js.map +1 -0
  340. package/dist/chunks/rgbdDecode.fragment-CMYihxIb.esm.min.js +2 -0
  341. package/dist/chunks/rgbdDecode.fragment-CMYihxIb.esm.min.js.map +1 -0
  342. package/dist/chunks/rgbdDecode.fragment-D48eh1WK.esm.min.js +2 -0
  343. package/dist/chunks/rgbdDecode.fragment-D48eh1WK.esm.min.js.map +1 -0
  344. package/dist/chunks/rgbdDecode.fragment-u6BSTXhW.esm.js +17 -0
  345. package/dist/chunks/rgbdDecode.fragment-u6BSTXhW.esm.js.map +1 -0
  346. package/dist/chunks/rgbdEncode.fragment-BCiGkDDk.esm.js +17 -0
  347. package/dist/chunks/rgbdEncode.fragment-BCiGkDDk.esm.js.map +1 -0
  348. package/dist/chunks/rgbdEncode.fragment-B_9KO57D.esm.js +17 -0
  349. package/dist/chunks/rgbdEncode.fragment-B_9KO57D.esm.js.map +1 -0
  350. package/dist/chunks/rgbdEncode.fragment-CVrt_4Kj.esm.min.js +2 -0
  351. package/dist/chunks/rgbdEncode.fragment-CVrt_4Kj.esm.min.js.map +1 -0
  352. package/dist/chunks/rgbdEncode.fragment-V259OFB6.esm.min.js +2 -0
  353. package/dist/chunks/rgbdEncode.fragment-V259OFB6.esm.min.js.map +1 -0
  354. package/dist/chunks/splatFileLoader-BO6la5-H.esm.js +3340 -0
  355. package/dist/chunks/splatFileLoader-BO6la5-H.esm.js.map +1 -0
  356. package/dist/chunks/splatFileLoader-S6q5_XPy.esm.min.js +2 -0
  357. package/dist/chunks/splatFileLoader-S6q5_XPy.esm.min.js.map +1 -0
  358. package/dist/chunks/standardMaterial-BH9cL7Zd.esm.js +1809 -0
  359. package/dist/chunks/standardMaterial-BH9cL7Zd.esm.js.map +1 -0
  360. package/dist/chunks/standardMaterial-BMohC2Pw.esm.min.js +2 -0
  361. package/dist/chunks/standardMaterial-BMohC2Pw.esm.min.js.map +1 -0
  362. package/dist/chunks/stlFileLoader-DK1ITZRU.esm.min.js +2 -0
  363. package/dist/chunks/stlFileLoader-DK1ITZRU.esm.min.js.map +1 -0
  364. package/dist/chunks/stlFileLoader-DskoqTwS.esm.js +238 -0
  365. package/dist/chunks/stlFileLoader-DskoqTwS.esm.js.map +1 -0
  366. package/dist/chunks/tgaTextureLoader-BTlbmfHD.esm.js +349 -0
  367. package/dist/chunks/tgaTextureLoader-BTlbmfHD.esm.js.map +1 -0
  368. package/dist/chunks/tgaTextureLoader-BkfZcLS9.esm.min.js +2 -0
  369. package/dist/chunks/tgaTextureLoader-BkfZcLS9.esm.min.js.map +1 -0
  370. package/dist/chunks/thinEngine-0P3L0z6G.esm.js +3721 -0
  371. package/dist/chunks/thinEngine-0P3L0z6G.esm.js.map +1 -0
  372. package/dist/chunks/thinEngine-krcyvyno.esm.min.js +2 -0
  373. package/dist/chunks/thinEngine-krcyvyno.esm.min.js.map +1 -0
  374. package/dist/chunks/thinInstanceMesh-CkU4tmTv.esm.js +314 -0
  375. package/dist/chunks/thinInstanceMesh-CkU4tmTv.esm.js.map +1 -0
  376. package/dist/chunks/thinInstanceMesh-DUNQsOmG.esm.min.js +2 -0
  377. package/dist/chunks/thinInstanceMesh-DUNQsOmG.esm.min.js.map +1 -0
  378. package/dist/chunks/vertexColorMixing-Cs7crUUt.esm.min.js +2 -0
  379. package/dist/chunks/vertexColorMixing-Cs7crUUt.esm.min.js.map +1 -0
  380. package/dist/chunks/vertexColorMixing-DreWOedd.esm.js +528 -0
  381. package/dist/chunks/vertexColorMixing-DreWOedd.esm.js.map +1 -0
  382. package/dist/chunks/webgpuEngine-DG1ciCtE.esm.min.js +2 -0
  383. package/dist/chunks/webgpuEngine-DG1ciCtE.esm.min.js.map +1 -0
  384. package/dist/chunks/webgpuEngine-YE9aMbSH.esm.js +11180 -0
  385. package/dist/chunks/webgpuEngine-YE9aMbSH.esm.js.map +1 -0
  386. package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
  387. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
  388. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
  389. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
  390. package/docs/ViewerDefault.jpg +0 -0
  391. package/docs/ViewerParts.jpg +0 -0
  392. package/docs/ViewerSlots.jpg +0 -0
  393. package/docs/ViewerStyled.jpg +0 -0
  394. package/lib/index.d.ts +287 -0
  395. package/lib/index.js +1022 -0
  396. package/lib/index.js.map +1 -0
  397. package/package.json +18 -27
  398. package/readme.md +145 -21
  399. package/configuration/configuration.d.ts +0 -107
  400. package/configuration/configuration.js +0 -16
  401. package/configuration/configuration.js.map +0 -1
  402. package/configuration/configurationCompatibility.d.ts +0 -8
  403. package/configuration/configurationCompatibility.js +0 -66
  404. package/configuration/configurationCompatibility.js.map +0 -1
  405. package/configuration/configurationContainer.d.ts +0 -10
  406. package/configuration/configurationContainer.js +0 -10
  407. package/configuration/configurationContainer.js.map +0 -1
  408. package/configuration/globals.d.ts +0 -6
  409. package/configuration/globals.js +0 -18
  410. package/configuration/globals.js.map +0 -1
  411. package/configuration/index.d.ts +0 -2
  412. package/configuration/index.js +0 -4
  413. package/configuration/index.js.map +0 -1
  414. package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
  415. package/configuration/interfaces/cameraConfiguration.js +0 -2
  416. package/configuration/interfaces/cameraConfiguration.js.map +0 -1
  417. package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
  418. package/configuration/interfaces/colorGradingConfiguration.js +0 -2
  419. package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
  420. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
  421. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
  422. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
  423. package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
  424. package/configuration/interfaces/environmentMapConfiguration.js +0 -2
  425. package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
  426. package/configuration/interfaces/groundConfiguration.d.ts +0 -24
  427. package/configuration/interfaces/groundConfiguration.js +0 -2
  428. package/configuration/interfaces/groundConfiguration.js.map +0 -1
  429. package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
  430. package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
  431. package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
  432. package/configuration/interfaces/index.d.ts +0 -15
  433. package/configuration/interfaces/index.js +0 -16
  434. package/configuration/interfaces/index.js.map +0 -1
  435. package/configuration/interfaces/lightConfiguration.d.ts +0 -60
  436. package/configuration/interfaces/lightConfiguration.js +0 -2
  437. package/configuration/interfaces/lightConfiguration.js.map +0 -1
  438. package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
  439. package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
  440. package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
  441. package/configuration/interfaces/modelConfiguration.d.ts +0 -65
  442. package/configuration/interfaces/modelConfiguration.js +0 -2
  443. package/configuration/interfaces/modelConfiguration.js.map +0 -1
  444. package/configuration/interfaces/observersConfiguration.d.ts +0 -5
  445. package/configuration/interfaces/observersConfiguration.js +0 -2
  446. package/configuration/interfaces/observersConfiguration.js.map +0 -1
  447. package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
  448. package/configuration/interfaces/sceneConfiguration.js +0 -2
  449. package/configuration/interfaces/sceneConfiguration.js.map +0 -1
  450. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
  451. package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
  452. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
  453. package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
  454. package/configuration/interfaces/skyboxConfiguration.js +0 -2
  455. package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
  456. package/configuration/interfaces/templateConfiguration.d.ts +0 -67
  457. package/configuration/interfaces/templateConfiguration.js +0 -2
  458. package/configuration/interfaces/templateConfiguration.js.map +0 -1
  459. package/configuration/interfaces/vrConfiguration.d.ts +0 -16
  460. package/configuration/interfaces/vrConfiguration.js +0 -2
  461. package/configuration/interfaces/vrConfiguration.js.map +0 -1
  462. package/configuration/loader.d.ts +0 -4
  463. package/configuration/loader.js +0 -17
  464. package/configuration/loader.js.map +0 -1
  465. package/configuration/mappers.d.ts +0 -43
  466. package/configuration/mappers.js +0 -192
  467. package/configuration/mappers.js.map +0 -1
  468. package/configuration/renderOnlyLoader.d.ts +0 -33
  469. package/configuration/renderOnlyLoader.js +0 -162
  470. package/configuration/renderOnlyLoader.js.map +0 -1
  471. package/configuration/types/default.d.ts +0 -6
  472. package/configuration/types/default.js +0 -121
  473. package/configuration/types/default.js.map +0 -1
  474. package/configuration/types/environmentMap.d.ts +0 -5
  475. package/configuration/types/environmentMap.js +0 -14
  476. package/configuration/types/environmentMap.js.map +0 -1
  477. package/configuration/types/extended.d.ts +0 -6
  478. package/configuration/types/extended.js +0 -317
  479. package/configuration/types/extended.js.map +0 -1
  480. package/configuration/types/index.d.ts +0 -14
  481. package/configuration/types/index.js +0 -51
  482. package/configuration/types/index.js.map +0 -1
  483. package/configuration/types/minimal.d.ts +0 -6
  484. package/configuration/types/minimal.js +0 -43
  485. package/configuration/types/minimal.js.map +0 -1
  486. package/configuration/types/renderOnlyDefault.d.ts +0 -30
  487. package/configuration/types/renderOnlyDefault.js +0 -31
  488. package/configuration/types/renderOnlyDefault.js.map +0 -1
  489. package/configuration/types/shadowLight.d.ts +0 -9
  490. package/configuration/types/shadowLight.js +0 -64
  491. package/configuration/types/shadowLight.js.map +0 -1
  492. package/helper/index.d.ts +0 -29
  493. package/helper/index.js +0 -66
  494. package/helper/index.js.map +0 -1
  495. package/index.d.ts +0 -30
  496. package/index.js +0 -46
  497. package/index.js.map +0 -1
  498. package/initializer.d.ts +0 -11
  499. package/initializer.js +0 -35
  500. package/initializer.js.map +0 -1
  501. package/interfaces.d.ts +0 -5
  502. package/interfaces.js +0 -7
  503. package/interfaces.js.map +0 -1
  504. package/labs/environmentSerializer.d.ts +0 -126
  505. package/labs/environmentSerializer.js +0 -191
  506. package/labs/environmentSerializer.js.map +0 -1
  507. package/labs/texture.d.ts +0 -183
  508. package/labs/texture.js +0 -350
  509. package/labs/texture.js.map +0 -1
  510. package/labs/viewerLabs.d.ts +0 -51
  511. package/labs/viewerLabs.js +0 -134
  512. package/labs/viewerLabs.js.map +0 -1
  513. package/loader/modelLoader.d.ts +0 -56
  514. package/loader/modelLoader.js +0 -199
  515. package/loader/modelLoader.js.map +0 -1
  516. package/loader/plugins/applyMaterialConfig.d.ts +0 -12
  517. package/loader/plugins/applyMaterialConfig.js +0 -16
  518. package/loader/plugins/applyMaterialConfig.js.map +0 -1
  519. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
  520. package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
  521. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
  522. package/loader/plugins/index.d.ts +0 -19
  523. package/loader/plugins/index.js +0 -44
  524. package/loader/plugins/index.js.map +0 -1
  525. package/loader/plugins/loaderPlugin.d.ts +0 -24
  526. package/loader/plugins/loaderPlugin.js +0 -2
  527. package/loader/plugins/loaderPlugin.js.map +0 -1
  528. package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
  529. package/loader/plugins/msftLodLoaderPlugin.js +0 -21
  530. package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
  531. package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
  532. package/loader/plugins/telemetryLoaderPlugin.js +0 -36
  533. package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
  534. package/managers/observablesManager.d.ts +0 -66
  535. package/managers/observablesManager.js +0 -35
  536. package/managers/observablesManager.js.map +0 -1
  537. package/managers/sceneManager.d.ts +0 -245
  538. package/managers/sceneManager.js +0 -1375
  539. package/managers/sceneManager.js.map +0 -1
  540. package/managers/telemetryManager.d.ts +0 -78
  541. package/managers/telemetryManager.js +0 -117
  542. package/managers/telemetryManager.js.map +0 -1
  543. package/model/modelAnimation.d.ts +0 -215
  544. package/model/modelAnimation.js +0 -237
  545. package/model/modelAnimation.js.map +0 -1
  546. package/model/viewerModel.d.ts +0 -233
  547. package/model/viewerModel.js +0 -673
  548. package/model/viewerModel.js.map +0 -1
  549. package/optimizer/custom/extended.d.ts +0 -13
  550. package/optimizer/custom/extended.js +0 -101
  551. package/optimizer/custom/extended.js.map +0 -1
  552. package/optimizer/custom/index.d.ts +0 -9
  553. package/optimizer/custom/index.js +0 -26
  554. package/optimizer/custom/index.js.map +0 -1
  555. package/renderOnlyIndex.d.ts +0 -11
  556. package/renderOnlyIndex.js +0 -18
  557. package/renderOnlyIndex.js.map +0 -1
  558. package/templating/eventManager.d.ts +0 -35
  559. package/templating/eventManager.js +0 -66
  560. package/templating/eventManager.js.map +0 -1
  561. package/templating/plugins/hdButtonPlugin.d.ts +0 -9
  562. package/templating/plugins/hdButtonPlugin.js +0 -21
  563. package/templating/plugins/hdButtonPlugin.js.map +0 -1
  564. package/templating/plugins/printButton.d.ts +0 -9
  565. package/templating/plugins/printButton.js +0 -40
  566. package/templating/plugins/printButton.js.map +0 -1
  567. package/templating/templateManager.d.ts +0 -197
  568. package/templating/templateManager.js +0 -561
  569. package/templating/templateManager.js.map +0 -1
  570. package/templating/viewerTemplatePlugin.d.ts +0 -21
  571. package/templating/viewerTemplatePlugin.js +0 -69
  572. package/templating/viewerTemplatePlugin.js.map +0 -1
  573. package/viewer/defaultViewer.d.ts +0 -130
  574. package/viewer/defaultViewer.js +0 -672
  575. package/viewer/defaultViewer.js.map +0 -1
  576. package/viewer/renderOnlyViewer.d.ts +0 -9
  577. package/viewer/renderOnlyViewer.js +0 -46
  578. package/viewer/renderOnlyViewer.js.map +0 -1
  579. package/viewer/viewer.d.ts +0 -258
  580. package/viewer/viewer.js +0 -783
  581. package/viewer/viewer.js.map +0 -1
  582. package/viewer/viewerManager.d.ts +0 -58
  583. package/viewer/viewerManager.js +0 -91
  584. package/viewer/viewerManager.js.map +0 -1
  585. package/viewer/viewerWithTemplate.d.ts +0 -9
  586. package/viewer/viewerWithTemplate.js +0 -20
  587. package/viewer/viewerWithTemplate.js.map +0 -1
@@ -0,0 +1,72 @@
1
+ import { aR as PBRMaterial, aF as unregisterGLTFExtension, aG as registerGLTFExtension } from './index-D0E1moDr.esm.js';
2
+ import { G as GLTFLoader } from './glTFLoader-ht4lq0nT.esm.js';
3
+ import './rawTexture-C-BSm1U5.esm.js';
4
+ import './assetContainer-C-F4HA2b.esm.js';
5
+ import './glTFLoaderAnimation-DcmHMDkS.esm.js';
6
+
7
+ const NAME = "KHR_materials_iridescence";
8
+ /**
9
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_iridescence/README.md)
10
+ */
11
+ // eslint-disable-next-line @typescript-eslint/naming-convention
12
+ class KHR_materials_iridescence {
13
+ /**
14
+ * @internal
15
+ */
16
+ constructor(loader) {
17
+ /**
18
+ * The name of this extension.
19
+ */
20
+ this.name = NAME;
21
+ /**
22
+ * Defines a number that determines the order the extensions are applied.
23
+ */
24
+ this.order = 195;
25
+ this._loader = loader;
26
+ this.enabled = this._loader.isExtensionUsed(NAME);
27
+ }
28
+ /** @internal */
29
+ dispose() {
30
+ this._loader = null;
31
+ }
32
+ /**
33
+ * @internal
34
+ */
35
+ loadMaterialPropertiesAsync(context, material, babylonMaterial) {
36
+ return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
37
+ const promises = new Array();
38
+ promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
39
+ promises.push(this._loadIridescencePropertiesAsync(extensionContext, extension, babylonMaterial));
40
+ return Promise.all(promises).then(() => { });
41
+ });
42
+ }
43
+ _loadIridescencePropertiesAsync(context, properties, babylonMaterial) {
44
+ if (!(babylonMaterial instanceof PBRMaterial)) {
45
+ throw new Error(`${context}: Material type not supported`);
46
+ }
47
+ const promises = new Array();
48
+ babylonMaterial.iridescence.isEnabled = true;
49
+ babylonMaterial.iridescence.intensity = properties.iridescenceFactor ?? 0;
50
+ babylonMaterial.iridescence.indexOfRefraction = properties.iridescenceIor ?? properties.iridescenceIOR ?? 1.3;
51
+ babylonMaterial.iridescence.minimumThickness = properties.iridescenceThicknessMinimum ?? 100;
52
+ babylonMaterial.iridescence.maximumThickness = properties.iridescenceThicknessMaximum ?? 400;
53
+ if (properties.iridescenceTexture) {
54
+ promises.push(this._loader.loadTextureInfoAsync(`${context}/iridescenceTexture`, properties.iridescenceTexture, (texture) => {
55
+ texture.name = `${babylonMaterial.name} (Iridescence)`;
56
+ babylonMaterial.iridescence.texture = texture;
57
+ }));
58
+ }
59
+ if (properties.iridescenceThicknessTexture) {
60
+ promises.push(this._loader.loadTextureInfoAsync(`${context}/iridescenceThicknessTexture`, properties.iridescenceThicknessTexture, (texture) => {
61
+ texture.name = `${babylonMaterial.name} (Iridescence Thickness)`;
62
+ babylonMaterial.iridescence.thicknessTexture = texture;
63
+ }));
64
+ }
65
+ return Promise.all(promises).then(() => { });
66
+ }
67
+ }
68
+ unregisterGLTFExtension(NAME);
69
+ registerGLTFExtension(NAME, true, (loader) => new KHR_materials_iridescence(loader));
70
+
71
+ export { KHR_materials_iridescence };
72
+ //# sourceMappingURL=KHR_materials_iridescence-CQ-o2Qag.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_iridescence-CQ-o2Qag.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_iridescence.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_iridescence\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_iridescence/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_iridescence {\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 = 195;\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 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._loadIridescencePropertiesAsync(extensionContext, extension, babylonMaterial));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadIridescencePropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.iridescence.isEnabled = true;\n babylonMaterial.iridescence.intensity = properties.iridescenceFactor ?? 0;\n babylonMaterial.iridescence.indexOfRefraction = properties.iridescenceIor ?? properties.iridescenceIOR ?? 1.3;\n babylonMaterial.iridescence.minimumThickness = properties.iridescenceThicknessMinimum ?? 100;\n babylonMaterial.iridescence.maximumThickness = properties.iridescenceThicknessMaximum ?? 400;\n if (properties.iridescenceTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/iridescenceTexture`, properties.iridescenceTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Iridescence)`;\n babylonMaterial.iridescence.texture = texture;\n }));\n }\n if (properties.iridescenceThicknessTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/iridescenceThicknessTexture`, properties.iridescenceThicknessTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Iridescence Thickness)`;\n babylonMaterial.iridescence.thicknessTexture = texture;\n }));\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_iridescence(loader));\n//# sourceMappingURL=KHR_materials_iridescence.js.map"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{aR as e,p as s,aF as r,aG as a}from"./index-BC5LF5i9.esm.min.js";import{G as o}from"./glTFLoader-CEQKEyEA.esm.min.js";import"./rawTexture-BWFTuwIO.esm.min.js";import"./assetContainer-yzkL3HL9.esm.min.js";import"./glTFLoaderAnimation-C5YcVTsA.esm.min.js";const t="KHR_materials_pbrSpecularGlossiness";class i{constructor(e){this.name=t,this.order=200,this._loader=e,this.enabled=this._loader.isExtensionUsed(t)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,s,r){return o.LoadExtensionAsync(e,s,this.name,((a,o)=>{const t=new Array;return t.push(this._loader.loadMaterialBasePropertiesAsync(e,s,r)),t.push(this._loadSpecularGlossinessPropertiesAsync(a,o,r)),this._loader.loadMaterialAlphaProperties(e,s,r),Promise.all(t).then((()=>{}))}))}_loadSpecularGlossinessPropertiesAsync(r,a,o){if(!(o instanceof e))throw new Error(`${r}: Material type not supported`);const t=new Array;return o.metallic=null,o.roughness=null,a.diffuseFactor?(o.albedoColor=s.FromArray(a.diffuseFactor),o.alpha=a.diffuseFactor[3]):o.albedoColor=s.White(),o.reflectivityColor=a.specularFactor?s.FromArray(a.specularFactor):s.White(),o.microSurface=null==a.glossinessFactor?1:a.glossinessFactor,a.diffuseTexture&&t.push(this._loader.loadTextureInfoAsync(`${r}/diffuseTexture`,a.diffuseTexture,(e=>{e.name=`${o.name} (Diffuse)`,o.albedoTexture=e}))),a.specularGlossinessTexture&&(t.push(this._loader.loadTextureInfoAsync(`${r}/specularGlossinessTexture`,a.specularGlossinessTexture,(e=>{e.name=`${o.name} (Specular Glossiness)`,o.reflectivityTexture=e,o.reflectivityTexture.hasAlpha=!0}))),o.useMicroSurfaceFromReflectivityMapAlpha=!0),Promise.all(t).then((()=>{}))}}r(t),a(t,!0,(e=>new i(e)));export{i as KHR_materials_pbrSpecularGlossiness};
2
+ //# sourceMappingURL=KHR_materials_pbrSpecularGlossiness-Cx8AsXK8.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_pbrSpecularGlossiness-Cx8AsXK8.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js"],"sourcesContent":["import { Color3 } from \"core/Maths/math.color\";\nimport { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_pbrSpecularGlossiness\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_pbrSpecularGlossiness {\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 = 200;\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 loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialBasePropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadSpecularGlossinessPropertiesAsync(extensionContext, extension, babylonMaterial));\n this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);\n return Promise.all(promises).then(() => { });\n });\n }\n _loadSpecularGlossinessPropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.metallic = null;\n babylonMaterial.roughness = null;\n if (properties.diffuseFactor) {\n babylonMaterial.albedoColor = Color3.FromArray(properties.diffuseFactor);\n babylonMaterial.alpha = properties.diffuseFactor[3];\n }\n else {\n babylonMaterial.albedoColor = Color3.White();\n }\n babylonMaterial.reflectivityColor = properties.specularFactor ? Color3.FromArray(properties.specularFactor) : Color3.White();\n babylonMaterial.microSurface = properties.glossinessFactor == undefined ? 1 : properties.glossinessFactor;\n if (properties.diffuseTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/diffuseTexture`, properties.diffuseTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Diffuse)`;\n babylonMaterial.albedoTexture = texture;\n }));\n }\n if (properties.specularGlossinessTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/specularGlossinessTexture`, properties.specularGlossinessTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Specular Glossiness)`;\n babylonMaterial.reflectivityTexture = texture;\n babylonMaterial.reflectivityTexture.hasAlpha = true;\n }));\n babylonMaterial.useMicroSurfaceFromReflectivityMapAlpha = true;\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_pbrSpecularGlossiness(loader));\n//# sourceMappingURL=KHR_materials_pbrSpecularGlossiness.js.map"],"names":["NAME","KHR_materials_pbrSpecularGlossiness","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","extensionContext","extension","promises","Array","push","loadMaterialBasePropertiesAsync","_loadSpecularGlossinessPropertiesAsync","loadMaterialAlphaProperties","Promise","all","then","properties","PBRMaterial","Error","metallic","roughness","diffuseFactor","albedoColor","Color3","FromArray","alpha","White","reflectivityColor","specularFactor","microSurface","undefined","glossinessFactor","diffuseTexture","loadTextureInfoAsync","texture","albedoTexture","specularGlossinessTexture","reflectivityTexture","hasAlpha","useMicroSurfaceFromReflectivityMapAlpha","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"qQAIA,MAAMA,EAAO,sCAKN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,EAC/C,CAED,OAAAU,GACIN,KAAKG,QAAU,IAClB,CAID,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUT,KAAKC,MAAM,CAACY,EAAkBC,KAClF,MAAMC,EAAW,IAAIC,MAIrB,OAHAD,EAASE,KAAKjB,KAAKG,QAAQe,gCAAgCV,EAASC,EAAUC,IAC9EK,EAASE,KAAKjB,KAAKmB,uCAAuCN,EAAkBC,EAAWJ,IACvFV,KAAKG,QAAQiB,4BAA4BZ,EAASC,EAAUC,GACrDW,QAAQC,IAAIP,GAAUQ,MAAK,QAAU,GAEnD,CACD,sCAAAJ,CAAuCX,EAASgB,EAAYd,GACxD,KAAMA,aAA2Be,GAC7B,MAAM,IAAIC,MAAM,GAAGlB,kCAEvB,MAAMO,EAAW,IAAIC,MA0BrB,OAzBAN,EAAgBiB,SAAW,KAC3BjB,EAAgBkB,UAAY,KACxBJ,EAAWK,eACXnB,EAAgBoB,YAAcC,EAAOC,UAAUR,EAAWK,eAC1DnB,EAAgBuB,MAAQT,EAAWK,cAAc,IAGjDnB,EAAgBoB,YAAcC,EAAOG,QAEzCxB,EAAgByB,kBAAoBX,EAAWY,eAAiBL,EAAOC,UAAUR,EAAWY,gBAAkBL,EAAOG,QACrHxB,EAAgB2B,aAA8CC,MAA/Bd,EAAWe,iBAAgC,EAAIf,EAAWe,iBACrFf,EAAWgB,gBACXzB,EAASE,KAAKjB,KAAKG,QAAQsC,qBAAqB,GAAGjC,mBAA0BgB,EAAWgB,gBAAiBE,IACrGA,EAAQzC,KAAO,GAAGS,EAAgBT,iBAClCS,EAAgBiC,cAAgBD,CAAO,KAG3ClB,EAAWoB,4BACX7B,EAASE,KAAKjB,KAAKG,QAAQsC,qBAAqB,GAAGjC,8BAAqCgB,EAAWoB,2BAA4BF,IAC3HA,EAAQzC,KAAO,GAAGS,EAAgBT,6BAClCS,EAAgBmC,oBAAsBH,EACtChC,EAAgBmC,oBAAoBC,UAAW,CAAI,KAEvDpC,EAAgBqC,yCAA0C,GAEvD1B,QAAQC,IAAIP,GAAUQ,MAAK,QACrC,EAELyB,EAAwBpD,GACxBqD,EAAsBrD,GAAM,GAAOG,GAAW,IAAIF,EAAoCE"}
@@ -0,0 +1,81 @@
1
+ import { aR as PBRMaterial, p as Color3, aF as unregisterGLTFExtension, aG as registerGLTFExtension } from './index-D0E1moDr.esm.js';
2
+ import { G as GLTFLoader } from './glTFLoader-ht4lq0nT.esm.js';
3
+ import './rawTexture-C-BSm1U5.esm.js';
4
+ import './assetContainer-C-F4HA2b.esm.js';
5
+ import './glTFLoaderAnimation-DcmHMDkS.esm.js';
6
+
7
+ const NAME = "KHR_materials_pbrSpecularGlossiness";
8
+ /**
9
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/README.md)
10
+ */
11
+ // eslint-disable-next-line @typescript-eslint/naming-convention
12
+ class KHR_materials_pbrSpecularGlossiness {
13
+ /**
14
+ * @internal
15
+ */
16
+ constructor(loader) {
17
+ /**
18
+ * The name of this extension.
19
+ */
20
+ this.name = NAME;
21
+ /**
22
+ * Defines a number that determines the order the extensions are applied.
23
+ */
24
+ this.order = 200;
25
+ this._loader = loader;
26
+ this.enabled = this._loader.isExtensionUsed(NAME);
27
+ }
28
+ /** @internal */
29
+ dispose() {
30
+ this._loader = null;
31
+ }
32
+ /**
33
+ * @internal
34
+ */
35
+ loadMaterialPropertiesAsync(context, material, babylonMaterial) {
36
+ return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
37
+ const promises = new Array();
38
+ promises.push(this._loader.loadMaterialBasePropertiesAsync(context, material, babylonMaterial));
39
+ promises.push(this._loadSpecularGlossinessPropertiesAsync(extensionContext, extension, babylonMaterial));
40
+ this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);
41
+ return Promise.all(promises).then(() => { });
42
+ });
43
+ }
44
+ _loadSpecularGlossinessPropertiesAsync(context, properties, babylonMaterial) {
45
+ if (!(babylonMaterial instanceof PBRMaterial)) {
46
+ throw new Error(`${context}: Material type not supported`);
47
+ }
48
+ const promises = new Array();
49
+ babylonMaterial.metallic = null;
50
+ babylonMaterial.roughness = null;
51
+ if (properties.diffuseFactor) {
52
+ babylonMaterial.albedoColor = Color3.FromArray(properties.diffuseFactor);
53
+ babylonMaterial.alpha = properties.diffuseFactor[3];
54
+ }
55
+ else {
56
+ babylonMaterial.albedoColor = Color3.White();
57
+ }
58
+ babylonMaterial.reflectivityColor = properties.specularFactor ? Color3.FromArray(properties.specularFactor) : Color3.White();
59
+ babylonMaterial.microSurface = properties.glossinessFactor == undefined ? 1 : properties.glossinessFactor;
60
+ if (properties.diffuseTexture) {
61
+ promises.push(this._loader.loadTextureInfoAsync(`${context}/diffuseTexture`, properties.diffuseTexture, (texture) => {
62
+ texture.name = `${babylonMaterial.name} (Diffuse)`;
63
+ babylonMaterial.albedoTexture = texture;
64
+ }));
65
+ }
66
+ if (properties.specularGlossinessTexture) {
67
+ promises.push(this._loader.loadTextureInfoAsync(`${context}/specularGlossinessTexture`, properties.specularGlossinessTexture, (texture) => {
68
+ texture.name = `${babylonMaterial.name} (Specular Glossiness)`;
69
+ babylonMaterial.reflectivityTexture = texture;
70
+ babylonMaterial.reflectivityTexture.hasAlpha = true;
71
+ }));
72
+ babylonMaterial.useMicroSurfaceFromReflectivityMapAlpha = true;
73
+ }
74
+ return Promise.all(promises).then(() => { });
75
+ }
76
+ }
77
+ unregisterGLTFExtension(NAME);
78
+ registerGLTFExtension(NAME, true, (loader) => new KHR_materials_pbrSpecularGlossiness(loader));
79
+
80
+ export { KHR_materials_pbrSpecularGlossiness };
81
+ //# sourceMappingURL=KHR_materials_pbrSpecularGlossiness-iQiy6qp4.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_pbrSpecularGlossiness-iQiy6qp4.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js"],"sourcesContent":["import { Color3 } from \"core/Maths/math.color\";\nimport { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_pbrSpecularGlossiness\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_pbrSpecularGlossiness {\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 = 200;\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 loadMaterialPropertiesAsync(context, material, babylonMaterial) {\n return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader.loadMaterialBasePropertiesAsync(context, material, babylonMaterial));\n promises.push(this._loadSpecularGlossinessPropertiesAsync(extensionContext, extension, babylonMaterial));\n this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);\n return Promise.all(promises).then(() => { });\n });\n }\n _loadSpecularGlossinessPropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.metallic = null;\n babylonMaterial.roughness = null;\n if (properties.diffuseFactor) {\n babylonMaterial.albedoColor = Color3.FromArray(properties.diffuseFactor);\n babylonMaterial.alpha = properties.diffuseFactor[3];\n }\n else {\n babylonMaterial.albedoColor = Color3.White();\n }\n babylonMaterial.reflectivityColor = properties.specularFactor ? Color3.FromArray(properties.specularFactor) : Color3.White();\n babylonMaterial.microSurface = properties.glossinessFactor == undefined ? 1 : properties.glossinessFactor;\n if (properties.diffuseTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/diffuseTexture`, properties.diffuseTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Diffuse)`;\n babylonMaterial.albedoTexture = texture;\n }));\n }\n if (properties.specularGlossinessTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/specularGlossinessTexture`, properties.specularGlossinessTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Specular Glossiness)`;\n babylonMaterial.reflectivityTexture = texture;\n babylonMaterial.reflectivityTexture.hasAlpha = true;\n }));\n babylonMaterial.useMicroSurfaceFromReflectivityMapAlpha = true;\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_pbrSpecularGlossiness(loader));\n//# sourceMappingURL=KHR_materials_pbrSpecularGlossiness.js.map"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{aR as e,p as s,aF as n,aG as o}from"./index-BC5LF5i9.esm.min.js";import{G as r}from"./glTFLoader-CEQKEyEA.esm.min.js";import"./rawTexture-BWFTuwIO.esm.min.js";import"./assetContainer-yzkL3HL9.esm.min.js";import"./glTFLoaderAnimation-C5YcVTsA.esm.min.js";const t="KHR_materials_sheen";class a{constructor(e){this.name=t,this.order=190,this._loader=e,this.enabled=this._loader.isExtensionUsed(t)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,s,n){return r.LoadExtensionAsync(e,s,this.name,((o,r)=>{const t=new Array;return t.push(this._loader.loadMaterialPropertiesAsync(e,s,n)),t.push(this._loadSheenPropertiesAsync(o,r,n)),Promise.all(t).then((()=>{}))}))}_loadSheenPropertiesAsync(n,o,r){if(!(r instanceof e))throw new Error(`${n}: Material type not supported`);const t=new Array;return r.sheen.isEnabled=!0,r.sheen.intensity=1,null!=o.sheenColorFactor?r.sheen.color=s.FromArray(o.sheenColorFactor):r.sheen.color=s.Black(),o.sheenColorTexture&&t.push(this._loader.loadTextureInfoAsync(`${n}/sheenColorTexture`,o.sheenColorTexture,(e=>{e.name=`${r.name} (Sheen Color)`,r.sheen.texture=e}))),void 0!==o.sheenRoughnessFactor?r.sheen.roughness=o.sheenRoughnessFactor:r.sheen.roughness=0,o.sheenRoughnessTexture&&(o.sheenRoughnessTexture.nonColorData=!0,t.push(this._loader.loadTextureInfoAsync(`${n}/sheenRoughnessTexture`,o.sheenRoughnessTexture,(e=>{e.name=`${r.name} (Sheen Roughness)`,r.sheen.textureRoughness=e})))),r.sheen.albedoScaling=!0,r.sheen.useRoughnessFromMainTexture=!1,Promise.all(t).then((()=>{}))}}n(t),o(t,!0,(e=>new a(e)));export{a as KHR_materials_sheen};
2
+ //# sourceMappingURL=KHR_materials_sheen-CQkrxBFM.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_sheen-CQkrxBFM.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_sheen.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { Color3 } from \"core/Maths/math.color\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_sheen\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_sheen/README.md)\n * [Playground Sample](https://www.babylonjs-playground.com/frame.html#BNIZX6#4)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_sheen {\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 = 190;\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 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._loadSheenPropertiesAsync(extensionContext, extension, babylonMaterial));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadSheenPropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.sheen.isEnabled = true;\n babylonMaterial.sheen.intensity = 1;\n if (properties.sheenColorFactor != undefined) {\n babylonMaterial.sheen.color = Color3.FromArray(properties.sheenColorFactor);\n }\n else {\n babylonMaterial.sheen.color = Color3.Black();\n }\n if (properties.sheenColorTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/sheenColorTexture`, properties.sheenColorTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Sheen Color)`;\n babylonMaterial.sheen.texture = texture;\n }));\n }\n if (properties.sheenRoughnessFactor !== undefined) {\n babylonMaterial.sheen.roughness = properties.sheenRoughnessFactor;\n }\n else {\n babylonMaterial.sheen.roughness = 0;\n }\n if (properties.sheenRoughnessTexture) {\n properties.sheenRoughnessTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/sheenRoughnessTexture`, properties.sheenRoughnessTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Sheen Roughness)`;\n babylonMaterial.sheen.textureRoughness = texture;\n }));\n }\n babylonMaterial.sheen.albedoScaling = true;\n babylonMaterial.sheen.useRoughnessFromMainTexture = false;\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_sheen(loader));\n//# sourceMappingURL=KHR_materials_sheen.js.map"],"names":["NAME","KHR_materials_sheen","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","extensionContext","extension","promises","Array","push","_loadSheenPropertiesAsync","Promise","all","then","properties","PBRMaterial","Error","sheen","isEnabled","intensity","undefined","sheenColorFactor","color","Color3","FromArray","Black","sheenColorTexture","loadTextureInfoAsync","texture","sheenRoughnessFactor","roughness","sheenRoughnessTexture","nonColorData","textureRoughness","albedoScaling","useRoughnessFromMainTexture","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"qQAIA,MAAMA,EAAO,sBAMN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,EAC/C,CAED,OAAAU,GACIN,KAAKG,QAAU,IAClB,CAID,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUT,KAAKC,MAAM,CAACY,EAAkBC,KAClF,MAAMC,EAAW,IAAIC,MAGrB,OAFAD,EAASE,KAAKjB,KAAKG,QAAQI,4BAA4BC,EAASC,EAAUC,IAC1EK,EAASE,KAAKjB,KAAKkB,0BAA0BL,EAAkBC,EAAWJ,IACnES,QAAQC,IAAIL,GAAUM,MAAK,QAAU,GAEnD,CACD,yBAAAH,CAA0BV,EAASc,EAAYZ,GAC3C,KAAMA,aAA2Ba,GAC7B,MAAM,IAAIC,MAAM,GAAGhB,kCAEvB,MAAMO,EAAW,IAAIC,MA8BrB,OA7BAN,EAAgBe,MAAMC,WAAY,EAClChB,EAAgBe,MAAME,UAAY,EACCC,MAA/BN,EAAWO,iBACXnB,EAAgBe,MAAMK,MAAQC,EAAOC,UAAUV,EAAWO,kBAG1DnB,EAAgBe,MAAMK,MAAQC,EAAOE,QAErCX,EAAWY,mBACXnB,EAASE,KAAKjB,KAAKG,QAAQgC,qBAAqB,GAAG3B,sBAA6Bc,EAAWY,mBAAoBE,IAC3GA,EAAQnC,KAAO,GAAGS,EAAgBT,qBAClCS,EAAgBe,MAAMW,QAAUA,CAAO,UAGPR,IAApCN,EAAWe,qBACX3B,EAAgBe,MAAMa,UAAYhB,EAAWe,qBAG7C3B,EAAgBe,MAAMa,UAAY,EAElChB,EAAWiB,wBACXjB,EAAWiB,sBAAsBC,cAAe,EAChDzB,EAASE,KAAKjB,KAAKG,QAAQgC,qBAAqB,GAAG3B,0BAAiCc,EAAWiB,uBAAwBH,IACnHA,EAAQnC,KAAO,GAAGS,EAAgBT,yBAClCS,EAAgBe,MAAMgB,iBAAmBL,CAAO,MAGxD1B,EAAgBe,MAAMiB,eAAgB,EACtChC,EAAgBe,MAAMkB,6BAA8B,EAC7CxB,QAAQC,IAAIL,GAAUM,MAAK,QACrC,EAELuB,EAAwBhD,GACxBiD,EAAsBjD,GAAM,GAAOG,GAAW,IAAIF,EAAoBE"}
@@ -0,0 +1,85 @@
1
+ import { aR as PBRMaterial, p as Color3, aF as unregisterGLTFExtension, aG as registerGLTFExtension } from './index-D0E1moDr.esm.js';
2
+ import { G as GLTFLoader } from './glTFLoader-ht4lq0nT.esm.js';
3
+ import './rawTexture-C-BSm1U5.esm.js';
4
+ import './assetContainer-C-F4HA2b.esm.js';
5
+ import './glTFLoaderAnimation-DcmHMDkS.esm.js';
6
+
7
+ const NAME = "KHR_materials_sheen";
8
+ /**
9
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_sheen/README.md)
10
+ * [Playground Sample](https://www.babylonjs-playground.com/frame.html#BNIZX6#4)
11
+ */
12
+ // eslint-disable-next-line @typescript-eslint/naming-convention
13
+ class KHR_materials_sheen {
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 = 190;
26
+ this._loader = loader;
27
+ this.enabled = this._loader.isExtensionUsed(NAME);
28
+ }
29
+ /** @internal */
30
+ dispose() {
31
+ this._loader = null;
32
+ }
33
+ /**
34
+ * @internal
35
+ */
36
+ loadMaterialPropertiesAsync(context, material, babylonMaterial) {
37
+ return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
38
+ const promises = new Array();
39
+ promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
40
+ promises.push(this._loadSheenPropertiesAsync(extensionContext, extension, babylonMaterial));
41
+ return Promise.all(promises).then(() => { });
42
+ });
43
+ }
44
+ _loadSheenPropertiesAsync(context, properties, babylonMaterial) {
45
+ if (!(babylonMaterial instanceof PBRMaterial)) {
46
+ throw new Error(`${context}: Material type not supported`);
47
+ }
48
+ const promises = new Array();
49
+ babylonMaterial.sheen.isEnabled = true;
50
+ babylonMaterial.sheen.intensity = 1;
51
+ if (properties.sheenColorFactor != undefined) {
52
+ babylonMaterial.sheen.color = Color3.FromArray(properties.sheenColorFactor);
53
+ }
54
+ else {
55
+ babylonMaterial.sheen.color = Color3.Black();
56
+ }
57
+ if (properties.sheenColorTexture) {
58
+ promises.push(this._loader.loadTextureInfoAsync(`${context}/sheenColorTexture`, properties.sheenColorTexture, (texture) => {
59
+ texture.name = `${babylonMaterial.name} (Sheen Color)`;
60
+ babylonMaterial.sheen.texture = texture;
61
+ }));
62
+ }
63
+ if (properties.sheenRoughnessFactor !== undefined) {
64
+ babylonMaterial.sheen.roughness = properties.sheenRoughnessFactor;
65
+ }
66
+ else {
67
+ babylonMaterial.sheen.roughness = 0;
68
+ }
69
+ if (properties.sheenRoughnessTexture) {
70
+ properties.sheenRoughnessTexture.nonColorData = true;
71
+ promises.push(this._loader.loadTextureInfoAsync(`${context}/sheenRoughnessTexture`, properties.sheenRoughnessTexture, (texture) => {
72
+ texture.name = `${babylonMaterial.name} (Sheen Roughness)`;
73
+ babylonMaterial.sheen.textureRoughness = texture;
74
+ }));
75
+ }
76
+ babylonMaterial.sheen.albedoScaling = true;
77
+ babylonMaterial.sheen.useRoughnessFromMainTexture = false;
78
+ return Promise.all(promises).then(() => { });
79
+ }
80
+ }
81
+ unregisterGLTFExtension(NAME);
82
+ registerGLTFExtension(NAME, true, (loader) => new KHR_materials_sheen(loader));
83
+
84
+ export { KHR_materials_sheen };
85
+ //# sourceMappingURL=KHR_materials_sheen-IPqZM4PN.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_sheen-IPqZM4PN.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_sheen.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { Color3 } from \"core/Maths/math.color\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_sheen\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_sheen/README.md)\n * [Playground Sample](https://www.babylonjs-playground.com/frame.html#BNIZX6#4)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_sheen {\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 = 190;\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 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._loadSheenPropertiesAsync(extensionContext, extension, babylonMaterial));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadSheenPropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.sheen.isEnabled = true;\n babylonMaterial.sheen.intensity = 1;\n if (properties.sheenColorFactor != undefined) {\n babylonMaterial.sheen.color = Color3.FromArray(properties.sheenColorFactor);\n }\n else {\n babylonMaterial.sheen.color = Color3.Black();\n }\n if (properties.sheenColorTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/sheenColorTexture`, properties.sheenColorTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Sheen Color)`;\n babylonMaterial.sheen.texture = texture;\n }));\n }\n if (properties.sheenRoughnessFactor !== undefined) {\n babylonMaterial.sheen.roughness = properties.sheenRoughnessFactor;\n }\n else {\n babylonMaterial.sheen.roughness = 0;\n }\n if (properties.sheenRoughnessTexture) {\n properties.sheenRoughnessTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/sheenRoughnessTexture`, properties.sheenRoughnessTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Sheen Roughness)`;\n babylonMaterial.sheen.textureRoughness = texture;\n }));\n }\n babylonMaterial.sheen.albedoScaling = true;\n babylonMaterial.sheen.useRoughnessFromMainTexture = false;\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_sheen(loader));\n//# sourceMappingURL=KHR_materials_sheen.js.map"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { aR as PBRMaterial, p as Color3, aF as unregisterGLTFExtension, aG as registerGLTFExtension } from './index-D0E1moDr.esm.js';
2
+ import { G as GLTFLoader } from './glTFLoader-ht4lq0nT.esm.js';
3
+ import './rawTexture-C-BSm1U5.esm.js';
4
+ import './assetContainer-C-F4HA2b.esm.js';
5
+ import './glTFLoaderAnimation-DcmHMDkS.esm.js';
6
+
7
+ const NAME = "KHR_materials_specular";
8
+ /**
9
+ * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_specular/README.md)
10
+ */
11
+ // eslint-disable-next-line @typescript-eslint/naming-convention
12
+ class KHR_materials_specular {
13
+ /**
14
+ * @internal
15
+ */
16
+ constructor(loader) {
17
+ /**
18
+ * The name of this extension.
19
+ */
20
+ this.name = NAME;
21
+ /**
22
+ * Defines a number that determines the order the extensions are applied.
23
+ */
24
+ this.order = 190;
25
+ this._loader = loader;
26
+ this.enabled = this._loader.isExtensionUsed(NAME);
27
+ }
28
+ /** @internal */
29
+ dispose() {
30
+ this._loader = null;
31
+ }
32
+ /**
33
+ * @internal
34
+ */
35
+ loadMaterialPropertiesAsync(context, material, babylonMaterial) {
36
+ return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
37
+ const promises = new Array();
38
+ promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
39
+ promises.push(this._loadSpecularPropertiesAsync(extensionContext, extension, babylonMaterial));
40
+ return Promise.all(promises).then(() => { });
41
+ });
42
+ }
43
+ _loadSpecularPropertiesAsync(context, properties, babylonMaterial) {
44
+ if (!(babylonMaterial instanceof PBRMaterial)) {
45
+ throw new Error(`${context}: Material type not supported`);
46
+ }
47
+ const promises = new Array();
48
+ if (properties.specularFactor !== undefined) {
49
+ babylonMaterial.metallicF0Factor = properties.specularFactor;
50
+ }
51
+ if (properties.specularColorFactor !== undefined) {
52
+ babylonMaterial.metallicReflectanceColor = Color3.FromArray(properties.specularColorFactor);
53
+ }
54
+ if (properties.specularTexture) {
55
+ properties.specularTexture.nonColorData = true;
56
+ promises.push(this._loader.loadTextureInfoAsync(`${context}/specularTexture`, properties.specularTexture, (texture) => {
57
+ texture.name = `${babylonMaterial.name} (Specular)`;
58
+ babylonMaterial.metallicReflectanceTexture = texture;
59
+ babylonMaterial.useOnlyMetallicFromMetallicReflectanceTexture = true;
60
+ }));
61
+ }
62
+ if (properties.specularColorTexture) {
63
+ promises.push(this._loader.loadTextureInfoAsync(`${context}/specularColorTexture`, properties.specularColorTexture, (texture) => {
64
+ texture.name = `${babylonMaterial.name} (Specular Color)`;
65
+ babylonMaterial.reflectanceTexture = texture;
66
+ }));
67
+ }
68
+ return Promise.all(promises).then(() => { });
69
+ }
70
+ }
71
+ unregisterGLTFExtension(NAME);
72
+ registerGLTFExtension(NAME, true, (loader) => new KHR_materials_specular(loader));
73
+
74
+ export { KHR_materials_specular };
75
+ //# sourceMappingURL=KHR_materials_specular-BkCr8Zv5.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_specular-BkCr8Zv5.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_specular.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { Color3 } from \"core/Maths/math.color\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_specular\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_specular/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_specular {\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 = 190;\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 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._loadSpecularPropertiesAsync(extensionContext, extension, babylonMaterial));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadSpecularPropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n if (properties.specularFactor !== undefined) {\n babylonMaterial.metallicF0Factor = properties.specularFactor;\n }\n if (properties.specularColorFactor !== undefined) {\n babylonMaterial.metallicReflectanceColor = Color3.FromArray(properties.specularColorFactor);\n }\n if (properties.specularTexture) {\n properties.specularTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/specularTexture`, properties.specularTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Specular)`;\n babylonMaterial.metallicReflectanceTexture = texture;\n babylonMaterial.useOnlyMetallicFromMetallicReflectanceTexture = true;\n }));\n }\n if (properties.specularColorTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/specularColorTexture`, properties.specularColorTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Specular Color)`;\n babylonMaterial.reflectanceTexture = texture;\n }));\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_specular(loader));\n//# sourceMappingURL=KHR_materials_specular.js.map"],"names":[],"mappings":";;;;;;AAIA,MAAM,IAAI,GAAG,wBAAwB,CAAC;AACtC;AACA;AACA;AACA;AACO,MAAM,sBAAsB,CAAC;AACpC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,GAAG,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,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AACpE,QAAQ,OAAO,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,gBAAgB,EAAE,SAAS,KAAK;AAC5G,YAAY,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;AACzC,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;AACxG,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,gBAAgB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;AAC3G,YAAY,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,4BAA4B,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE;AACvE,QAAQ,IAAI,EAAE,eAAe,YAAY,WAAW,CAAC,EAAE;AACvD,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC;AACvE,SAAS;AACT,QAAQ,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;AACrC,QAAQ,IAAI,UAAU,CAAC,cAAc,KAAK,SAAS,EAAE;AACrD,YAAY,eAAe,CAAC,gBAAgB,GAAG,UAAU,CAAC,cAAc,CAAC;AACzE,SAAS;AACT,QAAQ,IAAI,UAAU,CAAC,mBAAmB,KAAK,SAAS,EAAE;AAC1D,YAAY,eAAe,CAAC,wBAAwB,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACxG,SAAS;AACT,QAAQ,IAAI,UAAU,CAAC,eAAe,EAAE;AACxC,YAAY,UAAU,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC;AAC3D,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,KAAK;AACnI,gBAAgB,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpE,gBAAgB,eAAe,CAAC,0BAA0B,GAAG,OAAO,CAAC;AACrE,gBAAgB,eAAe,CAAC,6CAA6C,GAAG,IAAI,CAAC;AACrF,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS;AACT,QAAQ,IAAI,UAAU,CAAC,oBAAoB,EAAE;AAC7C,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,oBAAoB,EAAE,CAAC,OAAO,KAAK;AAC7I,gBAAgB,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC1E,gBAAgB,eAAe,CAAC,kBAAkB,GAAG,OAAO,CAAC;AAC7D,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS;AACT,QAAQ,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,KAAK;AACL,CAAC;AACD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC9B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ import{aR as e,p as r,aF as a,aG as o}from"./index-BC5LF5i9.esm.min.js";import{G as s}from"./glTFLoader-CEQKEyEA.esm.min.js";import"./rawTexture-BWFTuwIO.esm.min.js";import"./assetContainer-yzkL3HL9.esm.min.js";import"./glTFLoaderAnimation-C5YcVTsA.esm.min.js";const t="KHR_materials_specular";class l{constructor(e){this.name=t,this.order=190,this._loader=e,this.enabled=this._loader.isExtensionUsed(t)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,r,a){return s.LoadExtensionAsync(e,r,this.name,((o,s)=>{const t=new Array;return t.push(this._loader.loadMaterialPropertiesAsync(e,r,a)),t.push(this._loadSpecularPropertiesAsync(o,s,a)),Promise.all(t).then((()=>{}))}))}_loadSpecularPropertiesAsync(a,o,s){if(!(s instanceof e))throw new Error(`${a}: Material type not supported`);const t=new Array;return void 0!==o.specularFactor&&(s.metallicF0Factor=o.specularFactor),void 0!==o.specularColorFactor&&(s.metallicReflectanceColor=r.FromArray(o.specularColorFactor)),o.specularTexture&&(o.specularTexture.nonColorData=!0,t.push(this._loader.loadTextureInfoAsync(`${a}/specularTexture`,o.specularTexture,(e=>{e.name=`${s.name} (Specular)`,s.metallicReflectanceTexture=e,s.useOnlyMetallicFromMetallicReflectanceTexture=!0})))),o.specularColorTexture&&t.push(this._loader.loadTextureInfoAsync(`${a}/specularColorTexture`,o.specularColorTexture,(e=>{e.name=`${s.name} (Specular Color)`,s.reflectanceTexture=e}))),Promise.all(t).then((()=>{}))}}a(t),o(t,!0,(e=>new l(e)));export{l as KHR_materials_specular};
2
+ //# sourceMappingURL=KHR_materials_specular-CVIDVIZl.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_specular-CVIDVIZl.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_specular.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { Color3 } from \"core/Maths/math.color\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_specular\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_specular/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_specular {\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 = 190;\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 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._loadSpecularPropertiesAsync(extensionContext, extension, babylonMaterial));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadSpecularPropertiesAsync(context, properties, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n if (properties.specularFactor !== undefined) {\n babylonMaterial.metallicF0Factor = properties.specularFactor;\n }\n if (properties.specularColorFactor !== undefined) {\n babylonMaterial.metallicReflectanceColor = Color3.FromArray(properties.specularColorFactor);\n }\n if (properties.specularTexture) {\n properties.specularTexture.nonColorData = true;\n promises.push(this._loader.loadTextureInfoAsync(`${context}/specularTexture`, properties.specularTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Specular)`;\n babylonMaterial.metallicReflectanceTexture = texture;\n babylonMaterial.useOnlyMetallicFromMetallicReflectanceTexture = true;\n }));\n }\n if (properties.specularColorTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/specularColorTexture`, properties.specularColorTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Specular Color)`;\n babylonMaterial.reflectanceTexture = texture;\n }));\n }\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_specular(loader));\n//# sourceMappingURL=KHR_materials_specular.js.map"],"names":["NAME","KHR_materials_specular","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","extensionContext","extension","promises","Array","push","_loadSpecularPropertiesAsync","Promise","all","then","properties","PBRMaterial","Error","undefined","specularFactor","metallicF0Factor","specularColorFactor","metallicReflectanceColor","Color3","FromArray","specularTexture","nonColorData","loadTextureInfoAsync","texture","metallicReflectanceTexture","useOnlyMetallicFromMetallicReflectanceTexture","specularColorTexture","reflectanceTexture","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"qQAIA,MAAMA,EAAO,yBAKN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,EAC/C,CAED,OAAAU,GACIN,KAAKG,QAAU,IAClB,CAID,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUT,KAAKC,MAAM,CAACY,EAAkBC,KAClF,MAAMC,EAAW,IAAIC,MAGrB,OAFAD,EAASE,KAAKjB,KAAKG,QAAQI,4BAA4BC,EAASC,EAAUC,IAC1EK,EAASE,KAAKjB,KAAKkB,6BAA6BL,EAAkBC,EAAWJ,IACtES,QAAQC,IAAIL,GAAUM,MAAK,QAAU,GAEnD,CACD,4BAAAH,CAA6BV,EAASc,EAAYZ,GAC9C,KAAMA,aAA2Ba,GAC7B,MAAM,IAAIC,MAAM,GAAGhB,kCAEvB,MAAMO,EAAW,IAAIC,MAqBrB,YApBkCS,IAA9BH,EAAWI,iBACXhB,EAAgBiB,iBAAmBL,EAAWI,qBAEXD,IAAnCH,EAAWM,sBACXlB,EAAgBmB,yBAA2BC,EAAOC,UAAUT,EAAWM,sBAEvEN,EAAWU,kBACXV,EAAWU,gBAAgBC,cAAe,EAC1ClB,EAASE,KAAKjB,KAAKG,QAAQ+B,qBAAqB,GAAG1B,oBAA2Bc,EAAWU,iBAAkBG,IACvGA,EAAQlC,KAAO,GAAGS,EAAgBT,kBAClCS,EAAgB0B,2BAA6BD,EAC7CzB,EAAgB2B,+CAAgD,CAAI,MAGxEf,EAAWgB,sBACXvB,EAASE,KAAKjB,KAAKG,QAAQ+B,qBAAqB,GAAG1B,yBAAgCc,EAAWgB,sBAAuBH,IACjHA,EAAQlC,KAAO,GAAGS,EAAgBT,wBAClCS,EAAgB6B,mBAAqBJ,CAAO,KAG7ChB,QAAQC,IAAIL,GAAUM,MAAK,QACrC,EAELmB,EAAwB5C,GACxB6C,EAAsB7C,GAAM,GAAOG,GAAW,IAAIF,EAAuBE"}
@@ -0,0 +1,2 @@
1
+ import{aR as e,aF as s,aG as t,C as r,aK as a,T as n,aS as i}from"./index-BC5LF5i9.esm.min.js";import{G as o}from"./glTFLoader-CEQKEyEA.esm.min.js";import"./rawTexture-BWFTuwIO.esm.min.js";import"./assetContainer-yzkL3HL9.esm.min.js";import"./glTFLoaderAnimation-C5YcVTsA.esm.min.js";class h{static _GetDefaultOptions(){return{renderSize:1024,samples:4,lodGenerationScale:1,lodGenerationOffset:-4,renderTargetTextureType:r.TEXTURETYPE_HALF_FLOAT,generateMipmaps:!0}}constructor(e,s){this._opaqueRenderTarget=null,this._opaqueMeshesCache=[],this._transparentMeshesCache=[],this._materialObservers={},this._options={...h._GetDefaultOptions(),...e},this._scene=s,this._scene._transmissionHelper=this,this.onErrorObservable=new a,this._scene.onDisposeObservable.addOnce((()=>{this.dispose()})),this._parseScene(),this._setupRenderTargets()}updateOptions(e){if(!Object.keys(e).filter((s=>this._options[s]!==e[s])).length)return;const s={...this._options,...e},t=this._options;this._options=s,s.renderSize===t.renderSize&&s.renderTargetTextureType===t.renderTargetTextureType&&s.generateMipmaps===t.generateMipmaps&&this._opaqueRenderTarget?(this._opaqueRenderTarget.samples=s.samples,this._opaqueRenderTarget.lodGenerationScale=s.lodGenerationScale,this._opaqueRenderTarget.lodGenerationOffset=s.lodGenerationOffset):this._setupRenderTargets()}getOpaqueTarget(){return this._opaqueRenderTarget}_shouldRenderAsTransmission(s){return!!s&&!!(s instanceof e&&s.subSurface.isRefractionEnabled)}_addMesh(e){this._materialObservers[e.uniqueId]=e.onMaterialChangedObservable.add(this._onMeshMaterialChanged.bind(this)),n.SetImmediate((()=>{this._shouldRenderAsTransmission(e.material)?(e.material.refractionTexture=this._opaqueRenderTarget,-1===this._transparentMeshesCache.indexOf(e)&&this._transparentMeshesCache.push(e)):-1===this._opaqueMeshesCache.indexOf(e)&&this._opaqueMeshesCache.push(e)}))}_removeMesh(e){e.onMaterialChangedObservable.remove(this._materialObservers[e.uniqueId]),delete this._materialObservers[e.uniqueId];let s=this._transparentMeshesCache.indexOf(e);-1!==s&&this._transparentMeshesCache.splice(s,1),s=this._opaqueMeshesCache.indexOf(e),-1!==s&&this._opaqueMeshesCache.splice(s,1)}_parseScene(){this._scene.meshes.forEach(this._addMesh.bind(this)),this._scene.onNewMeshAddedObservable.add(this._addMesh.bind(this)),this._scene.onMeshRemovedObservable.add(this._removeMesh.bind(this))}_onMeshMaterialChanged(s){const t=this._transparentMeshesCache.indexOf(s),r=this._opaqueMeshesCache.indexOf(s);this._shouldRenderAsTransmission(s.material)?(s.material instanceof e&&(s.material.subSurface.refractionTexture=this._opaqueRenderTarget),-1!==r?(this._opaqueMeshesCache.splice(r,1),this._transparentMeshesCache.push(s)):-1===t&&this._transparentMeshesCache.push(s)):-1!==t?(this._transparentMeshesCache.splice(t,1),this._opaqueMeshesCache.push(s)):-1===r&&this._opaqueMeshesCache.push(s)}_isRenderTargetValid(){return null!==this._opaqueRenderTarget?.getInternalTexture()}_setupRenderTargets(){let e,s;this._opaqueRenderTarget&&this._opaqueRenderTarget.dispose(),this._opaqueRenderTarget=new i("opaqueSceneTexture",this._options.renderSize,this._scene,this._options.generateMipmaps,void 0,this._options.renderTargetTextureType),this._opaqueRenderTarget.ignoreCameraViewport=!0,this._opaqueRenderTarget.renderList=this._opaqueMeshesCache,this._opaqueRenderTarget.clearColor=this._options.clearColor?.clone()??this._scene.clearColor.clone(),this._opaqueRenderTarget.gammaSpace=!1,this._opaqueRenderTarget.lodGenerationScale=this._options.lodGenerationScale,this._opaqueRenderTarget.lodGenerationOffset=this._options.lodGenerationOffset,this._opaqueRenderTarget.samples=this._options.samples,this._opaqueRenderTarget.renderSprites=!0,this._opaqueRenderTarget.renderParticles=!0,this._opaqueRenderTarget.onBeforeBindObservable.add((t=>{s=this._scene.environmentIntensity,this._scene.environmentIntensity=1,e=this._scene.imageProcessingConfiguration.applyByPostProcess,this._options.clearColor?t.clearColor.copyFrom(this._options.clearColor):this._scene.clearColor.toLinearSpaceToRef(t.clearColor,this._scene.getEngine().useExactSrgbConversions),this._scene.imageProcessingConfiguration._applyByPostProcess=!0})),this._opaqueRenderTarget.onAfterUnbindObservable.add((()=>{this._scene.environmentIntensity=s,this._scene.imageProcessingConfiguration._applyByPostProcess=e})),this._transparentMeshesCache.forEach((e=>{this._shouldRenderAsTransmission(e.material)&&(e.material.refractionTexture=this._opaqueRenderTarget)}))}dispose(){this._scene._transmissionHelper=void 0,this._opaqueRenderTarget&&(this._opaqueRenderTarget.dispose(),this._opaqueRenderTarget=null),this._transparentMeshesCache=[],this._opaqueMeshesCache=[]}}const p="KHR_materials_transmission";class d{constructor(e){this.name=p,this.order=175,this._loader=e,this.enabled=this._loader.isExtensionUsed(p),this.enabled&&(e.parent.transparencyAsCoverage=!0)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,s,t){return o.LoadExtensionAsync(e,s,this.name,((r,a)=>{const n=new Array;return n.push(this._loader.loadMaterialPropertiesAsync(e,s,t)),n.push(this._loadTransparentPropertiesAsync(r,s,t,a)),Promise.all(n).then((()=>{}))}))}_loadTransparentPropertiesAsync(s,t,r,a){if(!(r instanceof e))throw new Error(`${s}: Material type not supported`);const n=r;if(n.subSurface.isRefractionEnabled=!0,n.subSurface.volumeIndexOfRefraction=1,n.subSurface.useAlbedoToTintRefraction=!0,void 0===a.transmissionFactor)return n.subSurface.refractionIntensity=0,n.subSurface.isRefractionEnabled=!1,Promise.resolve();{n.subSurface.refractionIntensity=a.transmissionFactor;const e=n.getScene();n.subSurface.refractionIntensity&&!e._transmissionHelper?new h({},n.getScene()):n.subSurface.refractionIntensity&&!e._transmissionHelper?._isRenderTargetValid()&&e._transmissionHelper?._setupRenderTargets()}return n.subSurface.minimumThickness=0,n.subSurface.maximumThickness=0,a.transmissionTexture?(a.transmissionTexture.nonColorData=!0,this._loader.loadTextureInfoAsync(`${s}/transmissionTexture`,a.transmissionTexture,void 0).then((e=>{e.name=`${r.name} (Transmission)`,n.subSurface.refractionIntensityTexture=e,n.subSurface.useGltfStyleTextures=!0}))):Promise.resolve()}}s(p),t(p,!0,(e=>new d(e)));export{d as KHR_materials_transmission};
2
+ //# sourceMappingURL=KHR_materials_transmission--XYp5qZT.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KHR_materials_transmission--XYp5qZT.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_transmission.js"],"sourcesContent":["import { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\nimport { GLTFLoader } from \"../glTFLoader\";\nimport { RenderTargetTexture } from \"core/Materials/Textures/renderTargetTexture\";\nimport { Observable } from \"core/Misc/observable\";\nimport { Constants } from \"core/Engines/constants\";\nimport { Tools } from \"core/Misc/tools\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\n/**\n * A class to handle setting up the rendering of opaque objects to be shown through transmissive objects.\n */\nclass TransmissionHelper {\n /**\n * Creates the default options for the helper.\n * @returns the default options\n */\n static _GetDefaultOptions() {\n return {\n renderSize: 1024,\n samples: 4,\n lodGenerationScale: 1,\n lodGenerationOffset: -4,\n renderTargetTextureType: Constants.TEXTURETYPE_HALF_FLOAT,\n generateMipmaps: true,\n };\n }\n /**\n * constructor\n * @param options Defines the options we want to customize the helper\n * @param scene The scene to add the material to\n */\n constructor(options, scene) {\n this._opaqueRenderTarget = null;\n this._opaqueMeshesCache = [];\n this._transparentMeshesCache = [];\n this._materialObservers = {};\n this._options = {\n ...TransmissionHelper._GetDefaultOptions(),\n ...options,\n };\n this._scene = scene;\n this._scene._transmissionHelper = this;\n this.onErrorObservable = new Observable();\n this._scene.onDisposeObservable.addOnce(() => {\n this.dispose();\n });\n this._parseScene();\n this._setupRenderTargets();\n }\n /**\n * Updates the background according to the new options\n * @param options\n */\n updateOptions(options) {\n // First check if any options are actually being changed. If not, exit.\n const newValues = Object.keys(options).filter((key) => this._options[key] !== options[key]);\n if (!newValues.length) {\n return;\n }\n const newOptions = {\n ...this._options,\n ...options,\n };\n const oldOptions = this._options;\n this._options = newOptions;\n // If size changes, recreate everything\n if (newOptions.renderSize !== oldOptions.renderSize ||\n newOptions.renderTargetTextureType !== oldOptions.renderTargetTextureType ||\n newOptions.generateMipmaps !== oldOptions.generateMipmaps ||\n !this._opaqueRenderTarget) {\n this._setupRenderTargets();\n }\n else {\n this._opaqueRenderTarget.samples = newOptions.samples;\n this._opaqueRenderTarget.lodGenerationScale = newOptions.lodGenerationScale;\n this._opaqueRenderTarget.lodGenerationOffset = newOptions.lodGenerationOffset;\n }\n }\n /**\n * @returns the opaque render target texture or null if not available.\n */\n getOpaqueTarget() {\n return this._opaqueRenderTarget;\n }\n _shouldRenderAsTransmission(material) {\n if (!material) {\n return false;\n }\n if (material instanceof PBRMaterial && material.subSurface.isRefractionEnabled) {\n return true;\n }\n return false;\n }\n _addMesh(mesh) {\n this._materialObservers[mesh.uniqueId] = mesh.onMaterialChangedObservable.add(this._onMeshMaterialChanged.bind(this));\n // we need to defer the processing because _addMesh may be called as part as an instance mesh creation, in which case some\n // internal properties are not setup yet, like _sourceMesh (needed when doing mesh.material below)\n Tools.SetImmediate(() => {\n if (this._shouldRenderAsTransmission(mesh.material)) {\n mesh.material.refractionTexture = this._opaqueRenderTarget;\n if (this._transparentMeshesCache.indexOf(mesh) === -1) {\n this._transparentMeshesCache.push(mesh);\n }\n }\n else {\n if (this._opaqueMeshesCache.indexOf(mesh) === -1) {\n this._opaqueMeshesCache.push(mesh);\n }\n }\n });\n }\n _removeMesh(mesh) {\n mesh.onMaterialChangedObservable.remove(this._materialObservers[mesh.uniqueId]);\n delete this._materialObservers[mesh.uniqueId];\n let idx = this._transparentMeshesCache.indexOf(mesh);\n if (idx !== -1) {\n this._transparentMeshesCache.splice(idx, 1);\n }\n idx = this._opaqueMeshesCache.indexOf(mesh);\n if (idx !== -1) {\n this._opaqueMeshesCache.splice(idx, 1);\n }\n }\n _parseScene() {\n this._scene.meshes.forEach(this._addMesh.bind(this));\n // Listen for when a mesh is added to the scene and add it to our cache lists.\n this._scene.onNewMeshAddedObservable.add(this._addMesh.bind(this));\n // Listen for when a mesh is removed from to the scene and remove it from our cache lists.\n this._scene.onMeshRemovedObservable.add(this._removeMesh.bind(this));\n }\n // When one of the meshes in the scene has its material changed, make sure that it's in the correct cache list.\n _onMeshMaterialChanged(mesh) {\n const transparentIdx = this._transparentMeshesCache.indexOf(mesh);\n const opaqueIdx = this._opaqueMeshesCache.indexOf(mesh);\n // If the material is transparent, make sure that it's added to the transparent list and removed from the opaque list\n const useTransmission = this._shouldRenderAsTransmission(mesh.material);\n if (useTransmission) {\n if (mesh.material instanceof PBRMaterial) {\n mesh.material.subSurface.refractionTexture = this._opaqueRenderTarget;\n }\n if (opaqueIdx !== -1) {\n this._opaqueMeshesCache.splice(opaqueIdx, 1);\n this._transparentMeshesCache.push(mesh);\n }\n else if (transparentIdx === -1) {\n this._transparentMeshesCache.push(mesh);\n }\n // If the material is opaque, make sure that it's added to the opaque list and removed from the transparent list\n }\n else {\n if (transparentIdx !== -1) {\n this._transparentMeshesCache.splice(transparentIdx, 1);\n this._opaqueMeshesCache.push(mesh);\n }\n else if (opaqueIdx === -1) {\n this._opaqueMeshesCache.push(mesh);\n }\n }\n }\n /**\n * @internal\n * Check if the opaque render target has not been disposed and can still be used.\n * @returns\n */\n _isRenderTargetValid() {\n return this._opaqueRenderTarget?.getInternalTexture() !== null;\n }\n /**\n * @internal\n * Setup the render targets according to the specified options.\n */\n _setupRenderTargets() {\n if (this._opaqueRenderTarget) {\n this._opaqueRenderTarget.dispose();\n }\n this._opaqueRenderTarget = new RenderTargetTexture(\"opaqueSceneTexture\", this._options.renderSize, this._scene, this._options.generateMipmaps, undefined, this._options.renderTargetTextureType);\n this._opaqueRenderTarget.ignoreCameraViewport = true;\n this._opaqueRenderTarget.renderList = this._opaqueMeshesCache;\n this._opaqueRenderTarget.clearColor = this._options.clearColor?.clone() ?? this._scene.clearColor.clone();\n this._opaqueRenderTarget.gammaSpace = false;\n this._opaqueRenderTarget.lodGenerationScale = this._options.lodGenerationScale;\n this._opaqueRenderTarget.lodGenerationOffset = this._options.lodGenerationOffset;\n this._opaqueRenderTarget.samples = this._options.samples;\n this._opaqueRenderTarget.renderSprites = true;\n this._opaqueRenderTarget.renderParticles = true;\n let sceneImageProcessingapplyByPostProcess;\n let saveSceneEnvIntensity;\n this._opaqueRenderTarget.onBeforeBindObservable.add((opaqueRenderTarget) => {\n saveSceneEnvIntensity = this._scene.environmentIntensity;\n this._scene.environmentIntensity = 1.0;\n sceneImageProcessingapplyByPostProcess = this._scene.imageProcessingConfiguration.applyByPostProcess;\n if (!this._options.clearColor) {\n this._scene.clearColor.toLinearSpaceToRef(opaqueRenderTarget.clearColor, this._scene.getEngine().useExactSrgbConversions);\n }\n else {\n opaqueRenderTarget.clearColor.copyFrom(this._options.clearColor);\n }\n // we do not use the applyByPostProcess setter to avoid flagging all the materials as \"image processing dirty\"!\n this._scene.imageProcessingConfiguration._applyByPostProcess = true;\n });\n this._opaqueRenderTarget.onAfterUnbindObservable.add(() => {\n this._scene.environmentIntensity = saveSceneEnvIntensity;\n this._scene.imageProcessingConfiguration._applyByPostProcess = sceneImageProcessingapplyByPostProcess;\n });\n this._transparentMeshesCache.forEach((mesh) => {\n if (this._shouldRenderAsTransmission(mesh.material)) {\n mesh.material.refractionTexture = this._opaqueRenderTarget;\n }\n });\n }\n /**\n * Dispose all the elements created by the Helper.\n */\n dispose() {\n this._scene._transmissionHelper = undefined;\n if (this._opaqueRenderTarget) {\n this._opaqueRenderTarget.dispose();\n this._opaqueRenderTarget = null;\n }\n this._transparentMeshesCache = [];\n this._opaqueMeshesCache = [];\n }\n}\nconst NAME = \"KHR_materials_transmission\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_transmission/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_transmission {\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 = 175;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n if (this.enabled) {\n loader.parent.transparencyAsCoverage = true;\n }\n }\n /** @internal */\n dispose() {\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._loadTransparentPropertiesAsync(extensionContext, material, babylonMaterial, extension));\n return Promise.all(promises).then(() => { });\n });\n }\n _loadTransparentPropertiesAsync(context, material, babylonMaterial, extension) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const pbrMaterial = babylonMaterial;\n // Enables \"refraction\" texture which represents transmitted light.\n pbrMaterial.subSurface.isRefractionEnabled = true;\n // Since this extension models thin-surface transmission only, we must make IOR = 1.0\n pbrMaterial.subSurface.volumeIndexOfRefraction = 1.0;\n // Albedo colour will tint transmission.\n pbrMaterial.subSurface.useAlbedoToTintRefraction = true;\n if (extension.transmissionFactor !== undefined) {\n pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;\n const scene = pbrMaterial.getScene();\n if (pbrMaterial.subSurface.refractionIntensity && !scene._transmissionHelper) {\n new TransmissionHelper({}, pbrMaterial.getScene());\n }\n else if (pbrMaterial.subSurface.refractionIntensity && !scene._transmissionHelper?._isRenderTargetValid()) {\n // If the render target is not valid, recreate it.\n scene._transmissionHelper?._setupRenderTargets();\n }\n }\n else {\n pbrMaterial.subSurface.refractionIntensity = 0.0;\n pbrMaterial.subSurface.isRefractionEnabled = false;\n return Promise.resolve();\n }\n pbrMaterial.subSurface.minimumThickness = 0.0;\n pbrMaterial.subSurface.maximumThickness = 0.0;\n if (extension.transmissionTexture) {\n extension.transmissionTexture.nonColorData = true;\n return this._loader.loadTextureInfoAsync(`${context}/transmissionTexture`, extension.transmissionTexture, undefined).then((texture) => {\n texture.name = `${babylonMaterial.name} (Transmission)`;\n pbrMaterial.subSurface.refractionIntensityTexture = texture;\n pbrMaterial.subSurface.useGltfStyleTextures = true;\n });\n }\n else {\n return Promise.resolve();\n }\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_transmission(loader));\n//# sourceMappingURL=KHR_materials_transmission.js.map"],"names":["TransmissionHelper","_GetDefaultOptions","renderSize","samples","lodGenerationScale","lodGenerationOffset","renderTargetTextureType","Constants","TEXTURETYPE_HALF_FLOAT","generateMipmaps","constructor","options","scene","this","_opaqueRenderTarget","_opaqueMeshesCache","_transparentMeshesCache","_materialObservers","_options","_scene","_transmissionHelper","onErrorObservable","Observable","onDisposeObservable","addOnce","dispose","_parseScene","_setupRenderTargets","updateOptions","Object","keys","filter","key","length","newOptions","oldOptions","getOpaqueTarget","_shouldRenderAsTransmission","material","PBRMaterial","subSurface","isRefractionEnabled","_addMesh","mesh","uniqueId","onMaterialChangedObservable","add","_onMeshMaterialChanged","bind","Tools","SetImmediate","refractionTexture","indexOf","push","_removeMesh","remove","idx","splice","meshes","forEach","onNewMeshAddedObservable","onMeshRemovedObservable","transparentIdx","opaqueIdx","_isRenderTargetValid","getInternalTexture","sceneImageProcessingapplyByPostProcess","saveSceneEnvIntensity","RenderTargetTexture","undefined","ignoreCameraViewport","renderList","clearColor","clone","gammaSpace","renderSprites","renderParticles","onBeforeBindObservable","opaqueRenderTarget","environmentIntensity","imageProcessingConfiguration","applyByPostProcess","copyFrom","toLinearSpaceToRef","getEngine","useExactSrgbConversions","_applyByPostProcess","onAfterUnbindObservable","NAME","KHR_materials_transmission","loader","name","order","_loader","enabled","isExtensionUsed","parent","transparencyAsCoverage","loadMaterialPropertiesAsync","context","babylonMaterial","GLTFLoader","LoadExtensionAsync","extensionContext","extension","promises","Array","_loadTransparentPropertiesAsync","Promise","all","then","Error","pbrMaterial","volumeIndexOfRefraction","useAlbedoToTintRefraction","transmissionFactor","refractionIntensity","resolve","getScene","minimumThickness","maximumThickness","transmissionTexture","nonColorData","loadTextureInfoAsync","texture","refractionIntensityTexture","useGltfStyleTextures","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"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"}