@babylonjs/viewer 7.40.4-alpha → 7.40.4

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 (619) 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 +28 -19
  158. package/readme.md +28 -28
  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_ies-B7tVMCka.esm.min.js +0 -2
  198. package/dist/chunks/EXT_lights_ies-B7tVMCka.esm.min.js.map +0 -1
  199. package/dist/chunks/EXT_lights_ies-T0Tkc0j0.esm.js +0 -84
  200. package/dist/chunks/EXT_lights_ies-T0Tkc0j0.esm.js.map +0 -1
  201. package/dist/chunks/EXT_lights_image_based-CyoPcoDC.esm.min.js +0 -2
  202. package/dist/chunks/EXT_lights_image_based-CyoPcoDC.esm.min.js.map +0 -1
  203. package/dist/chunks/EXT_lights_image_based-TRLY00MY.esm.js +0 -171
  204. package/dist/chunks/EXT_lights_image_based-TRLY00MY.esm.js.map +0 -1
  205. package/dist/chunks/EXT_mesh_gpu_instancing-CNSWr-2o.esm.js +0 -86
  206. package/dist/chunks/EXT_mesh_gpu_instancing-CNSWr-2o.esm.js.map +0 -1
  207. package/dist/chunks/EXT_mesh_gpu_instancing-DvkytavO.esm.min.js +0 -2
  208. package/dist/chunks/EXT_mesh_gpu_instancing-DvkytavO.esm.min.js.map +0 -1
  209. package/dist/chunks/EXT_meshopt_compression-C5Jf55Kx.esm.min.js +0 -2
  210. package/dist/chunks/EXT_meshopt_compression-C5Jf55Kx.esm.min.js.map +0 -1
  211. package/dist/chunks/EXT_meshopt_compression-CWVLJCmT.esm.js +0 -134
  212. package/dist/chunks/EXT_meshopt_compression-CWVLJCmT.esm.js.map +0 -1
  213. package/dist/chunks/EXT_texture_avif-Bv2Pa-Lr.esm.js +0 -44
  214. package/dist/chunks/EXT_texture_avif-Bv2Pa-Lr.esm.js.map +0 -1
  215. package/dist/chunks/EXT_texture_avif-DZmsorD-.esm.min.js +0 -2
  216. package/dist/chunks/EXT_texture_avif-DZmsorD-.esm.min.js.map +0 -1
  217. package/dist/chunks/EXT_texture_webp-CBpWQrqC.esm.js +0 -43
  218. package/dist/chunks/EXT_texture_webp-CBpWQrqC.esm.js.map +0 -1
  219. package/dist/chunks/EXT_texture_webp-D6RSOJSe.esm.min.js +0 -2
  220. package/dist/chunks/EXT_texture_webp-D6RSOJSe.esm.min.js.map +0 -1
  221. package/dist/chunks/ExtrasAsMetadata-6ZohdbjJ.esm.js +0 -64
  222. package/dist/chunks/ExtrasAsMetadata-6ZohdbjJ.esm.js.map +0 -1
  223. package/dist/chunks/ExtrasAsMetadata-CrG2l0Kf.esm.min.js +0 -2
  224. package/dist/chunks/ExtrasAsMetadata-CrG2l0Kf.esm.min.js.map +0 -1
  225. package/dist/chunks/KHR_animation_pointer-Cvu5a-gj.esm.js +0 -352
  226. package/dist/chunks/KHR_animation_pointer-Cvu5a-gj.esm.js.map +0 -1
  227. package/dist/chunks/KHR_animation_pointer-Rk2uzfDp.esm.min.js +0 -2
  228. package/dist/chunks/KHR_animation_pointer-Rk2uzfDp.esm.min.js.map +0 -1
  229. package/dist/chunks/KHR_draco_mesh_compression-BrXprwd5.esm.js +0 -610
  230. package/dist/chunks/KHR_draco_mesh_compression-BrXprwd5.esm.js.map +0 -1
  231. package/dist/chunks/KHR_draco_mesh_compression-Iv3q50MG.esm.min.js +0 -2
  232. package/dist/chunks/KHR_draco_mesh_compression-Iv3q50MG.esm.min.js.map +0 -1
  233. package/dist/chunks/KHR_interactivity-B4iFgkk7.esm.min.js +0 -2
  234. package/dist/chunks/KHR_interactivity-B4iFgkk7.esm.min.js.map +0 -1
  235. package/dist/chunks/KHR_interactivity-Db4iHU65.esm.js +0 -4033
  236. package/dist/chunks/KHR_interactivity-Db4iHU65.esm.js.map +0 -1
  237. package/dist/chunks/KHR_lights_punctual-B7yNiRZy.esm.min.js +0 -2
  238. package/dist/chunks/KHR_lights_punctual-B7yNiRZy.esm.min.js.map +0 -1
  239. package/dist/chunks/KHR_lights_punctual-iZl19DTA.esm.js +0 -581
  240. package/dist/chunks/KHR_lights_punctual-iZl19DTA.esm.js.map +0 -1
  241. package/dist/chunks/KHR_materials_anisotropy-Bk9K0k0q.esm.js +0 -65
  242. package/dist/chunks/KHR_materials_anisotropy-Bk9K0k0q.esm.js.map +0 -1
  243. package/dist/chunks/KHR_materials_anisotropy-DlDnL4o4.esm.min.js +0 -2
  244. package/dist/chunks/KHR_materials_anisotropy-DlDnL4o4.esm.min.js.map +0 -1
  245. package/dist/chunks/KHR_materials_clearcoat-BrT4VgMS.esm.min.js +0 -2
  246. package/dist/chunks/KHR_materials_clearcoat-BrT4VgMS.esm.min.js.map +0 -1
  247. package/dist/chunks/KHR_materials_clearcoat-DXAyxIfA.esm.js +0 -96
  248. package/dist/chunks/KHR_materials_clearcoat-DXAyxIfA.esm.js.map +0 -1
  249. package/dist/chunks/KHR_materials_diffuse_transmission-CRqI4Umg.esm.js +0 -97
  250. package/dist/chunks/KHR_materials_diffuse_transmission-CRqI4Umg.esm.js.map +0 -1
  251. package/dist/chunks/KHR_materials_diffuse_transmission-jyVvmpFx.esm.min.js +0 -2
  252. package/dist/chunks/KHR_materials_diffuse_transmission-jyVvmpFx.esm.min.js.map +0 -1
  253. package/dist/chunks/KHR_materials_dispersion-BwXQSsRC.esm.min.js +0 -2
  254. package/dist/chunks/KHR_materials_dispersion-BwXQSsRC.esm.min.js.map +0 -1
  255. package/dist/chunks/KHR_materials_dispersion-DTMaHZal.esm.js +0 -62
  256. package/dist/chunks/KHR_materials_dispersion-DTMaHZal.esm.js.map +0 -1
  257. package/dist/chunks/KHR_materials_emissive_strength-BCWSR6Zg.esm.js +0 -55
  258. package/dist/chunks/KHR_materials_emissive_strength-BCWSR6Zg.esm.js.map +0 -1
  259. package/dist/chunks/KHR_materials_emissive_strength-dEqNWrU4.esm.min.js +0 -2
  260. package/dist/chunks/KHR_materials_emissive_strength-dEqNWrU4.esm.min.js.map +0 -1
  261. package/dist/chunks/KHR_materials_ior-DXmoDlX8.esm.min.js +0 -2
  262. package/dist/chunks/KHR_materials_ior-DXmoDlX8.esm.min.js.map +0 -1
  263. package/dist/chunks/KHR_materials_ior-NvWqR2ZR.esm.js +0 -64
  264. package/dist/chunks/KHR_materials_ior-NvWqR2ZR.esm.js.map +0 -1
  265. package/dist/chunks/KHR_materials_iridescence-2VKZo_Mv.esm.min.js +0 -2
  266. package/dist/chunks/KHR_materials_iridescence-2VKZo_Mv.esm.min.js.map +0 -1
  267. package/dist/chunks/KHR_materials_iridescence-B2wLtYQ4.esm.js +0 -72
  268. package/dist/chunks/KHR_materials_iridescence-B2wLtYQ4.esm.js.map +0 -1
  269. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DYK5fci0.esm.js +0 -81
  270. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DYK5fci0.esm.js.map +0 -1
  271. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-PlzNRHwZ.esm.min.js +0 -2
  272. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-PlzNRHwZ.esm.min.js.map +0 -1
  273. package/dist/chunks/KHR_materials_sheen-CvA19viC.esm.min.js +0 -2
  274. package/dist/chunks/KHR_materials_sheen-CvA19viC.esm.min.js.map +0 -1
  275. package/dist/chunks/KHR_materials_sheen-DY8Hlw2C.esm.js +0 -85
  276. package/dist/chunks/KHR_materials_sheen-DY8Hlw2C.esm.js.map +0 -1
  277. package/dist/chunks/KHR_materials_specular-DPankAYO.esm.js +0 -75
  278. package/dist/chunks/KHR_materials_specular-DPankAYO.esm.js.map +0 -1
  279. package/dist/chunks/KHR_materials_specular-SFjYTaHn.esm.min.js +0 -2
  280. package/dist/chunks/KHR_materials_specular-SFjYTaHn.esm.min.js.map +0 -1
  281. package/dist/chunks/KHR_materials_transmission-CBvCfGeN.esm.js +0 -307
  282. package/dist/chunks/KHR_materials_transmission-CBvCfGeN.esm.js.map +0 -1
  283. package/dist/chunks/KHR_materials_transmission-DeRHqgMd.esm.min.js +0 -2
  284. package/dist/chunks/KHR_materials_transmission-DeRHqgMd.esm.min.js.map +0 -1
  285. package/dist/chunks/KHR_materials_unlit-Dp-VzfY2.esm.min.js +0 -2
  286. package/dist/chunks/KHR_materials_unlit-Dp-VzfY2.esm.min.js.map +0 -1
  287. package/dist/chunks/KHR_materials_unlit-xG3eIsVn.esm.js +0 -74
  288. package/dist/chunks/KHR_materials_unlit-xG3eIsVn.esm.js.map +0 -1
  289. package/dist/chunks/KHR_materials_variants-DtTs7enl.esm.min.js +0 -2
  290. package/dist/chunks/KHR_materials_variants-DtTs7enl.esm.min.js.map +0 -1
  291. package/dist/chunks/KHR_materials_variants-POauQPs7.esm.js +0 -262
  292. package/dist/chunks/KHR_materials_variants-POauQPs7.esm.js.map +0 -1
  293. package/dist/chunks/KHR_materials_volume-BO1lvsUq.esm.min.js +0 -2
  294. package/dist/chunks/KHR_materials_volume-BO1lvsUq.esm.min.js.map +0 -1
  295. package/dist/chunks/KHR_materials_volume-BqCunks7.esm.js +0 -87
  296. package/dist/chunks/KHR_materials_volume-BqCunks7.esm.js.map +0 -1
  297. package/dist/chunks/KHR_mesh_quantization-3ON-a5Bz.esm.js +0 -26
  298. package/dist/chunks/KHR_mesh_quantization-3ON-a5Bz.esm.js.map +0 -1
  299. package/dist/chunks/KHR_mesh_quantization-C1uR5Lci.esm.min.js +0 -2
  300. package/dist/chunks/KHR_mesh_quantization-C1uR5Lci.esm.min.js.map +0 -1
  301. package/dist/chunks/KHR_node_hoverability-CZIi0X9e.esm.js +0 -39
  302. package/dist/chunks/KHR_node_hoverability-CZIi0X9e.esm.js.map +0 -1
  303. package/dist/chunks/KHR_node_hoverability-gPD0oS5c.esm.min.js +0 -2
  304. package/dist/chunks/KHR_node_hoverability-gPD0oS5c.esm.min.js.map +0 -1
  305. package/dist/chunks/KHR_node_visibility-B5fFI1TX.esm.js +0 -46
  306. package/dist/chunks/KHR_node_visibility-B5fFI1TX.esm.js.map +0 -1
  307. package/dist/chunks/KHR_node_visibility-DPw-0W4p.esm.min.js +0 -2
  308. package/dist/chunks/KHR_node_visibility-DPw-0W4p.esm.min.js.map +0 -1
  309. package/dist/chunks/KHR_texture_basisu-D6tStneN.esm.min.js +0 -2
  310. package/dist/chunks/KHR_texture_basisu-D6tStneN.esm.min.js.map +0 -1
  311. package/dist/chunks/KHR_texture_basisu-Did7TM-4.esm.js +0 -43
  312. package/dist/chunks/KHR_texture_basisu-Did7TM-4.esm.js.map +0 -1
  313. package/dist/chunks/KHR_texture_transform-Da5NeRUm.esm.js +0 -63
  314. package/dist/chunks/KHR_texture_transform-Da5NeRUm.esm.js.map +0 -1
  315. package/dist/chunks/KHR_texture_transform-jNMzm3zb.esm.min.js +0 -2
  316. package/dist/chunks/KHR_texture_transform-jNMzm3zb.esm.min.js.map +0 -1
  317. package/dist/chunks/KHR_xmp_json_ld-D514my_a.esm.js +0 -51
  318. package/dist/chunks/KHR_xmp_json_ld-D514my_a.esm.js.map +0 -1
  319. package/dist/chunks/KHR_xmp_json_ld-D5Gbko_w.esm.min.js +0 -2
  320. package/dist/chunks/KHR_xmp_json_ld-D5Gbko_w.esm.min.js.map +0 -1
  321. package/dist/chunks/MSFT_audio_emitter-CiB3yG6v.esm.js +0 -2201
  322. package/dist/chunks/MSFT_audio_emitter-CiB3yG6v.esm.js.map +0 -1
  323. package/dist/chunks/MSFT_audio_emitter-Cn-DCgMh.esm.min.js +0 -2
  324. package/dist/chunks/MSFT_audio_emitter-Cn-DCgMh.esm.min.js.map +0 -1
  325. package/dist/chunks/MSFT_lod-BDP9fUoB.esm.js +0 -337
  326. package/dist/chunks/MSFT_lod-BDP9fUoB.esm.js.map +0 -1
  327. package/dist/chunks/MSFT_lod-BEbIdncN.esm.min.js +0 -2
  328. package/dist/chunks/MSFT_lod-BEbIdncN.esm.min.js.map +0 -1
  329. package/dist/chunks/MSFT_minecraftMesh-jASzndfE.esm.min.js +0 -2
  330. package/dist/chunks/MSFT_minecraftMesh-jASzndfE.esm.min.js.map +0 -1
  331. package/dist/chunks/MSFT_minecraftMesh-mKnNUrKI.esm.js +0 -46
  332. package/dist/chunks/MSFT_minecraftMesh-mKnNUrKI.esm.js.map +0 -1
  333. package/dist/chunks/MSFT_sRGBFactors-B1Bk1U5N.esm.min.js +0 -2
  334. package/dist/chunks/MSFT_sRGBFactors-B1Bk1U5N.esm.min.js.map +0 -1
  335. package/dist/chunks/MSFT_sRGBFactors-IZnSmmDU.esm.js +0 -47
  336. package/dist/chunks/MSFT_sRGBFactors-IZnSmmDU.esm.js.map +0 -1
  337. package/dist/chunks/animationGroup-B1YyqoTa.esm.js +0 -2482
  338. package/dist/chunks/animationGroup-B1YyqoTa.esm.js.map +0 -1
  339. package/dist/chunks/animationGroup-C9C7qST_.esm.min.js +0 -2
  340. package/dist/chunks/animationGroup-C9C7qST_.esm.min.js.map +0 -1
  341. package/dist/chunks/assetContainer-BzlRl_4x.esm.js +0 -1720
  342. package/dist/chunks/assetContainer-BzlRl_4x.esm.js.map +0 -1
  343. package/dist/chunks/assetContainer-D7C3a-Xn.esm.min.js +0 -2
  344. package/dist/chunks/assetContainer-D7C3a-Xn.esm.min.js.map +0 -1
  345. package/dist/chunks/audioEngine-BZB34VjD.esm.js +0 -305
  346. package/dist/chunks/audioEngine-BZB34VjD.esm.js.map +0 -1
  347. package/dist/chunks/audioEngine-BoxJPZL7.esm.min.js +0 -2
  348. package/dist/chunks/audioEngine-BoxJPZL7.esm.min.js.map +0 -1
  349. package/dist/chunks/bakedVertexAnimation-BQki1eZ4.esm.min.js +0 -2
  350. package/dist/chunks/bakedVertexAnimation-BQki1eZ4.esm.min.js.map +0 -1
  351. package/dist/chunks/bakedVertexAnimation-DpSHNKcC.esm.js +0 -114
  352. package/dist/chunks/bakedVertexAnimation-DpSHNKcC.esm.js.map +0 -1
  353. package/dist/chunks/basisTextureLoader-C3RlzqZl.esm.min.js +0 -2
  354. package/dist/chunks/basisTextureLoader-C3RlzqZl.esm.min.js.map +0 -1
  355. package/dist/chunks/basisTextureLoader-D6uyehp2.esm.js +0 -600
  356. package/dist/chunks/basisTextureLoader-D6uyehp2.esm.js.map +0 -1
  357. package/dist/chunks/dds-C1QgDMMC.esm.min.js +0 -2
  358. package/dist/chunks/dds-C1QgDMMC.esm.min.js.map +0 -1
  359. package/dist/chunks/dds-zApWiwah.esm.js +0 -540
  360. package/dist/chunks/dds-zApWiwah.esm.js.map +0 -1
  361. package/dist/chunks/ddsTextureLoader-CSYQAUdw.esm.js +0 -88
  362. package/dist/chunks/ddsTextureLoader-CSYQAUdw.esm.js.map +0 -1
  363. package/dist/chunks/ddsTextureLoader-Dyl2CjaG.esm.min.js +0 -2
  364. package/dist/chunks/ddsTextureLoader-Dyl2CjaG.esm.min.js.map +0 -1
  365. package/dist/chunks/decalFragment-BbsT8PSx.esm.min.js +0 -2
  366. package/dist/chunks/decalFragment-BbsT8PSx.esm.min.js.map +0 -1
  367. package/dist/chunks/decalFragment-DqgT4NiX.esm.js +0 -18
  368. package/dist/chunks/decalFragment-DqgT4NiX.esm.js.map +0 -1
  369. package/dist/chunks/default.fragment-Bpw23SLq.esm.min.js +0 -2
  370. package/dist/chunks/default.fragment-Bpw23SLq.esm.min.js.map +0 -1
  371. package/dist/chunks/default.fragment-C8lcinV9.esm.js +0 -446
  372. package/dist/chunks/default.fragment-C8lcinV9.esm.js.map +0 -1
  373. package/dist/chunks/default.fragment-De3FJCJD.esm.js +0 -515
  374. package/dist/chunks/default.fragment-De3FJCJD.esm.js.map +0 -1
  375. package/dist/chunks/default.fragment-b__nAv93.esm.min.js +0 -2
  376. package/dist/chunks/default.fragment-b__nAv93.esm.min.js.map +0 -1
  377. package/dist/chunks/default.vertex-BnpZVKdz.esm.min.js +0 -2
  378. package/dist/chunks/default.vertex-BnpZVKdz.esm.min.js.map +0 -1
  379. package/dist/chunks/default.vertex-CD2qxrmB.esm.js +0 -190
  380. package/dist/chunks/default.vertex-CD2qxrmB.esm.js.map +0 -1
  381. package/dist/chunks/default.vertex-CN5WYROZ.esm.min.js +0 -2
  382. package/dist/chunks/default.vertex-CN5WYROZ.esm.min.js.map +0 -1
  383. package/dist/chunks/default.vertex-DRHq60qX.esm.js +0 -211
  384. package/dist/chunks/default.vertex-DRHq60qX.esm.js.map +0 -1
  385. package/dist/chunks/defaultUboDeclaration-C0gMCjYL.esm.min.js +0 -2
  386. package/dist/chunks/defaultUboDeclaration-C0gMCjYL.esm.min.js.map +0 -1
  387. package/dist/chunks/defaultUboDeclaration-CGRrluBg.esm.min.js +0 -2
  388. package/dist/chunks/defaultUboDeclaration-CGRrluBg.esm.min.js.map +0 -1
  389. package/dist/chunks/defaultUboDeclaration-DCybxQ0F.esm.js +0 -13
  390. package/dist/chunks/defaultUboDeclaration-DCybxQ0F.esm.js.map +0 -1
  391. package/dist/chunks/defaultUboDeclaration-xxIrKyXf.esm.js +0 -15
  392. package/dist/chunks/defaultUboDeclaration-xxIrKyXf.esm.js.map +0 -1
  393. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
  394. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
  395. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
  396. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
  397. package/dist/chunks/dumpTools-BOVGklo2.esm.min.js +0 -2
  398. package/dist/chunks/dumpTools-BOVGklo2.esm.min.js.map +0 -1
  399. package/dist/chunks/dumpTools-Dy-fD64p.esm.js +0 -200
  400. package/dist/chunks/dumpTools-Dy-fD64p.esm.js.map +0 -1
  401. package/dist/chunks/engine-CBGABL2W.esm.min.js +0 -2
  402. package/dist/chunks/engine-CBGABL2W.esm.min.js.map +0 -1
  403. package/dist/chunks/engine-D9Sn-BC6.esm.js +0 -2213
  404. package/dist/chunks/engine-D9Sn-BC6.esm.js.map +0 -1
  405. package/dist/chunks/engine.common-BM1GAef8.esm.js +0 -1162
  406. package/dist/chunks/engine.common-BM1GAef8.esm.js.map +0 -1
  407. package/dist/chunks/engine.common-xMH7x2b0.esm.min.js +0 -2
  408. package/dist/chunks/engine.common-xMH7x2b0.esm.min.js.map +0 -1
  409. package/dist/chunks/envTextureLoader-BRdNaVH2.esm.min.js +0 -2
  410. package/dist/chunks/envTextureLoader-BRdNaVH2.esm.min.js.map +0 -1
  411. package/dist/chunks/envTextureLoader-DT_xwrde.esm.js +0 -64
  412. package/dist/chunks/envTextureLoader-DT_xwrde.esm.js.map +0 -1
  413. package/dist/chunks/environmentTextureTools-BxWsgzT8.esm.min.js +0 -2
  414. package/dist/chunks/environmentTextureTools-BxWsgzT8.esm.min.js.map +0 -1
  415. package/dist/chunks/environmentTextureTools-DuNLB_SE.esm.js +0 -382
  416. package/dist/chunks/environmentTextureTools-DuNLB_SE.esm.js.map +0 -1
  417. package/dist/chunks/exrTextureLoader-BBL1-v_g.esm.min.js +0 -2
  418. package/dist/chunks/exrTextureLoader-BBL1-v_g.esm.min.js.map +0 -1
  419. package/dist/chunks/exrTextureLoader-CUiWw4Oh.esm.js +0 -1683
  420. package/dist/chunks/exrTextureLoader-CUiWw4Oh.esm.js.map +0 -1
  421. package/dist/chunks/fogFragment-BCz1GIrJ.esm.min.js +0 -2
  422. package/dist/chunks/fogFragment-BCz1GIrJ.esm.min.js.map +0 -1
  423. package/dist/chunks/fogFragment-BQLWFsYl.esm.min.js +0 -2
  424. package/dist/chunks/fogFragment-BQLWFsYl.esm.min.js.map +0 -1
  425. package/dist/chunks/fogFragment-DANl-YQk.esm.js +0 -102
  426. package/dist/chunks/fogFragment-DANl-YQk.esm.js.map +0 -1
  427. package/dist/chunks/fogFragment-DptoygQ5.esm.js +0 -101
  428. package/dist/chunks/fogFragment-DptoygQ5.esm.js.map +0 -1
  429. package/dist/chunks/fresnelFunction-3-z89NGn.esm.js +0 -12
  430. package/dist/chunks/fresnelFunction-3-z89NGn.esm.js.map +0 -1
  431. package/dist/chunks/fresnelFunction-CbnLfwWn.esm.min.js +0 -2
  432. package/dist/chunks/fresnelFunction-CbnLfwWn.esm.min.js.map +0 -1
  433. package/dist/chunks/glTFLoader-Qw5JObwf.esm.js +0 -7658
  434. package/dist/chunks/glTFLoader-Qw5JObwf.esm.js.map +0 -1
  435. package/dist/chunks/glTFLoader-iKlvKEG-.esm.min.js +0 -2
  436. package/dist/chunks/glTFLoader-iKlvKEG-.esm.min.js.map +0 -1
  437. package/dist/chunks/glTFLoaderAnimation-BCUZthxT.esm.js +0 -77
  438. package/dist/chunks/glTFLoaderAnimation-BCUZthxT.esm.js.map +0 -1
  439. package/dist/chunks/glTFLoaderAnimation-DnTkRibM.esm.min.js +0 -2
  440. package/dist/chunks/glTFLoaderAnimation-DnTkRibM.esm.min.js.map +0 -1
  441. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  442. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  443. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  444. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  445. package/dist/chunks/harmonicsFunctions-19PWyV81.esm.js +0 -34
  446. package/dist/chunks/harmonicsFunctions-19PWyV81.esm.js.map +0 -1
  447. package/dist/chunks/harmonicsFunctions-D4sp7bHN.esm.js +0 -35
  448. package/dist/chunks/harmonicsFunctions-D4sp7bHN.esm.js.map +0 -1
  449. package/dist/chunks/harmonicsFunctions-DSpaTpH7.esm.min.js +0 -2
  450. package/dist/chunks/harmonicsFunctions-DSpaTpH7.esm.min.js.map +0 -1
  451. package/dist/chunks/harmonicsFunctions-DvH68s1g.esm.min.js +0 -2
  452. package/dist/chunks/harmonicsFunctions-DvH68s1g.esm.min.js.map +0 -1
  453. package/dist/chunks/hdrTextureLoader-ChbZ5_1g.esm.min.js +0 -2
  454. package/dist/chunks/hdrTextureLoader-ChbZ5_1g.esm.min.js.map +0 -1
  455. package/dist/chunks/hdrTextureLoader-OJaopXAb.esm.js +0 -253
  456. package/dist/chunks/hdrTextureLoader-OJaopXAb.esm.js.map +0 -1
  457. package/dist/chunks/helperFunctions-CNCeKea7.esm.js +0 -81
  458. package/dist/chunks/helperFunctions-CNCeKea7.esm.js.map +0 -1
  459. package/dist/chunks/helperFunctions-Crs36Q3w.esm.js +0 -109
  460. package/dist/chunks/helperFunctions-Crs36Q3w.esm.js.map +0 -1
  461. package/dist/chunks/helperFunctions-DKz6om6i.esm.min.js +0 -2
  462. package/dist/chunks/helperFunctions-DKz6om6i.esm.min.js.map +0 -1
  463. package/dist/chunks/helperFunctions-bZhuioWn.esm.min.js +0 -2
  464. package/dist/chunks/helperFunctions-bZhuioWn.esm.min.js.map +0 -1
  465. package/dist/chunks/iesTextureLoader-BTOaWdIK.esm.js +0 -189
  466. package/dist/chunks/iesTextureLoader-BTOaWdIK.esm.js.map +0 -1
  467. package/dist/chunks/iesTextureLoader-CKnu1maC.esm.min.js +0 -2
  468. package/dist/chunks/iesTextureLoader-CKnu1maC.esm.min.js.map +0 -1
  469. package/dist/chunks/index-5L5wXyrx.esm.js +0 -74870
  470. package/dist/chunks/index-5L5wXyrx.esm.js.map +0 -1
  471. package/dist/chunks/index-B5KLkjYm.esm.min.js +0 -57
  472. package/dist/chunks/index-B5KLkjYm.esm.min.js.map +0 -1
  473. package/dist/chunks/ktxTextureLoader-CMfHt5rp.esm.js +0 -814
  474. package/dist/chunks/ktxTextureLoader-CMfHt5rp.esm.js.map +0 -1
  475. package/dist/chunks/ktxTextureLoader-DCyzShol.esm.min.js +0 -2
  476. package/dist/chunks/ktxTextureLoader-DCyzShol.esm.min.js.map +0 -1
  477. package/dist/chunks/logDepthDeclaration-8CuoGLY6.esm.js +0 -35
  478. package/dist/chunks/logDepthDeclaration-8CuoGLY6.esm.js.map +0 -1
  479. package/dist/chunks/logDepthDeclaration-BC68Ktb0.esm.js +0 -11
  480. package/dist/chunks/logDepthDeclaration-BC68Ktb0.esm.js.map +0 -1
  481. package/dist/chunks/logDepthDeclaration-CgPuLaM9.esm.min.js +0 -2
  482. package/dist/chunks/logDepthDeclaration-CgPuLaM9.esm.min.js.map +0 -1
  483. package/dist/chunks/logDepthDeclaration-iNYm9mSn.esm.min.js +0 -2
  484. package/dist/chunks/logDepthDeclaration-iNYm9mSn.esm.min.js.map +0 -1
  485. package/dist/chunks/logDepthVertex-BOepIJij.esm.js +0 -77
  486. package/dist/chunks/logDepthVertex-BOepIJij.esm.js.map +0 -1
  487. package/dist/chunks/logDepthVertex-Bno6ozc-.esm.min.js +0 -2
  488. package/dist/chunks/logDepthVertex-Bno6ozc-.esm.min.js.map +0 -1
  489. package/dist/chunks/logDepthVertex-CU3WBwOA.esm.js +0 -81
  490. package/dist/chunks/logDepthVertex-CU3WBwOA.esm.js.map +0 -1
  491. package/dist/chunks/logDepthVertex-DjeubcPn.esm.min.js +0 -2
  492. package/dist/chunks/logDepthVertex-DjeubcPn.esm.min.js.map +0 -1
  493. package/dist/chunks/mainUVVaryingDeclaration-C_Am-o4e.esm.js +0 -11
  494. package/dist/chunks/mainUVVaryingDeclaration-C_Am-o4e.esm.js.map +0 -1
  495. package/dist/chunks/mainUVVaryingDeclaration-CuSqEhkE.esm.min.js +0 -2
  496. package/dist/chunks/mainUVVaryingDeclaration-CuSqEhkE.esm.min.js.map +0 -1
  497. package/dist/chunks/mainUVVaryingDeclaration-DxqJq0-m.esm.js +0 -11
  498. package/dist/chunks/mainUVVaryingDeclaration-DxqJq0-m.esm.js.map +0 -1
  499. package/dist/chunks/mainUVVaryingDeclaration-oZF0xIut.esm.min.js +0 -2
  500. package/dist/chunks/mainUVVaryingDeclaration-oZF0xIut.esm.min.js.map +0 -1
  501. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js +0 -119
  502. package/dist/chunks/mesh.vertexData.functions-B_pMCAzZ.esm.js.map +0 -1
  503. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js +0 -2
  504. package/dist/chunks/mesh.vertexData.functions-Bo7e6Of9.esm.min.js.map +0 -1
  505. package/dist/chunks/meshUboDeclaration-BWuUYN5-.esm.js +0 -26
  506. package/dist/chunks/meshUboDeclaration-BWuUYN5-.esm.js.map +0 -1
  507. package/dist/chunks/meshUboDeclaration-D-9f-79D.esm.min.js +0 -2
  508. package/dist/chunks/meshUboDeclaration-D-9f-79D.esm.min.js.map +0 -1
  509. package/dist/chunks/objFileLoader-B3PzHlWB.esm.min.js +0 -2
  510. package/dist/chunks/objFileLoader-B3PzHlWB.esm.min.js.map +0 -1
  511. package/dist/chunks/objFileLoader-BjHr-pn1.esm.js +0 -1338
  512. package/dist/chunks/objFileLoader-BjHr-pn1.esm.js.map +0 -1
  513. package/dist/chunks/oitFragment-BypZDJVo.esm.min.js +0 -2
  514. package/dist/chunks/oitFragment-BypZDJVo.esm.min.js.map +0 -1
  515. package/dist/chunks/oitFragment-D3g8w3hO.esm.js +0 -1078
  516. package/dist/chunks/oitFragment-D3g8w3hO.esm.js.map +0 -1
  517. package/dist/chunks/oitFragment-Db3h4DV5.esm.min.js +0 -2
  518. package/dist/chunks/oitFragment-Db3h4DV5.esm.min.js.map +0 -1
  519. package/dist/chunks/oitFragment-tQJLudg5.esm.js +0 -1240
  520. package/dist/chunks/oitFragment-tQJLudg5.esm.js.map +0 -1
  521. package/dist/chunks/pass.fragment-C8CWeVkM.esm.js +0 -15
  522. package/dist/chunks/pass.fragment-C8CWeVkM.esm.js.map +0 -1
  523. package/dist/chunks/pass.fragment-CSK2ynPe.esm.js +0 -15
  524. package/dist/chunks/pass.fragment-CSK2ynPe.esm.js.map +0 -1
  525. package/dist/chunks/pass.fragment-CdgLWa1Q.esm.min.js +0 -2
  526. package/dist/chunks/pass.fragment-CdgLWa1Q.esm.min.js.map +0 -1
  527. package/dist/chunks/pass.fragment-ONNyQPrD.esm.min.js +0 -2
  528. package/dist/chunks/pass.fragment-ONNyQPrD.esm.min.js.map +0 -1
  529. package/dist/chunks/pbr.fragment-Be9mZgL7.esm.js +0 -3269
  530. package/dist/chunks/pbr.fragment-Be9mZgL7.esm.js.map +0 -1
  531. package/dist/chunks/pbr.fragment-C13t4f7Z.esm.min.js +0 -2
  532. package/dist/chunks/pbr.fragment-C13t4f7Z.esm.min.js.map +0 -1
  533. package/dist/chunks/pbr.fragment-CiAe6mgr.esm.js +0 -3222
  534. package/dist/chunks/pbr.fragment-CiAe6mgr.esm.js.map +0 -1
  535. package/dist/chunks/pbr.fragment-I66pqwoX.esm.min.js +0 -2
  536. package/dist/chunks/pbr.fragment-I66pqwoX.esm.min.js.map +0 -1
  537. package/dist/chunks/pbr.vertex-BlqPEcZe.esm.js +0 -223
  538. package/dist/chunks/pbr.vertex-BlqPEcZe.esm.js.map +0 -1
  539. package/dist/chunks/pbr.vertex-C1r_QFvZ.esm.min.js +0 -2
  540. package/dist/chunks/pbr.vertex-C1r_QFvZ.esm.min.js.map +0 -1
  541. package/dist/chunks/pbr.vertex-DE9NTHal.esm.min.js +0 -2
  542. package/dist/chunks/pbr.vertex-DE9NTHal.esm.min.js.map +0 -1
  543. package/dist/chunks/pbr.vertex-oQpu2zia.esm.js +0 -348
  544. package/dist/chunks/pbr.vertex-oQpu2zia.esm.js.map +0 -1
  545. package/dist/chunks/postprocess.vertex-D3XLqa14.esm.js +0 -20
  546. package/dist/chunks/postprocess.vertex-D3XLqa14.esm.js.map +0 -1
  547. package/dist/chunks/postprocess.vertex-IkQbrBQH.esm.min.js +0 -2
  548. package/dist/chunks/postprocess.vertex-IkQbrBQH.esm.min.js.map +0 -1
  549. package/dist/chunks/rawTexture-BVf9vm87.esm.js +0 -191
  550. package/dist/chunks/rawTexture-BVf9vm87.esm.js.map +0 -1
  551. package/dist/chunks/rawTexture-CNxyCiVq.esm.min.js +0 -2
  552. package/dist/chunks/rawTexture-CNxyCiVq.esm.min.js.map +0 -1
  553. package/dist/chunks/ray-BLVbie8S.esm.min.js +0 -2
  554. package/dist/chunks/ray-BLVbie8S.esm.min.js.map +0 -1
  555. package/dist/chunks/ray-C7H9vp-x.esm.js +0 -946
  556. package/dist/chunks/ray-C7H9vp-x.esm.js.map +0 -1
  557. package/dist/chunks/rgbdDecode.fragment-9dPOcBOA.esm.min.js +0 -2
  558. package/dist/chunks/rgbdDecode.fragment-9dPOcBOA.esm.min.js.map +0 -1
  559. package/dist/chunks/rgbdDecode.fragment-ApyH83v_.esm.js +0 -13
  560. package/dist/chunks/rgbdDecode.fragment-ApyH83v_.esm.js.map +0 -1
  561. package/dist/chunks/rgbdDecode.fragment-Bt75XOUV.esm.min.js +0 -2
  562. package/dist/chunks/rgbdDecode.fragment-Bt75XOUV.esm.min.js.map +0 -1
  563. package/dist/chunks/rgbdDecode.fragment-DDIJs9ID.esm.js +0 -13
  564. package/dist/chunks/rgbdDecode.fragment-DDIJs9ID.esm.js.map +0 -1
  565. package/dist/chunks/rgbdEncode.fragment-CSquf6K4.esm.js +0 -13
  566. package/dist/chunks/rgbdEncode.fragment-CSquf6K4.esm.js.map +0 -1
  567. package/dist/chunks/rgbdEncode.fragment-Cpudy2qT.esm.js +0 -13
  568. package/dist/chunks/rgbdEncode.fragment-Cpudy2qT.esm.js.map +0 -1
  569. package/dist/chunks/rgbdEncode.fragment-DZs59_tV.esm.min.js +0 -2
  570. package/dist/chunks/rgbdEncode.fragment-DZs59_tV.esm.min.js.map +0 -1
  571. package/dist/chunks/rgbdEncode.fragment-Djxd-azW.esm.min.js +0 -2
  572. package/dist/chunks/rgbdEncode.fragment-Djxd-azW.esm.min.js.map +0 -1
  573. package/dist/chunks/splatFileLoader-BkExyfY6.esm.js +0 -3379
  574. package/dist/chunks/splatFileLoader-BkExyfY6.esm.js.map +0 -1
  575. package/dist/chunks/splatFileLoader-DLc_wKu4.esm.min.js +0 -2
  576. package/dist/chunks/splatFileLoader-DLc_wKu4.esm.min.js.map +0 -1
  577. package/dist/chunks/spotLight-CFGRpcFc.esm.js +0 -701
  578. package/dist/chunks/spotLight-CFGRpcFc.esm.js.map +0 -1
  579. package/dist/chunks/spotLight-z5HIEQmM.esm.min.js +0 -2
  580. package/dist/chunks/spotLight-z5HIEQmM.esm.min.js.map +0 -1
  581. package/dist/chunks/standardMaterial-B5u9Vzil.esm.min.js +0 -2
  582. package/dist/chunks/standardMaterial-B5u9Vzil.esm.min.js.map +0 -1
  583. package/dist/chunks/standardMaterial-BJzDZ72T.esm.js +0 -1806
  584. package/dist/chunks/standardMaterial-BJzDZ72T.esm.js.map +0 -1
  585. package/dist/chunks/stlFileLoader-B3Y6u4L6.esm.min.js +0 -2
  586. package/dist/chunks/stlFileLoader-B3Y6u4L6.esm.min.js.map +0 -1
  587. package/dist/chunks/stlFileLoader-Bd1GgkYU.esm.js +0 -238
  588. package/dist/chunks/stlFileLoader-Bd1GgkYU.esm.js.map +0 -1
  589. package/dist/chunks/tgaTextureLoader-BD_A6gyw.esm.min.js +0 -2
  590. package/dist/chunks/tgaTextureLoader-BD_A6gyw.esm.min.js.map +0 -1
  591. package/dist/chunks/tgaTextureLoader-DnUiJRBO.esm.js +0 -349
  592. package/dist/chunks/tgaTextureLoader-DnUiJRBO.esm.js.map +0 -1
  593. package/dist/chunks/thinEngine-CRNAFHqA.esm.min.js +0 -2
  594. package/dist/chunks/thinEngine-CRNAFHqA.esm.min.js.map +0 -1
  595. package/dist/chunks/thinEngine-DGyFDxzW.esm.js +0 -3853
  596. package/dist/chunks/thinEngine-DGyFDxzW.esm.js.map +0 -1
  597. package/dist/chunks/thinInstanceMesh-B-f1KNB2.esm.min.js +0 -2
  598. package/dist/chunks/thinInstanceMesh-B-f1KNB2.esm.min.js.map +0 -1
  599. package/dist/chunks/thinInstanceMesh-D-cofgbF.esm.js +0 -314
  600. package/dist/chunks/thinInstanceMesh-D-cofgbF.esm.js.map +0 -1
  601. package/dist/chunks/vertexColorMixing-BUqoiJkS.esm.min.js +0 -2
  602. package/dist/chunks/vertexColorMixing-BUqoiJkS.esm.min.js.map +0 -1
  603. package/dist/chunks/vertexColorMixing-CBpXxGvM.esm.js +0 -421
  604. package/dist/chunks/vertexColorMixing-CBpXxGvM.esm.js.map +0 -1
  605. package/dist/chunks/vertexColorMixing-ChUhO7eS.esm.js +0 -531
  606. package/dist/chunks/vertexColorMixing-ChUhO7eS.esm.js.map +0 -1
  607. package/dist/chunks/vertexColorMixing-DbmkfWMo.esm.min.js +0 -2
  608. package/dist/chunks/vertexColorMixing-DbmkfWMo.esm.min.js.map +0 -1
  609. package/dist/chunks/webgpuEngine-DqprhQ4L.esm.js +0 -11538
  610. package/dist/chunks/webgpuEngine-DqprhQ4L.esm.js.map +0 -1
  611. package/dist/chunks/webgpuEngine-LpKjcEuV.esm.min.js +0 -2
  612. package/dist/chunks/webgpuEngine-LpKjcEuV.esm.min.js.map +0 -1
  613. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  614. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  615. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  616. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  617. package/lib/index.d.ts +0 -591
  618. package/lib/index.js +0 -2165
  619. package/lib/index.js.map +0 -1
@@ -0,0 +1,134 @@
1
+ import { EnvironmentDeserializer } from "./environmentSerializer.js";
2
+ import { Vector3, Quaternion, Matrix, TmpVectors } from "@babylonjs/core/Maths/math.vector.js";
3
+ import { SphericalPolynomial } from "@babylonjs/core/Maths/sphericalPolynomial.js";
4
+ import { TextureUtils } from "./texture.js";
5
+ import { Axis } from "@babylonjs/core/Maths/math.axis.js";
6
+ /**
7
+ * The ViewerLabs class will hold functions that are not (!) backwards compatible.
8
+ * The APIs in all labs-related classes and configuration might change.
9
+ * Once stable, lab features will be moved to the publis API and configuration object.
10
+ */
11
+ var ViewerLabs = /** @class */ (function () {
12
+ function ViewerLabs(_scene) {
13
+ this._scene = _scene;
14
+ this.environment = {
15
+ //irradiance
16
+ irradiancePolynomialCoefficients: {
17
+ x: new Vector3(0, 0, 0),
18
+ y: new Vector3(0, 0, 0),
19
+ z: new Vector3(0, 0, 0),
20
+ xx: new Vector3(0, 0, 0),
21
+ yy: new Vector3(0, 0, 0),
22
+ zz: new Vector3(0, 0, 0),
23
+ yz: new Vector3(0, 0, 0),
24
+ zx: new Vector3(0, 0, 0),
25
+ xy: new Vector3(0, 0, 0),
26
+ },
27
+ textureIntensityScale: 1.0,
28
+ };
29
+ }
30
+ ViewerLabs.prototype.loadEnvironment = function (data, onSuccess, onProgress, onError) {
31
+ var _this = this;
32
+ //@! todo: should loadEnvironment cancel any currently loading environments?
33
+ if (data instanceof ArrayBuffer) {
34
+ this.environment = EnvironmentDeserializer.Parse(data);
35
+ if (onSuccess) {
36
+ onSuccess(this.environment);
37
+ }
38
+ }
39
+ else if (typeof data === "string") {
40
+ var url = this.getAssetUrl(data);
41
+ this._scene._loadFile(url, function (arrayBuffer) {
42
+ _this.environment = EnvironmentDeserializer.Parse(arrayBuffer);
43
+ if (onSuccess) {
44
+ onSuccess(_this.environment);
45
+ }
46
+ }, function (progressEvent) {
47
+ if (onProgress) {
48
+ onProgress(progressEvent.loaded, progressEvent.total);
49
+ }
50
+ }, false, true, function (r, e) {
51
+ if (onError) {
52
+ onError(e);
53
+ }
54
+ });
55
+ }
56
+ else {
57
+ //data assumed to be PBREnvironment object
58
+ this.environment = data;
59
+ if (onSuccess) {
60
+ onSuccess(data);
61
+ }
62
+ }
63
+ };
64
+ /**
65
+ * Applies an `EnvironmentMapConfiguration` to the scene
66
+ * @param rotationY
67
+ */
68
+ ViewerLabs.prototype.applyEnvironmentMapConfiguration = function (rotationY) {
69
+ if (!this.environment) {
70
+ return;
71
+ }
72
+ //set orientation
73
+ var rotatquatRotationionY = Quaternion.RotationAxis(Axis.Y, rotationY || 0);
74
+ // Add env texture to the scene.
75
+ if (this.environment.specularTexture) {
76
+ // IE crashes when disposing the old texture and setting a new one
77
+ if (!this._scene.environmentTexture) {
78
+ this._scene.environmentTexture = TextureUtils.GetBabylonCubeTexture(this._scene, this.environment.specularTexture, false, true);
79
+ }
80
+ if (this._scene.environmentTexture) {
81
+ this._scene.environmentTexture.level = this.environment.textureIntensityScale;
82
+ this._scene.environmentTexture.invertZ = true;
83
+ this._scene.environmentTexture.lodLevelInAlpha = true;
84
+ var poly = this._scene.environmentTexture.sphericalPolynomial || new SphericalPolynomial();
85
+ poly.x = this.environment.irradiancePolynomialCoefficients.x;
86
+ poly.y = this.environment.irradiancePolynomialCoefficients.y;
87
+ poly.z = this.environment.irradiancePolynomialCoefficients.z;
88
+ poly.xx = this.environment.irradiancePolynomialCoefficients.xx;
89
+ poly.xy = this.environment.irradiancePolynomialCoefficients.xy;
90
+ poly.yy = this.environment.irradiancePolynomialCoefficients.yy;
91
+ poly.yz = this.environment.irradiancePolynomialCoefficients.yz;
92
+ poly.zx = this.environment.irradiancePolynomialCoefficients.zx;
93
+ poly.zz = this.environment.irradiancePolynomialCoefficients.zz;
94
+ this._scene.environmentTexture.sphericalPolynomial = poly;
95
+ //set orientation
96
+ Matrix.FromQuaternionToRef(rotatquatRotationionY, this._scene.environmentTexture.getReflectionTextureMatrix());
97
+ }
98
+ }
99
+ };
100
+ /**
101
+ * Get an environment asset url by using the configuration if the path is not absolute.
102
+ * @param url Asset url
103
+ * @returns The Asset url using the `environmentAssetsRootURL` if the url is not an absolute path.
104
+ */
105
+ ViewerLabs.prototype.getAssetUrl = function (url) {
106
+ var returnUrl = url;
107
+ if (url && url.toLowerCase().indexOf("//") === -1) {
108
+ if (!this.assetsRootURL) {
109
+ // Tools.Warn("Please, specify the root url of your assets before loading the configuration (labs.environmentAssetsRootURL) or disable the background through the viewer options.");
110
+ return url;
111
+ }
112
+ returnUrl = this.assetsRootURL + returnUrl;
113
+ }
114
+ return returnUrl;
115
+ };
116
+ ViewerLabs.prototype.rotateShadowLight = function (shadowLight, amount, point, axis, target) {
117
+ if (point === void 0) { point = Vector3.Zero(); }
118
+ if (axis === void 0) { axis = Axis.Y; }
119
+ if (target === void 0) { target = Vector3.Zero(); }
120
+ axis.normalize();
121
+ point.subtractToRef(shadowLight.position, TmpVectors.Vector3[0]);
122
+ Matrix.TranslationToRef(TmpVectors.Vector3[0].x, TmpVectors.Vector3[0].y, TmpVectors.Vector3[0].z, TmpVectors.Matrix[0]);
123
+ TmpVectors.Matrix[0].invertToRef(TmpVectors.Matrix[2]);
124
+ Matrix.RotationAxisToRef(axis, amount, TmpVectors.Matrix[1]);
125
+ TmpVectors.Matrix[2].multiplyToRef(TmpVectors.Matrix[1], TmpVectors.Matrix[2]);
126
+ TmpVectors.Matrix[2].multiplyToRef(TmpVectors.Matrix[0], TmpVectors.Matrix[2]);
127
+ TmpVectors.Matrix[2].decompose(TmpVectors.Vector3[0], TmpVectors.Quaternion[0], TmpVectors.Vector3[1]);
128
+ shadowLight.position.addInPlace(TmpVectors.Vector3[1]);
129
+ shadowLight.setDirectionToTarget(target);
130
+ };
131
+ return ViewerLabs;
132
+ }());
133
+ export { ViewerLabs };
134
+ //# sourceMappingURL=viewerLabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewerLabs.js","sourceRoot":"","sources":["../../../../tools/viewer/src/labs/viewerLabs.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PBREnvironment } from \"./environmentSerializer\";\r\nimport { EnvironmentDeserializer } from \"./environmentSerializer\";\r\nimport type { Scene } from \"core/scene\";\r\nimport { Vector3, Quaternion, Matrix, TmpVectors } from \"core/Maths/math.vector\";\r\nimport { SphericalPolynomial } from \"core/Maths/sphericalPolynomial\";\r\nimport type { ShadowLight } from \"core/Lights/shadowLight\";\r\nimport { TextureUtils } from \"./texture\";\r\nimport { Axis } from \"core/Maths/math.axis\";\r\n\r\n/**\r\n * The ViewerLabs class will hold functions that are not (!) backwards compatible.\r\n * The APIs in all labs-related classes and configuration might change.\r\n * Once stable, lab features will be moved to the publis API and configuration object.\r\n */\r\nexport class ViewerLabs {\r\n constructor(private _scene: Scene) {}\r\n\r\n public assetsRootURL: string;\r\n public environment: PBREnvironment = {\r\n //irradiance\r\n irradiancePolynomialCoefficients: {\r\n x: new Vector3(0, 0, 0),\r\n y: new Vector3(0, 0, 0),\r\n z: new Vector3(0, 0, 0),\r\n xx: new Vector3(0, 0, 0),\r\n yy: new Vector3(0, 0, 0),\r\n zz: new Vector3(0, 0, 0),\r\n yz: new Vector3(0, 0, 0),\r\n zx: new Vector3(0, 0, 0),\r\n xy: new Vector3(0, 0, 0),\r\n },\r\n\r\n textureIntensityScale: 1.0,\r\n };\r\n\r\n /**\r\n * Loads an environment map from a given URL\r\n * @param url URL of environment map\r\n * @param onSuccess Callback fired after environment successfully applied to the scene\r\n * @param onProgress Callback fired at progress events while loading the environment map\r\n * @param onError Callback fired when the load fails\r\n */\r\n public loadEnvironment(\r\n url: string,\r\n onSuccess?: (env: PBREnvironment) => void,\r\n onProgress?: (bytesLoaded: number, bytesTotal: number) => void,\r\n onError?: (e: any) => void\r\n ): void;\r\n /**\r\n * Loads an environment map from a given URL\r\n * @param buffer ArrayBuffer containing environment map\r\n * @param onSuccess Callback fired after environment successfully applied to the scene\r\n * @param onProgress Callback fired at progress events while loading the environment map\r\n * @param onError Callback fired when the load fails\r\n */\r\n public loadEnvironment(\r\n buffer: ArrayBuffer,\r\n onSuccess?: (env: PBREnvironment) => void,\r\n onProgress?: (bytesLoaded: number, bytesTotal: number) => void,\r\n onError?: (e: any) => void\r\n ): void;\r\n /**\r\n * Sets the environment to an already loaded environment\r\n * @param env PBREnvironment instance\r\n * @param onSuccess Callback fired after environment successfully applied to the scene\r\n * @param onProgress Callback fired at progress events while loading the environment map\r\n * @param onError Callback fired when the load fails\r\n */\r\n public loadEnvironment(\r\n env: PBREnvironment,\r\n onSuccess?: (env: PBREnvironment) => void,\r\n onProgress?: (bytesLoaded: number, bytesTotal: number) => void,\r\n onError?: (e: any) => void\r\n ): void;\r\n public loadEnvironment(\r\n data: string | ArrayBuffer | PBREnvironment,\r\n onSuccess?: (env: PBREnvironment) => void,\r\n onProgress?: (bytesLoaded: number, bytesTotal: number) => void,\r\n onError?: (e: any) => void\r\n ): void {\r\n //@! todo: should loadEnvironment cancel any currently loading environments?\r\n if (data instanceof ArrayBuffer) {\r\n this.environment = EnvironmentDeserializer.Parse(data);\r\n if (onSuccess) {\r\n onSuccess(this.environment);\r\n }\r\n } else if (typeof data === \"string\") {\r\n const url = this.getAssetUrl(data);\r\n this._scene._loadFile(\r\n url,\r\n (arrayBuffer: string | ArrayBuffer) => {\r\n this.environment = EnvironmentDeserializer.Parse(arrayBuffer as ArrayBuffer);\r\n if (onSuccess) {\r\n onSuccess(this.environment);\r\n }\r\n },\r\n (progressEvent) => {\r\n if (onProgress) {\r\n onProgress(progressEvent.loaded, progressEvent.total);\r\n }\r\n },\r\n false,\r\n true,\r\n (r, e) => {\r\n if (onError) {\r\n onError(e);\r\n }\r\n }\r\n );\r\n } else {\r\n //data assumed to be PBREnvironment object\r\n this.environment = data;\r\n if (onSuccess) {\r\n onSuccess(data);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Applies an `EnvironmentMapConfiguration` to the scene\r\n * @param rotationY\r\n */\r\n public applyEnvironmentMapConfiguration(rotationY?: number) {\r\n if (!this.environment) {\r\n return;\r\n }\r\n\r\n //set orientation\r\n const rotatquatRotationionY = Quaternion.RotationAxis(Axis.Y, rotationY || 0);\r\n\r\n // Add env texture to the scene.\r\n if (this.environment.specularTexture) {\r\n // IE crashes when disposing the old texture and setting a new one\r\n if (!this._scene.environmentTexture) {\r\n this._scene.environmentTexture = TextureUtils.GetBabylonCubeTexture(this._scene, this.environment.specularTexture, false, true);\r\n }\r\n if (this._scene.environmentTexture) {\r\n this._scene.environmentTexture.level = this.environment.textureIntensityScale;\r\n this._scene.environmentTexture.invertZ = true;\r\n this._scene.environmentTexture.lodLevelInAlpha = true;\r\n\r\n const poly = this._scene.environmentTexture.sphericalPolynomial || new SphericalPolynomial();\r\n poly.x = this.environment.irradiancePolynomialCoefficients.x;\r\n poly.y = this.environment.irradiancePolynomialCoefficients.y;\r\n poly.z = this.environment.irradiancePolynomialCoefficients.z;\r\n poly.xx = this.environment.irradiancePolynomialCoefficients.xx;\r\n poly.xy = this.environment.irradiancePolynomialCoefficients.xy;\r\n poly.yy = this.environment.irradiancePolynomialCoefficients.yy;\r\n poly.yz = this.environment.irradiancePolynomialCoefficients.yz;\r\n poly.zx = this.environment.irradiancePolynomialCoefficients.zx;\r\n poly.zz = this.environment.irradiancePolynomialCoefficients.zz;\r\n this._scene.environmentTexture.sphericalPolynomial = poly;\r\n\r\n //set orientation\r\n Matrix.FromQuaternionToRef(rotatquatRotationionY, this._scene.environmentTexture.getReflectionTextureMatrix());\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get an environment asset url by using the configuration if the path is not absolute.\r\n * @param url Asset url\r\n * @returns The Asset url using the `environmentAssetsRootURL` if the url is not an absolute path.\r\n */\r\n public getAssetUrl(url: string): string {\r\n let returnUrl = url;\r\n if (url && url.toLowerCase().indexOf(\"//\") === -1) {\r\n if (!this.assetsRootURL) {\r\n // Tools.Warn(\"Please, specify the root url of your assets before loading the configuration (labs.environmentAssetsRootURL) or disable the background through the viewer options.\");\r\n return url;\r\n }\r\n\r\n returnUrl = this.assetsRootURL + returnUrl;\r\n }\r\n\r\n return returnUrl;\r\n }\r\n\r\n public rotateShadowLight(shadowLight: ShadowLight, amount: number, point = Vector3.Zero(), axis = Axis.Y, target = Vector3.Zero()) {\r\n axis.normalize();\r\n point.subtractToRef(shadowLight.position, TmpVectors.Vector3[0]);\r\n Matrix.TranslationToRef(TmpVectors.Vector3[0].x, TmpVectors.Vector3[0].y, TmpVectors.Vector3[0].z, TmpVectors.Matrix[0]);\r\n TmpVectors.Matrix[0].invertToRef(TmpVectors.Matrix[2]);\r\n Matrix.RotationAxisToRef(axis, amount, TmpVectors.Matrix[1]);\r\n TmpVectors.Matrix[2].multiplyToRef(TmpVectors.Matrix[1], TmpVectors.Matrix[2]);\r\n TmpVectors.Matrix[2].multiplyToRef(TmpVectors.Matrix[0], TmpVectors.Matrix[2]);\r\n\r\n TmpVectors.Matrix[2].decompose(TmpVectors.Vector3[0], TmpVectors.Quaternion[0], TmpVectors.Vector3[1]);\r\n\r\n shadowLight.position.addInPlace(TmpVectors.Vector3[1]);\r\n\r\n shadowLight.setDirectionToTarget(target);\r\n }\r\n}\r\n"]}
@@ -0,0 +1,56 @@
1
+ import "@babylonjs/core/Misc/observable.extensions.js";
2
+ import type { ConfigurationContainer } from "../configuration/configurationContainer";
3
+ import type { IModelConfiguration } from "../configuration/interfaces/modelConfiguration";
4
+ import type { ObservablesManager } from "../managers/observablesManager";
5
+ import { ViewerModel } from "../model/viewerModel";
6
+ import type { ILoaderPlugin } from "./plugins/index";
7
+ import "@babylonjs/loaders/glTF/index.js";
8
+ import "@babylonjs/core/Loading/Plugins/babylonFileLoader.js";
9
+ /**
10
+ * An instance of the class is in charge of loading the model correctly.
11
+ * This class will continuously be expended with tasks required from the specific loaders Babylon has.
12
+ *
13
+ * A Model loader is unique per (Abstract)Viewer. It is being generated by the viewer
14
+ */
15
+ export declare class ModelLoader {
16
+ private _observablesManager;
17
+ private _configurationContainer?;
18
+ private _loadId;
19
+ private _disposed;
20
+ private _loaders;
21
+ private _plugins;
22
+ private _baseUrl;
23
+ /**
24
+ * @returns the base url of the model loader
25
+ */
26
+ get baseUrl(): string;
27
+ /**
28
+ * Create a new Model loader
29
+ * @param _observablesManager
30
+ * @param _configurationContainer
31
+ */
32
+ constructor(_observablesManager: ObservablesManager, _configurationContainer?: ConfigurationContainer | undefined);
33
+ /**
34
+ * Adds a new plugin to the loader process.
35
+ *
36
+ * @param plugin the plugin name or the plugin itself
37
+ */
38
+ addPlugin(plugin: ILoaderPlugin | string): void;
39
+ /**
40
+ * Load a model using predefined configuration
41
+ * @param modelConfiguration the modelConfiguration to use to load the model
42
+ * @returns the loaded model
43
+ */
44
+ load(modelConfiguration: IModelConfiguration): ViewerModel;
45
+ /**
46
+ * Cancel the loading of a model.
47
+ * @param model the model to cancel the loading of
48
+ */
49
+ cancelLoad(model: ViewerModel): void;
50
+ /**
51
+ * dispose the model loader.
52
+ * If loaders are registered and are in the middle of loading, they will be disposed and the request(s) will be cancelled.
53
+ */
54
+ dispose(): void;
55
+ private _checkAndRun;
56
+ }
@@ -0,0 +1,202 @@
1
+ import { GLTFLoaderAnimationStartMode } from "@babylonjs/loaders/glTF/glTFFileLoader.js";
2
+ import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader.js";
3
+ import { Tools } from "@babylonjs/core/Misc/tools.js";
4
+ import { Tags } from "@babylonjs/core/Misc/tags.js";
5
+ import "@babylonjs/core/Misc/observable.extensions.js";
6
+ import { ModelState, ViewerModel } from "../model/viewerModel.js";
7
+ import { getLoaderPluginByName } from "./plugins/index.js";
8
+ import "@babylonjs/loaders/glTF/index.js";
9
+ import "@babylonjs/core/Loading/Plugins/babylonFileLoader.js";
10
+ /**
11
+ * An instance of the class is in charge of loading the model correctly.
12
+ * This class will continuously be expended with tasks required from the specific loaders Babylon has.
13
+ *
14
+ * A Model loader is unique per (Abstract)Viewer. It is being generated by the viewer
15
+ */
16
+ var ModelLoader = /** @class */ (function () {
17
+ /**
18
+ * Create a new Model loader
19
+ * @param _observablesManager
20
+ * @param _configurationContainer
21
+ */
22
+ function ModelLoader(_observablesManager, _configurationContainer) {
23
+ this._observablesManager = _observablesManager;
24
+ this._configurationContainer = _configurationContainer;
25
+ this._disposed = false;
26
+ this._loaders = [];
27
+ this._loadId = 0;
28
+ this._plugins = [];
29
+ }
30
+ Object.defineProperty(ModelLoader.prototype, "baseUrl", {
31
+ /**
32
+ * @returns the base url of the model loader
33
+ */
34
+ get: function () {
35
+ return this._baseUrl;
36
+ },
37
+ enumerable: false,
38
+ configurable: true
39
+ });
40
+ /**
41
+ * Adds a new plugin to the loader process.
42
+ *
43
+ * @param plugin the plugin name or the plugin itself
44
+ */
45
+ ModelLoader.prototype.addPlugin = function (plugin) {
46
+ var actualPlugin = {};
47
+ if (typeof plugin === "string") {
48
+ var loadedPlugin = getLoaderPluginByName(plugin);
49
+ if (loadedPlugin) {
50
+ actualPlugin = loadedPlugin;
51
+ }
52
+ }
53
+ else {
54
+ actualPlugin = plugin;
55
+ }
56
+ if (actualPlugin && this._plugins.indexOf(actualPlugin) === -1) {
57
+ this._plugins.push(actualPlugin);
58
+ }
59
+ };
60
+ /**
61
+ * Load a model using predefined configuration
62
+ * @param modelConfiguration the modelConfiguration to use to load the model
63
+ * @returns the loaded model
64
+ */
65
+ ModelLoader.prototype.load = function (modelConfiguration) {
66
+ var _this = this;
67
+ var model = new ViewerModel(this._observablesManager, modelConfiguration, this._configurationContainer);
68
+ model.loadId = this._loadId++;
69
+ var filename;
70
+ if (modelConfiguration.file) {
71
+ this._baseUrl = "file:";
72
+ filename = modelConfiguration.file;
73
+ }
74
+ else if (modelConfiguration.url) {
75
+ filename = Tools.GetFilename(modelConfiguration.url) || modelConfiguration.url;
76
+ this._baseUrl = modelConfiguration.root || Tools.GetFolderPath(modelConfiguration.url);
77
+ }
78
+ if (!filename || !this._baseUrl) {
79
+ model.state = ModelState.ERROR;
80
+ Tools.Error("No URL provided");
81
+ return model;
82
+ }
83
+ var plugin = modelConfiguration.loader;
84
+ var scene = model.rootMesh.getScene();
85
+ SceneLoader.OnPluginActivatedObservable.addOnce(function (plugin) {
86
+ model.loader = plugin;
87
+ if (model.loader.name === "gltf") {
88
+ var gltfLoader_1 = model.loader;
89
+ gltfLoader_1.animationStartMode = GLTFLoaderAnimationStartMode.NONE;
90
+ gltfLoader_1.compileMaterials = true;
91
+ if (!modelConfiguration.file) {
92
+ gltfLoader_1.rewriteRootURL = function (rootURL, responseURL) {
93
+ return modelConfiguration.root || Tools.GetFolderPath(responseURL || modelConfiguration.url || "");
94
+ };
95
+ }
96
+ // if ground is set to "mirror":
97
+ if (_this._configurationContainer &&
98
+ _this._configurationContainer.configuration &&
99
+ _this._configurationContainer.configuration.ground &&
100
+ typeof _this._configurationContainer.configuration.ground === "object" &&
101
+ _this._configurationContainer.configuration.ground.mirror) {
102
+ gltfLoader_1.useClipPlane = true;
103
+ }
104
+ Object.keys(gltfLoader_1)
105
+ .filter(function (name) { return name.indexOf("on") === 0 && name.indexOf("Observable") !== -1; })
106
+ .forEach(function (functionName) {
107
+ gltfLoader_1[functionName].add(function (payload) {
108
+ _this._checkAndRun(functionName.replace("Observable", ""), payload);
109
+ });
110
+ });
111
+ gltfLoader_1.onParsedObservable.add(function (data) {
112
+ if (data && data.json && data.json["asset"]) {
113
+ model.loadInfo = data.json["asset"];
114
+ }
115
+ });
116
+ gltfLoader_1.onCompleteObservable.add(function () {
117
+ model.loaderDone = true;
118
+ });
119
+ }
120
+ else {
121
+ model.loaderDone = true;
122
+ }
123
+ _this._checkAndRun("onInit", model.loader, model);
124
+ _this._loaders.push(model.loader);
125
+ });
126
+ SceneLoader.ImportMesh(undefined, this._baseUrl, filename, scene, function (meshes, particleSystems, skeletons, animationGroups) {
127
+ meshes.forEach(function (mesh) {
128
+ Tags.AddTagsTo(mesh, "viewerMesh");
129
+ model.addMesh(mesh);
130
+ });
131
+ model.particleSystems = particleSystems;
132
+ model.skeletons = skeletons;
133
+ for (var _i = 0, animationGroups_1 = animationGroups; _i < animationGroups_1.length; _i++) {
134
+ var animationGroup = animationGroups_1[_i];
135
+ model.addAnimationGroup(animationGroup);
136
+ }
137
+ _this._checkAndRun("onLoaded", model);
138
+ scene.executeWhenReady(function () {
139
+ model.onLoadedObservable.notifyObservers(model);
140
+ });
141
+ }, function (progressEvent) {
142
+ _this._checkAndRun("onProgress", progressEvent);
143
+ model.onLoadProgressObservable.notifyObserversWithPromise(progressEvent);
144
+ }, function (scene, m, exception) {
145
+ model.state = ModelState.ERROR;
146
+ Tools.Error("Load Error: There was an error loading the model. " + m);
147
+ _this._checkAndRun("onError", m, exception);
148
+ model.onLoadErrorObservable.notifyObserversWithPromise({ message: m, exception: exception });
149
+ }, plugin);
150
+ return model;
151
+ };
152
+ /**
153
+ * Cancel the loading of a model.
154
+ * @param model the model to cancel the loading of
155
+ */
156
+ ModelLoader.prototype.cancelLoad = function (model) {
157
+ var loader = model.loader || this._loaders[model.loadId];
158
+ // ATM only available in the GLTF Loader
159
+ if (loader && loader.name === "gltf") {
160
+ var gltfLoader = loader;
161
+ gltfLoader.dispose();
162
+ model.state = ModelState.CANCELED;
163
+ }
164
+ else {
165
+ Tools.Warn("This type of loader cannot cancel the request");
166
+ }
167
+ };
168
+ /**
169
+ * dispose the model loader.
170
+ * If loaders are registered and are in the middle of loading, they will be disposed and the request(s) will be cancelled.
171
+ */
172
+ ModelLoader.prototype.dispose = function () {
173
+ this._loaders.forEach(function (loader) {
174
+ if (loader.name === "gltf") {
175
+ loader.dispose();
176
+ }
177
+ });
178
+ this._loaders.length = 0;
179
+ this._disposed = true;
180
+ };
181
+ ModelLoader.prototype._checkAndRun = function (functionName) {
182
+ var _this = this;
183
+ var payload = [];
184
+ for (var _i = 1; _i < arguments.length; _i++) {
185
+ payload[_i - 1] = arguments[_i];
186
+ }
187
+ if (this._disposed) {
188
+ return;
189
+ }
190
+ this._plugins
191
+ .filter(function (p) { return p[functionName]; })
192
+ .forEach(function (plugin) {
193
+ try {
194
+ plugin[functionName].apply(_this, payload);
195
+ }
196
+ catch (e) { }
197
+ });
198
+ };
199
+ return ModelLoader;
200
+ }());
201
+ export { ModelLoader };
202
+ //# sourceMappingURL=modelLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelLoader.js","sourceRoot":"","sources":["../../../../tools/viewer/src/loader/modelLoader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,kDAAoC;AAE3E,OAAO,EAAE,WAAW,EAAE,+CAAiC;AACvD,OAAO,EAAE,KAAK,EAAE,sCAAwB;AACxC,OAAO,EAAE,IAAI,EAAE,qCAAuB;AACtC,uDAAyC;AAIzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,0CAA4B;AAC5B,8DAAgD;AAEhD;;;;;GAKG;AACH;IAiBI;;;;OAIG;IACH,qBACY,mBAAuC,EACvC,uBAAgD;QADhD,wBAAmB,GAAnB,mBAAmB,CAAoB;QACvC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAtBpD,cAAS,GAAG,KAAK,CAAC;QAwBtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAhBD,sBAAW,gCAAO;QAHlB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAgBD;;;;OAIG;IACI,+BAAS,GAAhB,UAAiB,MAA8B;QAC3C,IAAI,YAAY,GAAkB,EAAE,CAAC;QACrC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,YAAY,EAAE,CAAC;gBACf,YAAY,GAAG,YAAY,CAAC;YAChC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,YAAY,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,0BAAI,GAAX,UAAY,kBAAuC;QAAnD,iBA4GC;QA3GG,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE1G,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAE9B,IAAI,QAAa,CAAC;QAClB,IAAI,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACvC,CAAC;aAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAChC,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC;YAC/E,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAEzC,IAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAExC,WAAW,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,MAAM;YACnD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACtB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,IAAM,YAAU,GAAmB,KAAK,CAAC,MAAM,CAAC;gBAChD,YAAU,CAAC,kBAAkB,GAAG,4BAA4B,CAAC,IAAI,CAAC;gBAClE,YAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAEnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;oBAC3B,YAAU,CAAC,cAAc,GAAG,UAAC,OAAO,EAAE,WAAW;wBAC7C,OAAO,kBAAkB,CAAC,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC,WAAW,IAAI,kBAAkB,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;oBACvG,CAAC,CAAC;gBACN,CAAC;gBACD,gCAAgC;gBAChC,IACI,KAAI,CAAC,uBAAuB;oBAC5B,KAAI,CAAC,uBAAuB,CAAC,aAAa;oBAC1C,KAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,MAAM;oBACjD,OAAO,KAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,MAAM,KAAK,QAAQ;oBACrE,KAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAC1D,CAAC;oBACC,YAAU,CAAC,YAAY,GAAG,IAAI,CAAC;gBACnC,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,YAAU,CAAC;qBAClB,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAA7D,CAA6D,CAAC;qBAC/E,OAAO,CAAC,UAAC,YAAY;oBACjB,YAAkB,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAC,OAAc;wBACjD,KAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;oBACvE,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBAEP,YAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAC,IAAI;oBACnC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAK,IAAI,CAAC,IAAY,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnD,KAAK,CAAC,QAAQ,GAAI,IAAI,CAAC,IAAY,CAAC,OAAO,CAAC,CAAC;oBACjD,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,YAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC;oBAChC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAC5B,CAAC;YAED,KAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEjD,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,UAAU,CAClB,SAAS,EACT,IAAI,CAAC,QAAQ,EACb,QAAQ,EACR,KAAK,EACL,UAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe;YAChD,MAAM,CAAC,OAAO,CAAC,UAAC,IAAI;gBAChB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACnC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;YACxC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAE5B,KAA6B,UAAe,EAAf,mCAAe,EAAf,6BAAe,EAAf,IAAe,EAAE,CAAC;gBAA1C,IAAM,cAAc,wBAAA;gBACrB,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAC5C,CAAC;YAED,KAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrC,KAAK,CAAC,gBAAgB,CAAC;gBACnB,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACP,CAAC,EACD,UAAC,aAAa;YACV,KAAI,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YAC/C,KAAK,CAAC,wBAAwB,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;QAC7E,CAAC,EACD,UAAC,KAAK,EAAE,CAAC,EAAE,SAAS;YAChB,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,oDAAoD,GAAG,CAAC,CAAC,CAAC;YACtE,KAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAC3C,KAAK,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACjG,CAAC,EACD,MAAM,CACR,CAAC;QAEH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,gCAAU,GAAjB,UAAkB,KAAkB;QAChC,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3D,wCAAwC;QACxC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,IAAM,UAAU,GAAmB,MAAM,CAAC;YAC1C,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC;QACtC,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,6BAAO,GAAd;QACI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,MAAM;YACzB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACR,MAAO,CAAC,OAAO,EAAE,CAAC;YACvC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,kCAAY,GAApB,UAAqB,YAAoB;QAAzC,iBAWC;QAX0C,iBAAsB;aAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;YAAtB,gCAAsB;;QAC7D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,QAAQ;aACR,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,YAAmC,CAAC,EAAtC,CAAsC,CAAC;aACrD,OAAO,CAAC,UAAC,MAAM;YACZ,IAAI,CAAC;gBACA,MAAc,CAAC,YAAmC,CAAC,CAAC,KAAK,CAAC,KAAI,EAAE,OAAO,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QAClB,CAAC,CAAC,CAAC;IACX,CAAC;IACL,kBAAC;AAAD,CAAC,AAhND,IAgNC","sourcesContent":["/* eslint-disable import/no-internal-modules */\r\nimport type { GLTFFileLoader } from \"loaders/glTF/glTFFileLoader\";\r\nimport { GLTFLoaderAnimationStartMode } from \"loaders/glTF/glTFFileLoader\";\r\nimport type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from \"core/Loading/sceneLoader\";\r\nimport { SceneLoader } from \"core/Loading/sceneLoader\";\r\nimport { Tools } from \"core/Misc/tools\";\r\nimport { Tags } from \"core/Misc/tags\";\r\nimport \"core/Misc/observable.extensions\";\r\nimport type { ConfigurationContainer } from \"../configuration/configurationContainer\";\r\nimport type { IModelConfiguration } from \"../configuration/interfaces/modelConfiguration\";\r\nimport type { ObservablesManager } from \"../managers/observablesManager\";\r\nimport { ModelState, ViewerModel } from \"../model/viewerModel\";\r\nimport type { ILoaderPlugin } from \"./plugins/index\";\r\nimport { getLoaderPluginByName } from \"./plugins/index\";\r\nimport \"loaders/glTF/index\";\r\nimport \"core/Loading/Plugins/babylonFileLoader\";\r\n\r\n/**\r\n * An instance of the class is in charge of loading the model correctly.\r\n * This class will continuously be expended with tasks required from the specific loaders Babylon has.\r\n *\r\n * A Model loader is unique per (Abstract)Viewer. It is being generated by the viewer\r\n */\r\nexport class ModelLoader {\r\n private _loadId: number;\r\n private _disposed = false;\r\n\r\n private _loaders: Array<ISceneLoaderPlugin | ISceneLoaderPluginAsync>;\r\n\r\n private _plugins: Array<ILoaderPlugin>;\r\n\r\n private _baseUrl: string;\r\n\r\n /**\r\n * @returns the base url of the model loader\r\n */\r\n public get baseUrl(): string {\r\n return this._baseUrl;\r\n }\r\n\r\n /**\r\n * Create a new Model loader\r\n * @param _observablesManager\r\n * @param _configurationContainer\r\n */\r\n constructor(\r\n private _observablesManager: ObservablesManager,\r\n private _configurationContainer?: ConfigurationContainer\r\n ) {\r\n this._loaders = [];\r\n this._loadId = 0;\r\n this._plugins = [];\r\n }\r\n\r\n /**\r\n * Adds a new plugin to the loader process.\r\n *\r\n * @param plugin the plugin name or the plugin itself\r\n */\r\n public addPlugin(plugin: ILoaderPlugin | string) {\r\n let actualPlugin: ILoaderPlugin = {};\r\n if (typeof plugin === \"string\") {\r\n const loadedPlugin = getLoaderPluginByName(plugin);\r\n if (loadedPlugin) {\r\n actualPlugin = loadedPlugin;\r\n }\r\n } else {\r\n actualPlugin = plugin;\r\n }\r\n if (actualPlugin && this._plugins.indexOf(actualPlugin) === -1) {\r\n this._plugins.push(actualPlugin);\r\n }\r\n }\r\n\r\n /**\r\n * Load a model using predefined configuration\r\n * @param modelConfiguration the modelConfiguration to use to load the model\r\n * @returns the loaded model\r\n */\r\n public load(modelConfiguration: IModelConfiguration): ViewerModel {\r\n const model = new ViewerModel(this._observablesManager, modelConfiguration, this._configurationContainer);\r\n\r\n model.loadId = this._loadId++;\r\n\r\n let filename: any;\r\n if (modelConfiguration.file) {\r\n this._baseUrl = \"file:\";\r\n filename = modelConfiguration.file;\r\n } else if (modelConfiguration.url) {\r\n filename = Tools.GetFilename(modelConfiguration.url) || modelConfiguration.url;\r\n this._baseUrl = modelConfiguration.root || Tools.GetFolderPath(modelConfiguration.url);\r\n }\r\n\r\n if (!filename || !this._baseUrl) {\r\n model.state = ModelState.ERROR;\r\n Tools.Error(\"No URL provided\");\r\n return model;\r\n }\r\n\r\n const plugin = modelConfiguration.loader;\r\n\r\n const scene = model.rootMesh.getScene();\r\n\r\n SceneLoader.OnPluginActivatedObservable.addOnce((plugin) => {\r\n model.loader = plugin;\r\n if (model.loader.name === \"gltf\") {\r\n const gltfLoader = <GLTFFileLoader>model.loader;\r\n gltfLoader.animationStartMode = GLTFLoaderAnimationStartMode.NONE;\r\n gltfLoader.compileMaterials = true;\r\n\r\n if (!modelConfiguration.file) {\r\n gltfLoader.rewriteRootURL = (rootURL, responseURL) => {\r\n return modelConfiguration.root || Tools.GetFolderPath(responseURL || modelConfiguration.url || \"\");\r\n };\r\n }\r\n // if ground is set to \"mirror\":\r\n if (\r\n this._configurationContainer &&\r\n this._configurationContainer.configuration &&\r\n this._configurationContainer.configuration.ground &&\r\n typeof this._configurationContainer.configuration.ground === \"object\" &&\r\n this._configurationContainer.configuration.ground.mirror\r\n ) {\r\n gltfLoader.useClipPlane = true;\r\n }\r\n Object.keys(gltfLoader)\r\n .filter((name) => name.indexOf(\"on\") === 0 && name.indexOf(\"Observable\") !== -1)\r\n .forEach((functionName) => {\r\n (gltfLoader as any)[functionName].add((payload: any[]) => {\r\n this._checkAndRun(functionName.replace(\"Observable\", \"\"), payload);\r\n });\r\n });\r\n\r\n gltfLoader.onParsedObservable.add((data) => {\r\n if (data && data.json && (data.json as any)[\"asset\"]) {\r\n model.loadInfo = (data.json as any)[\"asset\"];\r\n }\r\n });\r\n\r\n gltfLoader.onCompleteObservable.add(() => {\r\n model.loaderDone = true;\r\n });\r\n } else {\r\n model.loaderDone = true;\r\n }\r\n\r\n this._checkAndRun(\"onInit\", model.loader, model);\r\n\r\n this._loaders.push(model.loader);\r\n });\r\n\r\n SceneLoader.ImportMesh(\r\n undefined,\r\n this._baseUrl,\r\n filename,\r\n scene,\r\n (meshes, particleSystems, skeletons, animationGroups) => {\r\n meshes.forEach((mesh) => {\r\n Tags.AddTagsTo(mesh, \"viewerMesh\");\r\n model.addMesh(mesh);\r\n });\r\n model.particleSystems = particleSystems;\r\n model.skeletons = skeletons;\r\n\r\n for (const animationGroup of animationGroups) {\r\n model.addAnimationGroup(animationGroup);\r\n }\r\n\r\n this._checkAndRun(\"onLoaded\", model);\r\n scene.executeWhenReady(() => {\r\n model.onLoadedObservable.notifyObservers(model);\r\n });\r\n },\r\n (progressEvent) => {\r\n this._checkAndRun(\"onProgress\", progressEvent);\r\n model.onLoadProgressObservable.notifyObserversWithPromise(progressEvent);\r\n },\r\n (scene, m, exception) => {\r\n model.state = ModelState.ERROR;\r\n Tools.Error(\"Load Error: There was an error loading the model. \" + m);\r\n this._checkAndRun(\"onError\", m, exception);\r\n model.onLoadErrorObservable.notifyObserversWithPromise({ message: m, exception: exception });\r\n },\r\n plugin\r\n )!;\r\n\r\n return model;\r\n }\r\n\r\n /**\r\n * Cancel the loading of a model.\r\n * @param model the model to cancel the loading of\r\n */\r\n public cancelLoad(model: ViewerModel) {\r\n const loader = model.loader || this._loaders[model.loadId];\r\n // ATM only available in the GLTF Loader\r\n if (loader && loader.name === \"gltf\") {\r\n const gltfLoader = <GLTFFileLoader>loader;\r\n gltfLoader.dispose();\r\n model.state = ModelState.CANCELED;\r\n } else {\r\n Tools.Warn(\"This type of loader cannot cancel the request\");\r\n }\r\n }\r\n\r\n /**\r\n * dispose the model loader.\r\n * If loaders are registered and are in the middle of loading, they will be disposed and the request(s) will be cancelled.\r\n */\r\n public dispose() {\r\n this._loaders.forEach((loader) => {\r\n if (loader.name === \"gltf\") {\r\n (<GLTFFileLoader>loader).dispose();\r\n }\r\n });\r\n this._loaders.length = 0;\r\n this._disposed = true;\r\n }\r\n\r\n private _checkAndRun(functionName: string, ...payload: Array<any>) {\r\n if (this._disposed) {\r\n return;\r\n }\r\n this._plugins\r\n .filter((p) => p[functionName as keyof ILoaderPlugin])\r\n .forEach((plugin) => {\r\n try {\r\n (plugin as any)[functionName as keyof ILoaderPlugin].apply(this, payload);\r\n } catch (e) {}\r\n });\r\n }\r\n}\r\n"]}
@@ -0,0 +1,12 @@
1
+ import type { ViewerModel } from "../../model/viewerModel";
2
+ import type { ILoaderPlugin } from "./loaderPlugin";
3
+ import type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from "@babylonjs/core/Loading/sceneLoader.js";
4
+ import type { Material } from "@babylonjs/core/Materials/material.js";
5
+ /**
6
+ * Force-apply material configuration right after a material was loaded.
7
+ */
8
+ export declare class ApplyMaterialConfigPlugin implements ILoaderPlugin {
9
+ private _model;
10
+ onInit(loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel): void;
11
+ onMaterialLoaded(material: Material): void;
12
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Force-apply material configuration right after a material was loaded.
3
+ */
4
+ var ApplyMaterialConfigPlugin = /** @class */ (function () {
5
+ function ApplyMaterialConfigPlugin() {
6
+ }
7
+ ApplyMaterialConfigPlugin.prototype.onInit = function (loader, model) {
8
+ this._model = model;
9
+ };
10
+ ApplyMaterialConfigPlugin.prototype.onMaterialLoaded = function (material) {
11
+ this._model && this._model._applyModelMaterialConfiguration(material);
12
+ };
13
+ return ApplyMaterialConfigPlugin;
14
+ }());
15
+ export { ApplyMaterialConfigPlugin };
16
+ //# sourceMappingURL=applyMaterialConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyMaterialConfig.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/applyMaterialConfig.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH;IAAA;IAUA,CAAC;IAPU,0CAAM,GAAb,UAAc,MAAoD,EAAE,KAAkB;QAClF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAEM,oDAAgB,GAAvB,UAAwB,QAAkB;QACtC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IACL,gCAAC;AAAD,CAAC,AAVD,IAUC","sourcesContent":["import type { ViewerModel } from \"../../model/viewerModel\";\r\nimport type { ILoaderPlugin } from \"./loaderPlugin\";\r\nimport type { ISceneLoaderPlugin, ISceneLoaderPluginAsync } from \"core/Loading/sceneLoader\";\r\nimport type { Material } from \"core/Materials/material\";\r\n\r\n/**\r\n * Force-apply material configuration right after a material was loaded.\r\n */\r\nexport class ApplyMaterialConfigPlugin implements ILoaderPlugin {\r\n private _model: ViewerModel;\r\n\r\n public onInit(loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel) {\r\n this._model = model;\r\n }\r\n\r\n public onMaterialLoaded(material: Material) {\r\n this._model && this._model._applyModelMaterialConfiguration(material);\r\n }\r\n}\r\n"]}
@@ -0,0 +1,9 @@
1
+ import type { Material } from "@babylonjs/core/Materials/material.js";
2
+ import type { ILoaderPlugin } from "./loaderPlugin";
3
+ /**
4
+ * A (PBR) material will be extended using this function.
5
+ * This function will hold extra default configuration for the viewer, if not implemented in Babylon itself.
6
+ */
7
+ export declare class ExtendedMaterialLoaderPlugin implements ILoaderPlugin {
8
+ onMaterialLoaded(baseMaterial: Material): void;
9
+ }
@@ -0,0 +1,16 @@
1
+ import { Constants } from "@babylonjs/core/Engines/constants.js";
2
+ /**
3
+ * A (PBR) material will be extended using this function.
4
+ * This function will hold extra default configuration for the viewer, if not implemented in Babylon itself.
5
+ */
6
+ var ExtendedMaterialLoaderPlugin = /** @class */ (function () {
7
+ function ExtendedMaterialLoaderPlugin() {
8
+ }
9
+ ExtendedMaterialLoaderPlugin.prototype.onMaterialLoaded = function (baseMaterial) {
10
+ var material = baseMaterial;
11
+ material.alphaMode = Constants.ALPHA_PREMULTIPLIED_PORTERDUFF;
12
+ };
13
+ return ExtendedMaterialLoaderPlugin;
14
+ }());
15
+ export { ExtendedMaterialLoaderPlugin };
16
+ //# sourceMappingURL=extendedMaterialLoaderPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extendedMaterialLoaderPlugin.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/extendedMaterialLoaderPlugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,6CAA+B;AAEnD;;;GAGG;AACH;IAAA;IAKA,CAAC;IAJU,uDAAgB,GAAvB,UAAwB,YAAsB;QAC1C,IAAM,QAAQ,GAAG,YAA2B,CAAC;QAC7C,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,8BAA8B,CAAC;IAClE,CAAC;IACL,mCAAC;AAAD,CAAC,AALD,IAKC","sourcesContent":["import type { Material } from \"core/Materials/material\";\r\nimport type { PBRMaterial } from \"core/Materials/PBR/pbrMaterial\";\r\nimport type { ILoaderPlugin } from \"./loaderPlugin\";\r\nimport { Constants } from \"core/Engines/constants\";\r\n\r\n/**\r\n * A (PBR) material will be extended using this function.\r\n * This function will hold extra default configuration for the viewer, if not implemented in Babylon itself.\r\n */\r\nexport class ExtendedMaterialLoaderPlugin implements ILoaderPlugin {\r\n public onMaterialLoaded(baseMaterial: Material) {\r\n const material = baseMaterial as PBRMaterial;\r\n material.alphaMode = Constants.ALPHA_PREMULTIPLIED_PORTERDUFF;\r\n }\r\n}\r\n"]}
@@ -0,0 +1,19 @@
1
+ import { TelemetryLoaderPlugin } from "./telemetryLoaderPlugin";
2
+ import { ILoaderPlugin } from "./loaderPlugin";
3
+ import { MSFTLodLoaderPlugin } from "./msftLodLoaderPlugin";
4
+ import { ApplyMaterialConfigPlugin } from "./applyMaterialConfig";
5
+ import { ExtendedMaterialLoaderPlugin } from "./extendedMaterialLoaderPlugin";
6
+ export { TelemetryLoaderPlugin, ILoaderPlugin, MSFTLodLoaderPlugin, ApplyMaterialConfigPlugin, ExtendedMaterialLoaderPlugin };
7
+ /**
8
+ * Get a loader plugin according to its name.
9
+ * The plugin will be cached and will be reused if called for again.
10
+ *
11
+ * @param name the name of the plugin
12
+ * @returns the plugin
13
+ */
14
+ export declare function getLoaderPluginByName(name: string): ILoaderPlugin;
15
+ /**
16
+ * @param name
17
+ * @param plugin
18
+ */
19
+ export declare function addLoaderPlugin(name: string, plugin: ILoaderPlugin): void;
@@ -0,0 +1,44 @@
1
+ import { TelemetryLoaderPlugin } from "./telemetryLoaderPlugin.js";
2
+ import { MSFTLodLoaderPlugin } from "./msftLodLoaderPlugin.js";
3
+ import { ApplyMaterialConfigPlugin } from "./applyMaterialConfig.js";
4
+ import { ExtendedMaterialLoaderPlugin } from "./extendedMaterialLoaderPlugin.js";
5
+ import { Tools } from "@babylonjs/core/Misc/tools.js";
6
+ var pluginCache = {};
7
+ export { TelemetryLoaderPlugin, MSFTLodLoaderPlugin, ApplyMaterialConfigPlugin, ExtendedMaterialLoaderPlugin };
8
+ /**
9
+ * Get a loader plugin according to its name.
10
+ * The plugin will be cached and will be reused if called for again.
11
+ *
12
+ * @param name the name of the plugin
13
+ * @returns the plugin
14
+ */
15
+ export function getLoaderPluginByName(name) {
16
+ if (!pluginCache[name]) {
17
+ switch (name) {
18
+ case "telemetry":
19
+ pluginCache[name] = new TelemetryLoaderPlugin();
20
+ break;
21
+ case "msftLod":
22
+ pluginCache[name] = new MSFTLodLoaderPlugin();
23
+ break;
24
+ case "applyMaterialConfig":
25
+ pluginCache[name] = new ApplyMaterialConfigPlugin();
26
+ break;
27
+ case "extendedMaterial":
28
+ pluginCache[name] = new ExtendedMaterialLoaderPlugin();
29
+ break;
30
+ }
31
+ }
32
+ return pluginCache[name];
33
+ }
34
+ /**
35
+ * @param name
36
+ * @param plugin
37
+ */
38
+ export function addLoaderPlugin(name, plugin) {
39
+ if (pluginCache[name]) {
40
+ Tools.Warn("Overwriting plugin with the same name - " + name);
41
+ }
42
+ pluginCache[name] = plugin;
43
+ }
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,sCAAwB;AAExC,IAAM,WAAW,GAAqC,EAAE,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAiB,mBAAmB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,CAAC;AAE9H;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,WAAW;gBACZ,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;gBAChD,MAAM;YACV,KAAK,SAAS;gBACV,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;gBAC9C,MAAM;YACV,KAAK,qBAAqB;gBACtB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;gBACpD,MAAM;YACV,KAAK,kBAAkB;gBACnB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;gBACvD,MAAM;QACd,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,MAAqB;IAC/D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,0CAA0C,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC/B,CAAC","sourcesContent":["import { TelemetryLoaderPlugin } from \"./telemetryLoaderPlugin\";\r\nimport { ILoaderPlugin } from \"./loaderPlugin\";\r\nimport { MSFTLodLoaderPlugin } from \"./msftLodLoaderPlugin\";\r\nimport { ApplyMaterialConfigPlugin } from \"./applyMaterialConfig\";\r\nimport { ExtendedMaterialLoaderPlugin } from \"./extendedMaterialLoaderPlugin\";\r\nimport { Tools } from \"core/Misc/tools\";\r\n\r\nconst pluginCache: { [key: string]: ILoaderPlugin } = {};\r\n\r\nexport { TelemetryLoaderPlugin, ILoaderPlugin, MSFTLodLoaderPlugin, ApplyMaterialConfigPlugin, ExtendedMaterialLoaderPlugin };\r\n\r\n/**\r\n * Get a loader plugin according to its name.\r\n * The plugin will be cached and will be reused if called for again.\r\n *\r\n * @param name the name of the plugin\r\n * @returns the plugin\r\n */\r\nexport function getLoaderPluginByName(name: string) {\r\n if (!pluginCache[name]) {\r\n switch (name) {\r\n case \"telemetry\":\r\n pluginCache[name] = new TelemetryLoaderPlugin();\r\n break;\r\n case \"msftLod\":\r\n pluginCache[name] = new MSFTLodLoaderPlugin();\r\n break;\r\n case \"applyMaterialConfig\":\r\n pluginCache[name] = new ApplyMaterialConfigPlugin();\r\n break;\r\n case \"extendedMaterial\":\r\n pluginCache[name] = new ExtendedMaterialLoaderPlugin();\r\n break;\r\n }\r\n }\r\n\r\n return pluginCache[name];\r\n}\r\n\r\n/**\r\n * @param name\r\n * @param plugin\r\n */\r\nexport function addLoaderPlugin(name: string, plugin: ILoaderPlugin) {\r\n if (pluginCache[name]) {\r\n Tools.Warn(\"Overwriting plugin with the same name - \" + name);\r\n }\r\n pluginCache[name] = plugin;\r\n}\r\n"]}
@@ -0,0 +1,24 @@
1
+ import type { ViewerModel } from "../../model/viewerModel";
2
+ import type { IGLTFLoaderExtension } from "@babylonjs/loaders/glTF/2.0/glTFLoaderExtension.js";
3
+ import type { IGLTFLoaderData } from "@babylonjs/loaders/glTF/glTFFileLoader.js";
4
+ import type { ISceneLoaderPlugin, ISceneLoaderPluginAsync, ISceneLoaderProgressEvent } from "@babylonjs/core/Loading/sceneLoader.js";
5
+ import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
6
+ import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
7
+ import type { Material } from "@babylonjs/core/Materials/material.js";
8
+ /**
9
+ * This interface defines the structure of a loader plugin.
10
+ * Any of those functions will be called if (!) the loader supports those callbacks.
11
+ * Any loader supports onInit, onLoaded, onError and onProgress.
12
+ */
13
+ export interface ILoaderPlugin {
14
+ onInit?: (loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel) => void;
15
+ onLoaded?: (model: ViewerModel) => void;
16
+ onError?: (message: string, exception?: any) => void;
17
+ onProgress?: (progressEvent: ISceneLoaderProgressEvent) => void;
18
+ onExtensionLoaded?: (extension: IGLTFLoaderExtension) => void;
19
+ onParsed?: (parsedData: IGLTFLoaderData) => void;
20
+ onMeshLoaded?: (mesh: AbstractMesh) => void;
21
+ onTextureLoaded?: (texture: BaseTexture) => void;
22
+ onMaterialLoaded?: (material: Material) => void;
23
+ onComplete?: () => void;
24
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=loaderPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loaderPlugin.js","sourceRoot":"","sources":["../../../../../tools/viewer/src/loader/plugins/loaderPlugin.ts"],"names":[],"mappings":"","sourcesContent":["import type { ViewerModel } from \"../../model/viewerModel\";\r\nimport type { IGLTFLoaderExtension } from \"loaders/glTF/2.0/glTFLoaderExtension\";\r\nimport type { IGLTFLoaderData } from \"loaders/glTF/glTFFileLoader\";\r\nimport type { ISceneLoaderPlugin, ISceneLoaderPluginAsync, ISceneLoaderProgressEvent } from \"core/Loading/sceneLoader\";\r\n\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport type { Material } from \"core/Materials/material\";\r\n\r\n/**\r\n * This interface defines the structure of a loader plugin.\r\n * Any of those functions will be called if (!) the loader supports those callbacks.\r\n * Any loader supports onInit, onLoaded, onError and onProgress.\r\n */\r\nexport interface ILoaderPlugin {\r\n onInit?: (loader: ISceneLoaderPlugin | ISceneLoaderPluginAsync, model: ViewerModel) => void;\r\n onLoaded?: (model: ViewerModel) => void;\r\n onError?: (message: string, exception?: any) => void;\r\n onProgress?: (progressEvent: ISceneLoaderProgressEvent) => void;\r\n onExtensionLoaded?: (extension: IGLTFLoaderExtension) => void;\r\n onParsed?: (parsedData: IGLTFLoaderData) => void;\r\n onMeshLoaded?: (mesh: AbstractMesh) => void;\r\n onTextureLoaded?: (texture: BaseTexture) => void;\r\n onMaterialLoaded?: (material: Material) => void;\r\n onComplete?: () => void;\r\n}\r\n"]}