@babylonjs/viewer 7.37.1-alpha → 7.37.1

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 (599) hide show
  1. package/configuration/configuration.d.ts +107 -0
  2. package/configuration/configuration.js +16 -0
  3. package/configuration/configuration.js.map +1 -0
  4. package/configuration/configurationCompatibility.d.ts +8 -0
  5. package/configuration/configurationCompatibility.js +66 -0
  6. package/configuration/configurationCompatibility.js.map +1 -0
  7. package/configuration/configurationContainer.d.ts +10 -0
  8. package/configuration/configurationContainer.js +10 -0
  9. package/configuration/configurationContainer.js.map +1 -0
  10. package/configuration/globals.d.ts +6 -0
  11. package/configuration/globals.js +18 -0
  12. package/configuration/globals.js.map +1 -0
  13. package/configuration/index.d.ts +2 -0
  14. package/configuration/index.js +4 -0
  15. package/configuration/index.js.map +1 -0
  16. package/configuration/interfaces/cameraConfiguration.d.ts +31 -0
  17. package/configuration/interfaces/cameraConfiguration.js +2 -0
  18. package/configuration/interfaces/cameraConfiguration.js.map +1 -0
  19. package/configuration/interfaces/colorGradingConfiguration.d.ts +81 -0
  20. package/configuration/interfaces/colorGradingConfiguration.js +2 -0
  21. package/configuration/interfaces/colorGradingConfiguration.js.map +1 -0
  22. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +20 -0
  23. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +2 -0
  24. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +1 -0
  25. package/configuration/interfaces/environmentMapConfiguration.d.ts +22 -0
  26. package/configuration/interfaces/environmentMapConfiguration.js +2 -0
  27. package/configuration/interfaces/environmentMapConfiguration.js.map +1 -0
  28. package/configuration/interfaces/groundConfiguration.d.ts +24 -0
  29. package/configuration/interfaces/groundConfiguration.js +2 -0
  30. package/configuration/interfaces/groundConfiguration.js.map +1 -0
  31. package/configuration/interfaces/imageProcessingConfiguration.d.ts +45 -0
  32. package/configuration/interfaces/imageProcessingConfiguration.js +2 -0
  33. package/configuration/interfaces/imageProcessingConfiguration.js.map +1 -0
  34. package/configuration/interfaces/index.d.ts +15 -0
  35. package/configuration/interfaces/index.js +16 -0
  36. package/configuration/interfaces/index.js.map +1 -0
  37. package/configuration/interfaces/lightConfiguration.d.ts +60 -0
  38. package/configuration/interfaces/lightConfiguration.js +2 -0
  39. package/configuration/interfaces/lightConfiguration.js.map +1 -0
  40. package/configuration/interfaces/modelAnimationConfiguration.d.ts +26 -0
  41. package/configuration/interfaces/modelAnimationConfiguration.js +2 -0
  42. package/configuration/interfaces/modelAnimationConfiguration.js.map +1 -0
  43. package/configuration/interfaces/modelConfiguration.d.ts +65 -0
  44. package/configuration/interfaces/modelConfiguration.js +2 -0
  45. package/configuration/interfaces/modelConfiguration.js.map +1 -0
  46. package/configuration/interfaces/observersConfiguration.d.ts +5 -0
  47. package/configuration/interfaces/observersConfiguration.js +2 -0
  48. package/configuration/interfaces/observersConfiguration.js.map +1 -0
  49. package/configuration/interfaces/sceneConfiguration.d.ts +48 -0
  50. package/configuration/interfaces/sceneConfiguration.js +2 -0
  51. package/configuration/interfaces/sceneConfiguration.js.map +1 -0
  52. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +23 -0
  53. package/configuration/interfaces/sceneOptimizerConfiguration.js +2 -0
  54. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +1 -0
  55. package/configuration/interfaces/skyboxConfiguration.d.ts +21 -0
  56. package/configuration/interfaces/skyboxConfiguration.js +2 -0
  57. package/configuration/interfaces/skyboxConfiguration.js.map +1 -0
  58. package/configuration/interfaces/templateConfiguration.d.ts +67 -0
  59. package/configuration/interfaces/templateConfiguration.js +2 -0
  60. package/configuration/interfaces/templateConfiguration.js.map +1 -0
  61. package/configuration/interfaces/vrConfiguration.d.ts +16 -0
  62. package/configuration/interfaces/vrConfiguration.js +2 -0
  63. package/configuration/interfaces/vrConfiguration.js.map +1 -0
  64. package/configuration/loader.d.ts +4 -0
  65. package/configuration/loader.js +17 -0
  66. package/configuration/loader.js.map +1 -0
  67. package/configuration/mappers.d.ts +43 -0
  68. package/configuration/mappers.js +193 -0
  69. package/configuration/mappers.js.map +1 -0
  70. package/configuration/renderOnlyLoader.d.ts +33 -0
  71. package/configuration/renderOnlyLoader.js +162 -0
  72. package/configuration/renderOnlyLoader.js.map +1 -0
  73. package/configuration/types/default.d.ts +6 -0
  74. package/configuration/types/default.js +121 -0
  75. package/configuration/types/default.js.map +1 -0
  76. package/configuration/types/environmentMap.d.ts +5 -0
  77. package/configuration/types/environmentMap.js +14 -0
  78. package/configuration/types/environmentMap.js.map +1 -0
  79. package/configuration/types/extended.d.ts +6 -0
  80. package/configuration/types/extended.js +317 -0
  81. package/configuration/types/extended.js.map +1 -0
  82. package/configuration/types/index.d.ts +14 -0
  83. package/configuration/types/index.js +51 -0
  84. package/configuration/types/index.js.map +1 -0
  85. package/configuration/types/minimal.d.ts +6 -0
  86. package/configuration/types/minimal.js +43 -0
  87. package/configuration/types/minimal.js.map +1 -0
  88. package/configuration/types/renderOnlyDefault.d.ts +30 -0
  89. package/configuration/types/renderOnlyDefault.js +31 -0
  90. package/configuration/types/renderOnlyDefault.js.map +1 -0
  91. package/configuration/types/shadowLight.d.ts +9 -0
  92. package/configuration/types/shadowLight.js +64 -0
  93. package/configuration/types/shadowLight.js.map +1 -0
  94. package/helper/index.d.ts +29 -0
  95. package/helper/index.js +66 -0
  96. package/helper/index.js.map +1 -0
  97. package/index.d.ts +30 -0
  98. package/index.js +46 -0
  99. package/index.js.map +1 -0
  100. package/initializer.d.ts +11 -0
  101. package/initializer.js +35 -0
  102. package/initializer.js.map +1 -0
  103. package/interfaces.d.ts +5 -0
  104. package/interfaces.js +7 -0
  105. package/interfaces.js.map +1 -0
  106. package/labs/environmentSerializer.d.ts +126 -0
  107. package/labs/environmentSerializer.js +191 -0
  108. package/labs/environmentSerializer.js.map +1 -0
  109. package/labs/texture.d.ts +183 -0
  110. package/labs/texture.js +351 -0
  111. package/labs/texture.js.map +1 -0
  112. package/labs/viewerLabs.d.ts +51 -0
  113. package/labs/viewerLabs.js +134 -0
  114. package/labs/viewerLabs.js.map +1 -0
  115. package/loader/modelLoader.d.ts +56 -0
  116. package/loader/modelLoader.js +202 -0
  117. package/loader/modelLoader.js.map +1 -0
  118. package/loader/plugins/applyMaterialConfig.d.ts +12 -0
  119. package/loader/plugins/applyMaterialConfig.js +16 -0
  120. package/loader/plugins/applyMaterialConfig.js.map +1 -0
  121. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +9 -0
  122. package/loader/plugins/extendedMaterialLoaderPlugin.js +16 -0
  123. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +1 -0
  124. package/loader/plugins/index.d.ts +19 -0
  125. package/loader/plugins/index.js +44 -0
  126. package/loader/plugins/index.js.map +1 -0
  127. package/loader/plugins/loaderPlugin.d.ts +24 -0
  128. package/loader/plugins/loaderPlugin.js +2 -0
  129. package/loader/plugins/loaderPlugin.js.map +1 -0
  130. package/loader/plugins/msftLodLoaderPlugin.d.ts +12 -0
  131. package/loader/plugins/msftLodLoaderPlugin.js +21 -0
  132. package/loader/plugins/msftLodLoaderPlugin.js.map +1 -0
  133. package/loader/plugins/telemetryLoaderPlugin.d.ts +12 -0
  134. package/loader/plugins/telemetryLoaderPlugin.js +36 -0
  135. package/loader/plugins/telemetryLoaderPlugin.js.map +1 -0
  136. package/managers/observablesManager.d.ts +66 -0
  137. package/managers/observablesManager.js +35 -0
  138. package/managers/observablesManager.js.map +1 -0
  139. package/managers/sceneManager.d.ts +245 -0
  140. package/managers/sceneManager.js +1375 -0
  141. package/managers/sceneManager.js.map +1 -0
  142. package/managers/telemetryManager.d.ts +78 -0
  143. package/managers/telemetryManager.js +117 -0
  144. package/managers/telemetryManager.js.map +1 -0
  145. package/model/modelAnimation.d.ts +215 -0
  146. package/model/modelAnimation.js +237 -0
  147. package/model/modelAnimation.js.map +1 -0
  148. package/model/viewerModel.d.ts +233 -0
  149. package/model/viewerModel.js +673 -0
  150. package/model/viewerModel.js.map +1 -0
  151. package/optimizer/custom/extended.d.ts +13 -0
  152. package/optimizer/custom/extended.js +101 -0
  153. package/optimizer/custom/extended.js.map +1 -0
  154. package/optimizer/custom/index.d.ts +9 -0
  155. package/optimizer/custom/index.js +26 -0
  156. package/optimizer/custom/index.js.map +1 -0
  157. package/package.json +27 -18
  158. package/readme.md +21 -145
  159. package/renderOnlyIndex.d.ts +11 -0
  160. package/renderOnlyIndex.js +18 -0
  161. package/renderOnlyIndex.js.map +1 -0
  162. package/templating/eventManager.d.ts +35 -0
  163. package/templating/eventManager.js +66 -0
  164. package/templating/eventManager.js.map +1 -0
  165. package/templating/plugins/hdButtonPlugin.d.ts +9 -0
  166. package/templating/plugins/hdButtonPlugin.js +22 -0
  167. package/templating/plugins/hdButtonPlugin.js.map +1 -0
  168. package/templating/plugins/printButton.d.ts +9 -0
  169. package/templating/plugins/printButton.js +41 -0
  170. package/templating/plugins/printButton.js.map +1 -0
  171. package/templating/templateManager.d.ts +197 -0
  172. package/templating/templateManager.js +561 -0
  173. package/templating/templateManager.js.map +1 -0
  174. package/templating/viewerTemplatePlugin.d.ts +21 -0
  175. package/templating/viewerTemplatePlugin.js +69 -0
  176. package/templating/viewerTemplatePlugin.js.map +1 -0
  177. package/viewer/defaultViewer.d.ts +130 -0
  178. package/viewer/defaultViewer.js +672 -0
  179. package/viewer/defaultViewer.js.map +1 -0
  180. package/viewer/renderOnlyViewer.d.ts +9 -0
  181. package/viewer/renderOnlyViewer.js +46 -0
  182. package/viewer/renderOnlyViewer.js.map +1 -0
  183. package/viewer/viewer.d.ts +258 -0
  184. package/viewer/viewer.js +783 -0
  185. package/viewer/viewer.js.map +1 -0
  186. package/viewer/viewerManager.d.ts +58 -0
  187. package/viewer/viewerManager.js +91 -0
  188. package/viewer/viewerManager.js.map +1 -0
  189. package/viewer/viewerWithTemplate.d.ts +9 -0
  190. package/viewer/viewerWithTemplate.js +20 -0
  191. package/viewer/viewerWithTemplate.js.map +1 -0
  192. package/assets/photoStudio.env +0 -0
  193. package/dist/babylon-viewer.esm.js +0 -2
  194. package/dist/babylon-viewer.esm.js.map +0 -1
  195. package/dist/babylon-viewer.esm.min.js +0 -2
  196. package/dist/babylon-viewer.esm.min.js.map +0 -1
  197. package/dist/chunks/EXT_lights_image_based-BTTJ2JSt.esm.min.js +0 -2
  198. package/dist/chunks/EXT_lights_image_based-BTTJ2JSt.esm.min.js.map +0 -1
  199. package/dist/chunks/EXT_lights_image_based-mCt1KUiF.esm.js +0 -171
  200. package/dist/chunks/EXT_lights_image_based-mCt1KUiF.esm.js.map +0 -1
  201. package/dist/chunks/EXT_mesh_gpu_instancing-BCgQFq6R.esm.min.js +0 -2
  202. package/dist/chunks/EXT_mesh_gpu_instancing-BCgQFq6R.esm.min.js.map +0 -1
  203. package/dist/chunks/EXT_mesh_gpu_instancing-CpjETToP.esm.js +0 -86
  204. package/dist/chunks/EXT_mesh_gpu_instancing-CpjETToP.esm.js.map +0 -1
  205. package/dist/chunks/EXT_meshopt_compression-4wJlE2Do.esm.min.js +0 -2
  206. package/dist/chunks/EXT_meshopt_compression-4wJlE2Do.esm.min.js.map +0 -1
  207. package/dist/chunks/EXT_meshopt_compression-BzfAhd0k.esm.js +0 -134
  208. package/dist/chunks/EXT_meshopt_compression-BzfAhd0k.esm.js.map +0 -1
  209. package/dist/chunks/EXT_texture_avif-DZwUnu-Q.esm.min.js +0 -2
  210. package/dist/chunks/EXT_texture_avif-DZwUnu-Q.esm.min.js.map +0 -1
  211. package/dist/chunks/EXT_texture_avif-yX71qV2W.esm.js +0 -44
  212. package/dist/chunks/EXT_texture_avif-yX71qV2W.esm.js.map +0 -1
  213. package/dist/chunks/EXT_texture_webp-COXIl9Hz.esm.min.js +0 -2
  214. package/dist/chunks/EXT_texture_webp-COXIl9Hz.esm.min.js.map +0 -1
  215. package/dist/chunks/EXT_texture_webp-nGZbK5Pe.esm.js +0 -43
  216. package/dist/chunks/EXT_texture_webp-nGZbK5Pe.esm.js.map +0 -1
  217. package/dist/chunks/ExtrasAsMetadata-DUET0pv1.esm.js +0 -64
  218. package/dist/chunks/ExtrasAsMetadata-DUET0pv1.esm.js.map +0 -1
  219. package/dist/chunks/ExtrasAsMetadata-DrcrrXzY.esm.min.js +0 -2
  220. package/dist/chunks/ExtrasAsMetadata-DrcrrXzY.esm.min.js.map +0 -1
  221. package/dist/chunks/KHR_animation_pointer-CEl0j147.esm.js +0 -343
  222. package/dist/chunks/KHR_animation_pointer-CEl0j147.esm.js.map +0 -1
  223. package/dist/chunks/KHR_animation_pointer-DQ_C7F9b.esm.min.js +0 -2
  224. package/dist/chunks/KHR_animation_pointer-DQ_C7F9b.esm.min.js.map +0 -1
  225. package/dist/chunks/KHR_draco_mesh_compression-C8ZM8r8Y.esm.js +0 -617
  226. package/dist/chunks/KHR_draco_mesh_compression-C8ZM8r8Y.esm.js.map +0 -1
  227. package/dist/chunks/KHR_draco_mesh_compression-Cl89FvcS.esm.min.js +0 -2
  228. package/dist/chunks/KHR_draco_mesh_compression-Cl89FvcS.esm.min.js.map +0 -1
  229. package/dist/chunks/KHR_interactivity-B1iMXK-h.esm.min.js +0 -2
  230. package/dist/chunks/KHR_interactivity-B1iMXK-h.esm.min.js.map +0 -1
  231. package/dist/chunks/KHR_interactivity-CLFlYbRq.esm.js +0 -4033
  232. package/dist/chunks/KHR_interactivity-CLFlYbRq.esm.js.map +0 -1
  233. package/dist/chunks/KHR_lights_punctual-C-Z_EBCh.esm.min.js +0 -2
  234. package/dist/chunks/KHR_lights_punctual-C-Z_EBCh.esm.min.js.map +0 -1
  235. package/dist/chunks/KHR_lights_punctual-DNHTEebm.esm.js +0 -1253
  236. package/dist/chunks/KHR_lights_punctual-DNHTEebm.esm.js.map +0 -1
  237. package/dist/chunks/KHR_materials_anisotropy-CvKEdc3d.esm.min.js +0 -2
  238. package/dist/chunks/KHR_materials_anisotropy-CvKEdc3d.esm.min.js.map +0 -1
  239. package/dist/chunks/KHR_materials_anisotropy-bDPhW1cK.esm.js +0 -65
  240. package/dist/chunks/KHR_materials_anisotropy-bDPhW1cK.esm.js.map +0 -1
  241. package/dist/chunks/KHR_materials_clearcoat-2tGYyrqV.esm.js +0 -96
  242. package/dist/chunks/KHR_materials_clearcoat-2tGYyrqV.esm.js.map +0 -1
  243. package/dist/chunks/KHR_materials_clearcoat-KjnHHLBM.esm.min.js +0 -2
  244. package/dist/chunks/KHR_materials_clearcoat-KjnHHLBM.esm.min.js.map +0 -1
  245. package/dist/chunks/KHR_materials_diffuse_transmission-Doqv4nTI.esm.min.js +0 -2
  246. package/dist/chunks/KHR_materials_diffuse_transmission-Doqv4nTI.esm.min.js.map +0 -1
  247. package/dist/chunks/KHR_materials_diffuse_transmission-xmLmQPZg.esm.js +0 -97
  248. package/dist/chunks/KHR_materials_diffuse_transmission-xmLmQPZg.esm.js.map +0 -1
  249. package/dist/chunks/KHR_materials_dispersion-CYhdzD3k.esm.js +0 -62
  250. package/dist/chunks/KHR_materials_dispersion-CYhdzD3k.esm.js.map +0 -1
  251. package/dist/chunks/KHR_materials_dispersion-IBPQk406.esm.min.js +0 -2
  252. package/dist/chunks/KHR_materials_dispersion-IBPQk406.esm.min.js.map +0 -1
  253. package/dist/chunks/KHR_materials_emissive_strength-CDKCAd-o.esm.min.js +0 -2
  254. package/dist/chunks/KHR_materials_emissive_strength-CDKCAd-o.esm.min.js.map +0 -1
  255. package/dist/chunks/KHR_materials_emissive_strength-zMb2iaCe.esm.js +0 -55
  256. package/dist/chunks/KHR_materials_emissive_strength-zMb2iaCe.esm.js.map +0 -1
  257. package/dist/chunks/KHR_materials_ior-8K0WIK8R.esm.js +0 -64
  258. package/dist/chunks/KHR_materials_ior-8K0WIK8R.esm.js.map +0 -1
  259. package/dist/chunks/KHR_materials_ior-B_s6wgCK.esm.min.js +0 -2
  260. package/dist/chunks/KHR_materials_ior-B_s6wgCK.esm.min.js.map +0 -1
  261. package/dist/chunks/KHR_materials_iridescence-DNRfYFR1.esm.js +0 -72
  262. package/dist/chunks/KHR_materials_iridescence-DNRfYFR1.esm.js.map +0 -1
  263. package/dist/chunks/KHR_materials_iridescence-Lk_cRmU6.esm.min.js +0 -2
  264. package/dist/chunks/KHR_materials_iridescence-Lk_cRmU6.esm.min.js.map +0 -1
  265. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-B2JD91j_.esm.min.js +0 -2
  266. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-B2JD91j_.esm.min.js.map +0 -1
  267. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DKLrtJGj.esm.js +0 -81
  268. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-DKLrtJGj.esm.js.map +0 -1
  269. package/dist/chunks/KHR_materials_sheen-C6yyaBK_.esm.min.js +0 -2
  270. package/dist/chunks/KHR_materials_sheen-C6yyaBK_.esm.min.js.map +0 -1
  271. package/dist/chunks/KHR_materials_sheen-DSieQRYY.esm.js +0 -85
  272. package/dist/chunks/KHR_materials_sheen-DSieQRYY.esm.js.map +0 -1
  273. package/dist/chunks/KHR_materials_specular-C39zFYoJ.esm.min.js +0 -2
  274. package/dist/chunks/KHR_materials_specular-C39zFYoJ.esm.min.js.map +0 -1
  275. package/dist/chunks/KHR_materials_specular-D8eHI5SD.esm.js +0 -75
  276. package/dist/chunks/KHR_materials_specular-D8eHI5SD.esm.js.map +0 -1
  277. package/dist/chunks/KHR_materials_transmission-BKBEK-Pr.esm.min.js +0 -2
  278. package/dist/chunks/KHR_materials_transmission-BKBEK-Pr.esm.min.js.map +0 -1
  279. package/dist/chunks/KHR_materials_transmission-BbZ0iPcE.esm.js +0 -307
  280. package/dist/chunks/KHR_materials_transmission-BbZ0iPcE.esm.js.map +0 -1
  281. package/dist/chunks/KHR_materials_unlit-BlH7nnlb.esm.js +0 -74
  282. package/dist/chunks/KHR_materials_unlit-BlH7nnlb.esm.js.map +0 -1
  283. package/dist/chunks/KHR_materials_unlit-QeYg1Vup.esm.min.js +0 -2
  284. package/dist/chunks/KHR_materials_unlit-QeYg1Vup.esm.min.js.map +0 -1
  285. package/dist/chunks/KHR_materials_variants-BP5P-s3S.esm.min.js +0 -2
  286. package/dist/chunks/KHR_materials_variants-BP5P-s3S.esm.min.js.map +0 -1
  287. package/dist/chunks/KHR_materials_variants-YGdMNusB.esm.js +0 -262
  288. package/dist/chunks/KHR_materials_variants-YGdMNusB.esm.js.map +0 -1
  289. package/dist/chunks/KHR_materials_volume-DfgYbLDf.esm.min.js +0 -2
  290. package/dist/chunks/KHR_materials_volume-DfgYbLDf.esm.min.js.map +0 -1
  291. package/dist/chunks/KHR_materials_volume-Dha6NaMB.esm.js +0 -87
  292. package/dist/chunks/KHR_materials_volume-Dha6NaMB.esm.js.map +0 -1
  293. package/dist/chunks/KHR_mesh_quantization-CkgFZADd.esm.min.js +0 -2
  294. package/dist/chunks/KHR_mesh_quantization-CkgFZADd.esm.min.js.map +0 -1
  295. package/dist/chunks/KHR_mesh_quantization-DdszX7d9.esm.js +0 -26
  296. package/dist/chunks/KHR_mesh_quantization-DdszX7d9.esm.js.map +0 -1
  297. package/dist/chunks/KHR_node_visibility-BVqrUzew.esm.js +0 -46
  298. package/dist/chunks/KHR_node_visibility-BVqrUzew.esm.js.map +0 -1
  299. package/dist/chunks/KHR_node_visibility-Dx5_M0yu.esm.min.js +0 -2
  300. package/dist/chunks/KHR_node_visibility-Dx5_M0yu.esm.min.js.map +0 -1
  301. package/dist/chunks/KHR_texture_basisu-C6wS0ywQ.esm.js +0 -43
  302. package/dist/chunks/KHR_texture_basisu-C6wS0ywQ.esm.js.map +0 -1
  303. package/dist/chunks/KHR_texture_basisu-Ur5SaidK.esm.min.js +0 -2
  304. package/dist/chunks/KHR_texture_basisu-Ur5SaidK.esm.min.js.map +0 -1
  305. package/dist/chunks/KHR_texture_transform-C-QM24AO.esm.js +0 -63
  306. package/dist/chunks/KHR_texture_transform-C-QM24AO.esm.js.map +0 -1
  307. package/dist/chunks/KHR_texture_transform-Dpdib7O3.esm.min.js +0 -2
  308. package/dist/chunks/KHR_texture_transform-Dpdib7O3.esm.min.js.map +0 -1
  309. package/dist/chunks/KHR_xmp_json_ld-CqwNTmrx.esm.js +0 -51
  310. package/dist/chunks/KHR_xmp_json_ld-CqwNTmrx.esm.js.map +0 -1
  311. package/dist/chunks/KHR_xmp_json_ld-S6fxRXLv.esm.min.js +0 -2
  312. package/dist/chunks/KHR_xmp_json_ld-S6fxRXLv.esm.min.js.map +0 -1
  313. package/dist/chunks/MSFT_audio_emitter-Bjh6cLZb.esm.min.js +0 -2
  314. package/dist/chunks/MSFT_audio_emitter-Bjh6cLZb.esm.min.js.map +0 -1
  315. package/dist/chunks/MSFT_audio_emitter-CfsWIxyJ.esm.js +0 -2207
  316. package/dist/chunks/MSFT_audio_emitter-CfsWIxyJ.esm.js.map +0 -1
  317. package/dist/chunks/MSFT_lod-CZ__xodu.esm.min.js +0 -2
  318. package/dist/chunks/MSFT_lod-CZ__xodu.esm.min.js.map +0 -1
  319. package/dist/chunks/MSFT_lod-CzMztdpf.esm.js +0 -337
  320. package/dist/chunks/MSFT_lod-CzMztdpf.esm.js.map +0 -1
  321. package/dist/chunks/MSFT_minecraftMesh-C427ldkX.esm.min.js +0 -2
  322. package/dist/chunks/MSFT_minecraftMesh-C427ldkX.esm.min.js.map +0 -1
  323. package/dist/chunks/MSFT_minecraftMesh-DnxkOe8i.esm.js +0 -46
  324. package/dist/chunks/MSFT_minecraftMesh-DnxkOe8i.esm.js.map +0 -1
  325. package/dist/chunks/MSFT_sRGBFactors-CkV5G330.esm.js +0 -47
  326. package/dist/chunks/MSFT_sRGBFactors-CkV5G330.esm.js.map +0 -1
  327. package/dist/chunks/MSFT_sRGBFactors-DDIZdWTr.esm.min.js +0 -2
  328. package/dist/chunks/MSFT_sRGBFactors-DDIZdWTr.esm.min.js.map +0 -1
  329. package/dist/chunks/animationGroup-BKfJQilu.esm.js +0 -2482
  330. package/dist/chunks/animationGroup-BKfJQilu.esm.js.map +0 -1
  331. package/dist/chunks/animationGroup-oTbb0nLn.esm.min.js +0 -2
  332. package/dist/chunks/animationGroup-oTbb0nLn.esm.min.js.map +0 -1
  333. package/dist/chunks/assetContainer-BDuQ9TBc.esm.js +0 -1720
  334. package/dist/chunks/assetContainer-BDuQ9TBc.esm.js.map +0 -1
  335. package/dist/chunks/assetContainer-Dkp9h8Nk.esm.min.js +0 -2
  336. package/dist/chunks/assetContainer-Dkp9h8Nk.esm.min.js.map +0 -1
  337. package/dist/chunks/audioEngine-PbWm6naZ.esm.min.js +0 -2
  338. package/dist/chunks/audioEngine-PbWm6naZ.esm.min.js.map +0 -1
  339. package/dist/chunks/audioEngine-YGEF6yUK.esm.js +0 -305
  340. package/dist/chunks/audioEngine-YGEF6yUK.esm.js.map +0 -1
  341. package/dist/chunks/bakedVertexAnimation-CC0DpkaK.esm.js +0 -114
  342. package/dist/chunks/bakedVertexAnimation-CC0DpkaK.esm.js.map +0 -1
  343. package/dist/chunks/bakedVertexAnimation-CFdpJmq_.esm.min.js +0 -2
  344. package/dist/chunks/bakedVertexAnimation-CFdpJmq_.esm.min.js.map +0 -1
  345. package/dist/chunks/basisTextureLoader-DT5ZuZjv.esm.min.js +0 -2
  346. package/dist/chunks/basisTextureLoader-DT5ZuZjv.esm.min.js.map +0 -1
  347. package/dist/chunks/basisTextureLoader-SHKWwrIc.esm.js +0 -600
  348. package/dist/chunks/basisTextureLoader-SHKWwrIc.esm.js.map +0 -1
  349. package/dist/chunks/dds-HX8yeT_e.esm.min.js +0 -2
  350. package/dist/chunks/dds-HX8yeT_e.esm.min.js.map +0 -1
  351. package/dist/chunks/dds-vQ-Nb197.esm.js +0 -540
  352. package/dist/chunks/dds-vQ-Nb197.esm.js.map +0 -1
  353. package/dist/chunks/ddsTextureLoader-BaUUWNli.esm.min.js +0 -2
  354. package/dist/chunks/ddsTextureLoader-BaUUWNli.esm.min.js.map +0 -1
  355. package/dist/chunks/ddsTextureLoader-DQNi9sT8.esm.js +0 -88
  356. package/dist/chunks/ddsTextureLoader-DQNi9sT8.esm.js.map +0 -1
  357. package/dist/chunks/decalFragment-D2w8icPy.esm.js +0 -18
  358. package/dist/chunks/decalFragment-D2w8icPy.esm.js.map +0 -1
  359. package/dist/chunks/decalFragment-xzxcUxJ8.esm.min.js +0 -2
  360. package/dist/chunks/decalFragment-xzxcUxJ8.esm.min.js.map +0 -1
  361. package/dist/chunks/default.fragment-3u7hEV9p.esm.js +0 -433
  362. package/dist/chunks/default.fragment-3u7hEV9p.esm.js.map +0 -1
  363. package/dist/chunks/default.fragment-BNyzlMGw.esm.js +0 -497
  364. package/dist/chunks/default.fragment-BNyzlMGw.esm.js.map +0 -1
  365. package/dist/chunks/default.fragment-BYeFenXp.esm.min.js +0 -2
  366. package/dist/chunks/default.fragment-BYeFenXp.esm.min.js.map +0 -1
  367. package/dist/chunks/default.fragment-BZTPSd0S.esm.min.js +0 -2
  368. package/dist/chunks/default.fragment-BZTPSd0S.esm.min.js.map +0 -1
  369. package/dist/chunks/default.vertex-COzqeVfA.esm.js +0 -201
  370. package/dist/chunks/default.vertex-COzqeVfA.esm.js.map +0 -1
  371. package/dist/chunks/default.vertex-Cq8745-M.esm.js +0 -181
  372. package/dist/chunks/default.vertex-Cq8745-M.esm.js.map +0 -1
  373. package/dist/chunks/default.vertex-gHqSMlcv.esm.min.js +0 -2
  374. package/dist/chunks/default.vertex-gHqSMlcv.esm.min.js.map +0 -1
  375. package/dist/chunks/default.vertex-uxBts4pr.esm.min.js +0 -2
  376. package/dist/chunks/default.vertex-uxBts4pr.esm.min.js.map +0 -1
  377. package/dist/chunks/defaultUboDeclaration-C8a-iWXW.esm.js +0 -13
  378. package/dist/chunks/defaultUboDeclaration-C8a-iWXW.esm.js.map +0 -1
  379. package/dist/chunks/defaultUboDeclaration-COUxsT02.esm.min.js +0 -2
  380. package/dist/chunks/defaultUboDeclaration-COUxsT02.esm.min.js.map +0 -1
  381. package/dist/chunks/defaultUboDeclaration-GAZtMI4g.esm.js +0 -15
  382. package/dist/chunks/defaultUboDeclaration-GAZtMI4g.esm.js.map +0 -1
  383. package/dist/chunks/defaultUboDeclaration-wunm8_kR.esm.min.js +0 -2
  384. package/dist/chunks/defaultUboDeclaration-wunm8_kR.esm.min.js.map +0 -1
  385. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
  386. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
  387. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
  388. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
  389. package/dist/chunks/dumpTools-DEHzgH2e.esm.min.js +0 -2
  390. package/dist/chunks/dumpTools-DEHzgH2e.esm.min.js.map +0 -1
  391. package/dist/chunks/dumpTools-cCiLRzhx.esm.js +0 -200
  392. package/dist/chunks/dumpTools-cCiLRzhx.esm.js.map +0 -1
  393. package/dist/chunks/engine-CtoA0nUe.esm.js +0 -2220
  394. package/dist/chunks/engine-CtoA0nUe.esm.js.map +0 -1
  395. package/dist/chunks/engine-D-ALFUqi.esm.min.js +0 -2
  396. package/dist/chunks/engine-D-ALFUqi.esm.min.js.map +0 -1
  397. package/dist/chunks/engine.common-BBs3lswu.esm.js +0 -1162
  398. package/dist/chunks/engine.common-BBs3lswu.esm.js.map +0 -1
  399. package/dist/chunks/engine.common-fhQflGOP.esm.min.js +0 -2
  400. package/dist/chunks/engine.common-fhQflGOP.esm.min.js.map +0 -1
  401. package/dist/chunks/envTextureLoader-BQ0ZLpIZ.esm.js +0 -64
  402. package/dist/chunks/envTextureLoader-BQ0ZLpIZ.esm.js.map +0 -1
  403. package/dist/chunks/envTextureLoader-Clo69VZm.esm.min.js +0 -2
  404. package/dist/chunks/envTextureLoader-Clo69VZm.esm.min.js.map +0 -1
  405. package/dist/chunks/environmentTextureTools-CKcnvQvE.esm.min.js +0 -2
  406. package/dist/chunks/environmentTextureTools-CKcnvQvE.esm.min.js.map +0 -1
  407. package/dist/chunks/environmentTextureTools-Dv4OYysb.esm.js +0 -382
  408. package/dist/chunks/environmentTextureTools-Dv4OYysb.esm.js.map +0 -1
  409. package/dist/chunks/exrTextureLoader-1Qk-QkDv.esm.min.js +0 -2
  410. package/dist/chunks/exrTextureLoader-1Qk-QkDv.esm.min.js.map +0 -1
  411. package/dist/chunks/exrTextureLoader-DFUZJxaC.esm.js +0 -1682
  412. package/dist/chunks/exrTextureLoader-DFUZJxaC.esm.js.map +0 -1
  413. package/dist/chunks/fogFragment-B4-SlSDo.esm.js +0 -101
  414. package/dist/chunks/fogFragment-B4-SlSDo.esm.js.map +0 -1
  415. package/dist/chunks/fogFragment-BKD4e7Ph.esm.min.js +0 -2
  416. package/dist/chunks/fogFragment-BKD4e7Ph.esm.min.js.map +0 -1
  417. package/dist/chunks/fogFragment-DTaKEUGB.esm.min.js +0 -2
  418. package/dist/chunks/fogFragment-DTaKEUGB.esm.min.js.map +0 -1
  419. package/dist/chunks/fogFragment-h9FPnPoM.esm.js +0 -102
  420. package/dist/chunks/fogFragment-h9FPnPoM.esm.js.map +0 -1
  421. package/dist/chunks/fresnelFunction-DghEYnyJ.esm.js +0 -12
  422. package/dist/chunks/fresnelFunction-DghEYnyJ.esm.js.map +0 -1
  423. package/dist/chunks/fresnelFunction-DocHkMCd.esm.min.js +0 -2
  424. package/dist/chunks/fresnelFunction-DocHkMCd.esm.min.js.map +0 -1
  425. package/dist/chunks/glTFLoader-c3PKGkcy.esm.js +0 -7606
  426. package/dist/chunks/glTFLoader-c3PKGkcy.esm.js.map +0 -1
  427. package/dist/chunks/glTFLoader-vKjW1nNZ.esm.min.js +0 -2
  428. package/dist/chunks/glTFLoader-vKjW1nNZ.esm.min.js.map +0 -1
  429. package/dist/chunks/glTFLoaderAnimation-B6CGd8Cm.esm.min.js +0 -2
  430. package/dist/chunks/glTFLoaderAnimation-B6CGd8Cm.esm.min.js.map +0 -1
  431. package/dist/chunks/glTFLoaderAnimation-BcKbtbAU.esm.js +0 -77
  432. package/dist/chunks/glTFLoaderAnimation-BcKbtbAU.esm.js.map +0 -1
  433. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  434. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  435. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  436. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  437. package/dist/chunks/harmonicsFunctions-BFgQNOzG.esm.js +0 -35
  438. package/dist/chunks/harmonicsFunctions-BFgQNOzG.esm.js.map +0 -1
  439. package/dist/chunks/harmonicsFunctions-BnOdQYv0.esm.min.js +0 -2
  440. package/dist/chunks/harmonicsFunctions-BnOdQYv0.esm.min.js.map +0 -1
  441. package/dist/chunks/harmonicsFunctions-BryBP7jB.esm.js +0 -34
  442. package/dist/chunks/harmonicsFunctions-BryBP7jB.esm.js.map +0 -1
  443. package/dist/chunks/harmonicsFunctions-CKGE8BeQ.esm.min.js +0 -2
  444. package/dist/chunks/harmonicsFunctions-CKGE8BeQ.esm.min.js.map +0 -1
  445. package/dist/chunks/hdrTextureLoader-CxAR4jBp.esm.min.js +0 -2
  446. package/dist/chunks/hdrTextureLoader-CxAR4jBp.esm.min.js.map +0 -1
  447. package/dist/chunks/hdrTextureLoader-DezOXXlV.esm.js +0 -252
  448. package/dist/chunks/hdrTextureLoader-DezOXXlV.esm.js.map +0 -1
  449. package/dist/chunks/helperFunctions-BCdxmjWw.esm.min.js +0 -2
  450. package/dist/chunks/helperFunctions-BCdxmjWw.esm.min.js.map +0 -1
  451. package/dist/chunks/helperFunctions-CK2I9A9w.esm.min.js +0 -2
  452. package/dist/chunks/helperFunctions-CK2I9A9w.esm.min.js.map +0 -1
  453. package/dist/chunks/helperFunctions-D3PjirGO.esm.js +0 -80
  454. package/dist/chunks/helperFunctions-D3PjirGO.esm.js.map +0 -1
  455. package/dist/chunks/helperFunctions-DVaaLHM8.esm.js +0 -108
  456. package/dist/chunks/helperFunctions-DVaaLHM8.esm.js.map +0 -1
  457. package/dist/chunks/index-BJLUfgJX.esm.min.js +0 -57
  458. package/dist/chunks/index-BJLUfgJX.esm.min.js.map +0 -1
  459. package/dist/chunks/index-ft-NqTCE.esm.js +0 -74479
  460. package/dist/chunks/index-ft-NqTCE.esm.js.map +0 -1
  461. package/dist/chunks/ktxTextureLoader-D9IBlv-B.esm.js +0 -814
  462. package/dist/chunks/ktxTextureLoader-D9IBlv-B.esm.js.map +0 -1
  463. package/dist/chunks/ktxTextureLoader-Df3A32Nm.esm.min.js +0 -2
  464. package/dist/chunks/ktxTextureLoader-Df3A32Nm.esm.min.js.map +0 -1
  465. package/dist/chunks/logDepthDeclaration-BMa31LAb.esm.min.js +0 -2
  466. package/dist/chunks/logDepthDeclaration-BMa31LAb.esm.min.js.map +0 -1
  467. package/dist/chunks/logDepthDeclaration-BffNcd79.esm.min.js +0 -2
  468. package/dist/chunks/logDepthDeclaration-BffNcd79.esm.min.js.map +0 -1
  469. package/dist/chunks/logDepthDeclaration-BkgrzFr-.esm.js +0 -35
  470. package/dist/chunks/logDepthDeclaration-BkgrzFr-.esm.js.map +0 -1
  471. package/dist/chunks/logDepthDeclaration-uuaJZU_f.esm.js +0 -11
  472. package/dist/chunks/logDepthDeclaration-uuaJZU_f.esm.js.map +0 -1
  473. package/dist/chunks/logDepthVertex-C-tEJ4YD.esm.js +0 -77
  474. package/dist/chunks/logDepthVertex-C-tEJ4YD.esm.js.map +0 -1
  475. package/dist/chunks/logDepthVertex-CDQb6tt8.esm.min.js +0 -2
  476. package/dist/chunks/logDepthVertex-CDQb6tt8.esm.min.js.map +0 -1
  477. package/dist/chunks/logDepthVertex-DiLmNz-k.esm.js +0 -77
  478. package/dist/chunks/logDepthVertex-DiLmNz-k.esm.js.map +0 -1
  479. package/dist/chunks/logDepthVertex-Dpw-9K14.esm.min.js +0 -2
  480. package/dist/chunks/logDepthVertex-Dpw-9K14.esm.min.js.map +0 -1
  481. package/dist/chunks/mainUVVaryingDeclaration-BP9Oh5Cu.esm.js +0 -11
  482. package/dist/chunks/mainUVVaryingDeclaration-BP9Oh5Cu.esm.js.map +0 -1
  483. package/dist/chunks/mainUVVaryingDeclaration-CEXOi0id.esm.js +0 -11
  484. package/dist/chunks/mainUVVaryingDeclaration-CEXOi0id.esm.js.map +0 -1
  485. package/dist/chunks/mainUVVaryingDeclaration-CS_CRHYh.esm.min.js +0 -2
  486. package/dist/chunks/mainUVVaryingDeclaration-CS_CRHYh.esm.min.js.map +0 -1
  487. package/dist/chunks/mainUVVaryingDeclaration-z3TYsjH4.esm.min.js +0 -2
  488. package/dist/chunks/mainUVVaryingDeclaration-z3TYsjH4.esm.min.js.map +0 -1
  489. package/dist/chunks/meshUboDeclaration-BWZH2NAD.esm.js +0 -24
  490. package/dist/chunks/meshUboDeclaration-BWZH2NAD.esm.js.map +0 -1
  491. package/dist/chunks/meshUboDeclaration-GE0scsI9.esm.min.js +0 -2
  492. package/dist/chunks/meshUboDeclaration-GE0scsI9.esm.min.js.map +0 -1
  493. package/dist/chunks/objFileLoader-BVetxPxf.esm.min.js +0 -2
  494. package/dist/chunks/objFileLoader-BVetxPxf.esm.min.js.map +0 -1
  495. package/dist/chunks/objFileLoader-Bf8yc_Mr.esm.js +0 -1338
  496. package/dist/chunks/objFileLoader-Bf8yc_Mr.esm.js.map +0 -1
  497. package/dist/chunks/oitFragment-CB2fmldL.esm.min.js +0 -2
  498. package/dist/chunks/oitFragment-CB2fmldL.esm.min.js.map +0 -1
  499. package/dist/chunks/oitFragment-CVpK7aQA.esm.min.js +0 -2
  500. package/dist/chunks/oitFragment-CVpK7aQA.esm.min.js.map +0 -1
  501. package/dist/chunks/oitFragment-Di4uP35N.esm.js +0 -1051
  502. package/dist/chunks/oitFragment-Di4uP35N.esm.js.map +0 -1
  503. package/dist/chunks/oitFragment-DxB5sJ7I.esm.js +0 -1210
  504. package/dist/chunks/oitFragment-DxB5sJ7I.esm.js.map +0 -1
  505. package/dist/chunks/pass.fragment-BOOcB5_Y.esm.js +0 -15
  506. package/dist/chunks/pass.fragment-BOOcB5_Y.esm.js.map +0 -1
  507. package/dist/chunks/pass.fragment-CxR7KxRY.esm.min.js +0 -2
  508. package/dist/chunks/pass.fragment-CxR7KxRY.esm.min.js.map +0 -1
  509. package/dist/chunks/pass.fragment-DQ5Y_qQy.esm.js +0 -15
  510. package/dist/chunks/pass.fragment-DQ5Y_qQy.esm.js.map +0 -1
  511. package/dist/chunks/pass.fragment-DsSd-rC5.esm.min.js +0 -2
  512. package/dist/chunks/pass.fragment-DsSd-rC5.esm.min.js.map +0 -1
  513. package/dist/chunks/pbr.fragment-16p9WLNX.esm.js +0 -3270
  514. package/dist/chunks/pbr.fragment-16p9WLNX.esm.js.map +0 -1
  515. package/dist/chunks/pbr.fragment-CypWnzkM.esm.min.js +0 -2
  516. package/dist/chunks/pbr.fragment-CypWnzkM.esm.min.js.map +0 -1
  517. package/dist/chunks/pbr.fragment-Dj075y2L.esm.min.js +0 -2
  518. package/dist/chunks/pbr.fragment-Dj075y2L.esm.min.js.map +0 -1
  519. package/dist/chunks/pbr.fragment-DnltvcZL.esm.js +0 -3230
  520. package/dist/chunks/pbr.fragment-DnltvcZL.esm.js.map +0 -1
  521. package/dist/chunks/pbr.vertex-CtJMBHs5.esm.min.js +0 -2
  522. package/dist/chunks/pbr.vertex-CtJMBHs5.esm.min.js.map +0 -1
  523. package/dist/chunks/pbr.vertex-CxEuPOXA.esm.js +0 -214
  524. package/dist/chunks/pbr.vertex-CxEuPOXA.esm.js.map +0 -1
  525. package/dist/chunks/pbr.vertex-DkGFY3yL.esm.min.js +0 -2
  526. package/dist/chunks/pbr.vertex-DkGFY3yL.esm.min.js.map +0 -1
  527. package/dist/chunks/pbr.vertex-OluCj4rQ.esm.js +0 -338
  528. package/dist/chunks/pbr.vertex-OluCj4rQ.esm.js.map +0 -1
  529. package/dist/chunks/postprocess.vertex-Cm9j6ldo.esm.min.js +0 -2
  530. package/dist/chunks/postprocess.vertex-Cm9j6ldo.esm.min.js.map +0 -1
  531. package/dist/chunks/postprocess.vertex-DAzFX1GF.esm.js +0 -20
  532. package/dist/chunks/postprocess.vertex-DAzFX1GF.esm.js.map +0 -1
  533. package/dist/chunks/rawTexture-BdnztUXL.esm.js +0 -191
  534. package/dist/chunks/rawTexture-BdnztUXL.esm.js.map +0 -1
  535. package/dist/chunks/rawTexture-YAJTylc3.esm.min.js +0 -2
  536. package/dist/chunks/rawTexture-YAJTylc3.esm.min.js.map +0 -1
  537. package/dist/chunks/rgbdDecode.fragment-BIW9mWHJ.esm.min.js +0 -2
  538. package/dist/chunks/rgbdDecode.fragment-BIW9mWHJ.esm.min.js.map +0 -1
  539. package/dist/chunks/rgbdDecode.fragment-BSYBZgmx.esm.js +0 -17
  540. package/dist/chunks/rgbdDecode.fragment-BSYBZgmx.esm.js.map +0 -1
  541. package/dist/chunks/rgbdDecode.fragment-CM4RUdq0.esm.min.js +0 -2
  542. package/dist/chunks/rgbdDecode.fragment-CM4RUdq0.esm.min.js.map +0 -1
  543. package/dist/chunks/rgbdDecode.fragment-a0vLXyTd.esm.js +0 -17
  544. package/dist/chunks/rgbdDecode.fragment-a0vLXyTd.esm.js.map +0 -1
  545. package/dist/chunks/rgbdEncode.fragment-BGFa9L4r.esm.js +0 -17
  546. package/dist/chunks/rgbdEncode.fragment-BGFa9L4r.esm.js.map +0 -1
  547. package/dist/chunks/rgbdEncode.fragment-CDZppTnS.esm.js +0 -17
  548. package/dist/chunks/rgbdEncode.fragment-CDZppTnS.esm.js.map +0 -1
  549. package/dist/chunks/rgbdEncode.fragment-Cs9jvfWk.esm.min.js +0 -2
  550. package/dist/chunks/rgbdEncode.fragment-Cs9jvfWk.esm.min.js.map +0 -1
  551. package/dist/chunks/rgbdEncode.fragment-M7N8vQ29.esm.min.js +0 -2
  552. package/dist/chunks/rgbdEncode.fragment-M7N8vQ29.esm.min.js.map +0 -1
  553. package/dist/chunks/splatFileLoader-Bg4G8Ae2.esm.min.js +0 -2
  554. package/dist/chunks/splatFileLoader-Bg4G8Ae2.esm.min.js.map +0 -1
  555. package/dist/chunks/splatFileLoader-CCCmIOu_.esm.js +0 -4312
  556. package/dist/chunks/splatFileLoader-CCCmIOu_.esm.js.map +0 -1
  557. package/dist/chunks/standardMaterial-DnghlXVE.esm.min.js +0 -2
  558. package/dist/chunks/standardMaterial-DnghlXVE.esm.min.js.map +0 -1
  559. package/dist/chunks/standardMaterial-DsjgYxIo.esm.js +0 -1805
  560. package/dist/chunks/standardMaterial-DsjgYxIo.esm.js.map +0 -1
  561. package/dist/chunks/stlFileLoader-B9qcDBe1.esm.min.js +0 -2
  562. package/dist/chunks/stlFileLoader-B9qcDBe1.esm.min.js.map +0 -1
  563. package/dist/chunks/stlFileLoader-C-YVvwrI.esm.js +0 -238
  564. package/dist/chunks/stlFileLoader-C-YVvwrI.esm.js.map +0 -1
  565. package/dist/chunks/tgaTextureLoader-CDVceO8i.esm.min.js +0 -2
  566. package/dist/chunks/tgaTextureLoader-CDVceO8i.esm.min.js.map +0 -1
  567. package/dist/chunks/tgaTextureLoader-CIl0jvmm.esm.js +0 -349
  568. package/dist/chunks/tgaTextureLoader-CIl0jvmm.esm.js.map +0 -1
  569. package/dist/chunks/thinEngine-CJHphAue.esm.js +0 -3842
  570. package/dist/chunks/thinEngine-CJHphAue.esm.js.map +0 -1
  571. package/dist/chunks/thinEngine-DRwVgQob.esm.min.js +0 -2
  572. package/dist/chunks/thinEngine-DRwVgQob.esm.min.js.map +0 -1
  573. package/dist/chunks/thinInstanceMesh-C46IYDPb.esm.js +0 -314
  574. package/dist/chunks/thinInstanceMesh-C46IYDPb.esm.js.map +0 -1
  575. package/dist/chunks/thinInstanceMesh-DEwtxS2k.esm.min.js +0 -2
  576. package/dist/chunks/thinInstanceMesh-DEwtxS2k.esm.min.js.map +0 -1
  577. package/dist/chunks/vertexColorMixing-B-uQHNRm.esm.js +0 -412
  578. package/dist/chunks/vertexColorMixing-B-uQHNRm.esm.js.map +0 -1
  579. package/dist/chunks/vertexColorMixing-BOFnmWz0.esm.js +0 -522
  580. package/dist/chunks/vertexColorMixing-BOFnmWz0.esm.js.map +0 -1
  581. package/dist/chunks/vertexColorMixing-BY6WcZDw.esm.min.js +0 -2
  582. package/dist/chunks/vertexColorMixing-BY6WcZDw.esm.min.js.map +0 -1
  583. package/dist/chunks/vertexColorMixing-CQAc7_ro.esm.min.js +0 -2
  584. package/dist/chunks/vertexColorMixing-CQAc7_ro.esm.min.js.map +0 -1
  585. package/dist/chunks/webgpuEngine-CyWPMPDu.esm.js +0 -11533
  586. package/dist/chunks/webgpuEngine-CyWPMPDu.esm.js.map +0 -1
  587. package/dist/chunks/webgpuEngine-xvli57PA.esm.min.js +0 -2
  588. package/dist/chunks/webgpuEngine-xvli57PA.esm.min.js.map +0 -1
  589. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  590. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  591. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  592. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  593. package/docs/ViewerDefault.jpg +0 -0
  594. package/docs/ViewerParts.jpg +0 -0
  595. package/docs/ViewerSlots.jpg +0 -0
  596. package/docs/ViewerStyled.jpg +0 -0
  597. package/lib/index.d.ts +0 -568
  598. package/lib/index.js +0 -2067
  599. package/lib/index.js.map +0 -1
@@ -1,238 +0,0 @@
1
- import { al as STLFileLoaderMetadata, M as Mesh, T as Tools, V as VertexBuffer, y as registerSceneLoaderPlugin } from './index-ft-NqTCE.esm.js';
2
- import { A as AssetContainer } from './assetContainer-BDuQ9TBc.esm.js';
3
- import './standardMaterial-DsjgYxIo.esm.js';
4
-
5
- /**
6
- * STL file type loader.
7
- * This is a babylon scene loader plugin.
8
- */
9
- class STLFileLoader {
10
- constructor() {
11
- /** @internal */
12
- this.solidPattern = /solid (\S*)([\S\s]*?)endsolid[ ]*(\S*)/g;
13
- /** @internal */
14
- this.facetsPattern = /facet([\s\S]*?)endfacet/g;
15
- /** @internal */
16
- this.normalPattern = /normal[\s]+([-+]?[0-9]+\.?[0-9]*([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;
17
- /** @internal */
18
- this.vertexPattern = /vertex[\s]+([-+]?[0-9]+\.?[0-9]*([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;
19
- /**
20
- * Defines the name of the plugin.
21
- */
22
- this.name = STLFileLoaderMetadata.name;
23
- /**
24
- * Defines the extensions the stl loader is able to load.
25
- * force data to come in as an ArrayBuffer
26
- * we'll convert to string if it looks like it's an ASCII .stl
27
- */
28
- this.extensions = STLFileLoaderMetadata.extensions;
29
- }
30
- /**
31
- * Import meshes into a scene.
32
- * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported
33
- * @param scene The scene to import into
34
- * @param data The data to import
35
- * @param rootUrl The root url for scene and resources
36
- * @param meshes The meshes array to import into
37
- * @returns True if successful or false otherwise
38
- */
39
- importMesh(meshesNames, scene, data, rootUrl, meshes) {
40
- let matches;
41
- if (typeof data !== "string") {
42
- if (this._isBinary(data)) {
43
- // binary .stl
44
- const babylonMesh = new Mesh("stlmesh", scene);
45
- this._parseBinary(babylonMesh, data);
46
- if (meshes) {
47
- meshes.push(babylonMesh);
48
- }
49
- return true;
50
- }
51
- // ASCII .stl
52
- // convert to string
53
- data = new TextDecoder().decode(new Uint8Array(data));
54
- }
55
- //if arrived here, data is a string, containing the STLA data.
56
- while ((matches = this.solidPattern.exec(data))) {
57
- let meshName = matches[1];
58
- const meshNameFromEnd = matches[3];
59
- if (meshNameFromEnd && meshName != meshNameFromEnd) {
60
- Tools.Error("Error in STL, solid name != endsolid name");
61
- return false;
62
- }
63
- // check meshesNames
64
- if (meshesNames && meshName) {
65
- if (meshesNames instanceof Array) {
66
- if (!meshesNames.indexOf(meshName)) {
67
- continue;
68
- }
69
- }
70
- else {
71
- if (meshName !== meshesNames) {
72
- continue;
73
- }
74
- }
75
- }
76
- // stl mesh name can be empty as well
77
- meshName = meshName || "stlmesh";
78
- const babylonMesh = new Mesh(meshName, scene);
79
- this._parseASCII(babylonMesh, matches[2]);
80
- if (meshes) {
81
- meshes.push(babylonMesh);
82
- }
83
- }
84
- return true;
85
- }
86
- /**
87
- * Load into a scene.
88
- * @param scene The scene to load into
89
- * @param data The data to import
90
- * @param rootUrl The root url for scene and resources
91
- * @returns true if successful or false otherwise
92
- */
93
- load(scene, data, rootUrl) {
94
- const result = this.importMesh(null, scene, data, rootUrl, null);
95
- return result;
96
- }
97
- /**
98
- * Load into an asset container.
99
- * @param scene The scene to load into
100
- * @param data The data to import
101
- * @param rootUrl The root url for scene and resources
102
- * @returns The loaded asset container
103
- */
104
- loadAssetContainer(scene, data, rootUrl) {
105
- const container = new AssetContainer(scene);
106
- scene._blockEntityCollection = true;
107
- this.importMesh(null, scene, data, rootUrl, container.meshes);
108
- scene._blockEntityCollection = false;
109
- return container;
110
- }
111
- _isBinary(data) {
112
- // check if file size is correct for binary stl
113
- const reader = new DataView(data);
114
- // A Binary STL header is 80 bytes, if the data size is not great than
115
- // that then it's not a binary STL.
116
- if (reader.byteLength <= 80) {
117
- return false;
118
- }
119
- const faceSize = (32 / 8) * 3 + (32 / 8) * 3 * 3 + 16 / 8;
120
- const nFaces = reader.getUint32(80, true);
121
- if (80 + 32 / 8 + nFaces * faceSize === reader.byteLength) {
122
- return true;
123
- }
124
- // US-ASCII begin with 's', 'o', 'l', 'i', 'd'
125
- const ascii = [115, 111, 108, 105, 100];
126
- for (let off = 0; off < 5; off++) {
127
- if (reader.getUint8(off) !== ascii[off]) {
128
- return true;
129
- }
130
- }
131
- return false;
132
- }
133
- _parseBinary(mesh, data) {
134
- const reader = new DataView(data);
135
- const faces = reader.getUint32(80, true);
136
- const dataOffset = 84;
137
- const faceLength = 12 * 4 + 2;
138
- let offset = 0;
139
- const positions = new Float32Array(faces * 3 * 3);
140
- const normals = new Float32Array(faces * 3 * 3);
141
- const indices = new Uint32Array(faces * 3);
142
- let indicesCount = 0;
143
- for (let face = 0; face < faces; face++) {
144
- const start = dataOffset + face * faceLength;
145
- const normalX = reader.getFloat32(start, true);
146
- const normalY = reader.getFloat32(start + 4, true);
147
- const normalZ = reader.getFloat32(start + 8, true);
148
- for (let i = 1; i <= 3; i++) {
149
- const vertexstart = start + i * 12;
150
- // ordering is intentional to match ascii import
151
- positions[offset] = reader.getFloat32(vertexstart, true);
152
- normals[offset] = normalX;
153
- if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
154
- positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);
155
- positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);
156
- normals[offset + 2] = normalY;
157
- normals[offset + 1] = normalZ;
158
- }
159
- else {
160
- positions[offset + 1] = reader.getFloat32(vertexstart + 4, true);
161
- positions[offset + 2] = reader.getFloat32(vertexstart + 8, true);
162
- normals[offset + 1] = normalY;
163
- normals[offset + 2] = normalZ;
164
- }
165
- offset += 3;
166
- }
167
- if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
168
- indices[indicesCount] = indicesCount;
169
- indices[indicesCount + 1] = indicesCount + 2;
170
- indices[indicesCount + 2] = indicesCount + 1;
171
- indicesCount += 3;
172
- }
173
- else {
174
- indices[indicesCount] = indicesCount++;
175
- indices[indicesCount] = indicesCount++;
176
- indices[indicesCount] = indicesCount++;
177
- }
178
- }
179
- mesh.setVerticesData(VertexBuffer.PositionKind, positions);
180
- mesh.setVerticesData(VertexBuffer.NormalKind, normals);
181
- mesh.setIndices(indices);
182
- mesh.computeWorldMatrix(true);
183
- }
184
- _parseASCII(mesh, solidData) {
185
- const positions = [];
186
- const normals = [];
187
- const indices = [];
188
- let indicesCount = 0;
189
- //load facets, ignoring loop as the standard doesn't define it can contain more than vertices
190
- let matches;
191
- while ((matches = this.facetsPattern.exec(solidData))) {
192
- const facet = matches[1];
193
- //one normal per face
194
- const normalMatches = this.normalPattern.exec(facet);
195
- this.normalPattern.lastIndex = 0;
196
- if (!normalMatches) {
197
- continue;
198
- }
199
- const normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];
200
- let vertexMatch;
201
- while ((vertexMatch = this.vertexPattern.exec(facet))) {
202
- if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
203
- positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));
204
- normals.push(normal[0], normal[1], normal[2]);
205
- }
206
- else {
207
- positions.push(Number(vertexMatch[1]), Number(vertexMatch[3]), Number(vertexMatch[5]));
208
- // Flipping the second and third component because inverted
209
- // when normal was declared.
210
- normals.push(normal[0], normal[2], normal[1]);
211
- }
212
- }
213
- if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {
214
- indices.push(indicesCount, indicesCount + 2, indicesCount + 1);
215
- indicesCount += 3;
216
- }
217
- else {
218
- indices.push(indicesCount++, indicesCount++, indicesCount++);
219
- }
220
- this.vertexPattern.lastIndex = 0;
221
- }
222
- this.facetsPattern.lastIndex = 0;
223
- mesh.setVerticesData(VertexBuffer.PositionKind, positions);
224
- mesh.setVerticesData(VertexBuffer.NormalKind, normals);
225
- mesh.setIndices(indices);
226
- mesh.computeWorldMatrix(true);
227
- }
228
- }
229
- /**
230
- * Defines if Y and Z axes are swapped or not when loading an STL file.
231
- * The default is false to maintain backward compatibility. When set to
232
- * true, coordinates from the STL file are used without change.
233
- */
234
- STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES = false;
235
- registerSceneLoaderPlugin(new STLFileLoader());
236
-
237
- export { STLFileLoader };
238
- //# sourceMappingURL=stlFileLoader-C-YVvwrI.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stlFileLoader-C-YVvwrI.esm.js","sources":["../../../../../dev/loaders/dist/STL/stlFileLoader.js"],"sourcesContent":["import { Tools } from \"core/Misc/tools\";\nimport { VertexBuffer } from \"core/Buffers/buffer\";\nimport { Mesh } from \"core/Meshes/mesh\";\nimport { registerSceneLoaderPlugin } from \"core/Loading/sceneLoader\";\nimport { AssetContainer } from \"core/assetContainer\";\nimport { STLFileLoaderMetadata } from \"./stlFileLoader.metadata\";\nimport \"core/Materials/standardMaterial\";\n/**\n * STL file type loader.\n * This is a babylon scene loader plugin.\n */\nexport class STLFileLoader {\n constructor() {\n /** @internal */\n this.solidPattern = /solid (\\S*)([\\S\\s]*?)endsolid[ ]*(\\S*)/g;\n /** @internal */\n this.facetsPattern = /facet([\\s\\S]*?)endfacet/g;\n /** @internal */\n this.normalPattern = /normal[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /** @internal */\n this.vertexPattern = /vertex[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /**\n * Defines the name of the plugin.\n */\n this.name = STLFileLoaderMetadata.name;\n /**\n * Defines the extensions the stl loader is able to load.\n * force data to come in as an ArrayBuffer\n * we'll convert to string if it looks like it's an ASCII .stl\n */\n this.extensions = STLFileLoaderMetadata.extensions;\n }\n /**\n * Import meshes into a scene.\n * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported\n * @param scene The scene to import into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @param meshes The meshes array to import into\n * @returns True if successful or false otherwise\n */\n importMesh(meshesNames, scene, data, rootUrl, meshes) {\n let matches;\n if (typeof data !== \"string\") {\n if (this._isBinary(data)) {\n // binary .stl\n const babylonMesh = new Mesh(\"stlmesh\", scene);\n this._parseBinary(babylonMesh, data);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n return true;\n }\n // ASCII .stl\n // convert to string\n data = new TextDecoder().decode(new Uint8Array(data));\n }\n //if arrived here, data is a string, containing the STLA data.\n while ((matches = this.solidPattern.exec(data))) {\n let meshName = matches[1];\n const meshNameFromEnd = matches[3];\n if (meshNameFromEnd && meshName != meshNameFromEnd) {\n Tools.Error(\"Error in STL, solid name != endsolid name\");\n return false;\n }\n // check meshesNames\n if (meshesNames && meshName) {\n if (meshesNames instanceof Array) {\n if (!meshesNames.indexOf(meshName)) {\n continue;\n }\n }\n else {\n if (meshName !== meshesNames) {\n continue;\n }\n }\n }\n // stl mesh name can be empty as well\n meshName = meshName || \"stlmesh\";\n const babylonMesh = new Mesh(meshName, scene);\n this._parseASCII(babylonMesh, matches[2]);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n }\n return true;\n }\n /**\n * Load into a scene.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns true if successful or false otherwise\n */\n load(scene, data, rootUrl) {\n const result = this.importMesh(null, scene, data, rootUrl, null);\n return result;\n }\n /**\n * Load into an asset container.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns The loaded asset container\n */\n loadAssetContainer(scene, data, rootUrl) {\n const container = new AssetContainer(scene);\n scene._blockEntityCollection = true;\n this.importMesh(null, scene, data, rootUrl, container.meshes);\n scene._blockEntityCollection = false;\n return container;\n }\n _isBinary(data) {\n // check if file size is correct for binary stl\n const reader = new DataView(data);\n // A Binary STL header is 80 bytes, if the data size is not great than\n // that then it's not a binary STL.\n if (reader.byteLength <= 80) {\n return false;\n }\n const faceSize = (32 / 8) * 3 + (32 / 8) * 3 * 3 + 16 / 8;\n const nFaces = reader.getUint32(80, true);\n if (80 + 32 / 8 + nFaces * faceSize === reader.byteLength) {\n return true;\n }\n // US-ASCII begin with 's', 'o', 'l', 'i', 'd'\n const ascii = [115, 111, 108, 105, 100];\n for (let off = 0; off < 5; off++) {\n if (reader.getUint8(off) !== ascii[off]) {\n return true;\n }\n }\n return false;\n }\n _parseBinary(mesh, data) {\n const reader = new DataView(data);\n const faces = reader.getUint32(80, true);\n const dataOffset = 84;\n const faceLength = 12 * 4 + 2;\n let offset = 0;\n const positions = new Float32Array(faces * 3 * 3);\n const normals = new Float32Array(faces * 3 * 3);\n const indices = new Uint32Array(faces * 3);\n let indicesCount = 0;\n for (let face = 0; face < faces; face++) {\n const start = dataOffset + face * faceLength;\n const normalX = reader.getFloat32(start, true);\n const normalY = reader.getFloat32(start + 4, true);\n const normalZ = reader.getFloat32(start + 8, true);\n for (let i = 1; i <= 3; i++) {\n const vertexstart = start + i * 12;\n // ordering is intentional to match ascii import\n positions[offset] = reader.getFloat32(vertexstart, true);\n normals[offset] = normalX;\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 2] = normalY;\n normals[offset + 1] = normalZ;\n }\n else {\n positions[offset + 1] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 2] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 1] = normalY;\n normals[offset + 2] = normalZ;\n }\n offset += 3;\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices[indicesCount] = indicesCount;\n indices[indicesCount + 1] = indicesCount + 2;\n indices[indicesCount + 2] = indicesCount + 1;\n indicesCount += 3;\n }\n else {\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n }\n }\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n _parseASCII(mesh, solidData) {\n const positions = [];\n const normals = [];\n const indices = [];\n let indicesCount = 0;\n //load facets, ignoring loop as the standard doesn't define it can contain more than vertices\n let matches;\n while ((matches = this.facetsPattern.exec(solidData))) {\n const facet = matches[1];\n //one normal per face\n const normalMatches = this.normalPattern.exec(facet);\n this.normalPattern.lastIndex = 0;\n if (!normalMatches) {\n continue;\n }\n const normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];\n let vertexMatch;\n while ((vertexMatch = this.vertexPattern.exec(facet))) {\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));\n normals.push(normal[0], normal[1], normal[2]);\n }\n else {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[3]), Number(vertexMatch[5]));\n // Flipping the second and third component because inverted\n // when normal was declared.\n normals.push(normal[0], normal[2], normal[1]);\n }\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices.push(indicesCount, indicesCount + 2, indicesCount + 1);\n indicesCount += 3;\n }\n else {\n indices.push(indicesCount++, indicesCount++, indicesCount++);\n }\n this.vertexPattern.lastIndex = 0;\n }\n this.facetsPattern.lastIndex = 0;\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n}\n/**\n * Defines if Y and Z axes are swapped or not when loading an STL file.\n * The default is false to maintain backward compatibility. When set to\n * true, coordinates from the STL file are used without change.\n */\nSTLFileLoader.DO_NOT_ALTER_FILE_COORDINATES = false;\nregisterSceneLoaderPlugin(new STLFileLoader());\n//# sourceMappingURL=stlFileLoader.js.map"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{L as t}from"./index-BJLUfgJX.esm.min.js";function e(t){let e=0;return{id_length:t[e++],colormap_type:t[e++],image_type:t[e++],colormap_index:t[e++]|t[e++]<<8,colormap_length:t[e++]|t[e++]<<8,colormap_size:t[e++],origin:[t[e++]|t[e++]<<8,t[e++]|t[e++]<<8],width:t[e++]|t[e++]<<8,height:t[e++]|t[e++]<<8,pixel_size:t[e++],flags:t[e++]}}function r(r,a){if(a.length<19)return void t.Error("Unable to load TGA file - Not enough data to contain header");let i=18;const o=e(a);if(o.id_length+i>a.length)return void t.Error("Unable to load TGA file - Not enough data");i+=o.id_length;let s,h=!1,c=!1,g=!1;switch(o.image_type){case 9:h=!0;case 1:c=!0;break;case 10:h=!0;case 2:break;case 11:h=!0;case 3:g=!0}const l=o.pixel_size>>3,f=o.width*o.height*l;let d,u,w,p,_,b,y;if(c&&(d=a.subarray(i,i+=o.colormap_length*(o.colormap_size>>3))),h){let t,e,r;s=new Uint8Array(f);let n=0;const o=new Uint8Array(l);for(;i<f&&n<f;)if(t=a[i++],e=1+(127&t),128&t){for(r=0;r<l;++r)o[r]=a[i++];for(r=0;r<e;++r)s.set(o,n+r*l);n+=l*e}else{for(e*=l,r=0;r<e;++r)s[n+r]=a[i++];n+=e}}else s=a.subarray(i,i+=c?o.width*o.height:f);switch((48&o.flags)>>4){default:case 2:u=0,p=1,y=o.width,w=0,_=1,b=o.height;break;case 0:u=0,p=1,y=o.width,w=o.height-1,_=-1,b=-1;break;case 3:u=o.width-1,p=-1,y=-1,w=0,_=1,b=o.height;break;case 1:u=o.width-1,p=-1,y=-1,w=o.height-1,_=-1,b=-1}const m="_getImageData"+(g?"Grey":"")+o.pixel_size+"bits",A=n[m](o,d,s,w,_,b,u,p,y);r.getEngine()._uploadDataToTextureDirectly(r,A)}const n={GetTGAHeader:e,UploadContent:r,_getImageData8bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=e,l=t.width,f=t.height;let d,u,w,p=0;const _=new Uint8Array(l*f*4);for(w=n;w!==i;w+=a)for(u=o;u!==h;u+=s,p++)d=c[p],_[4*(u+l*w)+3]=255,_[4*(u+l*w)+2]=g[3*d+0],_[4*(u+l*w)+1]=g[3*d+1],_[4*(u+l*w)+0]=g[3*d+2];return _},_getImageData16bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u,w=0;const p=new Uint8Array(g*l*4);for(u=n;u!==i;u+=a)for(d=o;d!==h;d+=s,w+=2){f=c[w+0]+(c[w+1]<<8);const t=255*((31744&f)>>10)/31|0,e=255*((992&f)>>5)/31|0,r=255*(31&f)/31|0;p[4*(d+g*u)+0]=t,p[4*(d+g*u)+1]=e,p[4*(d+g*u)+2]=r,p[4*(d+g*u)+3]=32768&f?0:255}return p},_getImageData24bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u=0;const w=new Uint8Array(g*l*4);for(d=n;d!==i;d+=a)for(f=o;f!==h;f+=s,u+=3)w[4*(f+g*d)+3]=255,w[4*(f+g*d)+2]=c[u+0],w[4*(f+g*d)+1]=c[u+1],w[4*(f+g*d)+0]=c[u+2];return w},_getImageData32bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u=0;const w=new Uint8Array(g*l*4);for(d=n;d!==i;d+=a)for(f=o;f!==h;f+=s,u+=4)w[4*(f+g*d)+2]=c[u+0],w[4*(f+g*d)+1]=c[u+1],w[4*(f+g*d)+0]=c[u+2],w[4*(f+g*d)+3]=c[u+3];return w},_getImageDataGrey8bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u,w=0;const p=new Uint8Array(g*l*4);for(u=n;u!==i;u+=a)for(d=o;d!==h;d+=s,w++)f=c[w],p[4*(d+g*u)+0]=f,p[4*(d+g*u)+1]=f,p[4*(d+g*u)+2]=f,p[4*(d+g*u)+3]=255;return p},_getImageDataGrey16bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u=0;const w=new Uint8Array(g*l*4);for(d=n;d!==i;d+=a)for(f=o;f!==h;f+=s,u+=2)w[4*(f+g*d)+0]=c[u+0],w[4*(f+g*d)+1]=c[u+0],w[4*(f+g*d)+2]=c[u+0],w[4*(f+g*d)+3]=c[u+1];return w}};class a{constructor(){this.supportCascades=!1}loadCubeData(){throw".env not supported in Cube."}loadData(t,n,a){const i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=e(i);a(o.width,o.height,n.generateMipMaps,!1,(()=>{r(n,i)}))}}export{a as _TGATextureLoader};
2
- //# sourceMappingURL=tgaTextureLoader-CDVceO8i.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tgaTextureLoader-CDVceO8i.esm.min.js","sources":["../../../../../dev/core/dist/Misc/tga.js","../../../../../dev/core/dist/Materials/Textures/Loaders/tgaTextureLoader.js"],"sourcesContent":["import { Logger } from \"../Misc/logger\";\n//private static _TYPE_NO_DATA = 0;\nconst _TYPE_INDEXED = 1;\nconst _TYPE_RGB = 2;\nconst _TYPE_GREY = 3;\nconst _TYPE_RLE_INDEXED = 9;\nconst _TYPE_RLE_RGB = 10;\nconst _TYPE_RLE_GREY = 11;\nconst _ORIGIN_MASK = 0x30;\nconst _ORIGIN_SHIFT = 0x04;\nconst _ORIGIN_BL = 0x00;\nconst _ORIGIN_BR = 0x01;\nconst _ORIGIN_UL = 0x02;\nconst _ORIGIN_UR = 0x03;\n/**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\nexport function GetTGAHeader(data) {\n let offset = 0;\n const header = {\n id_length: data[offset++],\n colormap_type: data[offset++],\n image_type: data[offset++],\n colormap_index: data[offset++] | (data[offset++] << 8),\n colormap_length: data[offset++] | (data[offset++] << 8),\n colormap_size: data[offset++],\n origin: [data[offset++] | (data[offset++] << 8), data[offset++] | (data[offset++] << 8)],\n width: data[offset++] | (data[offset++] << 8),\n height: data[offset++] | (data[offset++] << 8),\n pixel_size: data[offset++],\n flags: data[offset++],\n };\n return header;\n}\n/**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\nexport function UploadContent(texture, data) {\n // Not enough data to contain header ?\n if (data.length < 19) {\n Logger.Error(\"Unable to load TGA file - Not enough data to contain header\");\n return;\n }\n // Read Header\n let offset = 18;\n const header = GetTGAHeader(data);\n // Assume it's a valid Targa file.\n if (header.id_length + offset > data.length) {\n Logger.Error(\"Unable to load TGA file - Not enough data\");\n return;\n }\n // Skip not needed data\n offset += header.id_length;\n let use_rle = false;\n let use_pal = false;\n let use_grey = false;\n // Get some informations.\n switch (header.image_type) {\n case _TYPE_RLE_INDEXED:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_INDEXED:\n use_pal = true;\n break;\n case _TYPE_RLE_RGB:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_RGB:\n // use_rgb = true;\n break;\n case _TYPE_RLE_GREY:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_GREY:\n use_grey = true;\n break;\n }\n let pixel_data;\n // var numAlphaBits = header.flags & 0xf;\n const pixel_size = header.pixel_size >> 3;\n const pixel_total = header.width * header.height * pixel_size;\n // Read palettes\n let palettes;\n if (use_pal) {\n palettes = data.subarray(offset, (offset += header.colormap_length * (header.colormap_size >> 3)));\n }\n // Read LRE\n if (use_rle) {\n pixel_data = new Uint8Array(pixel_total);\n let c, count, i;\n let localOffset = 0;\n const pixels = new Uint8Array(pixel_size);\n while (offset < pixel_total && localOffset < pixel_total) {\n c = data[offset++];\n count = (c & 0x7f) + 1;\n // RLE pixels\n if (c & 0x80) {\n // Bind pixel tmp array\n for (i = 0; i < pixel_size; ++i) {\n pixels[i] = data[offset++];\n }\n // Copy pixel array\n for (i = 0; i < count; ++i) {\n pixel_data.set(pixels, localOffset + i * pixel_size);\n }\n localOffset += pixel_size * count;\n }\n // Raw pixels\n else {\n count *= pixel_size;\n for (i = 0; i < count; ++i) {\n pixel_data[localOffset + i] = data[offset++];\n }\n localOffset += count;\n }\n }\n }\n // RAW Pixels\n else {\n pixel_data = data.subarray(offset, (offset += use_pal ? header.width * header.height : pixel_total));\n }\n // Load to texture\n let x_start, y_start, x_step, y_step, y_end, x_end;\n switch ((header.flags & _ORIGIN_MASK) >> _ORIGIN_SHIFT) {\n default:\n case _ORIGIN_UL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n case _ORIGIN_UR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n }\n // Load the specify method\n const func = \"_getImageData\" + (use_grey ? \"Grey\" : \"\") + header.pixel_size + \"bits\";\n const imageData = TGATools[func](header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end);\n const engine = texture.getEngine();\n engine._uploadDataToTextureDirectly(texture, imageData);\n}\n/**\n * @internal\n */\nfunction _getImageData8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data, colormap = palettes;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = colormap[color * 3 + 0];\n imageData[(x + width * y) * 4 + 1] = colormap[color * 3 + 1];\n imageData[(x + width * y) * 4 + 0] = colormap[color * 3 + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n color = image[i + 0] + (image[i + 1] << 8); // Inversed ?\n const r = ((((color & 0x7c00) >> 10) * 255) / 0x1f) | 0;\n const g = ((((color & 0x03e0) >> 5) * 255) / 0x1f) | 0;\n const b = (((color & 0x001f) * 255) / 0x1f) | 0;\n imageData[(x + width * y) * 4 + 0] = r;\n imageData[(x + width * y) * 4 + 1] = g;\n imageData[(x + width * y) * 4 + 2] = b;\n imageData[(x + width * y) * 4 + 3] = color & 0x8000 ? 0 : 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData24bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 3) {\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData32bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 4) {\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n imageData[(x + width * y) * 4 + 3] = image[i + 3];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 0] = color;\n imageData[(x + width * y) * 4 + 1] = color;\n imageData[(x + width * y) * 4 + 2] = color;\n imageData[(x + width * y) * 4 + 3] = 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n imageData[(x + width * y) * 4 + 0] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 0];\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 3] = image[i + 1];\n }\n }\n return imageData;\n}\n/**\n * Based on jsTGALoader - Javascript loader for TGA file\n * By Vincent Thibault\n * @see http://blog.robrowser.com/javascript-tga-loader.html\n */\nexport const TGATools = {\n /**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\n GetTGAHeader,\n /**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\n UploadContent,\n /** @internal */\n _getImageData8bits,\n /** @internal */\n _getImageData16bits,\n /** @internal */\n _getImageData24bits,\n /** @internal */\n _getImageData32bits,\n /** @internal */\n _getImageDataGrey8bits,\n /** @internal */\n _getImageDataGrey16bits,\n};\n//# sourceMappingURL=tga.js.map","import { GetTGAHeader, UploadContent } from \"../../../Misc/tga\";\n/**\n * Implementation of the TGA Texture Loader.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class _TGATextureLoader {\n constructor() {\n /**\n * Defines whether the loader supports cascade loading the different faces.\n */\n this.supportCascades = false;\n }\n /**\n * Uploads the cube texture data to the WebGL texture. It has already been bound.\n */\n loadCubeData() {\n // eslint-disable-next-line no-throw-literal\n throw \".env not supported in Cube.\";\n }\n /**\n * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.\n * @param data contains the texture data\n * @param texture defines the BabylonJS internal texture\n * @param callback defines the method to call once ready to upload\n */\n loadData(data, texture, callback) {\n const bytes = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n const header = GetTGAHeader(bytes);\n callback(header.width, header.height, texture.generateMipMaps, false, () => {\n UploadContent(texture, bytes);\n });\n }\n}\n//# sourceMappingURL=tgaTextureLoader.js.map"],"names":["GetTGAHeader","data","offset","id_length","colormap_type","image_type","colormap_index","colormap_length","colormap_size","origin","width","height","pixel_size","flags","UploadContent","texture","length","Logger","Error","header","pixel_data","use_rle","use_pal","use_grey","pixel_total","palettes","x_start","y_start","x_step","y_step","y_end","x_end","subarray","c","count","i","Uint8Array","localOffset","pixels","set","func","imageData","TGATools","getEngine","_uploadDataToTextureDirectly","_getImageData8bits","image","colormap","color","x","y","_getImageData16bits","r","g","b","_getImageData24bits","_getImageData32bits","_getImageDataGrey8bits","_getImageDataGrey16bits","_TGATextureLoader","constructor","this","supportCascades","loadCubeData","loadData","callback","bytes","buffer","byteOffset","byteLength","generateMipMaps"],"mappings":"gDAmBO,SAASA,EAAaC,GACzB,IAAIC,EAAS,EAcb,MAbe,CACXC,UAAWF,EAAKC,KAChBE,cAAeH,EAAKC,KACpBG,WAAYJ,EAAKC,KACjBI,eAAgBL,EAAKC,KAAaD,EAAKC,MAAa,EACpDK,gBAAiBN,EAAKC,KAAaD,EAAKC,MAAa,EACrDM,cAAeP,EAAKC,KACpBO,OAAQ,CAACR,EAAKC,KAAaD,EAAKC,MAAa,EAAID,EAAKC,KAAaD,EAAKC,MAAa,GACrFQ,MAAOT,EAAKC,KAAaD,EAAKC,MAAa,EAC3CS,OAAQV,EAAKC,KAAaD,EAAKC,MAAa,EAC5CU,WAAYX,EAAKC,KACjBW,MAAOZ,EAAKC,KAGpB,CAKO,SAASY,EAAcC,EAASd,GAEnC,GAAIA,EAAKe,OAAS,GAEd,YADAC,EAAOC,MAAM,+DAIjB,IAAIhB,EAAS,GACb,MAAMiB,EAASnB,EAAaC,GAE5B,GAAIkB,EAAOhB,UAAYD,EAASD,EAAKe,OAEjC,YADAC,EAAOC,MAAM,6CAIjBhB,GAAUiB,EAAOhB,UACjB,IAwBIiB,EAxBAC,GAAU,EACVC,GAAU,EACVC,GAAW,EAEf,OAAQJ,EAAOd,YACX,KAxDkB,EAyDdgB,GAAU,EAEd,KA9Dc,EA+DVC,GAAU,EACV,MACJ,KA7Dc,GA8DVD,GAAU,EAEd,KAnEU,EAqEN,MACJ,KAlEe,GAmEXA,GAAU,EAEd,KAxEW,EAyEPE,GAAW,EAKnB,MAAMX,EAAaO,EAAOP,YAAc,EAClCY,EAAcL,EAAOT,MAAQS,EAAOR,OAASC,EAEnD,IAAIa,EAwCAC,EAASC,EAASC,EAAQC,EAAQC,EAAOC,EAnC7C,GAJIT,IACAG,EAAWxB,EAAK+B,SAAS9B,EAASA,GAAUiB,EAAOZ,iBAAmBY,EAAOX,eAAiB,KAG9Fa,EAAS,CAET,IAAIY,EAAGC,EAAOC,EADdf,EAAa,IAAIgB,WAAWZ,GAE5B,IAAIa,EAAc,EAClB,MAAMC,EAAS,IAAIF,WAAWxB,GAC9B,KAAOV,EAASsB,GAAea,EAAcb,GAIzC,GAHAS,EAAIhC,EAAKC,KACTgC,EAAqB,GAAR,IAAJD,GAED,IAAJA,EAAU,CAEV,IAAKE,EAAI,EAAGA,EAAIvB,IAAcuB,EAC1BG,EAAOH,GAAKlC,EAAKC,KAGrB,IAAKiC,EAAI,EAAGA,EAAID,IAASC,EACrBf,EAAWmB,IAAID,EAAQD,EAAcF,EAAIvB,GAE7CyB,GAAezB,EAAasB,CAC5C,KAEiB,CAED,IADAA,GAAStB,EACJuB,EAAI,EAAGA,EAAID,IAASC,EACrBf,EAAWiB,EAAcF,GAAKlC,EAAKC,KAEvCmC,GAAeH,CAC/B,CAEA,MAGQd,EAAanB,EAAK+B,SAAS9B,EAASA,GAAUoB,EAAUH,EAAOT,MAAQS,EAAOR,OAASa,GAI3F,QAtHiB,GAsHRL,EAAON,QArHE,GAsHd,QACA,KApHW,EAqHPa,EAAU,EACVE,EAAS,EACTG,EAAQZ,EAAOT,MACfiB,EAAU,EACVE,EAAS,EACTC,EAAQX,EAAOR,OACf,MACJ,KA9HW,EA+HPe,EAAU,EACVE,EAAS,EACTG,EAAQZ,EAAOT,MACfiB,EAAUR,EAAOR,OAAS,EAC1BkB,GAAU,EACVC,GAAS,EACT,MACJ,KAnIW,EAoIPJ,EAAUP,EAAOT,MAAQ,EACzBkB,GAAU,EACVG,GAAS,EACTJ,EAAU,EACVE,EAAS,EACTC,EAAQX,EAAOR,OACf,MACJ,KA7IW,EA8IPe,EAAUP,EAAOT,MAAQ,EACzBkB,GAAU,EACVG,GAAS,EACTJ,EAAUR,EAAOR,OAAS,EAC1BkB,GAAU,EACVC,GAAS,EAIjB,MAAMU,EAAO,iBAAmBjB,EAAW,OAAS,IAAMJ,EAAOP,WAAa,OACxE6B,EAAYC,EAASF,GAAMrB,EAAQM,EAAUL,EAAYO,EAASE,EAAQC,EAAOJ,EAASE,EAAQG,GACzFhB,EAAQ4B,YAChBC,6BAA6B7B,EAAS0B,EACjD,CAwHO,MAAMC,EAAW,CAMpB1C,eAKAc,gBAEA+B,mBAjIJ,SAA4B1B,EAAQM,EAAUL,EAAYO,EAASE,EAAQC,EAAOJ,EAASE,EAAQG,GAC/F,MAAMe,EAAQ1B,EAAY2B,EAAWtB,EAC/Bf,EAAQS,EAAOT,MAAOC,EAASQ,EAAOR,OAC5C,IAAIqC,EAAcC,EAAGC,EAAVf,EAAI,EACf,MAAMM,EAAY,IAAIL,WAAW1B,EAAQC,EAAS,GAClD,IAAKuC,EAAIvB,EAASuB,IAAMpB,EAAOoB,GAAKrB,EAChC,IAAKoB,EAAIvB,EAASuB,IAAMlB,EAAOkB,GAAKrB,EAAQO,IACxCa,EAAQF,EAAMX,GACdM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAK,IACrCT,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKH,EAAiB,EAARC,EAAY,GAC1DP,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKH,EAAiB,EAARC,EAAY,GAC1DP,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKH,EAAiB,EAARC,EAAY,GAGlE,OAAOP,CACX,EAoHIU,oBAhHJ,SAA6BhC,EAAQM,EAAUL,EAAYO,EAASE,EAAQC,EAAOJ,EAASE,EAAQG,GAChG,MAAMe,EAAQ1B,EACRV,EAAQS,EAAOT,MAAOC,EAASQ,EAAOR,OAC5C,IAAIqC,EAAcC,EAAGC,EAAVf,EAAI,EACf,MAAMM,EAAY,IAAIL,WAAW1B,EAAQC,EAAS,GAClD,IAAKuC,EAAIvB,EAASuB,IAAMpB,EAAOoB,GAAKrB,EAChC,IAAKoB,EAAIvB,EAASuB,IAAMlB,EAAOkB,GAAKrB,EAAQO,GAAK,EAAG,CAChDa,EAAQF,EAAMX,EAAI,IAAMW,EAAMX,EAAI,IAAM,GACxC,MAAMiB,EAAiC,MAAjB,MAARJ,IAAmB,IAAa,GAAQ,EAChDK,EAAgC,MAAhB,IAARL,IAAmB,GAAY,GAAQ,EAC/CM,EAAyB,KAAV,GAARN,GAAyB,GAAQ,EAC9CP,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKE,EACrCX,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKG,EACrCZ,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKI,EACrCb,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAa,MAARF,EAAiB,EAAI,GACtE,CAEI,OAAOP,CACX,EAgGIc,oBA5FJ,SAA6BpC,EAAQM,EAAUL,EAAYO,EAASE,EAAQC,EAAOJ,EAASE,EAAQG,GAChG,MAAMe,EAAQ1B,EACRV,EAAQS,EAAOT,MAAOC,EAASQ,EAAOR,OAC5C,IAAWsC,EAAGC,EAAVf,EAAI,EACR,MAAMM,EAAY,IAAIL,WAAW1B,EAAQC,EAAS,GAClD,IAAKuC,EAAIvB,EAASuB,IAAMpB,EAAOoB,GAAKrB,EAChC,IAAKoB,EAAIvB,EAASuB,IAAMlB,EAAOkB,GAAKrB,EAAQO,GAAK,EAC7CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAK,IACrCT,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAC/CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAC/CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAGvD,OAAOM,CACX,EAgFIe,oBA5EJ,SAA6BrC,EAAQM,EAAUL,EAAYO,EAASE,EAAQC,EAAOJ,EAASE,EAAQG,GAChG,MAAMe,EAAQ1B,EACRV,EAAQS,EAAOT,MAAOC,EAASQ,EAAOR,OAC5C,IAAWsC,EAAGC,EAAVf,EAAI,EACR,MAAMM,EAAY,IAAIL,WAAW1B,EAAQC,EAAS,GAClD,IAAKuC,EAAIvB,EAASuB,IAAMpB,EAAOoB,GAAKrB,EAChC,IAAKoB,EAAIvB,EAASuB,IAAMlB,EAAOkB,GAAKrB,EAAQO,GAAK,EAC7CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAC/CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAC/CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAC/CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAGvD,OAAOM,CACX,EAgEIgB,uBA5DJ,SAAgCtC,EAAQM,EAAUL,EAAYO,EAASE,EAAQC,EAAOJ,EAASE,EAAQG,GACnG,MAAMe,EAAQ1B,EACRV,EAAQS,EAAOT,MAAOC,EAASQ,EAAOR,OAC5C,IAAIqC,EAAcC,EAAGC,EAAVf,EAAI,EACf,MAAMM,EAAY,IAAIL,WAAW1B,EAAQC,EAAS,GAClD,IAAKuC,EAAIvB,EAASuB,IAAMpB,EAAOoB,GAAKrB,EAChC,IAAKoB,EAAIvB,EAASuB,IAAMlB,EAAOkB,GAAKrB,EAAQO,IACxCa,EAAQF,EAAMX,GACdM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKF,EACrCP,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKF,EACrCP,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKF,EACrCP,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAK,IAG7C,OAAOT,CACX,EA+CIiB,wBA3CJ,SAAiCvC,EAAQM,EAAUL,EAAYO,EAASE,EAAQC,EAAOJ,EAASE,EAAQG,GACpG,MAAMe,EAAQ1B,EACRV,EAAQS,EAAOT,MAAOC,EAASQ,EAAOR,OAC5C,IAAWsC,EAAGC,EAAVf,EAAI,EACR,MAAMM,EAAY,IAAIL,WAAW1B,EAAQC,EAAS,GAClD,IAAKuC,EAAIvB,EAASuB,IAAMpB,EAAOoB,GAAKrB,EAChC,IAAKoB,EAAIvB,EAASuB,IAAMlB,EAAOkB,GAAKrB,EAAQO,GAAK,EAC7CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAC/CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAC/CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAC/CM,EAA4B,GAAjBQ,EAAIvC,EAAQwC,GAAS,GAAKJ,EAAMX,EAAI,GAGvD,OAAOM,CACX,GClRO,MAAMkB,EACT,WAAAC,GAIIC,KAAKC,iBAAkB,CAC/B,CAII,YAAAC,GAEI,KAAM,6BACd,CAOI,QAAAC,CAAS/D,EAAMc,EAASkD,GACpB,MAAMC,EAAQ,IAAI9B,WAAWnC,EAAKkE,OAAQlE,EAAKmE,WAAYnE,EAAKoE,YAC1DlD,EAASnB,EAAakE,GAC5BD,EAAS9C,EAAOT,MAAOS,EAAOR,OAAQI,EAAQuD,iBAAiB,GAAO,KAClExD,EAAcC,EAASmD,EAAM,GAEzC"}