@babylonjs/viewer 7.38.0-alpha → 7.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/configuration/configuration.d.ts +107 -0
  2. package/configuration/configuration.js +16 -0
  3. package/configuration/configuration.js.map +1 -0
  4. package/configuration/configurationCompatibility.d.ts +8 -0
  5. package/configuration/configurationCompatibility.js +66 -0
  6. package/configuration/configurationCompatibility.js.map +1 -0
  7. package/configuration/configurationContainer.d.ts +10 -0
  8. package/configuration/configurationContainer.js +10 -0
  9. package/configuration/configurationContainer.js.map +1 -0
  10. package/configuration/globals.d.ts +6 -0
  11. package/configuration/globals.js +18 -0
  12. package/configuration/globals.js.map +1 -0
  13. package/configuration/index.d.ts +2 -0
  14. package/configuration/index.js +4 -0
  15. package/configuration/index.js.map +1 -0
  16. package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
  17. package/configuration/interfaces/cameraConfiguration.js +2 -0
  18. package/configuration/interfaces/cameraConfiguration.js.map +1 -0
  19. package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
  20. package/configuration/interfaces/colorGradingConfiguration.js +2 -0
  21. package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
  22. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
  23. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
  24. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
  25. package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
  26. package/configuration/interfaces/environmentMapConfiguration.js +2 -0
  27. package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
  28. package/configuration/interfaces/groundConfiguration.d.ts +24 -0
  29. package/configuration/interfaces/groundConfiguration.js +2 -0
  30. package/configuration/interfaces/groundConfiguration.js.map +1 -0
  31. package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
  32. package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
  33. package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
  34. package/configuration/interfaces/index.d.ts +15 -0
  35. package/configuration/interfaces/index.js +16 -0
  36. package/configuration/interfaces/index.js.map +1 -0
  37. package/configuration/interfaces/lightConfiguration.d.ts +60 -0
  38. package/configuration/interfaces/lightConfiguration.js +2 -0
  39. package/configuration/interfaces/lightConfiguration.js.map +1 -0
  40. package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
  41. package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
  42. package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
  43. package/configuration/interfaces/modelConfiguration.d.ts +65 -0
  44. package/configuration/interfaces/modelConfiguration.js +2 -0
  45. package/configuration/interfaces/modelConfiguration.js.map +1 -0
  46. package/configuration/interfaces/observersConfiguration.d.ts +5 -0
  47. package/configuration/interfaces/observersConfiguration.js +2 -0
  48. package/configuration/interfaces/observersConfiguration.js.map +1 -0
  49. package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
  50. package/configuration/interfaces/sceneConfiguration.js +2 -0
  51. package/configuration/interfaces/sceneConfiguration.js.map +1 -0
  52. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
  53. package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
  54. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
  55. package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
  56. package/configuration/interfaces/skyboxConfiguration.js +2 -0
  57. package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
  58. package/configuration/interfaces/templateConfiguration.d.ts +67 -0
  59. package/configuration/interfaces/templateConfiguration.js +2 -0
  60. package/configuration/interfaces/templateConfiguration.js.map +1 -0
  61. package/configuration/interfaces/vrConfiguration.d.ts +16 -0
  62. package/configuration/interfaces/vrConfiguration.js +2 -0
  63. package/configuration/interfaces/vrConfiguration.js.map +1 -0
  64. package/configuration/loader.d.ts +4 -0
  65. package/configuration/loader.js +17 -0
  66. package/configuration/loader.js.map +1 -0
  67. package/configuration/mappers.d.ts +43 -0
  68. package/configuration/mappers.js +193 -0
  69. package/configuration/mappers.js.map +1 -0
  70. package/configuration/renderOnlyLoader.d.ts +33 -0
  71. package/configuration/renderOnlyLoader.js +162 -0
  72. package/configuration/renderOnlyLoader.js.map +1 -0
  73. package/configuration/types/default.d.ts +6 -0
  74. package/configuration/types/default.js +121 -0
  75. package/configuration/types/default.js.map +1 -0
  76. package/configuration/types/environmentMap.d.ts +5 -0
  77. package/configuration/types/environmentMap.js +14 -0
  78. package/configuration/types/environmentMap.js.map +1 -0
  79. package/configuration/types/extended.d.ts +6 -0
  80. package/configuration/types/extended.js +317 -0
  81. package/configuration/types/extended.js.map +1 -0
  82. package/configuration/types/index.d.ts +14 -0
  83. package/configuration/types/index.js +51 -0
  84. package/configuration/types/index.js.map +1 -0
  85. package/configuration/types/minimal.d.ts +6 -0
  86. package/configuration/types/minimal.js +43 -0
  87. package/configuration/types/minimal.js.map +1 -0
  88. package/configuration/types/renderOnlyDefault.d.ts +30 -0
  89. package/configuration/types/renderOnlyDefault.js +31 -0
  90. package/configuration/types/renderOnlyDefault.js.map +1 -0
  91. package/configuration/types/shadowLight.d.ts +9 -0
  92. package/configuration/types/shadowLight.js +64 -0
  93. package/configuration/types/shadowLight.js.map +1 -0
  94. package/helper/index.d.ts +29 -0
  95. package/helper/index.js +66 -0
  96. package/helper/index.js.map +1 -0
  97. package/index.d.ts +30 -0
  98. package/index.js +46 -0
  99. package/index.js.map +1 -0
  100. package/initializer.d.ts +11 -0
  101. package/initializer.js +35 -0
  102. package/initializer.js.map +1 -0
  103. package/interfaces.d.ts +5 -0
  104. package/interfaces.js +7 -0
  105. package/interfaces.js.map +1 -0
  106. package/labs/environmentSerializer.d.ts +126 -0
  107. package/labs/environmentSerializer.js +191 -0
  108. package/labs/environmentSerializer.js.map +1 -0
  109. package/labs/texture.d.ts +183 -0
  110. package/labs/texture.js +351 -0
  111. package/labs/texture.js.map +1 -0
  112. package/labs/viewerLabs.d.ts +51 -0
  113. package/labs/viewerLabs.js +134 -0
  114. package/labs/viewerLabs.js.map +1 -0
  115. package/loader/modelLoader.d.ts +56 -0
  116. package/loader/modelLoader.js +202 -0
  117. package/loader/modelLoader.js.map +1 -0
  118. package/loader/plugins/applyMaterialConfig.d.ts +12 -0
  119. package/loader/plugins/applyMaterialConfig.js +16 -0
  120. package/loader/plugins/applyMaterialConfig.js.map +1 -0
  121. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
  122. package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
  123. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
  124. package/loader/plugins/index.d.ts +19 -0
  125. package/loader/plugins/index.js +44 -0
  126. package/loader/plugins/index.js.map +1 -0
  127. package/loader/plugins/loaderPlugin.d.ts +24 -0
  128. package/loader/plugins/loaderPlugin.js +2 -0
  129. package/loader/plugins/loaderPlugin.js.map +1 -0
  130. package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
  131. package/loader/plugins/msftLodLoaderPlugin.js +21 -0
  132. package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
  133. package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
  134. package/loader/plugins/telemetryLoaderPlugin.js +36 -0
  135. package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
  136. package/managers/observablesManager.d.ts +66 -0
  137. package/managers/observablesManager.js +35 -0
  138. package/managers/observablesManager.js.map +1 -0
  139. package/managers/sceneManager.d.ts +245 -0
  140. package/managers/sceneManager.js +1375 -0
  141. package/managers/sceneManager.js.map +1 -0
  142. package/managers/telemetryManager.d.ts +78 -0
  143. package/managers/telemetryManager.js +117 -0
  144. package/managers/telemetryManager.js.map +1 -0
  145. package/model/modelAnimation.d.ts +215 -0
  146. package/model/modelAnimation.js +237 -0
  147. package/model/modelAnimation.js.map +1 -0
  148. package/model/viewerModel.d.ts +233 -0
  149. package/model/viewerModel.js +673 -0
  150. package/model/viewerModel.js.map +1 -0
  151. package/optimizer/custom/extended.d.ts +13 -0
  152. package/optimizer/custom/extended.js +101 -0
  153. package/optimizer/custom/extended.js.map +1 -0
  154. package/optimizer/custom/index.d.ts +9 -0
  155. package/optimizer/custom/index.js +26 -0
  156. package/optimizer/custom/index.js.map +1 -0
  157. package/package.json +27 -18
  158. package/readme.md +21 -145
  159. package/renderOnlyIndex.d.ts +11 -0
  160. package/renderOnlyIndex.js +18 -0
  161. package/renderOnlyIndex.js.map +1 -0
  162. package/templating/eventManager.d.ts +35 -0
  163. package/templating/eventManager.js +66 -0
  164. package/templating/eventManager.js.map +1 -0
  165. package/templating/plugins/hdButtonPlugin.d.ts +9 -0
  166. package/templating/plugins/hdButtonPlugin.js +22 -0
  167. package/templating/plugins/hdButtonPlugin.js.map +1 -0
  168. package/templating/plugins/printButton.d.ts +9 -0
  169. package/templating/plugins/printButton.js +41 -0
  170. package/templating/plugins/printButton.js.map +1 -0
  171. package/templating/templateManager.d.ts +197 -0
  172. package/templating/templateManager.js +561 -0
  173. package/templating/templateManager.js.map +1 -0
  174. package/templating/viewerTemplatePlugin.d.ts +21 -0
  175. package/templating/viewerTemplatePlugin.js +69 -0
  176. package/templating/viewerTemplatePlugin.js.map +1 -0
  177. package/viewer/defaultViewer.d.ts +130 -0
  178. package/viewer/defaultViewer.js +672 -0
  179. package/viewer/defaultViewer.js.map +1 -0
  180. package/viewer/renderOnlyViewer.d.ts +9 -0
  181. package/viewer/renderOnlyViewer.js +46 -0
  182. package/viewer/renderOnlyViewer.js.map +1 -0
  183. package/viewer/viewer.d.ts +258 -0
  184. package/viewer/viewer.js +783 -0
  185. package/viewer/viewer.js.map +1 -0
  186. package/viewer/viewerManager.d.ts +58 -0
  187. package/viewer/viewerManager.js +91 -0
  188. package/viewer/viewerManager.js.map +1 -0
  189. package/viewer/viewerWithTemplate.d.ts +9 -0
  190. package/viewer/viewerWithTemplate.js +20 -0
  191. package/viewer/viewerWithTemplate.js.map +1 -0
  192. package/assets/photoStudio.env +0 -0
  193. package/dist/babylon-viewer.esm.js +0 -2
  194. package/dist/babylon-viewer.esm.js.map +0 -1
  195. package/dist/babylon-viewer.esm.min.js +0 -2
  196. package/dist/babylon-viewer.esm.min.js.map +0 -1
  197. package/dist/chunks/EXT_lights_image_based-CtTmxflP.esm.min.js +0 -2
  198. package/dist/chunks/EXT_lights_image_based-CtTmxflP.esm.min.js.map +0 -1
  199. package/dist/chunks/EXT_lights_image_based-DxdJ75Vh.esm.js +0 -171
  200. package/dist/chunks/EXT_lights_image_based-DxdJ75Vh.esm.js.map +0 -1
  201. package/dist/chunks/EXT_mesh_gpu_instancing-Ct2Bx4PM.esm.js +0 -86
  202. package/dist/chunks/EXT_mesh_gpu_instancing-Ct2Bx4PM.esm.js.map +0 -1
  203. package/dist/chunks/EXT_mesh_gpu_instancing-M7Gz7MhO.esm.min.js +0 -2
  204. package/dist/chunks/EXT_mesh_gpu_instancing-M7Gz7MhO.esm.min.js.map +0 -1
  205. package/dist/chunks/EXT_meshopt_compression-Cyn--p6_.esm.min.js +0 -2
  206. package/dist/chunks/EXT_meshopt_compression-Cyn--p6_.esm.min.js.map +0 -1
  207. package/dist/chunks/EXT_meshopt_compression-yhAZH-Pp.esm.js +0 -134
  208. package/dist/chunks/EXT_meshopt_compression-yhAZH-Pp.esm.js.map +0 -1
  209. package/dist/chunks/EXT_texture_avif-ChzVvnzn.esm.min.js +0 -2
  210. package/dist/chunks/EXT_texture_avif-ChzVvnzn.esm.min.js.map +0 -1
  211. package/dist/chunks/EXT_texture_avif-kf6cO5i2.esm.js +0 -44
  212. package/dist/chunks/EXT_texture_avif-kf6cO5i2.esm.js.map +0 -1
  213. package/dist/chunks/EXT_texture_webp-DThCSm4A.esm.js +0 -43
  214. package/dist/chunks/EXT_texture_webp-DThCSm4A.esm.js.map +0 -1
  215. package/dist/chunks/EXT_texture_webp-cGxajBb2.esm.min.js +0 -2
  216. package/dist/chunks/EXT_texture_webp-cGxajBb2.esm.min.js.map +0 -1
  217. package/dist/chunks/ExtrasAsMetadata-CFb-ZHm4.esm.js +0 -64
  218. package/dist/chunks/ExtrasAsMetadata-CFb-ZHm4.esm.js.map +0 -1
  219. package/dist/chunks/ExtrasAsMetadata-DbBAtN0v.esm.min.js +0 -2
  220. package/dist/chunks/ExtrasAsMetadata-DbBAtN0v.esm.min.js.map +0 -1
  221. package/dist/chunks/KHR_animation_pointer-9NEomZda.esm.js +0 -343
  222. package/dist/chunks/KHR_animation_pointer-9NEomZda.esm.js.map +0 -1
  223. package/dist/chunks/KHR_animation_pointer-LTcasRZl.esm.min.js +0 -2
  224. package/dist/chunks/KHR_animation_pointer-LTcasRZl.esm.min.js.map +0 -1
  225. package/dist/chunks/KHR_draco_mesh_compression-Bph7X4Na.esm.min.js +0 -2
  226. package/dist/chunks/KHR_draco_mesh_compression-Bph7X4Na.esm.min.js.map +0 -1
  227. package/dist/chunks/KHR_draco_mesh_compression-Bt96ryNv.esm.js +0 -617
  228. package/dist/chunks/KHR_draco_mesh_compression-Bt96ryNv.esm.js.map +0 -1
  229. package/dist/chunks/KHR_interactivity-DOTBcI_U.esm.js +0 -4033
  230. package/dist/chunks/KHR_interactivity-DOTBcI_U.esm.js.map +0 -1
  231. package/dist/chunks/KHR_interactivity-DxgFXUw7.esm.min.js +0 -2
  232. package/dist/chunks/KHR_interactivity-DxgFXUw7.esm.min.js.map +0 -1
  233. package/dist/chunks/KHR_lights_punctual-CQr6drzF.esm.js +0 -1253
  234. package/dist/chunks/KHR_lights_punctual-CQr6drzF.esm.js.map +0 -1
  235. package/dist/chunks/KHR_lights_punctual-Ehfkpasf.esm.min.js +0 -2
  236. package/dist/chunks/KHR_lights_punctual-Ehfkpasf.esm.min.js.map +0 -1
  237. package/dist/chunks/KHR_materials_anisotropy-BxO4PQVz.esm.js +0 -65
  238. package/dist/chunks/KHR_materials_anisotropy-BxO4PQVz.esm.js.map +0 -1
  239. package/dist/chunks/KHR_materials_anisotropy-DBn9Shqv.esm.min.js +0 -2
  240. package/dist/chunks/KHR_materials_anisotropy-DBn9Shqv.esm.min.js.map +0 -1
  241. package/dist/chunks/KHR_materials_clearcoat-Ba4YQg1H.esm.js +0 -96
  242. package/dist/chunks/KHR_materials_clearcoat-Ba4YQg1H.esm.js.map +0 -1
  243. package/dist/chunks/KHR_materials_clearcoat-JK2b7sFJ.esm.min.js +0 -2
  244. package/dist/chunks/KHR_materials_clearcoat-JK2b7sFJ.esm.min.js.map +0 -1
  245. package/dist/chunks/KHR_materials_diffuse_transmission-DApSwWKf.esm.js +0 -97
  246. package/dist/chunks/KHR_materials_diffuse_transmission-DApSwWKf.esm.js.map +0 -1
  247. package/dist/chunks/KHR_materials_diffuse_transmission-bVzBmVfS.esm.min.js +0 -2
  248. package/dist/chunks/KHR_materials_diffuse_transmission-bVzBmVfS.esm.min.js.map +0 -1
  249. package/dist/chunks/KHR_materials_dispersion-BHwE2Zuq.esm.js +0 -62
  250. package/dist/chunks/KHR_materials_dispersion-BHwE2Zuq.esm.js.map +0 -1
  251. package/dist/chunks/KHR_materials_dispersion-DGnPLyh8.esm.min.js +0 -2
  252. package/dist/chunks/KHR_materials_dispersion-DGnPLyh8.esm.min.js.map +0 -1
  253. package/dist/chunks/KHR_materials_emissive_strength-Gt6fUiEq.esm.min.js +0 -2
  254. package/dist/chunks/KHR_materials_emissive_strength-Gt6fUiEq.esm.min.js.map +0 -1
  255. package/dist/chunks/KHR_materials_emissive_strength-lAx8FBj1.esm.js +0 -55
  256. package/dist/chunks/KHR_materials_emissive_strength-lAx8FBj1.esm.js.map +0 -1
  257. package/dist/chunks/KHR_materials_ior-BPBE1bfb.esm.js +0 -64
  258. package/dist/chunks/KHR_materials_ior-BPBE1bfb.esm.js.map +0 -1
  259. package/dist/chunks/KHR_materials_ior-CVLjHo_d.esm.min.js +0 -2
  260. package/dist/chunks/KHR_materials_ior-CVLjHo_d.esm.min.js.map +0 -1
  261. package/dist/chunks/KHR_materials_iridescence-CS0J-SHj.esm.js +0 -72
  262. package/dist/chunks/KHR_materials_iridescence-CS0J-SHj.esm.js.map +0 -1
  263. package/dist/chunks/KHR_materials_iridescence-HDqTC5c6.esm.min.js +0 -2
  264. package/dist/chunks/KHR_materials_iridescence-HDqTC5c6.esm.min.js.map +0 -1
  265. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-C_4MAuDj.esm.js +0 -81
  266. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-C_4MAuDj.esm.js.map +0 -1
  267. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-pWJRVA-C.esm.min.js +0 -2
  268. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-pWJRVA-C.esm.min.js.map +0 -1
  269. package/dist/chunks/KHR_materials_sheen-BrzXyxI9.esm.js +0 -85
  270. package/dist/chunks/KHR_materials_sheen-BrzXyxI9.esm.js.map +0 -1
  271. package/dist/chunks/KHR_materials_sheen-vYnhqBGA.esm.min.js +0 -2
  272. package/dist/chunks/KHR_materials_sheen-vYnhqBGA.esm.min.js.map +0 -1
  273. package/dist/chunks/KHR_materials_specular-Blup6EfD.esm.min.js +0 -2
  274. package/dist/chunks/KHR_materials_specular-Blup6EfD.esm.min.js.map +0 -1
  275. package/dist/chunks/KHR_materials_specular-Dl2VI7fY.esm.js +0 -75
  276. package/dist/chunks/KHR_materials_specular-Dl2VI7fY.esm.js.map +0 -1
  277. package/dist/chunks/KHR_materials_transmission-C0KlwPCn.esm.min.js +0 -2
  278. package/dist/chunks/KHR_materials_transmission-C0KlwPCn.esm.min.js.map +0 -1
  279. package/dist/chunks/KHR_materials_transmission-C8oapAD3.esm.js +0 -307
  280. package/dist/chunks/KHR_materials_transmission-C8oapAD3.esm.js.map +0 -1
  281. package/dist/chunks/KHR_materials_unlit-B0fpQ4zR.esm.js +0 -74
  282. package/dist/chunks/KHR_materials_unlit-B0fpQ4zR.esm.js.map +0 -1
  283. package/dist/chunks/KHR_materials_unlit-DTHggpW9.esm.min.js +0 -2
  284. package/dist/chunks/KHR_materials_unlit-DTHggpW9.esm.min.js.map +0 -1
  285. package/dist/chunks/KHR_materials_variants-BwBEEg3F.esm.min.js +0 -2
  286. package/dist/chunks/KHR_materials_variants-BwBEEg3F.esm.min.js.map +0 -1
  287. package/dist/chunks/KHR_materials_variants-kqYAN68R.esm.js +0 -262
  288. package/dist/chunks/KHR_materials_variants-kqYAN68R.esm.js.map +0 -1
  289. package/dist/chunks/KHR_materials_volume-Bv-dIh0a.esm.min.js +0 -2
  290. package/dist/chunks/KHR_materials_volume-Bv-dIh0a.esm.min.js.map +0 -1
  291. package/dist/chunks/KHR_materials_volume-ti6cJURc.esm.js +0 -87
  292. package/dist/chunks/KHR_materials_volume-ti6cJURc.esm.js.map +0 -1
  293. package/dist/chunks/KHR_mesh_quantization-nNbC_EwK.esm.js +0 -26
  294. package/dist/chunks/KHR_mesh_quantization-nNbC_EwK.esm.js.map +0 -1
  295. package/dist/chunks/KHR_mesh_quantization-vSwEFku8.esm.min.js +0 -2
  296. package/dist/chunks/KHR_mesh_quantization-vSwEFku8.esm.min.js.map +0 -1
  297. package/dist/chunks/KHR_node_visibility-DLtO1RxY.esm.js +0 -46
  298. package/dist/chunks/KHR_node_visibility-DLtO1RxY.esm.js.map +0 -1
  299. package/dist/chunks/KHR_node_visibility-Hxj5EM8p.esm.min.js +0 -2
  300. package/dist/chunks/KHR_node_visibility-Hxj5EM8p.esm.min.js.map +0 -1
  301. package/dist/chunks/KHR_texture_basisu-CqMHceY7.esm.min.js +0 -2
  302. package/dist/chunks/KHR_texture_basisu-CqMHceY7.esm.min.js.map +0 -1
  303. package/dist/chunks/KHR_texture_basisu-lMocQO9p.esm.js +0 -43
  304. package/dist/chunks/KHR_texture_basisu-lMocQO9p.esm.js.map +0 -1
  305. package/dist/chunks/KHR_texture_transform-CgdcLEoa.esm.min.js +0 -2
  306. package/dist/chunks/KHR_texture_transform-CgdcLEoa.esm.min.js.map +0 -1
  307. package/dist/chunks/KHR_texture_transform-n58ZXRS4.esm.js +0 -63
  308. package/dist/chunks/KHR_texture_transform-n58ZXRS4.esm.js.map +0 -1
  309. package/dist/chunks/KHR_xmp_json_ld-B7jCJySU.esm.js +0 -51
  310. package/dist/chunks/KHR_xmp_json_ld-B7jCJySU.esm.js.map +0 -1
  311. package/dist/chunks/KHR_xmp_json_ld-D1U6cvWk.esm.min.js +0 -2
  312. package/dist/chunks/KHR_xmp_json_ld-D1U6cvWk.esm.min.js.map +0 -1
  313. package/dist/chunks/MSFT_audio_emitter-BzxTfMT_.esm.min.js +0 -2
  314. package/dist/chunks/MSFT_audio_emitter-BzxTfMT_.esm.min.js.map +0 -1
  315. package/dist/chunks/MSFT_audio_emitter-LEhFqqYK.esm.js +0 -2207
  316. package/dist/chunks/MSFT_audio_emitter-LEhFqqYK.esm.js.map +0 -1
  317. package/dist/chunks/MSFT_lod-BM-YMVLd.esm.min.js +0 -2
  318. package/dist/chunks/MSFT_lod-BM-YMVLd.esm.min.js.map +0 -1
  319. package/dist/chunks/MSFT_lod-D2q1R8JN.esm.js +0 -337
  320. package/dist/chunks/MSFT_lod-D2q1R8JN.esm.js.map +0 -1
  321. package/dist/chunks/MSFT_minecraftMesh-DC1fcmHe.esm.js +0 -46
  322. package/dist/chunks/MSFT_minecraftMesh-DC1fcmHe.esm.js.map +0 -1
  323. package/dist/chunks/MSFT_minecraftMesh-XCJ5CDu9.esm.min.js +0 -2
  324. package/dist/chunks/MSFT_minecraftMesh-XCJ5CDu9.esm.min.js.map +0 -1
  325. package/dist/chunks/MSFT_sRGBFactors-Bd7tUhaC.esm.min.js +0 -2
  326. package/dist/chunks/MSFT_sRGBFactors-Bd7tUhaC.esm.min.js.map +0 -1
  327. package/dist/chunks/MSFT_sRGBFactors-DmtVowk1.esm.js +0 -47
  328. package/dist/chunks/MSFT_sRGBFactors-DmtVowk1.esm.js.map +0 -1
  329. package/dist/chunks/animationGroup-BbuLg7k8.esm.min.js +0 -2
  330. package/dist/chunks/animationGroup-BbuLg7k8.esm.min.js.map +0 -1
  331. package/dist/chunks/animationGroup-CUTGQiZ_.esm.js +0 -2482
  332. package/dist/chunks/animationGroup-CUTGQiZ_.esm.js.map +0 -1
  333. package/dist/chunks/assetContainer-C6ncSoIo.esm.js +0 -1720
  334. package/dist/chunks/assetContainer-C6ncSoIo.esm.js.map +0 -1
  335. package/dist/chunks/assetContainer-UT1ioCCO.esm.min.js +0 -2
  336. package/dist/chunks/assetContainer-UT1ioCCO.esm.min.js.map +0 -1
  337. package/dist/chunks/audioEngine-DoYHGumM.esm.min.js +0 -2
  338. package/dist/chunks/audioEngine-DoYHGumM.esm.min.js.map +0 -1
  339. package/dist/chunks/audioEngine-DyDIVcOT.esm.js +0 -305
  340. package/dist/chunks/audioEngine-DyDIVcOT.esm.js.map +0 -1
  341. package/dist/chunks/bakedVertexAnimation-C2uRoeRk.esm.min.js +0 -2
  342. package/dist/chunks/bakedVertexAnimation-C2uRoeRk.esm.min.js.map +0 -1
  343. package/dist/chunks/bakedVertexAnimation-D_-fGGra.esm.js +0 -114
  344. package/dist/chunks/bakedVertexAnimation-D_-fGGra.esm.js.map +0 -1
  345. package/dist/chunks/basisTextureLoader-B-Qq9Phl.esm.min.js +0 -2
  346. package/dist/chunks/basisTextureLoader-B-Qq9Phl.esm.min.js.map +0 -1
  347. package/dist/chunks/basisTextureLoader-DUlYrghk.esm.js +0 -600
  348. package/dist/chunks/basisTextureLoader-DUlYrghk.esm.js.map +0 -1
  349. package/dist/chunks/dds-D7BAf2ic.esm.min.js +0 -2
  350. package/dist/chunks/dds-D7BAf2ic.esm.min.js.map +0 -1
  351. package/dist/chunks/dds-ZmhdYHuo.esm.js +0 -540
  352. package/dist/chunks/dds-ZmhdYHuo.esm.js.map +0 -1
  353. package/dist/chunks/ddsTextureLoader-BUSqGvB5.esm.min.js +0 -2
  354. package/dist/chunks/ddsTextureLoader-BUSqGvB5.esm.min.js.map +0 -1
  355. package/dist/chunks/ddsTextureLoader-lyR7HTBM.esm.js +0 -88
  356. package/dist/chunks/ddsTextureLoader-lyR7HTBM.esm.js.map +0 -1
  357. package/dist/chunks/decalFragment-C2QiN6EX.esm.js +0 -18
  358. package/dist/chunks/decalFragment-C2QiN6EX.esm.js.map +0 -1
  359. package/dist/chunks/decalFragment-CRRYl1jQ.esm.min.js +0 -2
  360. package/dist/chunks/decalFragment-CRRYl1jQ.esm.min.js.map +0 -1
  361. package/dist/chunks/default.fragment-CH_Cf0sg.esm.min.js +0 -2
  362. package/dist/chunks/default.fragment-CH_Cf0sg.esm.min.js.map +0 -1
  363. package/dist/chunks/default.fragment-CeJlEO99.esm.js +0 -497
  364. package/dist/chunks/default.fragment-CeJlEO99.esm.js.map +0 -1
  365. package/dist/chunks/default.fragment-D6wAQMB6.esm.js +0 -433
  366. package/dist/chunks/default.fragment-D6wAQMB6.esm.js.map +0 -1
  367. package/dist/chunks/default.fragment-Eu9BdybI.esm.min.js +0 -2
  368. package/dist/chunks/default.fragment-Eu9BdybI.esm.min.js.map +0 -1
  369. package/dist/chunks/default.vertex-BOe-Kjvn.esm.js +0 -181
  370. package/dist/chunks/default.vertex-BOe-Kjvn.esm.js.map +0 -1
  371. package/dist/chunks/default.vertex-C65fzv7q.esm.min.js +0 -2
  372. package/dist/chunks/default.vertex-C65fzv7q.esm.min.js.map +0 -1
  373. package/dist/chunks/default.vertex-DA6OA-ns.esm.min.js +0 -2
  374. package/dist/chunks/default.vertex-DA6OA-ns.esm.min.js.map +0 -1
  375. package/dist/chunks/default.vertex-wQDPvDxP.esm.js +0 -201
  376. package/dist/chunks/default.vertex-wQDPvDxP.esm.js.map +0 -1
  377. package/dist/chunks/defaultUboDeclaration-C3dmsgEl.esm.min.js +0 -2
  378. package/dist/chunks/defaultUboDeclaration-C3dmsgEl.esm.min.js.map +0 -1
  379. package/dist/chunks/defaultUboDeclaration-DpFhcCJ9.esm.js +0 -13
  380. package/dist/chunks/defaultUboDeclaration-DpFhcCJ9.esm.js.map +0 -1
  381. package/dist/chunks/defaultUboDeclaration-g0TiNDph.esm.min.js +0 -2
  382. package/dist/chunks/defaultUboDeclaration-g0TiNDph.esm.min.js.map +0 -1
  383. package/dist/chunks/defaultUboDeclaration-oUV2JdnL.esm.js +0 -15
  384. package/dist/chunks/defaultUboDeclaration-oUV2JdnL.esm.js.map +0 -1
  385. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
  386. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
  387. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
  388. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
  389. package/dist/chunks/dumpTools-B6MNdEIl.esm.min.js +0 -2
  390. package/dist/chunks/dumpTools-B6MNdEIl.esm.min.js.map +0 -1
  391. package/dist/chunks/dumpTools-BU3EvlD1.esm.js +0 -200
  392. package/dist/chunks/dumpTools-BU3EvlD1.esm.js.map +0 -1
  393. package/dist/chunks/engine-NQcIyL-Q.esm.min.js +0 -2
  394. package/dist/chunks/engine-NQcIyL-Q.esm.min.js.map +0 -1
  395. package/dist/chunks/engine-cANzfga8.esm.js +0 -2216
  396. package/dist/chunks/engine-cANzfga8.esm.js.map +0 -1
  397. package/dist/chunks/engine.common-CgTYVFKn.esm.min.js +0 -2
  398. package/dist/chunks/engine.common-CgTYVFKn.esm.min.js.map +0 -1
  399. package/dist/chunks/engine.common-NSpwQjFN.esm.js +0 -1162
  400. package/dist/chunks/engine.common-NSpwQjFN.esm.js.map +0 -1
  401. package/dist/chunks/envTextureLoader-C84j5KQb.esm.min.js +0 -2
  402. package/dist/chunks/envTextureLoader-C84j5KQb.esm.min.js.map +0 -1
  403. package/dist/chunks/envTextureLoader-RyHxf-NC.esm.js +0 -64
  404. package/dist/chunks/envTextureLoader-RyHxf-NC.esm.js.map +0 -1
  405. package/dist/chunks/environmentTextureTools-ZC_2VGoT.esm.js +0 -382
  406. package/dist/chunks/environmentTextureTools-ZC_2VGoT.esm.js.map +0 -1
  407. package/dist/chunks/environmentTextureTools-xEIMmgGs.esm.min.js +0 -2
  408. package/dist/chunks/environmentTextureTools-xEIMmgGs.esm.min.js.map +0 -1
  409. package/dist/chunks/exrTextureLoader-CIM4Pp17.esm.min.js +0 -2
  410. package/dist/chunks/exrTextureLoader-CIM4Pp17.esm.min.js.map +0 -1
  411. package/dist/chunks/exrTextureLoader-Cat_WsXp.esm.js +0 -1682
  412. package/dist/chunks/exrTextureLoader-Cat_WsXp.esm.js.map +0 -1
  413. package/dist/chunks/fogFragment-BEbpV0WH.esm.js +0 -101
  414. package/dist/chunks/fogFragment-BEbpV0WH.esm.js.map +0 -1
  415. package/dist/chunks/fogFragment-CyuTAIv1.esm.js +0 -102
  416. package/dist/chunks/fogFragment-CyuTAIv1.esm.js.map +0 -1
  417. package/dist/chunks/fogFragment-ORdMXcVF.esm.min.js +0 -2
  418. package/dist/chunks/fogFragment-ORdMXcVF.esm.min.js.map +0 -1
  419. package/dist/chunks/fogFragment-t5lYMUuM.esm.min.js +0 -2
  420. package/dist/chunks/fogFragment-t5lYMUuM.esm.min.js.map +0 -1
  421. package/dist/chunks/fresnelFunction-Duq-aY9I.esm.js +0 -12
  422. package/dist/chunks/fresnelFunction-Duq-aY9I.esm.js.map +0 -1
  423. package/dist/chunks/fresnelFunction-Nl3qJzpP.esm.min.js +0 -2
  424. package/dist/chunks/fresnelFunction-Nl3qJzpP.esm.min.js.map +0 -1
  425. package/dist/chunks/glTFLoader-C-9RyvaX.esm.min.js +0 -2
  426. package/dist/chunks/glTFLoader-C-9RyvaX.esm.min.js.map +0 -1
  427. package/dist/chunks/glTFLoader-CykTOmbH.esm.js +0 -7586
  428. package/dist/chunks/glTFLoader-CykTOmbH.esm.js.map +0 -1
  429. package/dist/chunks/glTFLoaderAnimation-CuAlGu9L.esm.min.js +0 -2
  430. package/dist/chunks/glTFLoaderAnimation-CuAlGu9L.esm.min.js.map +0 -1
  431. package/dist/chunks/glTFLoaderAnimation-D-9sO0SL.esm.js +0 -77
  432. package/dist/chunks/glTFLoaderAnimation-D-9sO0SL.esm.js.map +0 -1
  433. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  434. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  435. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  436. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  437. package/dist/chunks/harmonicsFunctions-63iSgVvj.esm.js +0 -35
  438. package/dist/chunks/harmonicsFunctions-63iSgVvj.esm.js.map +0 -1
  439. package/dist/chunks/harmonicsFunctions-Bii0v1dl.esm.js +0 -34
  440. package/dist/chunks/harmonicsFunctions-Bii0v1dl.esm.js.map +0 -1
  441. package/dist/chunks/harmonicsFunctions-ClUsZp0R.esm.min.js +0 -2
  442. package/dist/chunks/harmonicsFunctions-ClUsZp0R.esm.min.js.map +0 -1
  443. package/dist/chunks/harmonicsFunctions-CtfPmn2Q.esm.min.js +0 -2
  444. package/dist/chunks/harmonicsFunctions-CtfPmn2Q.esm.min.js.map +0 -1
  445. package/dist/chunks/hdrTextureLoader-BN6Y1Lut.esm.js +0 -252
  446. package/dist/chunks/hdrTextureLoader-BN6Y1Lut.esm.js.map +0 -1
  447. package/dist/chunks/hdrTextureLoader-D7RuoX9t.esm.min.js +0 -2
  448. package/dist/chunks/hdrTextureLoader-D7RuoX9t.esm.min.js.map +0 -1
  449. package/dist/chunks/helperFunctions-BEzjtVd_.esm.js +0 -108
  450. package/dist/chunks/helperFunctions-BEzjtVd_.esm.js.map +0 -1
  451. package/dist/chunks/helperFunctions-C_Q-8JFf.esm.min.js +0 -2
  452. package/dist/chunks/helperFunctions-C_Q-8JFf.esm.min.js.map +0 -1
  453. package/dist/chunks/helperFunctions-V-OksA1t.esm.min.js +0 -2
  454. package/dist/chunks/helperFunctions-V-OksA1t.esm.min.js.map +0 -1
  455. package/dist/chunks/helperFunctions-uqYfkFNG.esm.js +0 -80
  456. package/dist/chunks/helperFunctions-uqYfkFNG.esm.js.map +0 -1
  457. package/dist/chunks/iesTextureLoader-BnDWgC_d.esm.js +0 -189
  458. package/dist/chunks/iesTextureLoader-BnDWgC_d.esm.js.map +0 -1
  459. package/dist/chunks/iesTextureLoader-Dd9uqoDf.esm.min.js +0 -2
  460. package/dist/chunks/iesTextureLoader-Dd9uqoDf.esm.min.js.map +0 -1
  461. package/dist/chunks/index-Byr0e55i.esm.min.js +0 -57
  462. package/dist/chunks/index-Byr0e55i.esm.min.js.map +0 -1
  463. package/dist/chunks/index-D2PRSJU-.esm.js +0 -74617
  464. package/dist/chunks/index-D2PRSJU-.esm.js.map +0 -1
  465. package/dist/chunks/ktxTextureLoader-Bedd6RF1.esm.js +0 -814
  466. package/dist/chunks/ktxTextureLoader-Bedd6RF1.esm.js.map +0 -1
  467. package/dist/chunks/ktxTextureLoader-ChbvKkT1.esm.min.js +0 -2
  468. package/dist/chunks/ktxTextureLoader-ChbvKkT1.esm.min.js.map +0 -1
  469. package/dist/chunks/logDepthDeclaration-Bwk-jsOX.esm.js +0 -35
  470. package/dist/chunks/logDepthDeclaration-Bwk-jsOX.esm.js.map +0 -1
  471. package/dist/chunks/logDepthDeclaration-C36eoW9x.esm.min.js +0 -2
  472. package/dist/chunks/logDepthDeclaration-C36eoW9x.esm.min.js.map +0 -1
  473. package/dist/chunks/logDepthDeclaration-D_W5O6rS.esm.min.js +0 -2
  474. package/dist/chunks/logDepthDeclaration-D_W5O6rS.esm.min.js.map +0 -1
  475. package/dist/chunks/logDepthDeclaration-DoIMFd5A.esm.js +0 -11
  476. package/dist/chunks/logDepthDeclaration-DoIMFd5A.esm.js.map +0 -1
  477. package/dist/chunks/logDepthVertex-BWGbf5vd.esm.js +0 -77
  478. package/dist/chunks/logDepthVertex-BWGbf5vd.esm.js.map +0 -1
  479. package/dist/chunks/logDepthVertex-BXDRiqLA.esm.min.js +0 -2
  480. package/dist/chunks/logDepthVertex-BXDRiqLA.esm.min.js.map +0 -1
  481. package/dist/chunks/logDepthVertex-B_gpAch8.esm.js +0 -77
  482. package/dist/chunks/logDepthVertex-B_gpAch8.esm.js.map +0 -1
  483. package/dist/chunks/logDepthVertex-D1HEmqMB.esm.min.js +0 -2
  484. package/dist/chunks/logDepthVertex-D1HEmqMB.esm.min.js.map +0 -1
  485. package/dist/chunks/mainUVVaryingDeclaration-D8J40nds.esm.min.js +0 -2
  486. package/dist/chunks/mainUVVaryingDeclaration-D8J40nds.esm.min.js.map +0 -1
  487. package/dist/chunks/mainUVVaryingDeclaration-DbkJ4skP.esm.js +0 -11
  488. package/dist/chunks/mainUVVaryingDeclaration-DbkJ4skP.esm.js.map +0 -1
  489. package/dist/chunks/mainUVVaryingDeclaration-DyHSx4Dw.esm.min.js +0 -2
  490. package/dist/chunks/mainUVVaryingDeclaration-DyHSx4Dw.esm.min.js.map +0 -1
  491. package/dist/chunks/mainUVVaryingDeclaration-MPfCNdn8.esm.js +0 -11
  492. package/dist/chunks/mainUVVaryingDeclaration-MPfCNdn8.esm.js.map +0 -1
  493. package/dist/chunks/meshUboDeclaration-BVXOzRuY.esm.js +0 -24
  494. package/dist/chunks/meshUboDeclaration-BVXOzRuY.esm.js.map +0 -1
  495. package/dist/chunks/meshUboDeclaration-Ddel-wFh.esm.min.js +0 -2
  496. package/dist/chunks/meshUboDeclaration-Ddel-wFh.esm.min.js.map +0 -1
  497. package/dist/chunks/objFileLoader-CXbhBn7S.esm.min.js +0 -2
  498. package/dist/chunks/objFileLoader-CXbhBn7S.esm.min.js.map +0 -1
  499. package/dist/chunks/objFileLoader-CoVXAnQJ.esm.js +0 -1338
  500. package/dist/chunks/objFileLoader-CoVXAnQJ.esm.js.map +0 -1
  501. package/dist/chunks/oitFragment-BD3r8JAq.esm.min.js +0 -2
  502. package/dist/chunks/oitFragment-BD3r8JAq.esm.min.js.map +0 -1
  503. package/dist/chunks/oitFragment-BbXBMuId.esm.js +0 -1051
  504. package/dist/chunks/oitFragment-BbXBMuId.esm.js.map +0 -1
  505. package/dist/chunks/oitFragment-C2GwnhPD.esm.min.js +0 -2
  506. package/dist/chunks/oitFragment-C2GwnhPD.esm.min.js.map +0 -1
  507. package/dist/chunks/oitFragment-CRPgfH4O.esm.js +0 -1210
  508. package/dist/chunks/oitFragment-CRPgfH4O.esm.js.map +0 -1
  509. package/dist/chunks/pass.fragment-BcR_nZ4s.esm.js +0 -15
  510. package/dist/chunks/pass.fragment-BcR_nZ4s.esm.js.map +0 -1
  511. package/dist/chunks/pass.fragment-CRhtnpSG.esm.min.js +0 -2
  512. package/dist/chunks/pass.fragment-CRhtnpSG.esm.min.js.map +0 -1
  513. package/dist/chunks/pass.fragment-Cey15cSC.esm.min.js +0 -2
  514. package/dist/chunks/pass.fragment-Cey15cSC.esm.min.js.map +0 -1
  515. package/dist/chunks/pass.fragment-DHOBi3Wt.esm.js +0 -15
  516. package/dist/chunks/pass.fragment-DHOBi3Wt.esm.js.map +0 -1
  517. package/dist/chunks/pbr.fragment-BxuhEQ7D.esm.min.js +0 -2
  518. package/dist/chunks/pbr.fragment-BxuhEQ7D.esm.min.js.map +0 -1
  519. package/dist/chunks/pbr.fragment-CC-b5JTF.esm.min.js +0 -2
  520. package/dist/chunks/pbr.fragment-CC-b5JTF.esm.min.js.map +0 -1
  521. package/dist/chunks/pbr.fragment-DmzKiwUI.esm.js +0 -3270
  522. package/dist/chunks/pbr.fragment-DmzKiwUI.esm.js.map +0 -1
  523. package/dist/chunks/pbr.fragment-gRf3Ac1s.esm.js +0 -3230
  524. package/dist/chunks/pbr.fragment-gRf3Ac1s.esm.js.map +0 -1
  525. package/dist/chunks/pbr.vertex-55OushdY.esm.min.js +0 -2
  526. package/dist/chunks/pbr.vertex-55OushdY.esm.min.js.map +0 -1
  527. package/dist/chunks/pbr.vertex-BGZL1vqU.esm.js +0 -214
  528. package/dist/chunks/pbr.vertex-BGZL1vqU.esm.js.map +0 -1
  529. package/dist/chunks/pbr.vertex-BhHlxTgg.esm.min.js +0 -2
  530. package/dist/chunks/pbr.vertex-BhHlxTgg.esm.min.js.map +0 -1
  531. package/dist/chunks/pbr.vertex-D_ImdfjS.esm.js +0 -338
  532. package/dist/chunks/pbr.vertex-D_ImdfjS.esm.js.map +0 -1
  533. package/dist/chunks/postprocess.vertex-BvTgsCF2.esm.js +0 -20
  534. package/dist/chunks/postprocess.vertex-BvTgsCF2.esm.js.map +0 -1
  535. package/dist/chunks/postprocess.vertex-DejxEyI8.esm.min.js +0 -2
  536. package/dist/chunks/postprocess.vertex-DejxEyI8.esm.min.js.map +0 -1
  537. package/dist/chunks/rawTexture-CtZPcsCK.esm.js +0 -191
  538. package/dist/chunks/rawTexture-CtZPcsCK.esm.js.map +0 -1
  539. package/dist/chunks/rawTexture-DiLjtdps.esm.min.js +0 -2
  540. package/dist/chunks/rawTexture-DiLjtdps.esm.min.js.map +0 -1
  541. package/dist/chunks/ray-CUy1_LbY.esm.js +0 -946
  542. package/dist/chunks/ray-CUy1_LbY.esm.js.map +0 -1
  543. package/dist/chunks/ray-CyeV6FXS.esm.min.js +0 -2
  544. package/dist/chunks/ray-CyeV6FXS.esm.min.js.map +0 -1
  545. package/dist/chunks/rgbdDecode.fragment-9u3cq_-K.esm.min.js +0 -2
  546. package/dist/chunks/rgbdDecode.fragment-9u3cq_-K.esm.min.js.map +0 -1
  547. package/dist/chunks/rgbdDecode.fragment-DuoYEzSR.esm.min.js +0 -2
  548. package/dist/chunks/rgbdDecode.fragment-DuoYEzSR.esm.min.js.map +0 -1
  549. package/dist/chunks/rgbdDecode.fragment-gOeaxG0m.esm.js +0 -17
  550. package/dist/chunks/rgbdDecode.fragment-gOeaxG0m.esm.js.map +0 -1
  551. package/dist/chunks/rgbdDecode.fragment-w-H1DVHn.esm.js +0 -17
  552. package/dist/chunks/rgbdDecode.fragment-w-H1DVHn.esm.js.map +0 -1
  553. package/dist/chunks/rgbdEncode.fragment-CUhBDVEY.esm.js +0 -17
  554. package/dist/chunks/rgbdEncode.fragment-CUhBDVEY.esm.js.map +0 -1
  555. package/dist/chunks/rgbdEncode.fragment-CtTGJV2i.esm.js +0 -17
  556. package/dist/chunks/rgbdEncode.fragment-CtTGJV2i.esm.js.map +0 -1
  557. package/dist/chunks/rgbdEncode.fragment-DN2pQGj8.esm.min.js +0 -2
  558. package/dist/chunks/rgbdEncode.fragment-DN2pQGj8.esm.min.js.map +0 -1
  559. package/dist/chunks/rgbdEncode.fragment-DUTaQRsu.esm.min.js +0 -2
  560. package/dist/chunks/rgbdEncode.fragment-DUTaQRsu.esm.min.js.map +0 -1
  561. package/dist/chunks/splatFileLoader-CX6JcFzg.esm.min.js +0 -2
  562. package/dist/chunks/splatFileLoader-CX6JcFzg.esm.min.js.map +0 -1
  563. package/dist/chunks/splatFileLoader-CXNzuJGe.esm.js +0 -3371
  564. package/dist/chunks/splatFileLoader-CXNzuJGe.esm.js.map +0 -1
  565. package/dist/chunks/standardMaterial-BpN5HUFh.esm.js +0 -1805
  566. package/dist/chunks/standardMaterial-BpN5HUFh.esm.js.map +0 -1
  567. package/dist/chunks/standardMaterial-DeIP1NOH.esm.min.js +0 -2
  568. package/dist/chunks/standardMaterial-DeIP1NOH.esm.min.js.map +0 -1
  569. package/dist/chunks/stlFileLoader-CfoonZSR.esm.min.js +0 -2
  570. package/dist/chunks/stlFileLoader-CfoonZSR.esm.min.js.map +0 -1
  571. package/dist/chunks/stlFileLoader-wSWgG8JA.esm.js +0 -238
  572. package/dist/chunks/stlFileLoader-wSWgG8JA.esm.js.map +0 -1
  573. package/dist/chunks/tgaTextureLoader-BYE4YDgZ.esm.js +0 -349
  574. package/dist/chunks/tgaTextureLoader-BYE4YDgZ.esm.js.map +0 -1
  575. package/dist/chunks/tgaTextureLoader-B_XpR0K4.esm.min.js +0 -2
  576. package/dist/chunks/tgaTextureLoader-B_XpR0K4.esm.min.js.map +0 -1
  577. package/dist/chunks/thinEngine-8iySwqjd.esm.js +0 -3842
  578. package/dist/chunks/thinEngine-8iySwqjd.esm.js.map +0 -1
  579. package/dist/chunks/thinEngine-Du1ndWJI.esm.min.js +0 -2
  580. package/dist/chunks/thinEngine-Du1ndWJI.esm.min.js.map +0 -1
  581. package/dist/chunks/thinInstanceMesh-DtDpOkPl.esm.js +0 -314
  582. package/dist/chunks/thinInstanceMesh-DtDpOkPl.esm.js.map +0 -1
  583. package/dist/chunks/thinInstanceMesh-t0q7wKPC.esm.min.js +0 -2
  584. package/dist/chunks/thinInstanceMesh-t0q7wKPC.esm.min.js.map +0 -1
  585. package/dist/chunks/vertexColorMixing-BN_Xutz8.esm.min.js +0 -2
  586. package/dist/chunks/vertexColorMixing-BN_Xutz8.esm.min.js.map +0 -1
  587. package/dist/chunks/vertexColorMixing-C5mIujwe.esm.js +0 -412
  588. package/dist/chunks/vertexColorMixing-C5mIujwe.esm.js.map +0 -1
  589. package/dist/chunks/vertexColorMixing-CiQhM5F5.esm.js +0 -522
  590. package/dist/chunks/vertexColorMixing-CiQhM5F5.esm.js.map +0 -1
  591. package/dist/chunks/vertexColorMixing-CvT4MVXg.esm.min.js +0 -2
  592. package/dist/chunks/vertexColorMixing-CvT4MVXg.esm.min.js.map +0 -1
  593. package/dist/chunks/webgpuEngine-DN2E-dsv.esm.min.js +0 -2
  594. package/dist/chunks/webgpuEngine-DN2E-dsv.esm.min.js.map +0 -1
  595. package/dist/chunks/webgpuEngine-D_dRHnWD.esm.js +0 -11533
  596. package/dist/chunks/webgpuEngine-D_dRHnWD.esm.js.map +0 -1
  597. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  598. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  599. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  600. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  601. package/docs/ViewerDefault.jpg +0 -0
  602. package/docs/ViewerParts.jpg +0 -0
  603. package/docs/ViewerSlots.jpg +0 -0
  604. package/docs/ViewerStyled.jpg +0 -0
  605. package/lib/index.d.ts +0 -568
  606. package/lib/index.js +0 -2067
  607. package/lib/index.js.map +0 -1
@@ -1,307 +0,0 @@
1
- import { a_ as PBRMaterial, aP as unregisterGLTFExtension, aQ as registerGLTFExtension, C as Constants, aU as Observable, T as Tools, bB as RenderTargetTexture } from './index-D2PRSJU-.esm.js';
2
- import { G as GLTFLoader } from './glTFLoader-CykTOmbH.esm.js';
3
- import './rawTexture-CtZPcsCK.esm.js';
4
- import './assetContainer-C6ncSoIo.esm.js';
5
- import './glTFLoaderAnimation-D-9sO0SL.esm.js';
6
-
7
- /**
8
- * A class to handle setting up the rendering of opaque objects to be shown through transmissive objects.
9
- */
10
- class TransmissionHelper {
11
- /**
12
- * Creates the default options for the helper.
13
- * @returns the default options
14
- */
15
- static _GetDefaultOptions() {
16
- return {
17
- renderSize: 1024,
18
- samples: 4,
19
- lodGenerationScale: 1,
20
- lodGenerationOffset: -4,
21
- renderTargetTextureType: Constants.TEXTURETYPE_HALF_FLOAT,
22
- generateMipmaps: true,
23
- };
24
- }
25
- /**
26
- * constructor
27
- * @param options Defines the options we want to customize the helper
28
- * @param scene The scene to add the material to
29
- */
30
- constructor(options, scene) {
31
- this._opaqueRenderTarget = null;
32
- this._opaqueMeshesCache = [];
33
- this._transparentMeshesCache = [];
34
- this._materialObservers = {};
35
- this._options = {
36
- ...TransmissionHelper._GetDefaultOptions(),
37
- ...options,
38
- };
39
- this._scene = scene;
40
- this._scene._transmissionHelper = this;
41
- this.onErrorObservable = new Observable();
42
- this._scene.onDisposeObservable.addOnce(() => {
43
- this.dispose();
44
- });
45
- this._parseScene();
46
- this._setupRenderTargets();
47
- }
48
- /**
49
- * Updates the background according to the new options
50
- * @param options
51
- */
52
- updateOptions(options) {
53
- // First check if any options are actually being changed. If not, exit.
54
- const newValues = Object.keys(options).filter((key) => this._options[key] !== options[key]);
55
- if (!newValues.length) {
56
- return;
57
- }
58
- const newOptions = {
59
- ...this._options,
60
- ...options,
61
- };
62
- const oldOptions = this._options;
63
- this._options = newOptions;
64
- // If size changes, recreate everything
65
- if (newOptions.renderSize !== oldOptions.renderSize ||
66
- newOptions.renderTargetTextureType !== oldOptions.renderTargetTextureType ||
67
- newOptions.generateMipmaps !== oldOptions.generateMipmaps ||
68
- !this._opaqueRenderTarget) {
69
- this._setupRenderTargets();
70
- }
71
- else {
72
- this._opaqueRenderTarget.samples = newOptions.samples;
73
- this._opaqueRenderTarget.lodGenerationScale = newOptions.lodGenerationScale;
74
- this._opaqueRenderTarget.lodGenerationOffset = newOptions.lodGenerationOffset;
75
- }
76
- }
77
- /**
78
- * @returns the opaque render target texture or null if not available.
79
- */
80
- getOpaqueTarget() {
81
- return this._opaqueRenderTarget;
82
- }
83
- _shouldRenderAsTransmission(material) {
84
- if (!material) {
85
- return false;
86
- }
87
- if (material instanceof PBRMaterial && material.subSurface.isRefractionEnabled) {
88
- return true;
89
- }
90
- return false;
91
- }
92
- _addMesh(mesh) {
93
- this._materialObservers[mesh.uniqueId] = mesh.onMaterialChangedObservable.add(this._onMeshMaterialChanged.bind(this));
94
- // we need to defer the processing because _addMesh may be called as part as an instance mesh creation, in which case some
95
- // internal properties are not setup yet, like _sourceMesh (needed when doing mesh.material below)
96
- Tools.SetImmediate(() => {
97
- if (this._shouldRenderAsTransmission(mesh.material)) {
98
- mesh.material.refractionTexture = this._opaqueRenderTarget;
99
- if (this._transparentMeshesCache.indexOf(mesh) === -1) {
100
- this._transparentMeshesCache.push(mesh);
101
- }
102
- }
103
- else {
104
- if (this._opaqueMeshesCache.indexOf(mesh) === -1) {
105
- this._opaqueMeshesCache.push(mesh);
106
- }
107
- }
108
- });
109
- }
110
- _removeMesh(mesh) {
111
- mesh.onMaterialChangedObservable.remove(this._materialObservers[mesh.uniqueId]);
112
- delete this._materialObservers[mesh.uniqueId];
113
- let idx = this._transparentMeshesCache.indexOf(mesh);
114
- if (idx !== -1) {
115
- this._transparentMeshesCache.splice(idx, 1);
116
- }
117
- idx = this._opaqueMeshesCache.indexOf(mesh);
118
- if (idx !== -1) {
119
- this._opaqueMeshesCache.splice(idx, 1);
120
- }
121
- }
122
- _parseScene() {
123
- this._scene.meshes.forEach(this._addMesh.bind(this));
124
- // Listen for when a mesh is added to the scene and add it to our cache lists.
125
- this._scene.onNewMeshAddedObservable.add(this._addMesh.bind(this));
126
- // Listen for when a mesh is removed from to the scene and remove it from our cache lists.
127
- this._scene.onMeshRemovedObservable.add(this._removeMesh.bind(this));
128
- }
129
- // When one of the meshes in the scene has its material changed, make sure that it's in the correct cache list.
130
- _onMeshMaterialChanged(mesh) {
131
- const transparentIdx = this._transparentMeshesCache.indexOf(mesh);
132
- const opaqueIdx = this._opaqueMeshesCache.indexOf(mesh);
133
- // If the material is transparent, make sure that it's added to the transparent list and removed from the opaque list
134
- const useTransmission = this._shouldRenderAsTransmission(mesh.material);
135
- if (useTransmission) {
136
- if (mesh.material instanceof PBRMaterial) {
137
- mesh.material.subSurface.refractionTexture = this._opaqueRenderTarget;
138
- }
139
- if (opaqueIdx !== -1) {
140
- this._opaqueMeshesCache.splice(opaqueIdx, 1);
141
- this._transparentMeshesCache.push(mesh);
142
- }
143
- else if (transparentIdx === -1) {
144
- this._transparentMeshesCache.push(mesh);
145
- }
146
- // If the material is opaque, make sure that it's added to the opaque list and removed from the transparent list
147
- }
148
- else {
149
- if (transparentIdx !== -1) {
150
- this._transparentMeshesCache.splice(transparentIdx, 1);
151
- this._opaqueMeshesCache.push(mesh);
152
- }
153
- else if (opaqueIdx === -1) {
154
- this._opaqueMeshesCache.push(mesh);
155
- }
156
- }
157
- }
158
- /**
159
- * @internal
160
- * Check if the opaque render target has not been disposed and can still be used.
161
- * @returns
162
- */
163
- _isRenderTargetValid() {
164
- return this._opaqueRenderTarget?.getInternalTexture() !== null;
165
- }
166
- /**
167
- * @internal
168
- * Setup the render targets according to the specified options.
169
- */
170
- _setupRenderTargets() {
171
- if (this._opaqueRenderTarget) {
172
- this._opaqueRenderTarget.dispose();
173
- }
174
- this._opaqueRenderTarget = new RenderTargetTexture("opaqueSceneTexture", this._options.renderSize, this._scene, this._options.generateMipmaps, undefined, this._options.renderTargetTextureType);
175
- this._opaqueRenderTarget.ignoreCameraViewport = true;
176
- this._opaqueRenderTarget.renderList = this._opaqueMeshesCache;
177
- this._opaqueRenderTarget.clearColor = this._options.clearColor?.clone() ?? this._scene.clearColor.clone();
178
- this._opaqueRenderTarget.gammaSpace = false;
179
- this._opaqueRenderTarget.lodGenerationScale = this._options.lodGenerationScale;
180
- this._opaqueRenderTarget.lodGenerationOffset = this._options.lodGenerationOffset;
181
- this._opaqueRenderTarget.samples = this._options.samples;
182
- this._opaqueRenderTarget.renderSprites = true;
183
- this._opaqueRenderTarget.renderParticles = true;
184
- let sceneImageProcessingapplyByPostProcess;
185
- let saveSceneEnvIntensity;
186
- this._opaqueRenderTarget.onBeforeBindObservable.add((opaqueRenderTarget) => {
187
- saveSceneEnvIntensity = this._scene.environmentIntensity;
188
- this._scene.environmentIntensity = 1.0;
189
- sceneImageProcessingapplyByPostProcess = this._scene.imageProcessingConfiguration.applyByPostProcess;
190
- if (!this._options.clearColor) {
191
- this._scene.clearColor.toLinearSpaceToRef(opaqueRenderTarget.clearColor, this._scene.getEngine().useExactSrgbConversions);
192
- }
193
- else {
194
- opaqueRenderTarget.clearColor.copyFrom(this._options.clearColor);
195
- }
196
- // we do not use the applyByPostProcess setter to avoid flagging all the materials as "image processing dirty"!
197
- this._scene.imageProcessingConfiguration._applyByPostProcess = true;
198
- });
199
- this._opaqueRenderTarget.onAfterUnbindObservable.add(() => {
200
- this._scene.environmentIntensity = saveSceneEnvIntensity;
201
- this._scene.imageProcessingConfiguration._applyByPostProcess = sceneImageProcessingapplyByPostProcess;
202
- });
203
- this._transparentMeshesCache.forEach((mesh) => {
204
- if (this._shouldRenderAsTransmission(mesh.material)) {
205
- mesh.material.refractionTexture = this._opaqueRenderTarget;
206
- }
207
- });
208
- }
209
- /**
210
- * Dispose all the elements created by the Helper.
211
- */
212
- dispose() {
213
- this._scene._transmissionHelper = undefined;
214
- if (this._opaqueRenderTarget) {
215
- this._opaqueRenderTarget.dispose();
216
- this._opaqueRenderTarget = null;
217
- }
218
- this._transparentMeshesCache = [];
219
- this._opaqueMeshesCache = [];
220
- }
221
- }
222
- const NAME = "KHR_materials_transmission";
223
- /**
224
- * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_transmission/README.md)
225
- */
226
- // eslint-disable-next-line @typescript-eslint/naming-convention
227
- class KHR_materials_transmission {
228
- /**
229
- * @internal
230
- */
231
- constructor(loader) {
232
- /**
233
- * The name of this extension.
234
- */
235
- this.name = NAME;
236
- /**
237
- * Defines a number that determines the order the extensions are applied.
238
- */
239
- this.order = 175;
240
- this._loader = loader;
241
- this.enabled = this._loader.isExtensionUsed(NAME);
242
- if (this.enabled) {
243
- loader.parent.transparencyAsCoverage = true;
244
- }
245
- }
246
- /** @internal */
247
- dispose() {
248
- this._loader = null;
249
- }
250
- /**
251
- * @internal
252
- */
253
- loadMaterialPropertiesAsync(context, material, babylonMaterial) {
254
- return GLTFLoader.LoadExtensionAsync(context, material, this.name, (extensionContext, extension) => {
255
- const promises = new Array();
256
- promises.push(this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial));
257
- promises.push(this._loadTransparentPropertiesAsync(extensionContext, material, babylonMaterial, extension));
258
- return Promise.all(promises).then(() => { });
259
- });
260
- }
261
- _loadTransparentPropertiesAsync(context, material, babylonMaterial, extension) {
262
- if (!(babylonMaterial instanceof PBRMaterial)) {
263
- throw new Error(`${context}: Material type not supported`);
264
- }
265
- const pbrMaterial = babylonMaterial;
266
- // Enables "refraction" texture which represents transmitted light.
267
- pbrMaterial.subSurface.isRefractionEnabled = true;
268
- // Since this extension models thin-surface transmission only, we must make IOR = 1.0
269
- pbrMaterial.subSurface.volumeIndexOfRefraction = 1.0;
270
- // Albedo colour will tint transmission.
271
- pbrMaterial.subSurface.useAlbedoToTintRefraction = true;
272
- if (extension.transmissionFactor !== undefined) {
273
- pbrMaterial.subSurface.refractionIntensity = extension.transmissionFactor;
274
- const scene = pbrMaterial.getScene();
275
- if (pbrMaterial.subSurface.refractionIntensity && !scene._transmissionHelper) {
276
- new TransmissionHelper({}, pbrMaterial.getScene());
277
- }
278
- else if (pbrMaterial.subSurface.refractionIntensity && !scene._transmissionHelper?._isRenderTargetValid()) {
279
- // If the render target is not valid, recreate it.
280
- scene._transmissionHelper?._setupRenderTargets();
281
- }
282
- }
283
- else {
284
- pbrMaterial.subSurface.refractionIntensity = 0.0;
285
- pbrMaterial.subSurface.isRefractionEnabled = false;
286
- return Promise.resolve();
287
- }
288
- pbrMaterial.subSurface.minimumThickness = 0.0;
289
- pbrMaterial.subSurface.maximumThickness = 0.0;
290
- if (extension.transmissionTexture) {
291
- extension.transmissionTexture.nonColorData = true;
292
- return this._loader.loadTextureInfoAsync(`${context}/transmissionTexture`, extension.transmissionTexture, undefined).then((texture) => {
293
- texture.name = `${babylonMaterial.name} (Transmission)`;
294
- pbrMaterial.subSurface.refractionIntensityTexture = texture;
295
- pbrMaterial.subSurface.useGltfStyleTextures = true;
296
- });
297
- }
298
- else {
299
- return Promise.resolve();
300
- }
301
- }
302
- }
303
- unregisterGLTFExtension(NAME);
304
- registerGLTFExtension(NAME, true, (loader) => new KHR_materials_transmission(loader));
305
-
306
- export { KHR_materials_transmission };
307
- //# sourceMappingURL=KHR_materials_transmission-C8oapAD3.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_transmission-C8oapAD3.esm.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":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- import { a_ as PBRMaterial, s as Color3, aP as unregisterGLTFExtension, aQ as registerGLTFExtension } from './index-D2PRSJU-.esm.js';
2
- import { G as GLTFLoader } from './glTFLoader-CykTOmbH.esm.js';
3
- import './rawTexture-CtZPcsCK.esm.js';
4
- import './assetContainer-C6ncSoIo.esm.js';
5
- import './glTFLoaderAnimation-D-9sO0SL.esm.js';
6
-
7
- const NAME = "KHR_materials_unlit";
8
- /**
9
- * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_unlit/README.md)
10
- */
11
- // eslint-disable-next-line @typescript-eslint/naming-convention
12
- class KHR_materials_unlit {
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 = 210;
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, () => {
37
- return this._loadUnlitPropertiesAsync(context, material, babylonMaterial);
38
- });
39
- }
40
- _loadUnlitPropertiesAsync(context, material, babylonMaterial) {
41
- if (!(babylonMaterial instanceof PBRMaterial)) {
42
- throw new Error(`${context}: Material type not supported`);
43
- }
44
- const promises = new Array();
45
- babylonMaterial.unlit = true;
46
- const properties = material.pbrMetallicRoughness;
47
- if (properties) {
48
- if (properties.baseColorFactor) {
49
- babylonMaterial.albedoColor = Color3.FromArray(properties.baseColorFactor);
50
- babylonMaterial.alpha = properties.baseColorFactor[3];
51
- }
52
- else {
53
- babylonMaterial.albedoColor = Color3.White();
54
- }
55
- if (properties.baseColorTexture) {
56
- promises.push(this._loader.loadTextureInfoAsync(`${context}/baseColorTexture`, properties.baseColorTexture, (texture) => {
57
- texture.name = `${babylonMaterial.name} (Base Color)`;
58
- babylonMaterial.albedoTexture = texture;
59
- }));
60
- }
61
- }
62
- if (material.doubleSided) {
63
- babylonMaterial.backFaceCulling = false;
64
- babylonMaterial.twoSidedLighting = true;
65
- }
66
- this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);
67
- return Promise.all(promises).then(() => { });
68
- }
69
- }
70
- unregisterGLTFExtension(NAME);
71
- registerGLTFExtension(NAME, true, (loader) => new KHR_materials_unlit(loader));
72
-
73
- export { KHR_materials_unlit };
74
- //# sourceMappingURL=KHR_materials_unlit-B0fpQ4zR.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_unlit-B0fpQ4zR.esm.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_unlit.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_unlit\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_unlit/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_unlit {\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 = 210;\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, () => {\n return this._loadUnlitPropertiesAsync(context, material, babylonMaterial);\n });\n }\n _loadUnlitPropertiesAsync(context, material, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.unlit = true;\n const properties = material.pbrMetallicRoughness;\n if (properties) {\n if (properties.baseColorFactor) {\n babylonMaterial.albedoColor = Color3.FromArray(properties.baseColorFactor);\n babylonMaterial.alpha = properties.baseColorFactor[3];\n }\n else {\n babylonMaterial.albedoColor = Color3.White();\n }\n if (properties.baseColorTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/baseColorTexture`, properties.baseColorTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Base Color)`;\n babylonMaterial.albedoTexture = texture;\n }));\n }\n }\n if (material.doubleSided) {\n babylonMaterial.backFaceCulling = false;\n babylonMaterial.twoSidedLighting = true;\n }\n this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_unlit(loader));\n//# sourceMappingURL=KHR_materials_unlit.js.map"],"names":[],"mappings":";;;;;;AAIA,MAAM,IAAI,GAAG,qBAAqB;AAClC;AACA;AACA;AACA;AACO,MAAM,mBAAmB,CAAC;AACjC;AACA;AACA;AACA,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,GAAG;AACxB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM;AAC7B,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;AACzD;AACA;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI;AAC3B;AACA;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,MAAM;AACjF,YAAY,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC;AACrF,SAAS,CAAC;AACV;AACA,IAAI,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;AAClE,QAAQ,IAAI,EAAE,eAAe,YAAY,WAAW,CAAC,EAAE;AACvD,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;AACtE;AACA,QAAQ,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAE;AACpC,QAAQ,eAAe,CAAC,KAAK,GAAG,IAAI;AACpC,QAAQ,MAAM,UAAU,GAAG,QAAQ,CAAC,oBAAoB;AACxD,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,IAAI,UAAU,CAAC,eAAe,EAAE;AAC5C,gBAAgB,eAAe,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC;AAC1F,gBAAgB,eAAe,CAAC,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;AACrE;AACA,iBAAiB;AACjB,gBAAgB,eAAe,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE;AAC5D;AACA,YAAY,IAAI,UAAU,CAAC,gBAAgB,EAAE;AAC7C,gBAAgB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,KAAK;AACzI,oBAAoB,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;AACzE,oBAAoB,eAAe,CAAC,aAAa,GAAG,OAAO;AAC3D,iBAAiB,CAAC,CAAC;AACnB;AACA;AACA,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE;AAClC,YAAY,eAAe,CAAC,eAAe,GAAG,KAAK;AACnD,YAAY,eAAe,CAAC,gBAAgB,GAAG,IAAI;AACnD;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC;AACpF,QAAQ,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AACpD;AACA;AACA,uBAAuB,CAAC,IAAI,CAAC;AAC7B,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;;;;"}
@@ -1,2 +0,0 @@
1
- import{a_ as e,s as o,aP as r,aQ as s}from"./index-Byr0e55i.esm.min.js";import{G as a}from"./glTFLoader-C-9RyvaX.esm.min.js";import"./rawTexture-DiLjtdps.esm.min.js";import"./assetContainer-UT1ioCCO.esm.min.js";import"./glTFLoaderAnimation-CuAlGu9L.esm.min.js";const t="KHR_materials_unlit";class i{constructor(e){this.name=t,this.order=210,this._loader=e,this.enabled=this._loader.isExtensionUsed(t)}dispose(){this._loader=null}loadMaterialPropertiesAsync(e,o,r){return a.LoadExtensionAsync(e,o,this.name,(()=>this._loadUnlitPropertiesAsync(e,o,r)))}_loadUnlitPropertiesAsync(r,s,a){if(!(a instanceof e))throw new Error(`${r}: Material type not supported`);const t=new Array;a.unlit=!0;const i=s.pbrMetallicRoughness;return i&&(i.baseColorFactor?(a.albedoColor=o.FromArray(i.baseColorFactor),a.alpha=i.baseColorFactor[3]):a.albedoColor=o.White(),i.baseColorTexture&&t.push(this._loader.loadTextureInfoAsync(`${r}/baseColorTexture`,i.baseColorTexture,(e=>{e.name=`${a.name} (Base Color)`,a.albedoTexture=e})))),s.doubleSided&&(a.backFaceCulling=!1,a.twoSidedLighting=!0),this._loader.loadMaterialAlphaProperties(r,s,a),Promise.all(t).then((()=>{}))}}r(t),s(t,!0,(e=>new i(e)));export{i as KHR_materials_unlit};
2
- //# sourceMappingURL=KHR_materials_unlit-DTHggpW9.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_unlit-DTHggpW9.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_unlit.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_unlit\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_unlit/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_unlit {\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 = 210;\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, () => {\n return this._loadUnlitPropertiesAsync(context, material, babylonMaterial);\n });\n }\n _loadUnlitPropertiesAsync(context, material, babylonMaterial) {\n if (!(babylonMaterial instanceof PBRMaterial)) {\n throw new Error(`${context}: Material type not supported`);\n }\n const promises = new Array();\n babylonMaterial.unlit = true;\n const properties = material.pbrMetallicRoughness;\n if (properties) {\n if (properties.baseColorFactor) {\n babylonMaterial.albedoColor = Color3.FromArray(properties.baseColorFactor);\n babylonMaterial.alpha = properties.baseColorFactor[3];\n }\n else {\n babylonMaterial.albedoColor = Color3.White();\n }\n if (properties.baseColorTexture) {\n promises.push(this._loader.loadTextureInfoAsync(`${context}/baseColorTexture`, properties.baseColorTexture, (texture) => {\n texture.name = `${babylonMaterial.name} (Base Color)`;\n babylonMaterial.albedoTexture = texture;\n }));\n }\n }\n if (material.doubleSided) {\n babylonMaterial.backFaceCulling = false;\n babylonMaterial.twoSidedLighting = true;\n }\n this._loader.loadMaterialAlphaProperties(context, material, babylonMaterial);\n return Promise.all(promises).then(() => { });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_unlit(loader));\n//# sourceMappingURL=KHR_materials_unlit.js.map"],"names":["NAME","KHR_materials_unlit","constructor","loader","this","name","order","_loader","enabled","isExtensionUsed","dispose","loadMaterialPropertiesAsync","context","material","babylonMaterial","GLTFLoader","LoadExtensionAsync","_loadUnlitPropertiesAsync","PBRMaterial","Error","promises","Array","unlit","properties","pbrMetallicRoughness","baseColorFactor","albedoColor","Color3","FromArray","alpha","White","baseColorTexture","push","loadTextureInfoAsync","texture","albedoTexture","doubleSided","backFaceCulling","twoSidedLighting","loadMaterialAlphaProperties","Promise","all","then","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"qQAIA,MAAMA,EAAO,sBAKN,MAAMC,EAIT,WAAAC,CAAYC,GAIRC,KAAKC,KAAOL,EAIZI,KAAKE,MAAQ,IACbF,KAAKG,QAAUJ,EACfC,KAAKI,QAAUJ,KAAKG,QAAQE,gBAAgBT,EACpD,CAEI,OAAAU,GACIN,KAAKG,QAAU,IACvB,CAII,2BAAAI,CAA4BC,EAASC,EAAUC,GAC3C,OAAOC,EAAWC,mBAAmBJ,EAASC,EAAUT,KAAKC,MAAM,IACxDD,KAAKa,0BAA0BL,EAASC,EAAUC,IAErE,CACI,yBAAAG,CAA0BL,EAASC,EAAUC,GACzC,KAAMA,aAA2BI,GAC7B,MAAM,IAAIC,MAAM,GAAGP,kCAEvB,MAAMQ,EAAW,IAAIC,MACrBP,EAAgBQ,OAAQ,EACxB,MAAMC,EAAaV,EAASW,qBAqB5B,OApBID,IACIA,EAAWE,iBACXX,EAAgBY,YAAcC,EAAOC,UAAUL,EAAWE,iBAC1DX,EAAgBe,MAAQN,EAAWE,gBAAgB,IAGnDX,EAAgBY,YAAcC,EAAOG,QAErCP,EAAWQ,kBACXX,EAASY,KAAK5B,KAAKG,QAAQ0B,qBAAqB,GAAGrB,qBAA4BW,EAAWQ,kBAAmBG,IACzGA,EAAQ7B,KAAO,GAAGS,EAAgBT,oBAClCS,EAAgBqB,cAAgBD,CAAO,MAI/CrB,EAASuB,cACTtB,EAAgBuB,iBAAkB,EAClCvB,EAAgBwB,kBAAmB,GAEvClC,KAAKG,QAAQgC,4BAA4B3B,EAASC,EAAUC,GACrD0B,QAAQC,IAAIrB,GAAUsB,MAAK,QAC1C,EAEAC,EAAwB3C,GACxB4C,EAAsB5C,GAAM,GAAOG,GAAW,IAAIF,EAAoBE"}
@@ -1,2 +0,0 @@
1
- import{G as t,A as a}from"./glTFLoader-C-9RyvaX.esm.min.js";import{M as e,aP as n,aQ as s}from"./index-Byr0e55i.esm.min.js";import"./rawTexture-DiLjtdps.esm.min.js";import"./assetContainer-UT1ioCCO.esm.min.js";import"./glTFLoaderAnimation-CuAlGu9L.esm.min.js";const i="KHR_materials_variants";class r{constructor(t){this.name=i,this._loader=t,this.enabled=this._loader.isExtensionUsed(i)}dispose(){this._loader=null}static GetAvailableVariants(t){const a=this._GetExtensionMetadata(t);return a?Object.keys(a.variants):[]}getAvailableVariants(t){return r.GetAvailableVariants(t)}static SelectVariant(t,a){const e=this._GetExtensionMetadata(t);if(!e)throw new Error(`Cannot select variant on a glTF mesh that does not have the ${i} extension`);const n=t=>{const a=e.variants[t];if(a)for(const t of a)t.mesh.material=t.material};if(a instanceof Array)for(const t of a)n(t);else n(a);e.lastSelected=a}selectVariant(t,a){r.SelectVariant(t,a)}static Reset(t){const a=this._GetExtensionMetadata(t);if(!a)throw new Error(`Cannot reset on a glTF mesh that does not have the ${i} extension`);for(const t of a.original)t.mesh.material=t.material;a.lastSelected=null}reset(t){r.Reset(t)}static GetLastSelectedVariant(t){const a=this._GetExtensionMetadata(t);if(!a)throw new Error(`Cannot get the last selected variant on a glTF mesh that does not have the ${i} extension`);return a.lastSelected}getLastSelectedVariant(t){return r.GetLastSelectedVariant(t)}static _GetExtensionMetadata(t){return t?._internalMetadata?.gltf?.[i]||null}onLoading(){const t=this._loader.gltf.extensions;if(t&&t[this.name]){const a=t[this.name];this._variants=a.variants}}onReady(){const t=this._loader.rootBabylonMesh;t&&this._loader.parent.extensionOptions[i]?.onLoaded?.({get variants(){return r.GetAvailableVariants(t)},get selectedVariant(){const a=r.GetLastSelectedVariant(t);return a?Array.isArray(a)?a[0]:a:r.GetAvailableVariants(t)[0]},set selectedVariant(a){r.SelectVariant(t,a)}})}_loadMeshPrimitiveAsync(n,s,l,o,d,m){return t.LoadExtensionAsync(n,d,this.name,((h,c)=>{const f=new Array;return f.push(this._loader._loadMeshPrimitiveAsync(n,s,l,o,d,(s=>{if(m(s),s instanceof e){const e=t._GetDrawMode(n,d.mode),l=this._loader.rootBabylonMesh,o=l?l._internalMetadata=l._internalMetadata||{}:{},m=o.gltf=o.gltf||{},_=m[i]=m[i]||{lastSelected:null,original:[],variants:{}};_.original.push({mesh:s,material:s.material});for(let t=0;t<c.mappings.length;++t){const n=c.mappings[t],o=a.Get(`${h}/mappings/${t}/material`,this._loader.gltf.materials,n.material);f.push(this._loader._loadMaterialAsync(`#/materials/${n.material}`,o,s,e,(t=>{for(let e=0;e<n.variants.length;++e){const o=n.variants[e],d=a.Get(`/extensions/${i}/variants/${o}`,this._variants,o);_.variants[d.name]=_.variants[d.name]||[],_.variants[d.name].push({mesh:s,material:t}),s.onClonedObservable.add((t=>{const a=t;let e=null,n=a;do{if(n=n.parent,!n)return;e=r._GetExtensionMetadata(n)}while(null===e);if(l&&e===r._GetExtensionMetadata(l)){n._internalMetadata={};for(const t in l._internalMetadata)n._internalMetadata[t]=l._internalMetadata[t];n._internalMetadata.gltf=[];for(const t in l._internalMetadata.gltf)n._internalMetadata.gltf[t]=l._internalMetadata.gltf[t];n._internalMetadata.gltf[i]={lastSelected:null,original:[],variants:{}};for(const t of e.original)n._internalMetadata.gltf[i].original.push({mesh:t.mesh,material:t.material});for(const t in e.variants)if(Object.prototype.hasOwnProperty.call(e.variants,t)){n._internalMetadata.gltf[i].variants[t]=[];for(const a of e.variants[t])n._internalMetadata.gltf[i].variants[t].push({mesh:a.mesh,material:a.material})}e=n._internalMetadata.gltf[i]}for(const t of e.original)t.mesh===s&&(t.mesh=a);for(const t of e.variants[d.name])t.mesh===s&&(t.mesh=a)}))}})))}}}))),Promise.all(f).then((([t])=>t))}))}}n(i),s(i,!0,(t=>new r(t)));export{r as KHR_materials_variants};
2
- //# sourceMappingURL=KHR_materials_variants-BwBEEg3F.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KHR_materials_variants-BwBEEg3F.esm.min.js","sources":["../../../../../dev/loaders/dist/glTF/2.0/Extensions/KHR_materials_variants.js"],"sourcesContent":["import { GLTFLoader, ArrayItem } from \"../glTFLoader\";\nimport { Mesh } from \"core/Meshes/mesh\";\nimport { registerGLTFExtension, unregisterGLTFExtension } from \"../glTFLoaderExtensionRegistry\";\nconst NAME = \"KHR_materials_variants\";\n/**\n * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_variants/README.md)\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class KHR_materials_variants {\n /**\n * @internal\n */\n constructor(loader) {\n /**\n * The name of this extension.\n */\n this.name = NAME;\n this._loader = loader;\n this.enabled = this._loader.isExtensionUsed(NAME);\n }\n /** @internal */\n dispose() {\n this._loader = null;\n }\n /**\n * Gets the list of available variant names for this asset.\n * @param rootNode The glTF root node\n * @returns the list of all the variant names for this model\n */\n static GetAvailableVariants(rootNode) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n return [];\n }\n return Object.keys(extensionMetadata.variants);\n }\n /**\n * Gets the list of available variant names for this asset.\n * @param rootNode The glTF root node\n * @returns the list of all the variant names for this model\n */\n getAvailableVariants(rootNode) {\n return KHR_materials_variants.GetAvailableVariants(rootNode);\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootNode The glTF root node\n * @param variantName The variant name(s) to select.\n */\n static SelectVariant(rootNode, variantName) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n throw new Error(`Cannot select variant on a glTF mesh that does not have the ${NAME} extension`);\n }\n const select = (variantName) => {\n const entries = extensionMetadata.variants[variantName];\n if (entries) {\n for (const entry of entries) {\n entry.mesh.material = entry.material;\n }\n }\n };\n if (variantName instanceof Array) {\n for (const name of variantName) {\n select(name);\n }\n }\n else {\n select(variantName);\n }\n extensionMetadata.lastSelected = variantName;\n }\n /**\n * Select a variant given a variant name or a list of variant names.\n * @param rootNode The glTF root node\n * @param variantName The variant name(s) to select.\n */\n selectVariant(rootNode, variantName) {\n KHR_materials_variants.SelectVariant(rootNode, variantName);\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootNode The glTF root node\n */\n static Reset(rootNode) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n throw new Error(`Cannot reset on a glTF mesh that does not have the ${NAME} extension`);\n }\n for (const entry of extensionMetadata.original) {\n entry.mesh.material = entry.material;\n }\n extensionMetadata.lastSelected = null;\n }\n /**\n * Reset back to the original before selecting a variant.\n * @param rootNode The glTF root node\n */\n reset(rootNode) {\n KHR_materials_variants.Reset(rootNode);\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootNode The glTF root node\n * @returns The selected variant name(s).\n */\n static GetLastSelectedVariant(rootNode) {\n const extensionMetadata = this._GetExtensionMetadata(rootNode);\n if (!extensionMetadata) {\n throw new Error(`Cannot get the last selected variant on a glTF mesh that does not have the ${NAME} extension`);\n }\n return extensionMetadata.lastSelected;\n }\n /**\n * Gets the last selected variant name(s) or null if original.\n * @param rootNode The glTF root node\n * @returns The selected variant name(s).\n */\n getLastSelectedVariant(rootNode) {\n return KHR_materials_variants.GetLastSelectedVariant(rootNode);\n }\n static _GetExtensionMetadata(rootNode) {\n return rootNode?._internalMetadata?.gltf?.[NAME] || null;\n }\n /** @internal */\n onLoading() {\n const extensions = this._loader.gltf.extensions;\n if (extensions && extensions[this.name]) {\n const extension = extensions[this.name];\n this._variants = extension.variants;\n }\n }\n /** @internal */\n onReady() {\n const rootNode = this._loader.rootBabylonMesh;\n if (rootNode) {\n this._loader.parent.extensionOptions[NAME]?.onLoaded?.({\n get variants() {\n return KHR_materials_variants.GetAvailableVariants(rootNode);\n },\n get selectedVariant() {\n const lastSelectedVariant = KHR_materials_variants.GetLastSelectedVariant(rootNode);\n if (!lastSelectedVariant) {\n return KHR_materials_variants.GetAvailableVariants(rootNode)[0];\n }\n if (Array.isArray(lastSelectedVariant)) {\n return lastSelectedVariant[0];\n }\n return lastSelectedVariant;\n },\n set selectedVariant(variantName) {\n KHR_materials_variants.SelectVariant(rootNode, variantName);\n },\n });\n }\n }\n /**\n * @internal\n */\n _loadMeshPrimitiveAsync(context, name, node, mesh, primitive, assign) {\n return GLTFLoader.LoadExtensionAsync(context, primitive, this.name, (extensionContext, extension) => {\n const promises = new Array();\n promises.push(this._loader._loadMeshPrimitiveAsync(context, name, node, mesh, primitive, (babylonMesh) => {\n assign(babylonMesh);\n if (babylonMesh instanceof Mesh) {\n const babylonDrawMode = GLTFLoader._GetDrawMode(context, primitive.mode);\n const root = this._loader.rootBabylonMesh;\n const metadata = root ? (root._internalMetadata = root._internalMetadata || {}) : {};\n const gltf = (metadata.gltf = metadata.gltf || {});\n const extensionMetadata = (gltf[NAME] = gltf[NAME] || { lastSelected: null, original: [], variants: {} });\n // Store the original material.\n extensionMetadata.original.push({ mesh: babylonMesh, material: babylonMesh.material });\n // For each mapping, look at the variants and make a new entry for them.\n for (let mappingIndex = 0; mappingIndex < extension.mappings.length; ++mappingIndex) {\n const mapping = extension.mappings[mappingIndex];\n const material = ArrayItem.Get(`${extensionContext}/mappings/${mappingIndex}/material`, this._loader.gltf.materials, mapping.material);\n promises.push(this._loader._loadMaterialAsync(`#/materials/${mapping.material}`, material, babylonMesh, babylonDrawMode, (babylonMaterial) => {\n for (let mappingVariantIndex = 0; mappingVariantIndex < mapping.variants.length; ++mappingVariantIndex) {\n const variantIndex = mapping.variants[mappingVariantIndex];\n const variant = ArrayItem.Get(`/extensions/${NAME}/variants/${variantIndex}`, this._variants, variantIndex);\n extensionMetadata.variants[variant.name] = extensionMetadata.variants[variant.name] || [];\n extensionMetadata.variants[variant.name].push({\n mesh: babylonMesh,\n material: babylonMaterial,\n });\n // Replace the target when original mesh is cloned\n babylonMesh.onClonedObservable.add((newOne) => {\n const newMesh = newOne;\n let metadata = null;\n let newRoot = newMesh;\n // Find root to get medata\n do {\n newRoot = newRoot.parent;\n if (!newRoot) {\n return;\n }\n metadata = KHR_materials_variants._GetExtensionMetadata(newRoot);\n } while (metadata === null);\n // Need to clone the metadata on the root (first time only)\n if (root && metadata === KHR_materials_variants._GetExtensionMetadata(root)) {\n // Copy main metadata\n newRoot._internalMetadata = {};\n for (const key in root._internalMetadata) {\n newRoot._internalMetadata[key] = root._internalMetadata[key];\n }\n // Copy the gltf metadata\n newRoot._internalMetadata.gltf = [];\n for (const key in root._internalMetadata.gltf) {\n newRoot._internalMetadata.gltf[key] = root._internalMetadata.gltf[key];\n }\n // Duplicate the extension specific metadata\n newRoot._internalMetadata.gltf[NAME] = { lastSelected: null, original: [], variants: {} };\n for (const original of metadata.original) {\n newRoot._internalMetadata.gltf[NAME].original.push({\n mesh: original.mesh,\n material: original.material,\n });\n }\n for (const key in metadata.variants) {\n if (Object.prototype.hasOwnProperty.call(metadata.variants, key)) {\n newRoot._internalMetadata.gltf[NAME].variants[key] = [];\n for (const variantEntry of metadata.variants[key]) {\n newRoot._internalMetadata.gltf[NAME].variants[key].push({\n mesh: variantEntry.mesh,\n material: variantEntry.material,\n });\n }\n }\n }\n metadata = newRoot._internalMetadata.gltf[NAME];\n }\n // Relocate\n for (const target of metadata.original) {\n if (target.mesh === babylonMesh) {\n target.mesh = newMesh;\n }\n }\n for (const target of metadata.variants[variant.name]) {\n if (target.mesh === babylonMesh) {\n target.mesh = newMesh;\n }\n }\n });\n }\n }));\n }\n }\n }));\n return Promise.all(promises).then(([babylonMesh]) => {\n return babylonMesh;\n });\n });\n }\n}\nunregisterGLTFExtension(NAME);\nregisterGLTFExtension(NAME, true, (loader) => new KHR_materials_variants(loader));\n//# sourceMappingURL=KHR_materials_variants.js.map"],"names":["NAME","KHR_materials_variants","constructor","loader","this","name","_loader","enabled","isExtensionUsed","dispose","GetAvailableVariants","rootNode","extensionMetadata","_GetExtensionMetadata","Object","keys","variants","getAvailableVariants","SelectVariant","variantName","Error","select","entries","entry","mesh","material","Array","lastSelected","selectVariant","Reset","original","reset","GetLastSelectedVariant","getLastSelectedVariant","_internalMetadata","gltf","onLoading","extensions","extension","_variants","onReady","rootBabylonMesh","parent","extensionOptions","onLoaded","selectedVariant","lastSelectedVariant","isArray","_loadMeshPrimitiveAsync","context","node","primitive","assign","GLTFLoader","LoadExtensionAsync","extensionContext","promises","push","babylonMesh","Mesh","babylonDrawMode","_GetDrawMode","mode","root","metadata","mappingIndex","mappings","length","mapping","ArrayItem","Get","materials","_loadMaterialAsync","babylonMaterial","mappingVariantIndex","variantIndex","variant","onClonedObservable","add","newOne","newMesh","newRoot","key","prototype","hasOwnProperty","call","variantEntry","target","Promise","all","then","unregisterGLTFExtension","registerGLTFExtension"],"mappings":"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"}