@babylonjs/viewer 7.35.2-alpha → 7.35.2

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-I6dGStsg.esm.min.js +0 -2
  198. package/dist/chunks/EXT_lights_image_based-I6dGStsg.esm.min.js.map +0 -1
  199. package/dist/chunks/EXT_lights_image_based-gqNsOFez.esm.js +0 -171
  200. package/dist/chunks/EXT_lights_image_based-gqNsOFez.esm.js.map +0 -1
  201. package/dist/chunks/EXT_mesh_gpu_instancing-DFS6xr5n.esm.min.js +0 -2
  202. package/dist/chunks/EXT_mesh_gpu_instancing-DFS6xr5n.esm.min.js.map +0 -1
  203. package/dist/chunks/EXT_mesh_gpu_instancing-lOryCKIX.esm.js +0 -86
  204. package/dist/chunks/EXT_mesh_gpu_instancing-lOryCKIX.esm.js.map +0 -1
  205. package/dist/chunks/EXT_meshopt_compression-BQZ0hBff.esm.js +0 -134
  206. package/dist/chunks/EXT_meshopt_compression-BQZ0hBff.esm.js.map +0 -1
  207. package/dist/chunks/EXT_meshopt_compression-Dv_WoTzw.esm.min.js +0 -2
  208. package/dist/chunks/EXT_meshopt_compression-Dv_WoTzw.esm.min.js.map +0 -1
  209. package/dist/chunks/EXT_texture_avif-BLib9ZsW.esm.js +0 -44
  210. package/dist/chunks/EXT_texture_avif-BLib9ZsW.esm.js.map +0 -1
  211. package/dist/chunks/EXT_texture_avif-BMUg03OA.esm.min.js +0 -2
  212. package/dist/chunks/EXT_texture_avif-BMUg03OA.esm.min.js.map +0 -1
  213. package/dist/chunks/EXT_texture_webp-DPJIMXIs.esm.js +0 -43
  214. package/dist/chunks/EXT_texture_webp-DPJIMXIs.esm.js.map +0 -1
  215. package/dist/chunks/EXT_texture_webp-DPzL7RO5.esm.min.js +0 -2
  216. package/dist/chunks/EXT_texture_webp-DPzL7RO5.esm.min.js.map +0 -1
  217. package/dist/chunks/ExtrasAsMetadata-CL0k4Btm.esm.js +0 -64
  218. package/dist/chunks/ExtrasAsMetadata-CL0k4Btm.esm.js.map +0 -1
  219. package/dist/chunks/ExtrasAsMetadata-O8gteBcK.esm.min.js +0 -2
  220. package/dist/chunks/ExtrasAsMetadata-O8gteBcK.esm.min.js.map +0 -1
  221. package/dist/chunks/KHR_animation_pointer-BFyC08_R.esm.js +0 -343
  222. package/dist/chunks/KHR_animation_pointer-BFyC08_R.esm.js.map +0 -1
  223. package/dist/chunks/KHR_animation_pointer-BZvneRZ7.esm.min.js +0 -2
  224. package/dist/chunks/KHR_animation_pointer-BZvneRZ7.esm.min.js.map +0 -1
  225. package/dist/chunks/KHR_draco_mesh_compression-CjzLflHM.esm.js +0 -610
  226. package/dist/chunks/KHR_draco_mesh_compression-CjzLflHM.esm.js.map +0 -1
  227. package/dist/chunks/KHR_draco_mesh_compression-sHuqiNW-.esm.min.js +0 -2
  228. package/dist/chunks/KHR_draco_mesh_compression-sHuqiNW-.esm.min.js.map +0 -1
  229. package/dist/chunks/KHR_interactivity-CA1NQ9Fc.esm.js +0 -4033
  230. package/dist/chunks/KHR_interactivity-CA1NQ9Fc.esm.js.map +0 -1
  231. package/dist/chunks/KHR_interactivity-CVvexOkD.esm.min.js +0 -2
  232. package/dist/chunks/KHR_interactivity-CVvexOkD.esm.min.js.map +0 -1
  233. package/dist/chunks/KHR_lights_punctual-CIEvgNk7.esm.js +0 -1253
  234. package/dist/chunks/KHR_lights_punctual-CIEvgNk7.esm.js.map +0 -1
  235. package/dist/chunks/KHR_lights_punctual-CTm7ey2n.esm.min.js +0 -2
  236. package/dist/chunks/KHR_lights_punctual-CTm7ey2n.esm.min.js.map +0 -1
  237. package/dist/chunks/KHR_materials_anisotropy-B8l2iZjl.esm.min.js +0 -2
  238. package/dist/chunks/KHR_materials_anisotropy-B8l2iZjl.esm.min.js.map +0 -1
  239. package/dist/chunks/KHR_materials_anisotropy-vnjucfaw.esm.js +0 -65
  240. package/dist/chunks/KHR_materials_anisotropy-vnjucfaw.esm.js.map +0 -1
  241. package/dist/chunks/KHR_materials_clearcoat-BhZGttd-.esm.js +0 -96
  242. package/dist/chunks/KHR_materials_clearcoat-BhZGttd-.esm.js.map +0 -1
  243. package/dist/chunks/KHR_materials_clearcoat-BlhYeFYN.esm.min.js +0 -2
  244. package/dist/chunks/KHR_materials_clearcoat-BlhYeFYN.esm.min.js.map +0 -1
  245. package/dist/chunks/KHR_materials_diffuse_transmission-DJiKAnah.esm.js +0 -97
  246. package/dist/chunks/KHR_materials_diffuse_transmission-DJiKAnah.esm.js.map +0 -1
  247. package/dist/chunks/KHR_materials_diffuse_transmission-DmzdysxQ.esm.min.js +0 -2
  248. package/dist/chunks/KHR_materials_diffuse_transmission-DmzdysxQ.esm.min.js.map +0 -1
  249. package/dist/chunks/KHR_materials_dispersion-B1e8i3BQ.esm.js +0 -62
  250. package/dist/chunks/KHR_materials_dispersion-B1e8i3BQ.esm.js.map +0 -1
  251. package/dist/chunks/KHR_materials_dispersion-B_uhZ_r0.esm.min.js +0 -2
  252. package/dist/chunks/KHR_materials_dispersion-B_uhZ_r0.esm.min.js.map +0 -1
  253. package/dist/chunks/KHR_materials_emissive_strength-Bdc1fhX3.esm.js +0 -55
  254. package/dist/chunks/KHR_materials_emissive_strength-Bdc1fhX3.esm.js.map +0 -1
  255. package/dist/chunks/KHR_materials_emissive_strength-CujgLUsQ.esm.min.js +0 -2
  256. package/dist/chunks/KHR_materials_emissive_strength-CujgLUsQ.esm.min.js.map +0 -1
  257. package/dist/chunks/KHR_materials_ior-DAITk5f0.esm.js +0 -64
  258. package/dist/chunks/KHR_materials_ior-DAITk5f0.esm.js.map +0 -1
  259. package/dist/chunks/KHR_materials_ior-DDjIIueh.esm.min.js +0 -2
  260. package/dist/chunks/KHR_materials_ior-DDjIIueh.esm.min.js.map +0 -1
  261. package/dist/chunks/KHR_materials_iridescence-Bs4XQdUc.esm.js +0 -72
  262. package/dist/chunks/KHR_materials_iridescence-Bs4XQdUc.esm.js.map +0 -1
  263. package/dist/chunks/KHR_materials_iridescence-CofsEJxf.esm.min.js +0 -2
  264. package/dist/chunks/KHR_materials_iridescence-CofsEJxf.esm.min.js.map +0 -1
  265. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-D2cm0Qti.esm.js +0 -81
  266. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-D2cm0Qti.esm.js.map +0 -1
  267. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Na22WakQ.esm.min.js +0 -2
  268. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Na22WakQ.esm.min.js.map +0 -1
  269. package/dist/chunks/KHR_materials_sheen-BCY5GSrv.esm.js +0 -85
  270. package/dist/chunks/KHR_materials_sheen-BCY5GSrv.esm.js.map +0 -1
  271. package/dist/chunks/KHR_materials_sheen-BEHiRviB.esm.min.js +0 -2
  272. package/dist/chunks/KHR_materials_sheen-BEHiRviB.esm.min.js.map +0 -1
  273. package/dist/chunks/KHR_materials_specular-BFt2dwLj.esm.js +0 -75
  274. package/dist/chunks/KHR_materials_specular-BFt2dwLj.esm.js.map +0 -1
  275. package/dist/chunks/KHR_materials_specular-BGIPQ1rQ.esm.min.js +0 -2
  276. package/dist/chunks/KHR_materials_specular-BGIPQ1rQ.esm.min.js.map +0 -1
  277. package/dist/chunks/KHR_materials_transmission-BgbdeIB3.esm.js +0 -307
  278. package/dist/chunks/KHR_materials_transmission-BgbdeIB3.esm.js.map +0 -1
  279. package/dist/chunks/KHR_materials_transmission-C-tRBJu4.esm.min.js +0 -2
  280. package/dist/chunks/KHR_materials_transmission-C-tRBJu4.esm.min.js.map +0 -1
  281. package/dist/chunks/KHR_materials_unlit-CcRsVA_x.esm.min.js +0 -2
  282. package/dist/chunks/KHR_materials_unlit-CcRsVA_x.esm.min.js.map +0 -1
  283. package/dist/chunks/KHR_materials_unlit-DNhfBz4E.esm.js +0 -74
  284. package/dist/chunks/KHR_materials_unlit-DNhfBz4E.esm.js.map +0 -1
  285. package/dist/chunks/KHR_materials_variants-77adpgBk.esm.min.js +0 -2
  286. package/dist/chunks/KHR_materials_variants-77adpgBk.esm.min.js.map +0 -1
  287. package/dist/chunks/KHR_materials_variants-CSaSbOzl.esm.js +0 -238
  288. package/dist/chunks/KHR_materials_variants-CSaSbOzl.esm.js.map +0 -1
  289. package/dist/chunks/KHR_materials_volume-AOCoYNKI.esm.min.js +0 -2
  290. package/dist/chunks/KHR_materials_volume-AOCoYNKI.esm.min.js.map +0 -1
  291. package/dist/chunks/KHR_materials_volume-BWHhpmNH.esm.js +0 -87
  292. package/dist/chunks/KHR_materials_volume-BWHhpmNH.esm.js.map +0 -1
  293. package/dist/chunks/KHR_mesh_quantization-BB7EL2M1.esm.min.js +0 -2
  294. package/dist/chunks/KHR_mesh_quantization-BB7EL2M1.esm.min.js.map +0 -1
  295. package/dist/chunks/KHR_mesh_quantization-D2-xHrHe.esm.js +0 -26
  296. package/dist/chunks/KHR_mesh_quantization-D2-xHrHe.esm.js.map +0 -1
  297. package/dist/chunks/KHR_node_visibility-Di8sseTY.esm.min.js +0 -2
  298. package/dist/chunks/KHR_node_visibility-Di8sseTY.esm.min.js.map +0 -1
  299. package/dist/chunks/KHR_node_visibility-qzuskO3u.esm.js +0 -46
  300. package/dist/chunks/KHR_node_visibility-qzuskO3u.esm.js.map +0 -1
  301. package/dist/chunks/KHR_texture_basisu-BUP7AAVF.esm.min.js +0 -2
  302. package/dist/chunks/KHR_texture_basisu-BUP7AAVF.esm.min.js.map +0 -1
  303. package/dist/chunks/KHR_texture_basisu-C60Bt2Ic.esm.js +0 -43
  304. package/dist/chunks/KHR_texture_basisu-C60Bt2Ic.esm.js.map +0 -1
  305. package/dist/chunks/KHR_texture_transform-BUOLLEYP.esm.min.js +0 -2
  306. package/dist/chunks/KHR_texture_transform-BUOLLEYP.esm.min.js.map +0 -1
  307. package/dist/chunks/KHR_texture_transform-Dg-cPDyd.esm.js +0 -63
  308. package/dist/chunks/KHR_texture_transform-Dg-cPDyd.esm.js.map +0 -1
  309. package/dist/chunks/KHR_xmp_json_ld-CsFE0gfF.esm.min.js +0 -2
  310. package/dist/chunks/KHR_xmp_json_ld-CsFE0gfF.esm.min.js.map +0 -1
  311. package/dist/chunks/KHR_xmp_json_ld-DgCKwEEO.esm.js +0 -51
  312. package/dist/chunks/KHR_xmp_json_ld-DgCKwEEO.esm.js.map +0 -1
  313. package/dist/chunks/MSFT_audio_emitter-VHBse1UH.esm.js +0 -2207
  314. package/dist/chunks/MSFT_audio_emitter-VHBse1UH.esm.js.map +0 -1
  315. package/dist/chunks/MSFT_audio_emitter-iFlly5g-.esm.min.js +0 -2
  316. package/dist/chunks/MSFT_audio_emitter-iFlly5g-.esm.min.js.map +0 -1
  317. package/dist/chunks/MSFT_lod-Bwsctx65.esm.js +0 -337
  318. package/dist/chunks/MSFT_lod-Bwsctx65.esm.js.map +0 -1
  319. package/dist/chunks/MSFT_lod-CbiRs9Kc.esm.min.js +0 -2
  320. package/dist/chunks/MSFT_lod-CbiRs9Kc.esm.min.js.map +0 -1
  321. package/dist/chunks/MSFT_minecraftMesh-Dl6WKmxG.esm.min.js +0 -2
  322. package/dist/chunks/MSFT_minecraftMesh-Dl6WKmxG.esm.min.js.map +0 -1
  323. package/dist/chunks/MSFT_minecraftMesh-MBaTkra4.esm.js +0 -46
  324. package/dist/chunks/MSFT_minecraftMesh-MBaTkra4.esm.js.map +0 -1
  325. package/dist/chunks/MSFT_sRGBFactors-DJvNL0IJ.esm.js +0 -47
  326. package/dist/chunks/MSFT_sRGBFactors-DJvNL0IJ.esm.js.map +0 -1
  327. package/dist/chunks/MSFT_sRGBFactors-Drf21tSs.esm.min.js +0 -2
  328. package/dist/chunks/MSFT_sRGBFactors-Drf21tSs.esm.min.js.map +0 -1
  329. package/dist/chunks/animationGroup-CgbfLDgX.esm.min.js +0 -2
  330. package/dist/chunks/animationGroup-CgbfLDgX.esm.min.js.map +0 -1
  331. package/dist/chunks/animationGroup-eowyl97W.esm.js +0 -2482
  332. package/dist/chunks/animationGroup-eowyl97W.esm.js.map +0 -1
  333. package/dist/chunks/assetContainer-Bsqe9swA.esm.min.js +0 -2
  334. package/dist/chunks/assetContainer-Bsqe9swA.esm.min.js.map +0 -1
  335. package/dist/chunks/assetContainer-DO29qm5j.esm.js +0 -1720
  336. package/dist/chunks/assetContainer-DO29qm5j.esm.js.map +0 -1
  337. package/dist/chunks/audioEngine-ByiWmXaG.esm.js +0 -305
  338. package/dist/chunks/audioEngine-ByiWmXaG.esm.js.map +0 -1
  339. package/dist/chunks/audioEngine-Tyl5gl5Y.esm.min.js +0 -2
  340. package/dist/chunks/audioEngine-Tyl5gl5Y.esm.min.js.map +0 -1
  341. package/dist/chunks/bakedVertexAnimation-BxUlezN-.esm.min.js +0 -2
  342. package/dist/chunks/bakedVertexAnimation-BxUlezN-.esm.min.js.map +0 -1
  343. package/dist/chunks/bakedVertexAnimation-Co7tF_AI.esm.js +0 -114
  344. package/dist/chunks/bakedVertexAnimation-Co7tF_AI.esm.js.map +0 -1
  345. package/dist/chunks/basisTextureLoader-C6h2HrT5.esm.min.js +0 -2
  346. package/dist/chunks/basisTextureLoader-C6h2HrT5.esm.min.js.map +0 -1
  347. package/dist/chunks/basisTextureLoader-CFdjlTQv.esm.js +0 -600
  348. package/dist/chunks/basisTextureLoader-CFdjlTQv.esm.js.map +0 -1
  349. package/dist/chunks/dds--AOY6KMC.esm.js +0 -540
  350. package/dist/chunks/dds--AOY6KMC.esm.js.map +0 -1
  351. package/dist/chunks/dds-mtdSIG7y.esm.min.js +0 -2
  352. package/dist/chunks/dds-mtdSIG7y.esm.min.js.map +0 -1
  353. package/dist/chunks/ddsTextureLoader-CS64tfyO.esm.min.js +0 -2
  354. package/dist/chunks/ddsTextureLoader-CS64tfyO.esm.min.js.map +0 -1
  355. package/dist/chunks/ddsTextureLoader-Cm3kvldL.esm.js +0 -88
  356. package/dist/chunks/ddsTextureLoader-Cm3kvldL.esm.js.map +0 -1
  357. package/dist/chunks/decalFragment-B_EoELPt.esm.min.js +0 -2
  358. package/dist/chunks/decalFragment-B_EoELPt.esm.min.js.map +0 -1
  359. package/dist/chunks/decalFragment-CrQo80qe.esm.js +0 -18
  360. package/dist/chunks/decalFragment-CrQo80qe.esm.js.map +0 -1
  361. package/dist/chunks/default.fragment-B7BZK7Wn.esm.js +0 -433
  362. package/dist/chunks/default.fragment-B7BZK7Wn.esm.js.map +0 -1
  363. package/dist/chunks/default.fragment-CDe0T1Vr.esm.min.js +0 -2
  364. package/dist/chunks/default.fragment-CDe0T1Vr.esm.min.js.map +0 -1
  365. package/dist/chunks/default.fragment-DE-fL82A.esm.min.js +0 -2
  366. package/dist/chunks/default.fragment-DE-fL82A.esm.min.js.map +0 -1
  367. package/dist/chunks/default.fragment-OyO2ek5x.esm.js +0 -497
  368. package/dist/chunks/default.fragment-OyO2ek5x.esm.js.map +0 -1
  369. package/dist/chunks/default.vertex-CNUfzDP1.esm.js +0 -181
  370. package/dist/chunks/default.vertex-CNUfzDP1.esm.js.map +0 -1
  371. package/dist/chunks/default.vertex-CfR6AC0W.esm.js +0 -201
  372. package/dist/chunks/default.vertex-CfR6AC0W.esm.js.map +0 -1
  373. package/dist/chunks/default.vertex-CxON4TPV.esm.min.js +0 -2
  374. package/dist/chunks/default.vertex-CxON4TPV.esm.min.js.map +0 -1
  375. package/dist/chunks/default.vertex-vn2_ZsRf.esm.min.js +0 -2
  376. package/dist/chunks/default.vertex-vn2_ZsRf.esm.min.js.map +0 -1
  377. package/dist/chunks/defaultUboDeclaration-DOEnRk8l.esm.min.js +0 -2
  378. package/dist/chunks/defaultUboDeclaration-DOEnRk8l.esm.min.js.map +0 -1
  379. package/dist/chunks/defaultUboDeclaration-D_cdCN09.esm.js +0 -15
  380. package/dist/chunks/defaultUboDeclaration-D_cdCN09.esm.js.map +0 -1
  381. package/dist/chunks/defaultUboDeclaration-DulGgNIT.esm.js +0 -13
  382. package/dist/chunks/defaultUboDeclaration-DulGgNIT.esm.js.map +0 -1
  383. package/dist/chunks/defaultUboDeclaration-DuvDKzIc.esm.min.js +0 -2
  384. package/dist/chunks/defaultUboDeclaration-DuvDKzIc.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-CDmW-p2A.esm.js +0 -200
  390. package/dist/chunks/dumpTools-CDmW-p2A.esm.js.map +0 -1
  391. package/dist/chunks/dumpTools-hJHAozcu.esm.min.js +0 -2
  392. package/dist/chunks/dumpTools-hJHAozcu.esm.min.js.map +0 -1
  393. package/dist/chunks/engine-CfBkxMlv.esm.min.js +0 -2
  394. package/dist/chunks/engine-CfBkxMlv.esm.min.js.map +0 -1
  395. package/dist/chunks/engine-DaA20vkg.esm.js +0 -2187
  396. package/dist/chunks/engine-DaA20vkg.esm.js.map +0 -1
  397. package/dist/chunks/engine.common-B1nX1uOv.esm.min.js +0 -2
  398. package/dist/chunks/engine.common-B1nX1uOv.esm.min.js.map +0 -1
  399. package/dist/chunks/engine.common-Da03TQs0.esm.js +0 -1103
  400. package/dist/chunks/engine.common-Da03TQs0.esm.js.map +0 -1
  401. package/dist/chunks/envTextureLoader-BRXi1pZo.esm.js +0 -64
  402. package/dist/chunks/envTextureLoader-BRXi1pZo.esm.js.map +0 -1
  403. package/dist/chunks/envTextureLoader-CS1eu96I.esm.min.js +0 -2
  404. package/dist/chunks/envTextureLoader-CS1eu96I.esm.min.js.map +0 -1
  405. package/dist/chunks/environmentTextureTools-BCSQExyv.esm.js +0 -382
  406. package/dist/chunks/environmentTextureTools-BCSQExyv.esm.js.map +0 -1
  407. package/dist/chunks/environmentTextureTools-DaBia0zg.esm.min.js +0 -2
  408. package/dist/chunks/environmentTextureTools-DaBia0zg.esm.min.js.map +0 -1
  409. package/dist/chunks/exrTextureLoader-DOcIuOg9.esm.min.js +0 -2
  410. package/dist/chunks/exrTextureLoader-DOcIuOg9.esm.min.js.map +0 -1
  411. package/dist/chunks/exrTextureLoader-NVzNFU10.esm.js +0 -1682
  412. package/dist/chunks/exrTextureLoader-NVzNFU10.esm.js.map +0 -1
  413. package/dist/chunks/fogFragment-7C9DmW8b.esm.js +0 -102
  414. package/dist/chunks/fogFragment-7C9DmW8b.esm.js.map +0 -1
  415. package/dist/chunks/fogFragment-B9F5aJAx.esm.min.js +0 -2
  416. package/dist/chunks/fogFragment-B9F5aJAx.esm.min.js.map +0 -1
  417. package/dist/chunks/fogFragment-BnQp0Spj.esm.js +0 -101
  418. package/dist/chunks/fogFragment-BnQp0Spj.esm.js.map +0 -1
  419. package/dist/chunks/fogFragment-Rqu9S2gV.esm.min.js +0 -2
  420. package/dist/chunks/fogFragment-Rqu9S2gV.esm.min.js.map +0 -1
  421. package/dist/chunks/fresnelFunction--bGC1bW6.esm.min.js +0 -2
  422. package/dist/chunks/fresnelFunction--bGC1bW6.esm.min.js.map +0 -1
  423. package/dist/chunks/fresnelFunction-YurpC61U.esm.js +0 -12
  424. package/dist/chunks/fresnelFunction-YurpC61U.esm.js.map +0 -1
  425. package/dist/chunks/glTFLoader--eb4oZZe.esm.min.js +0 -2
  426. package/dist/chunks/glTFLoader--eb4oZZe.esm.min.js.map +0 -1
  427. package/dist/chunks/glTFLoader-DDABr3tc.esm.js +0 -7595
  428. package/dist/chunks/glTFLoader-DDABr3tc.esm.js.map +0 -1
  429. package/dist/chunks/glTFLoaderAnimation-C_jvKQZc.esm.min.js +0 -2
  430. package/dist/chunks/glTFLoaderAnimation-C_jvKQZc.esm.min.js.map +0 -1
  431. package/dist/chunks/glTFLoaderAnimation-Ce1T-HK4.esm.js +0 -77
  432. package/dist/chunks/glTFLoaderAnimation-Ce1T-HK4.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-BVJDExzF.esm.js +0 -35
  438. package/dist/chunks/harmonicsFunctions-BVJDExzF.esm.js.map +0 -1
  439. package/dist/chunks/harmonicsFunctions-Cpf19SYh.esm.min.js +0 -2
  440. package/dist/chunks/harmonicsFunctions-Cpf19SYh.esm.min.js.map +0 -1
  441. package/dist/chunks/harmonicsFunctions-EwGi7mvH.esm.js +0 -34
  442. package/dist/chunks/harmonicsFunctions-EwGi7mvH.esm.js.map +0 -1
  443. package/dist/chunks/harmonicsFunctions-sCDYMnE7.esm.min.js +0 -2
  444. package/dist/chunks/harmonicsFunctions-sCDYMnE7.esm.min.js.map +0 -1
  445. package/dist/chunks/hdrTextureLoader-CHt5g_Ro.esm.js +0 -252
  446. package/dist/chunks/hdrTextureLoader-CHt5g_Ro.esm.js.map +0 -1
  447. package/dist/chunks/hdrTextureLoader-CcljcQGM.esm.min.js +0 -2
  448. package/dist/chunks/hdrTextureLoader-CcljcQGM.esm.min.js.map +0 -1
  449. package/dist/chunks/helperFunctions-BLQP90J_.esm.min.js +0 -2
  450. package/dist/chunks/helperFunctions-BLQP90J_.esm.min.js.map +0 -1
  451. package/dist/chunks/helperFunctions-BeWEDUrw.esm.js +0 -108
  452. package/dist/chunks/helperFunctions-BeWEDUrw.esm.js.map +0 -1
  453. package/dist/chunks/helperFunctions-CkmR3WUA.esm.min.js +0 -2
  454. package/dist/chunks/helperFunctions-CkmR3WUA.esm.min.js.map +0 -1
  455. package/dist/chunks/helperFunctions-Vnio5Zy4.esm.js +0 -80
  456. package/dist/chunks/helperFunctions-Vnio5Zy4.esm.js.map +0 -1
  457. package/dist/chunks/index-CVMH5-nD.esm.js +0 -74148
  458. package/dist/chunks/index-CVMH5-nD.esm.js.map +0 -1
  459. package/dist/chunks/index-bkYfr-SD.esm.min.js +0 -57
  460. package/dist/chunks/index-bkYfr-SD.esm.min.js.map +0 -1
  461. package/dist/chunks/ktxTextureLoader-CmYn3AjU.esm.min.js +0 -2
  462. package/dist/chunks/ktxTextureLoader-CmYn3AjU.esm.min.js.map +0 -1
  463. package/dist/chunks/ktxTextureLoader-Ct4ygDpl.esm.js +0 -814
  464. package/dist/chunks/ktxTextureLoader-Ct4ygDpl.esm.js.map +0 -1
  465. package/dist/chunks/logDepthDeclaration-CCVJgklB.esm.js +0 -11
  466. package/dist/chunks/logDepthDeclaration-CCVJgklB.esm.js.map +0 -1
  467. package/dist/chunks/logDepthDeclaration-CmefuysH.esm.min.js +0 -2
  468. package/dist/chunks/logDepthDeclaration-CmefuysH.esm.min.js.map +0 -1
  469. package/dist/chunks/logDepthDeclaration-kbT8jgiS.esm.js +0 -35
  470. package/dist/chunks/logDepthDeclaration-kbT8jgiS.esm.js.map +0 -1
  471. package/dist/chunks/logDepthDeclaration-utQE6RQm.esm.min.js +0 -2
  472. package/dist/chunks/logDepthDeclaration-utQE6RQm.esm.min.js.map +0 -1
  473. package/dist/chunks/logDepthVertex-BwAXuZcJ.esm.js +0 -77
  474. package/dist/chunks/logDepthVertex-BwAXuZcJ.esm.js.map +0 -1
  475. package/dist/chunks/logDepthVertex-CIU5ihJc.esm.min.js +0 -2
  476. package/dist/chunks/logDepthVertex-CIU5ihJc.esm.min.js.map +0 -1
  477. package/dist/chunks/logDepthVertex-DBdj3JQF.esm.js +0 -77
  478. package/dist/chunks/logDepthVertex-DBdj3JQF.esm.js.map +0 -1
  479. package/dist/chunks/logDepthVertex-L5SVOP7a.esm.min.js +0 -2
  480. package/dist/chunks/logDepthVertex-L5SVOP7a.esm.min.js.map +0 -1
  481. package/dist/chunks/mainUVVaryingDeclaration-BjN3rZcV.esm.js +0 -11
  482. package/dist/chunks/mainUVVaryingDeclaration-BjN3rZcV.esm.js.map +0 -1
  483. package/dist/chunks/mainUVVaryingDeclaration-CS8fR4k6.esm.min.js +0 -2
  484. package/dist/chunks/mainUVVaryingDeclaration-CS8fR4k6.esm.min.js.map +0 -1
  485. package/dist/chunks/mainUVVaryingDeclaration-F_ldv7kC.esm.min.js +0 -2
  486. package/dist/chunks/mainUVVaryingDeclaration-F_ldv7kC.esm.min.js.map +0 -1
  487. package/dist/chunks/mainUVVaryingDeclaration-JJ1eiwN7.esm.js +0 -11
  488. package/dist/chunks/mainUVVaryingDeclaration-JJ1eiwN7.esm.js.map +0 -1
  489. package/dist/chunks/meshUboDeclaration-Cqhjf76p.esm.min.js +0 -2
  490. package/dist/chunks/meshUboDeclaration-Cqhjf76p.esm.min.js.map +0 -1
  491. package/dist/chunks/meshUboDeclaration-TC3Qb9qA.esm.js +0 -24
  492. package/dist/chunks/meshUboDeclaration-TC3Qb9qA.esm.js.map +0 -1
  493. package/dist/chunks/objFileLoader-DUbUzdM7.esm.js +0 -1338
  494. package/dist/chunks/objFileLoader-DUbUzdM7.esm.js.map +0 -1
  495. package/dist/chunks/objFileLoader-cuX0R9Ll.esm.min.js +0 -2
  496. package/dist/chunks/objFileLoader-cuX0R9Ll.esm.min.js.map +0 -1
  497. package/dist/chunks/oitFragment-BuvtdYuN.esm.min.js +0 -2
  498. package/dist/chunks/oitFragment-BuvtdYuN.esm.min.js.map +0 -1
  499. package/dist/chunks/oitFragment-CsHXm-hs.esm.min.js +0 -2
  500. package/dist/chunks/oitFragment-CsHXm-hs.esm.min.js.map +0 -1
  501. package/dist/chunks/oitFragment-Jsj4VCRm.esm.js +0 -1051
  502. package/dist/chunks/oitFragment-Jsj4VCRm.esm.js.map +0 -1
  503. package/dist/chunks/oitFragment-bE1j7vLE.esm.js +0 -1210
  504. package/dist/chunks/oitFragment-bE1j7vLE.esm.js.map +0 -1
  505. package/dist/chunks/pass.fragment-7Tm4v4I5.esm.min.js +0 -2
  506. package/dist/chunks/pass.fragment-7Tm4v4I5.esm.min.js.map +0 -1
  507. package/dist/chunks/pass.fragment-Bim4VPEO.esm.js +0 -15
  508. package/dist/chunks/pass.fragment-Bim4VPEO.esm.js.map +0 -1
  509. package/dist/chunks/pass.fragment-CYz9acmH.esm.js +0 -15
  510. package/dist/chunks/pass.fragment-CYz9acmH.esm.js.map +0 -1
  511. package/dist/chunks/pass.fragment-CzPpw3iK.esm.min.js +0 -2
  512. package/dist/chunks/pass.fragment-CzPpw3iK.esm.min.js.map +0 -1
  513. package/dist/chunks/pbr.fragment-C0EyEtjU.esm.js +0 -3218
  514. package/dist/chunks/pbr.fragment-C0EyEtjU.esm.js.map +0 -1
  515. package/dist/chunks/pbr.fragment-D7KGHlr3.esm.min.js +0 -2
  516. package/dist/chunks/pbr.fragment-D7KGHlr3.esm.min.js.map +0 -1
  517. package/dist/chunks/pbr.fragment-DRo704mz.esm.js +0 -3164
  518. package/dist/chunks/pbr.fragment-DRo704mz.esm.js.map +0 -1
  519. package/dist/chunks/pbr.fragment-Dw30RsZq.esm.min.js +0 -2
  520. package/dist/chunks/pbr.fragment-Dw30RsZq.esm.min.js.map +0 -1
  521. package/dist/chunks/pbr.vertex-BFjD6j1a.esm.min.js +0 -2
  522. package/dist/chunks/pbr.vertex-BFjD6j1a.esm.min.js.map +0 -1
  523. package/dist/chunks/pbr.vertex-BNL0Ih3S.esm.js +0 -214
  524. package/dist/chunks/pbr.vertex-BNL0Ih3S.esm.js.map +0 -1
  525. package/dist/chunks/pbr.vertex-DCYsZj4K.esm.js +0 -338
  526. package/dist/chunks/pbr.vertex-DCYsZj4K.esm.js.map +0 -1
  527. package/dist/chunks/pbr.vertex-DQWB7B3n.esm.min.js +0 -2
  528. package/dist/chunks/pbr.vertex-DQWB7B3n.esm.min.js.map +0 -1
  529. package/dist/chunks/postprocess.vertex-BKTxzIr3.esm.js +0 -20
  530. package/dist/chunks/postprocess.vertex-BKTxzIr3.esm.js.map +0 -1
  531. package/dist/chunks/postprocess.vertex-BLM-tBsI.esm.min.js +0 -2
  532. package/dist/chunks/postprocess.vertex-BLM-tBsI.esm.min.js.map +0 -1
  533. package/dist/chunks/rawTexture-B4sxPzau.esm.js +0 -191
  534. package/dist/chunks/rawTexture-B4sxPzau.esm.js.map +0 -1
  535. package/dist/chunks/rawTexture-C8eTjsTL.esm.min.js +0 -2
  536. package/dist/chunks/rawTexture-C8eTjsTL.esm.min.js.map +0 -1
  537. package/dist/chunks/rgbdDecode.fragment-B1JRUB2c.esm.js +0 -17
  538. package/dist/chunks/rgbdDecode.fragment-B1JRUB2c.esm.js.map +0 -1
  539. package/dist/chunks/rgbdDecode.fragment-BQDhe3Gm.esm.min.js +0 -2
  540. package/dist/chunks/rgbdDecode.fragment-BQDhe3Gm.esm.min.js.map +0 -1
  541. package/dist/chunks/rgbdDecode.fragment-Bqwzk3c0.esm.js +0 -17
  542. package/dist/chunks/rgbdDecode.fragment-Bqwzk3c0.esm.js.map +0 -1
  543. package/dist/chunks/rgbdDecode.fragment-De929itq.esm.min.js +0 -2
  544. package/dist/chunks/rgbdDecode.fragment-De929itq.esm.min.js.map +0 -1
  545. package/dist/chunks/rgbdEncode.fragment-B2mbOgZ1.esm.js +0 -17
  546. package/dist/chunks/rgbdEncode.fragment-B2mbOgZ1.esm.js.map +0 -1
  547. package/dist/chunks/rgbdEncode.fragment-BR4bMAPw.esm.min.js +0 -2
  548. package/dist/chunks/rgbdEncode.fragment-BR4bMAPw.esm.min.js.map +0 -1
  549. package/dist/chunks/rgbdEncode.fragment-CnnkzvSU.esm.min.js +0 -2
  550. package/dist/chunks/rgbdEncode.fragment-CnnkzvSU.esm.min.js.map +0 -1
  551. package/dist/chunks/rgbdEncode.fragment-DdsDf_tZ.esm.js +0 -17
  552. package/dist/chunks/rgbdEncode.fragment-DdsDf_tZ.esm.js.map +0 -1
  553. package/dist/chunks/splatFileLoader-ByV2g6RW.esm.js +0 -3947
  554. package/dist/chunks/splatFileLoader-ByV2g6RW.esm.js.map +0 -1
  555. package/dist/chunks/splatFileLoader-DZtkydoO.esm.min.js +0 -2
  556. package/dist/chunks/splatFileLoader-DZtkydoO.esm.min.js.map +0 -1
  557. package/dist/chunks/standardMaterial-DUti--Yk.esm.js +0 -1805
  558. package/dist/chunks/standardMaterial-DUti--Yk.esm.js.map +0 -1
  559. package/dist/chunks/standardMaterial-DxPZ0yEO.esm.min.js +0 -2
  560. package/dist/chunks/standardMaterial-DxPZ0yEO.esm.min.js.map +0 -1
  561. package/dist/chunks/stlFileLoader-BddM0ohC.esm.js +0 -238
  562. package/dist/chunks/stlFileLoader-BddM0ohC.esm.js.map +0 -1
  563. package/dist/chunks/stlFileLoader-Daj_Ow9k.esm.min.js +0 -2
  564. package/dist/chunks/stlFileLoader-Daj_Ow9k.esm.min.js.map +0 -1
  565. package/dist/chunks/tgaTextureLoader-DDmm8z9e.esm.js +0 -349
  566. package/dist/chunks/tgaTextureLoader-DDmm8z9e.esm.js.map +0 -1
  567. package/dist/chunks/tgaTextureLoader-NZ1m7gDb.esm.min.js +0 -2
  568. package/dist/chunks/tgaTextureLoader-NZ1m7gDb.esm.min.js.map +0 -1
  569. package/dist/chunks/thinEngine-CvGTeAY9.esm.js +0 -3723
  570. package/dist/chunks/thinEngine-CvGTeAY9.esm.js.map +0 -1
  571. package/dist/chunks/thinEngine-Czvj0W_2.esm.min.js +0 -2
  572. package/dist/chunks/thinEngine-Czvj0W_2.esm.min.js.map +0 -1
  573. package/dist/chunks/thinInstanceMesh-BGeYKYJu.esm.js +0 -314
  574. package/dist/chunks/thinInstanceMesh-BGeYKYJu.esm.js.map +0 -1
  575. package/dist/chunks/thinInstanceMesh-Byk1sPWi.esm.min.js +0 -2
  576. package/dist/chunks/thinInstanceMesh-Byk1sPWi.esm.min.js.map +0 -1
  577. package/dist/chunks/vertexColorMixing-5MVqrbuQ.esm.js +0 -412
  578. package/dist/chunks/vertexColorMixing-5MVqrbuQ.esm.js.map +0 -1
  579. package/dist/chunks/vertexColorMixing-BTHtPksv.esm.min.js +0 -2
  580. package/dist/chunks/vertexColorMixing-BTHtPksv.esm.min.js.map +0 -1
  581. package/dist/chunks/vertexColorMixing-C-JxO1th.esm.js +0 -522
  582. package/dist/chunks/vertexColorMixing-C-JxO1th.esm.js.map +0 -1
  583. package/dist/chunks/vertexColorMixing-DpW1_vsz.esm.min.js +0 -2
  584. package/dist/chunks/vertexColorMixing-DpW1_vsz.esm.min.js.map +0 -1
  585. package/dist/chunks/webgpuEngine-Dz_96swZ.esm.min.js +0 -2
  586. package/dist/chunks/webgpuEngine-Dz_96swZ.esm.min.js.map +0 -1
  587. package/dist/chunks/webgpuEngine-iwYQqIrX.esm.js +0 -11465
  588. package/dist/chunks/webgpuEngine-iwYQqIrX.esm.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 -534
  598. package/lib/index.js +0 -1939
  599. package/lib/index.js.map +0 -1
@@ -1,200 +0,0 @@
1
- import { bu as Clamp, C as Constants, T as Tools, E as EngineStore, bv as EffectRenderer, bw as EffectWrapper } from './index-CVMH5-nD.esm.js';
2
-
3
- let _dumpToolsEngine;
4
- let _enginePromise = null;
5
- async function _CreateDumpRenderer() {
6
- if (!_enginePromise) {
7
- _enginePromise = new Promise((resolve, reject) => {
8
- let canvas;
9
- let engine = null;
10
- const options = {
11
- preserveDrawingBuffer: true,
12
- depth: false,
13
- stencil: false,
14
- alpha: true,
15
- premultipliedAlpha: false,
16
- antialias: false,
17
- failIfMajorPerformanceCaveat: false,
18
- };
19
- import('./thinEngine-CvGTeAY9.esm.js').then(function (n) { return n.t; })
20
- .then(({ ThinEngine: thinEngineClass }) => {
21
- try {
22
- canvas = new OffscreenCanvas(100, 100); // will be resized later
23
- engine = new thinEngineClass(canvas, false, options);
24
- }
25
- catch (e) {
26
- // The browser either does not support OffscreenCanvas or WebGL context in OffscreenCanvas, fallback on a regular canvas
27
- canvas = document.createElement("canvas");
28
- engine = new thinEngineClass(canvas, false, options);
29
- }
30
- // remove this engine from the list of instances to avoid using it for other purposes
31
- EngineStore.Instances.pop();
32
- // However, make sure to dispose it when no other engines are left
33
- EngineStore.OnEnginesDisposedObservable.add((e) => {
34
- // guaranteed to run when no other instances are left
35
- // only dispose if it's not the current engine
36
- if (engine && e !== engine && !engine.isDisposed && EngineStore.Instances.length === 0) {
37
- // Dump the engine and the associated resources
38
- Dispose();
39
- }
40
- });
41
- engine.getCaps().parallelShaderCompile = undefined;
42
- const renderer = new EffectRenderer(engine);
43
- import('./pass.fragment-Bim4VPEO.esm.js').then(({ passPixelShader }) => {
44
- if (!engine) {
45
- reject("Engine is not defined");
46
- return;
47
- }
48
- const wrapper = new EffectWrapper({
49
- engine,
50
- name: passPixelShader.name,
51
- fragmentShader: passPixelShader.shader,
52
- samplerNames: ["textureSampler"],
53
- });
54
- _dumpToolsEngine = {
55
- canvas,
56
- engine,
57
- renderer,
58
- wrapper,
59
- };
60
- resolve(_dumpToolsEngine);
61
- });
62
- })
63
- .catch(reject);
64
- });
65
- }
66
- return await _enginePromise;
67
- }
68
- /**
69
- * Dumps the current bound framebuffer
70
- * @param width defines the rendering width
71
- * @param height defines the rendering height
72
- * @param engine defines the hosting engine
73
- * @param successCallback defines the callback triggered once the data are available
74
- * @param mimeType defines the mime type of the result
75
- * @param fileName defines the filename to download. If present, the result will automatically be downloaded
76
- * @param quality The quality of the image if lossy mimeType is used (e.g. image/jpeg, image/webp). See {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob | HTMLCanvasElement.toBlob()}'s `quality` parameter.
77
- * @returns a void promise
78
- */
79
- async function DumpFramebuffer(width, height, engine, successCallback, mimeType = "image/png", fileName, quality) {
80
- // Read the contents of the framebuffer
81
- const bufferView = await engine.readPixels(0, 0, width, height);
82
- const data = new Uint8Array(bufferView.buffer);
83
- DumpData(width, height, data, successCallback, mimeType, fileName, true, undefined, quality);
84
- }
85
- /**
86
- * Dumps an array buffer
87
- * @param width defines the rendering width
88
- * @param height defines the rendering height
89
- * @param data the data array
90
- * @param mimeType defines the mime type of the result
91
- * @param fileName defines the filename to download. If present, the result will automatically be downloaded
92
- * @param invertY true to invert the picture in the Y dimension
93
- * @param toArrayBuffer true to convert the data to an ArrayBuffer (encoded as `mimeType`) instead of a base64 string
94
- * @param quality The quality of the image if lossy mimeType is used (e.g. image/jpeg, image/webp). See {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob | HTMLCanvasElement.toBlob()}'s `quality` parameter.
95
- * @returns a promise that resolve to the final data
96
- */
97
- function DumpDataAsync(width, height, data, mimeType = "image/png", fileName, invertY = false, toArrayBuffer = false, quality) {
98
- return new Promise((resolve) => {
99
- DumpData(width, height, data, (result) => resolve(result), mimeType, fileName, invertY, toArrayBuffer, quality);
100
- });
101
- }
102
- /**
103
- * Dumps an array buffer
104
- * @param width defines the rendering width
105
- * @param height defines the rendering height
106
- * @param data the data array
107
- * @param successCallback defines the callback triggered once the data are available
108
- * @param mimeType defines the mime type of the result
109
- * @param fileName defines the filename to download. If present, the result will automatically be downloaded
110
- * @param invertY true to invert the picture in the Y dimension
111
- * @param toArrayBuffer true to convert the data to an ArrayBuffer (encoded as `mimeType`) instead of a base64 string
112
- * @param quality The quality of the image if lossy mimeType is used (e.g. image/jpeg, image/webp). See {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob | HTMLCanvasElement.toBlob()}'s `quality` parameter.
113
- */
114
- function DumpData(width, height, data, successCallback, mimeType = "image/png", fileName, invertY = false, toArrayBuffer = false, quality) {
115
- _CreateDumpRenderer().then((renderer) => {
116
- renderer.engine.setSize(width, height, true);
117
- // Convert if data are float32
118
- if (data instanceof Float32Array) {
119
- const data2 = new Uint8Array(data.length);
120
- let n = data.length;
121
- while (n--) {
122
- const v = data[n];
123
- data2[n] = Math.round(Clamp(v) * 255);
124
- }
125
- data = data2;
126
- }
127
- // Create the image
128
- const texture = renderer.engine.createRawTexture(data, width, height, Constants.TEXTUREFORMAT_RGBA, false, !invertY, Constants.TEXTURE_NEAREST_NEAREST);
129
- renderer.renderer.setViewport();
130
- renderer.renderer.applyEffectWrapper(renderer.wrapper);
131
- renderer.wrapper.effect._bindTexture("textureSampler", texture);
132
- renderer.renderer.draw();
133
- if (toArrayBuffer) {
134
- Tools.ToBlob(renderer.canvas, (blob) => {
135
- const fileReader = new FileReader();
136
- fileReader.onload = (event) => {
137
- const arrayBuffer = event.target.result;
138
- if (successCallback) {
139
- successCallback(arrayBuffer);
140
- }
141
- };
142
- fileReader.readAsArrayBuffer(blob);
143
- }, mimeType, quality);
144
- }
145
- else {
146
- Tools.EncodeScreenshotCanvasData(renderer.canvas, successCallback, mimeType, fileName, quality);
147
- }
148
- texture.dispose();
149
- });
150
- }
151
- /**
152
- * Dispose the dump tools associated resources
153
- */
154
- function Dispose() {
155
- if (_dumpToolsEngine) {
156
- _dumpToolsEngine.wrapper.dispose();
157
- _dumpToolsEngine.renderer.dispose();
158
- _dumpToolsEngine.engine.dispose();
159
- }
160
- else {
161
- // in cases where the engine is not yet created, we need to wait for it to dispose it
162
- _enginePromise?.then((dumpToolsEngine) => {
163
- dumpToolsEngine.wrapper.dispose();
164
- dumpToolsEngine.renderer.dispose();
165
- dumpToolsEngine.engine.dispose();
166
- });
167
- }
168
- _enginePromise = null;
169
- _dumpToolsEngine = null;
170
- }
171
- /**
172
- * Object containing a set of static utilities functions to dump data from a canvas
173
- * @deprecated use functions
174
- */
175
- const DumpTools = {
176
- // eslint-disable-next-line @typescript-eslint/naming-convention
177
- DumpData,
178
- // eslint-disable-next-line @typescript-eslint/naming-convention
179
- DumpDataAsync,
180
- // eslint-disable-next-line @typescript-eslint/naming-convention
181
- DumpFramebuffer,
182
- // eslint-disable-next-line @typescript-eslint/naming-convention
183
- Dispose,
184
- };
185
- /**
186
- * This will be executed automatically for UMD and es5.
187
- * If esm dev wants the side effects to execute they will have to run it manually
188
- * Once we build native modules those need to be exported.
189
- * @internal
190
- */
191
- const initSideEffects = () => {
192
- // References the dependencies.
193
- Tools.DumpData = DumpData;
194
- Tools.DumpDataAsync = DumpDataAsync;
195
- Tools.DumpFramebuffer = DumpFramebuffer;
196
- };
197
- initSideEffects();
198
-
199
- export { Dispose, DumpData, DumpDataAsync, DumpFramebuffer, DumpTools };
200
- //# sourceMappingURL=dumpTools-CDmW-p2A.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dumpTools-CDmW-p2A.esm.js","sources":["../../../../../dev/core/dist/Misc/dumpTools.js"],"sourcesContent":["import { Constants } from \"../Engines/constants\";\nimport { EffectRenderer, EffectWrapper } from \"../Materials/effectRenderer\";\nimport { Tools } from \"./tools\";\nimport { Clamp } from \"../Maths/math.scalar.functions\";\nimport { EngineStore } from \"../Engines/engineStore\";\nlet _dumpToolsEngine;\nlet _enginePromise = null;\nasync function _CreateDumpRenderer() {\n if (!_enginePromise) {\n _enginePromise = new Promise((resolve, reject) => {\n let canvas;\n let engine = null;\n const options = {\n preserveDrawingBuffer: true,\n depth: false,\n stencil: false,\n alpha: true,\n premultipliedAlpha: false,\n antialias: false,\n failIfMajorPerformanceCaveat: false,\n };\n import(\"../Engines/thinEngine\")\n .then(({ ThinEngine: thinEngineClass }) => {\n try {\n canvas = new OffscreenCanvas(100, 100); // will be resized later\n engine = new thinEngineClass(canvas, false, options);\n }\n catch (e) {\n // The browser either does not support OffscreenCanvas or WebGL context in OffscreenCanvas, fallback on a regular canvas\n canvas = document.createElement(\"canvas\");\n engine = new thinEngineClass(canvas, false, options);\n }\n // remove this engine from the list of instances to avoid using it for other purposes\n EngineStore.Instances.pop();\n // However, make sure to dispose it when no other engines are left\n EngineStore.OnEnginesDisposedObservable.add((e) => {\n // guaranteed to run when no other instances are left\n // only dispose if it's not the current engine\n if (engine && e !== engine && !engine.isDisposed && EngineStore.Instances.length === 0) {\n // Dump the engine and the associated resources\n Dispose();\n }\n });\n engine.getCaps().parallelShaderCompile = undefined;\n const renderer = new EffectRenderer(engine);\n import(\"../Shaders/pass.fragment\").then(({ passPixelShader }) => {\n if (!engine) {\n reject(\"Engine is not defined\");\n return;\n }\n const wrapper = new EffectWrapper({\n engine,\n name: passPixelShader.name,\n fragmentShader: passPixelShader.shader,\n samplerNames: [\"textureSampler\"],\n });\n _dumpToolsEngine = {\n canvas,\n engine,\n renderer,\n wrapper,\n };\n resolve(_dumpToolsEngine);\n });\n })\n .catch(reject);\n });\n }\n return await _enginePromise;\n}\n/**\n * Dumps the current bound framebuffer\n * @param width defines the rendering width\n * @param height defines the rendering height\n * @param engine defines the hosting engine\n * @param successCallback defines the callback triggered once the data are available\n * @param mimeType defines the mime type of the result\n * @param fileName defines the filename to download. If present, the result will automatically be downloaded\n * @param quality The quality of the image if lossy mimeType is used (e.g. image/jpeg, image/webp). See {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob | HTMLCanvasElement.toBlob()}'s `quality` parameter.\n * @returns a void promise\n */\nexport async function DumpFramebuffer(width, height, engine, successCallback, mimeType = \"image/png\", fileName, quality) {\n // Read the contents of the framebuffer\n const bufferView = await engine.readPixels(0, 0, width, height);\n const data = new Uint8Array(bufferView.buffer);\n DumpData(width, height, data, successCallback, mimeType, fileName, true, undefined, quality);\n}\n/**\n * Dumps an array buffer\n * @param width defines the rendering width\n * @param height defines the rendering height\n * @param data the data array\n * @param mimeType defines the mime type of the result\n * @param fileName defines the filename to download. If present, the result will automatically be downloaded\n * @param invertY true to invert the picture in the Y dimension\n * @param toArrayBuffer true to convert the data to an ArrayBuffer (encoded as `mimeType`) instead of a base64 string\n * @param quality The quality of the image if lossy mimeType is used (e.g. image/jpeg, image/webp). See {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob | HTMLCanvasElement.toBlob()}'s `quality` parameter.\n * @returns a promise that resolve to the final data\n */\nexport function DumpDataAsync(width, height, data, mimeType = \"image/png\", fileName, invertY = false, toArrayBuffer = false, quality) {\n return new Promise((resolve) => {\n DumpData(width, height, data, (result) => resolve(result), mimeType, fileName, invertY, toArrayBuffer, quality);\n });\n}\n/**\n * Dumps an array buffer\n * @param width defines the rendering width\n * @param height defines the rendering height\n * @param data the data array\n * @param successCallback defines the callback triggered once the data are available\n * @param mimeType defines the mime type of the result\n * @param fileName defines the filename to download. If present, the result will automatically be downloaded\n * @param invertY true to invert the picture in the Y dimension\n * @param toArrayBuffer true to convert the data to an ArrayBuffer (encoded as `mimeType`) instead of a base64 string\n * @param quality The quality of the image if lossy mimeType is used (e.g. image/jpeg, image/webp). See {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob | HTMLCanvasElement.toBlob()}'s `quality` parameter.\n */\nexport function DumpData(width, height, data, successCallback, mimeType = \"image/png\", fileName, invertY = false, toArrayBuffer = false, quality) {\n _CreateDumpRenderer().then((renderer) => {\n renderer.engine.setSize(width, height, true);\n // Convert if data are float32\n if (data instanceof Float32Array) {\n const data2 = new Uint8Array(data.length);\n let n = data.length;\n while (n--) {\n const v = data[n];\n data2[n] = Math.round(Clamp(v) * 255);\n }\n data = data2;\n }\n // Create the image\n const texture = renderer.engine.createRawTexture(data, width, height, Constants.TEXTUREFORMAT_RGBA, false, !invertY, Constants.TEXTURE_NEAREST_NEAREST);\n renderer.renderer.setViewport();\n renderer.renderer.applyEffectWrapper(renderer.wrapper);\n renderer.wrapper.effect._bindTexture(\"textureSampler\", texture);\n renderer.renderer.draw();\n if (toArrayBuffer) {\n Tools.ToBlob(renderer.canvas, (blob) => {\n const fileReader = new FileReader();\n fileReader.onload = (event) => {\n const arrayBuffer = event.target.result;\n if (successCallback) {\n successCallback(arrayBuffer);\n }\n };\n fileReader.readAsArrayBuffer(blob);\n }, mimeType, quality);\n }\n else {\n Tools.EncodeScreenshotCanvasData(renderer.canvas, successCallback, mimeType, fileName, quality);\n }\n texture.dispose();\n });\n}\n/**\n * Dispose the dump tools associated resources\n */\nexport function Dispose() {\n if (_dumpToolsEngine) {\n _dumpToolsEngine.wrapper.dispose();\n _dumpToolsEngine.renderer.dispose();\n _dumpToolsEngine.engine.dispose();\n }\n else {\n // in cases where the engine is not yet created, we need to wait for it to dispose it\n _enginePromise?.then((dumpToolsEngine) => {\n dumpToolsEngine.wrapper.dispose();\n dumpToolsEngine.renderer.dispose();\n dumpToolsEngine.engine.dispose();\n });\n }\n _enginePromise = null;\n _dumpToolsEngine = null;\n}\n/**\n * Object containing a set of static utilities functions to dump data from a canvas\n * @deprecated use functions\n */\nexport const DumpTools = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n DumpData,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n DumpDataAsync,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n DumpFramebuffer,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Dispose,\n};\n/**\n * This will be executed automatically for UMD and es5.\n * If esm dev wants the side effects to execute they will have to run it manually\n * Once we build native modules those need to be exported.\n * @internal\n */\nconst initSideEffects = () => {\n // References the dependencies.\n Tools.DumpData = DumpData;\n Tools.DumpDataAsync = DumpDataAsync;\n Tools.DumpFramebuffer = DumpFramebuffer;\n};\ninitSideEffects();\n//# sourceMappingURL=dumpTools.js.map"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{bu as e,C as n,T as a,E as r,bv as t,bw as s}from"./index-bkYfr-SD.esm.min.js";let i,p=null;async function o(e,n,a,r,t="image/png",s,i){const p=await a.readPixels(0,0,e,n);d(e,n,new Uint8Array(p.buffer),r,t,s,!0,void 0,i)}function c(e,n,a,r="image/png",t,s=!1,i=!1,p){return new Promise((o=>{d(e,n,a,(e=>o(e)),r,t,s,i,p)}))}function d(o,c,d,m,u="image/png",f,g=!1,w=!1,h){(async function(){return p||(p=new Promise(((e,n)=>{let a,p=null;const o={preserveDrawingBuffer:!0,depth:!1,stencil:!1,alpha:!0,premultipliedAlpha:!1,antialias:!1,failIfMajorPerformanceCaveat:!1};import("./thinEngine-Czvj0W_2.esm.min.js").then((function(e){return e.t})).then((({ThinEngine:c})=>{try{a=new OffscreenCanvas(100,100),p=new c(a,!1,o)}catch(e){a=document.createElement("canvas"),p=new c(a,!1,o)}r.Instances.pop(),r.OnEnginesDisposedObservable.add((e=>{p&&e!==p&&!p.isDisposed&&0===r.Instances.length&&l()})),p.getCaps().parallelShaderCompile=void 0;const d=new t(p);import("./pass.fragment-CzPpw3iK.esm.min.js").then((({passPixelShader:r})=>{if(!p)return void n("Engine is not defined");const t=new s({engine:p,name:r.name,fragmentShader:r.shader,samplerNames:["textureSampler"]});i={canvas:a,engine:p,renderer:d,wrapper:t},e(i)}))})).catch(n)}))),await p})().then((r=>{if(r.engine.setSize(o,c,!0),d instanceof Float32Array){const n=new Uint8Array(d.length);let a=d.length;for(;a--;){const r=d[a];n[a]=Math.round(255*e(r))}d=n}const t=r.engine.createRawTexture(d,o,c,n.TEXTUREFORMAT_RGBA,!1,!g,n.TEXTURE_NEAREST_NEAREST);r.renderer.setViewport(),r.renderer.applyEffectWrapper(r.wrapper),r.wrapper.effect._bindTexture("textureSampler",t),r.renderer.draw(),w?a.ToBlob(r.canvas,(e=>{const n=new FileReader;n.onload=e=>{const n=e.target.result;m&&m(n)},n.readAsArrayBuffer(e)}),u,h):a.EncodeScreenshotCanvasData(r.canvas,m,u,f,h),t.dispose()}))}function l(){i?(i.wrapper.dispose(),i.renderer.dispose(),i.engine.dispose()):p?.then((e=>{e.wrapper.dispose(),e.renderer.dispose(),e.engine.dispose()})),p=null,i=null}const m={DumpData:d,DumpDataAsync:c,DumpFramebuffer:o,Dispose:l};a.DumpData=d,a.DumpDataAsync=c,a.DumpFramebuffer=o;export{l as Dispose,d as DumpData,c as DumpDataAsync,o as DumpFramebuffer,m as DumpTools};
2
- //# sourceMappingURL=dumpTools-hJHAozcu.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dumpTools-hJHAozcu.esm.min.js","sources":["../../../../../dev/core/dist/Misc/dumpTools.js"],"sourcesContent":["import { Constants } from \"../Engines/constants\";\nimport { EffectRenderer, EffectWrapper } from \"../Materials/effectRenderer\";\nimport { Tools } from \"./tools\";\nimport { Clamp } from \"../Maths/math.scalar.functions\";\nimport { EngineStore } from \"../Engines/engineStore\";\nlet _dumpToolsEngine;\nlet _enginePromise = null;\nasync function _CreateDumpRenderer() {\n if (!_enginePromise) {\n _enginePromise = new Promise((resolve, reject) => {\n let canvas;\n let engine = null;\n const options = {\n preserveDrawingBuffer: true,\n depth: false,\n stencil: false,\n alpha: true,\n premultipliedAlpha: false,\n antialias: false,\n failIfMajorPerformanceCaveat: false,\n };\n import(\"../Engines/thinEngine\")\n .then(({ ThinEngine: thinEngineClass }) => {\n try {\n canvas = new OffscreenCanvas(100, 100); // will be resized later\n engine = new thinEngineClass(canvas, false, options);\n }\n catch (e) {\n // The browser either does not support OffscreenCanvas or WebGL context in OffscreenCanvas, fallback on a regular canvas\n canvas = document.createElement(\"canvas\");\n engine = new thinEngineClass(canvas, false, options);\n }\n // remove this engine from the list of instances to avoid using it for other purposes\n EngineStore.Instances.pop();\n // However, make sure to dispose it when no other engines are left\n EngineStore.OnEnginesDisposedObservable.add((e) => {\n // guaranteed to run when no other instances are left\n // only dispose if it's not the current engine\n if (engine && e !== engine && !engine.isDisposed && EngineStore.Instances.length === 0) {\n // Dump the engine and the associated resources\n Dispose();\n }\n });\n engine.getCaps().parallelShaderCompile = undefined;\n const renderer = new EffectRenderer(engine);\n import(\"../Shaders/pass.fragment\").then(({ passPixelShader }) => {\n if (!engine) {\n reject(\"Engine is not defined\");\n return;\n }\n const wrapper = new EffectWrapper({\n engine,\n name: passPixelShader.name,\n fragmentShader: passPixelShader.shader,\n samplerNames: [\"textureSampler\"],\n });\n _dumpToolsEngine = {\n canvas,\n engine,\n renderer,\n wrapper,\n };\n resolve(_dumpToolsEngine);\n });\n })\n .catch(reject);\n });\n }\n return await _enginePromise;\n}\n/**\n * Dumps the current bound framebuffer\n * @param width defines the rendering width\n * @param height defines the rendering height\n * @param engine defines the hosting engine\n * @param successCallback defines the callback triggered once the data are available\n * @param mimeType defines the mime type of the result\n * @param fileName defines the filename to download. If present, the result will automatically be downloaded\n * @param quality The quality of the image if lossy mimeType is used (e.g. image/jpeg, image/webp). See {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob | HTMLCanvasElement.toBlob()}'s `quality` parameter.\n * @returns a void promise\n */\nexport async function DumpFramebuffer(width, height, engine, successCallback, mimeType = \"image/png\", fileName, quality) {\n // Read the contents of the framebuffer\n const bufferView = await engine.readPixels(0, 0, width, height);\n const data = new Uint8Array(bufferView.buffer);\n DumpData(width, height, data, successCallback, mimeType, fileName, true, undefined, quality);\n}\n/**\n * Dumps an array buffer\n * @param width defines the rendering width\n * @param height defines the rendering height\n * @param data the data array\n * @param mimeType defines the mime type of the result\n * @param fileName defines the filename to download. If present, the result will automatically be downloaded\n * @param invertY true to invert the picture in the Y dimension\n * @param toArrayBuffer true to convert the data to an ArrayBuffer (encoded as `mimeType`) instead of a base64 string\n * @param quality The quality of the image if lossy mimeType is used (e.g. image/jpeg, image/webp). See {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob | HTMLCanvasElement.toBlob()}'s `quality` parameter.\n * @returns a promise that resolve to the final data\n */\nexport function DumpDataAsync(width, height, data, mimeType = \"image/png\", fileName, invertY = false, toArrayBuffer = false, quality) {\n return new Promise((resolve) => {\n DumpData(width, height, data, (result) => resolve(result), mimeType, fileName, invertY, toArrayBuffer, quality);\n });\n}\n/**\n * Dumps an array buffer\n * @param width defines the rendering width\n * @param height defines the rendering height\n * @param data the data array\n * @param successCallback defines the callback triggered once the data are available\n * @param mimeType defines the mime type of the result\n * @param fileName defines the filename to download. If present, the result will automatically be downloaded\n * @param invertY true to invert the picture in the Y dimension\n * @param toArrayBuffer true to convert the data to an ArrayBuffer (encoded as `mimeType`) instead of a base64 string\n * @param quality The quality of the image if lossy mimeType is used (e.g. image/jpeg, image/webp). See {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob | HTMLCanvasElement.toBlob()}'s `quality` parameter.\n */\nexport function DumpData(width, height, data, successCallback, mimeType = \"image/png\", fileName, invertY = false, toArrayBuffer = false, quality) {\n _CreateDumpRenderer().then((renderer) => {\n renderer.engine.setSize(width, height, true);\n // Convert if data are float32\n if (data instanceof Float32Array) {\n const data2 = new Uint8Array(data.length);\n let n = data.length;\n while (n--) {\n const v = data[n];\n data2[n] = Math.round(Clamp(v) * 255);\n }\n data = data2;\n }\n // Create the image\n const texture = renderer.engine.createRawTexture(data, width, height, Constants.TEXTUREFORMAT_RGBA, false, !invertY, Constants.TEXTURE_NEAREST_NEAREST);\n renderer.renderer.setViewport();\n renderer.renderer.applyEffectWrapper(renderer.wrapper);\n renderer.wrapper.effect._bindTexture(\"textureSampler\", texture);\n renderer.renderer.draw();\n if (toArrayBuffer) {\n Tools.ToBlob(renderer.canvas, (blob) => {\n const fileReader = new FileReader();\n fileReader.onload = (event) => {\n const arrayBuffer = event.target.result;\n if (successCallback) {\n successCallback(arrayBuffer);\n }\n };\n fileReader.readAsArrayBuffer(blob);\n }, mimeType, quality);\n }\n else {\n Tools.EncodeScreenshotCanvasData(renderer.canvas, successCallback, mimeType, fileName, quality);\n }\n texture.dispose();\n });\n}\n/**\n * Dispose the dump tools associated resources\n */\nexport function Dispose() {\n if (_dumpToolsEngine) {\n _dumpToolsEngine.wrapper.dispose();\n _dumpToolsEngine.renderer.dispose();\n _dumpToolsEngine.engine.dispose();\n }\n else {\n // in cases where the engine is not yet created, we need to wait for it to dispose it\n _enginePromise?.then((dumpToolsEngine) => {\n dumpToolsEngine.wrapper.dispose();\n dumpToolsEngine.renderer.dispose();\n dumpToolsEngine.engine.dispose();\n });\n }\n _enginePromise = null;\n _dumpToolsEngine = null;\n}\n/**\n * Object containing a set of static utilities functions to dump data from a canvas\n * @deprecated use functions\n */\nexport const DumpTools = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n DumpData,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n DumpDataAsync,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n DumpFramebuffer,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Dispose,\n};\n/**\n * This will be executed automatically for UMD and es5.\n * If esm dev wants the side effects to execute they will have to run it manually\n * Once we build native modules those need to be exported.\n * @internal\n */\nconst initSideEffects = () => {\n // References the dependencies.\n Tools.DumpData = DumpData;\n Tools.DumpDataAsync = DumpDataAsync;\n Tools.DumpFramebuffer = DumpFramebuffer;\n};\ninitSideEffects();\n//# sourceMappingURL=dumpTools.js.map"],"names":["_dumpToolsEngine","_enginePromise","async","DumpFramebuffer","width","height","engine","successCallback","mimeType","fileName","quality","bufferView","readPixels","DumpData","Uint8Array","buffer","undefined","DumpDataAsync","data","invertY","toArrayBuffer","Promise","resolve","result","reject","canvas","options","preserveDrawingBuffer","depth","stencil","alpha","premultipliedAlpha","antialias","failIfMajorPerformanceCaveat","import","then","n","t","ThinEngine","thinEngineClass","OffscreenCanvas","e","document","createElement","EngineStore","Instances","pop","OnEnginesDisposedObservable","add","isDisposed","length","Dispose","getCaps","parallelShaderCompile","renderer","EffectRenderer","passPixelShader","wrapper","EffectWrapper","name","fragmentShader","shader","samplerNames","catch","_CreateDumpRenderer","setSize","Float32Array","data2","v","Math","round","Clamp","texture","createRawTexture","Constants","TEXTUREFORMAT_RGBA","TEXTURE_NEAREST_NEAREST","setViewport","applyEffectWrapper","effect","_bindTexture","draw","Tools","ToBlob","blob","fileReader","FileReader","onload","event","arrayBuffer","target","readAsArrayBuffer","EncodeScreenshotCanvasData","dispose","dumpToolsEngine","DumpTools"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{C as e,I as t,L as r,a as _,b as i,G as E,S as s,B as a,A as n,E as T,P as h}from"./index-bkYfr-SD.esm.min.js";import{T as l,W as R,a as u}from"./thinEngine-Czvj0W_2.esm.min.js";import{R as o,P as A,_ as f,a as c,C as d,b as U,E as p,G as g,c as m,d as P,e as N}from"./engine.common-B1nX1uOv.esm.min.js";import"./audioEngine-Tyl5gl5Y.esm.min.js";import"./drawWrapper.functions-ng7lvueZ.esm.min.js";function S(t,r,_,i){let E,s=1;i===e.TEXTURETYPE_FLOAT?E=new Float32Array(r*_*4):i===e.TEXTURETYPE_HALF_FLOAT?(E=new Uint16Array(r*_*4),s=15360):E=i===e.TEXTURETYPE_UNSIGNED_INTEGER?new Uint32Array(r*_*4):new Uint8Array(r*_*4);for(let e=0;e<r;e++)for(let i=0;i<_;i++){const _=3*(i*r+e),a=4*(i*r+e);E[a+0]=t[_+0],E[a+1]=t[_+1],E[a+2]=t[_+2],E[a+3]=s}return E}function M(r){return function(_,i,E,s,a,n,T,h,l=null,R=e.TEXTURETYPE_UNSIGNED_INT){const u=r?this._gl.TEXTURE_3D:this._gl.TEXTURE_2D_ARRAY,o=new t(this,r?10:11);o.baseWidth=i,o.baseHeight=E,o.baseDepth=s,o.width=i,o.height=E,o.depth=s,o.format=a,o.type=R,o.generateMipMaps=n,o.samplingMode=h,r?o.is3D=!0:o.is2DArray=!0,this._doNotHandleContextLost||(o._bufferView=_),r?this.updateRawTexture3D(o,_,a,T,l,R):this.updateRawTexture2DArray(o,_,a,T,l,R),this._bindTextureDirectly(u,o,!0);const A=this._getSamplingParameters(h,n);return this._gl.texParameteri(u,this._gl.TEXTURE_MAG_FILTER,A.mag),this._gl.texParameteri(u,this._gl.TEXTURE_MIN_FILTER,A.min),n&&this._gl.generateMipmap(u),this._bindTextureDirectly(u,null),this._internalTexturesCache.push(o),o}}function I(t){return function(r,_,i,E,s=null,a=e.TEXTURETYPE_UNSIGNED_INT){const n=t?this._gl.TEXTURE_3D:this._gl.TEXTURE_2D_ARRAY,T=this._getWebGLTextureType(a),h=this._getInternalFormat(i),l=this._getRGBABufferInternalSizedFormat(a,i);this._bindTextureDirectly(n,r,!0),this._unpackFlipY(void 0===E||!!E),this._doNotHandleContextLost||(r._bufferView=_,r.format=i,r.invertY=E,r._compression=s),r.width%4!=0&&this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT,1),s&&_?this._gl.compressedTexImage3D(n,0,this.getCaps().s3tc[s],r.width,r.height,r.depth,0,_):this._gl.texImage3D(n,0,l,r.width,r.height,r.depth,0,h,T,_),r.generateMipMaps&&this._gl.generateMipmap(n),this._bindTextureDirectly(n,null),r.isReady=!0}}l.prototype.setAlphaMode=function(t,r=!1){if(this._alphaMode!==t){switch(t){case e.ALPHA_DISABLE:this._alphaState.alphaBlend=!1;break;case e.ALPHA_PREMULTIPLIED:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case e.ALPHA_PREMULTIPLIED_PORTERDUFF:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA,this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA),this._alphaState.alphaBlend=!0;break;case e.ALPHA_COMBINE:this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA,this._gl.ONE_MINUS_SRC_ALPHA,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case e.ALPHA_ONEONE:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE,this._gl.ZERO,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case e.ALPHA_ADD:this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA,this._gl.ONE,this._gl.ZERO,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case e.ALPHA_SUBTRACT:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ZERO,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case e.ALPHA_MULTIPLY:this._alphaState.setAlphaBlendFunctionParameters(this._gl.DST_COLOR,this._gl.ZERO,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case e.ALPHA_MAXIMIZED:this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case e.ALPHA_INTERPOLATE:this._alphaState.setAlphaBlendFunctionParameters(this._gl.CONSTANT_COLOR,this._gl.ONE_MINUS_CONSTANT_COLOR,this._gl.CONSTANT_ALPHA,this._gl.ONE_MINUS_CONSTANT_ALPHA),this._alphaState.alphaBlend=!0;break;case e.ALPHA_SCREENMODE:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA),this._alphaState.alphaBlend=!0;break;case e.ALPHA_ONEONE_ONEONE:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case e.ALPHA_ALPHATOCOLOR:this._alphaState.setAlphaBlendFunctionParameters(this._gl.DST_ALPHA,this._gl.ONE,this._gl.ZERO,this._gl.ZERO),this._alphaState.alphaBlend=!0;break;case e.ALPHA_REVERSEONEMINUS:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE_MINUS_DST_COLOR,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ONE_MINUS_DST_ALPHA,this._gl.ONE_MINUS_SRC_ALPHA),this._alphaState.alphaBlend=!0;break;case e.ALPHA_SRC_DSTONEMINUSSRCALPHA:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA,this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA),this._alphaState.alphaBlend=!0;break;case e.ALPHA_ONEONE_ONEZERO:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE,this._gl.ONE,this._gl.ZERO),this._alphaState.alphaBlend=!0;break;case e.ALPHA_EXCLUSION:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE_MINUS_DST_COLOR,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ZERO,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case e.ALPHA_LAYER_ACCUMULATE:this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA,this._gl.ONE_MINUS_SRC_ALPHA,this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA),this._alphaState.alphaBlend=!0}r||(this.depthCullingState.depthMask=t===e.ALPHA_DISABLE),this._alphaMode=t}else if(!r){const r=t===e.ALPHA_DISABLE;this.depthCullingState.depthMask!==r&&(this.depthCullingState.depthMask=r)}},l.prototype.updateRawTexture=function(t,r,_,i,E=null,s=e.TEXTURETYPE_UNSIGNED_INT,a=!1){if(!t)return;const n=this._getRGBABufferInternalSizedFormat(s,_,a),T=this._getInternalFormat(_),h=this._getWebGLTextureType(s);this._bindTextureDirectly(this._gl.TEXTURE_2D,t,!0),this._unpackFlipY(void 0===i||!!i),this._doNotHandleContextLost||(t._bufferView=r,t.format=_,t.type=s,t.invertY=i,t._compression=E),t.width%4!=0&&this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT,1),E&&r?this._gl.compressedTexImage2D(this._gl.TEXTURE_2D,0,this.getCaps().s3tc[E],t.width,t.height,0,r):this._gl.texImage2D(this._gl.TEXTURE_2D,0,n,t.width,t.height,0,T,h,r),t.generateMipMaps&&this._gl.generateMipmap(this._gl.TEXTURE_2D),this._bindTextureDirectly(this._gl.TEXTURE_2D,null),t.isReady=!0},l.prototype.createRawTexture=function(r,_,i,E,s,a,n,T=null,h=e.TEXTURETYPE_UNSIGNED_INT,l=0,R=!1){const u=new t(this,3);u.baseWidth=_,u.baseHeight=i,u.width=_,u.height=i,u.format=E,u.generateMipMaps=s,u.samplingMode=n,u.invertY=a,u._compression=T,u.type=h,u._useSRGBBuffer=this._getUseSRGBBuffer(R,!s),this._doNotHandleContextLost||(u._bufferView=r),this.updateRawTexture(u,r,E,a,T,h,u._useSRGBBuffer),this._bindTextureDirectly(this._gl.TEXTURE_2D,u,!0);const o=this._getSamplingParameters(n,s);return this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MAG_FILTER,o.mag),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MIN_FILTER,o.min),s&&this._gl.generateMipmap(this._gl.TEXTURE_2D),this._bindTextureDirectly(this._gl.TEXTURE_2D,null),this._internalTexturesCache.push(u),u},l.prototype.createRawCubeTexture=function(i,E,s,a,n,T,h,l=null){const R=this._gl,u=new t(this,8);u.isCube=!0,u.format=s,u.type=a,this._doNotHandleContextLost||(u._bufferViewArray=i);const o=this._getWebGLTextureType(a);let A=this._getInternalFormat(s);A===R.RGB&&(A=R.RGBA),o!==R.FLOAT||this._caps.textureFloatLinearFiltering?o!==this._gl.HALF_FLOAT_OES||this._caps.textureHalfFloatLinearFiltering?o!==R.FLOAT||this._caps.textureFloatRender?o!==R.HALF_FLOAT||this._caps.colorBufferFloat||(n=!1,r.Warn("Render to half float textures is not supported. Mipmap generation forced to false.")):(n=!1,r.Warn("Render to float textures is not supported. Mipmap generation forced to false.")):(n=!1,h=e.TEXTURE_NEAREST_SAMPLINGMODE,r.Warn("Half float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.")):(n=!1,h=e.TEXTURE_NEAREST_SAMPLINGMODE,r.Warn("Float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively."));const f=E,c=f;u.width=f,u.height=c,u.invertY=T,u._compression=l;if(!this.needPOTTextures||_(u.width)&&_(u.height)||(n=!1),i)this.updateRawCubeTexture(u,i,s,a,T,l);else{const e=this._getRGBABufferInternalSizedFormat(a),t=0;this._bindTextureDirectly(R.TEXTURE_CUBE_MAP,u,!0);for(let r=0;r<6;r++)l?R.compressedTexImage2D(R.TEXTURE_CUBE_MAP_POSITIVE_X+r,t,this.getCaps().s3tc[l],u.width,u.height,0,void 0):R.texImage2D(R.TEXTURE_CUBE_MAP_POSITIVE_X+r,t,e,u.width,u.height,0,A,o,null);this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null)}this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,u,!0),i&&n&&this._gl.generateMipmap(this._gl.TEXTURE_CUBE_MAP);const d=this._getSamplingParameters(h,n);return R.texParameteri(R.TEXTURE_CUBE_MAP,R.TEXTURE_MAG_FILTER,d.mag),R.texParameteri(R.TEXTURE_CUBE_MAP,R.TEXTURE_MIN_FILTER,d.min),R.texParameteri(R.TEXTURE_CUBE_MAP,R.TEXTURE_WRAP_S,R.CLAMP_TO_EDGE),R.texParameteri(R.TEXTURE_CUBE_MAP,R.TEXTURE_WRAP_T,R.CLAMP_TO_EDGE),this._bindTextureDirectly(R.TEXTURE_CUBE_MAP,null),u.generateMipMaps=n,u.samplingMode=h,u.isReady=!0,u},l.prototype.updateRawCubeTexture=function(e,t,r,i,E,s=null,a=0){e._bufferViewArray=t,e.format=r,e.type=i,e.invertY=E,e._compression=s;const n=this._gl,T=this._getWebGLTextureType(i);let h=this._getInternalFormat(r);const l=this._getRGBABufferInternalSizedFormat(i);let R=!1;h===n.RGB&&(h=n.RGBA,R=!0),this._bindTextureDirectly(n.TEXTURE_CUBE_MAP,e,!0),this._unpackFlipY(void 0===E||!!E),e.width%4!=0&&n.pixelStorei(n.UNPACK_ALIGNMENT,1);for(let r=0;r<6;r++){let _=t[r];s?n.compressedTexImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+r,a,this.getCaps().s3tc[s],e.width,e.height,0,_):(R&&(_=S(_,e.width,e.height,i)),n.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+r,a,l,e.width,e.height,0,h,T,_))}(!this.needPOTTextures||_(e.width)&&_(e.height))&&e.generateMipMaps&&0===a&&this._gl.generateMipmap(this._gl.TEXTURE_CUBE_MAP),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null),e.isReady=!0},l.prototype.createRawCubeTextureFromUrl=function(t,r,_,i,E,s,a,n,T=null,h=null,l=e.TEXTURE_TRILINEAR_SAMPLINGMODE,R=!1){const u=this._gl,o=this.createRawCubeTexture(null,_,i,E,!s,R,l,null);r?.addPendingData(o),o.url=t,o.isReady=!1,this._internalTexturesCache.push(o);const A=e=>{const t=o.width,_=a(e);if(_){if(n){const e=this._getWebGLTextureType(E);let r=this._getInternalFormat(i);const s=this._getRGBABufferInternalSizedFormat(E);let a=!1;r===u.RGB&&(r=u.RGBA,a=!0),this._bindTextureDirectly(u.TEXTURE_CUBE_MAP,o,!0),this._unpackFlipY(!1);const T=n(_);for(let _=0;_<T.length;_++){const i=t>>_;for(let t=0;t<6;t++){let n=T[_][t];a&&(n=S(n,i,i,E)),u.texImage2D(t,_,s,i,i,0,r,e,n)}}this._bindTextureDirectly(u.TEXTURE_CUBE_MAP,null)}else this.updateRawCubeTexture(o,_,i,E,R);o.isReady=!0,r?.removePendingData(o),o.onLoadedObservable.notifyObservers(o),o.onLoadedObservable.clear(),T&&T()}};return this._loadFile(t,(e=>{A(e)}),void 0,r?.offlineProvider,!0,((e,t)=>{r?.removePendingData(o),h&&e&&h(e.status+" "+e.statusText,t)})),o},l.prototype.createRawTexture2DArray=M(!1),l.prototype.createRawTexture3D=M(!0),l.prototype.updateRawTexture2DArray=I(!1),l.prototype.updateRawTexture3D=I(!0),l.prototype._readTexturePixelsSync=function(e,t,r,_=-1,E=0,s=null,a=!0,n=!1,T=0,h=0){const l=this._gl;if(!l)throw new Error("Engine does not have gl rendering context.");if(!this._dummyFramebuffer){const e=l.createFramebuffer();if(!e)throw new Error("Unable to create dummy framebuffer");this._dummyFramebuffer=e}l.bindFramebuffer(l.FRAMEBUFFER,this._dummyFramebuffer),_>-1?l.framebufferTexture2D(l.FRAMEBUFFER,l.COLOR_ATTACHMENT0,l.TEXTURE_CUBE_MAP_POSITIVE_X+_,e._hardwareTexture?.underlyingResource,E):l.framebufferTexture2D(l.FRAMEBUFFER,l.COLOR_ATTACHMENT0,l.TEXTURE_2D,e._hardwareTexture?.underlyingResource,E);let R=void 0!==e.type?this._getWebGLTextureType(e.type):l.UNSIGNED_BYTE;if(n)s||(s=i(e.type,4*t*r));else if(R===l.UNSIGNED_BYTE)s||(s=new Uint8Array(4*t*r)),R=l.UNSIGNED_BYTE;else s||(s=new Float32Array(4*t*r)),R=l.FLOAT;return a&&this.flushFramebuffer(),l.readPixels(T,h,t,r,l.RGBA,R,s),l.bindFramebuffer(l.FRAMEBUFFER,this._currentFramebuffer),s},l.prototype._readTexturePixels=function(e,t,r,_=-1,i=0,E=null,s=!0,a=!1,n=0,T=0){return Promise.resolve(this._readTexturePixelsSync(e,t,r,_,i,E,s,a,n,T))},l.prototype.updateDynamicIndexBuffer=function(e,t,r=0){let _;this._currentBoundBuffer[this._gl.ELEMENT_ARRAY_BUFFER]=null,this.bindIndexBuffer(e),_=e.is32Bits?t instanceof Uint32Array?t:new Uint32Array(t):t instanceof Uint16Array?t:new Uint16Array(t),this._gl.bufferData(this._gl.ELEMENT_ARRAY_BUFFER,_,this._gl.DYNAMIC_DRAW),this._resetIndexBufferBinding()},l.prototype.updateDynamicVertexBuffer=function(e,t,r,_){this.bindArrayBuffer(e),void 0===r&&(r=0);const i=t.byteLength||t.length;void 0===_||_>=i&&0===r?t instanceof Array?this._gl.bufferSubData(this._gl.ARRAY_BUFFER,r,new Float32Array(t)):this._gl.bufferSubData(this._gl.ARRAY_BUFFER,r,t):t instanceof Array?this._gl.bufferSubData(this._gl.ARRAY_BUFFER,0,new Float32Array(t).subarray(r,r+_)):(t=t instanceof ArrayBuffer?new Uint8Array(t,r,_):new Uint8Array(t.buffer,t.byteOffset+r,_),this._gl.bufferSubData(this._gl.ARRAY_BUFFER,0,t)),this._resetVertexBufferBinding()},l.prototype._createDepthStencilCubeTexture=function(e,_){const i=new t(this,12);if(i.isCube=!0,1===this.webGLVersion)return r.Error("Depth cube texture is not supported by WebGL 1."),i;const E={bilinearFiltering:!1,comparisonFunction:0,generateStencil:!1,..._},s=this._gl;this._bindTextureDirectly(s.TEXTURE_CUBE_MAP,i,!0),this._setupDepthStencilTexture(i,e,E.bilinearFiltering,E.comparisonFunction);for(let t=0;t<6;t++)E.generateStencil?s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,s.DEPTH24_STENCIL8,e,e,0,s.DEPTH_STENCIL,s.UNSIGNED_INT_24_8,null):s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,s.DEPTH_COMPONENT24,e,e,0,s.DEPTH_COMPONENT,s.UNSIGNED_INT,null);return this._bindTextureDirectly(s.TEXTURE_CUBE_MAP,null),this._internalTexturesCache.push(i),i},l.prototype._setCubeMapTextureParams=function(t,r,_){const i=this._gl;i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_MIN_FILTER,r?i.LINEAR_MIPMAP_LINEAR:i.LINEAR),i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),t.samplingMode=r?e.TEXTURE_TRILINEAR_SAMPLINGMODE:e.TEXTURE_LINEAR_LINEAR,r&&this.getCaps().textureMaxLevel&&void 0!==_&&_>0&&(i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_MAX_LEVEL,_),t._maxLodLevel=_),this._bindTextureDirectly(i.TEXTURE_CUBE_MAP,null)},l.prototype.createCubeTexture=function(e,t,_,i,s=null,a=null,n,T=null,h=!1,l=0,R=0,u=null,o,A=!1,f=null){const c=this._gl;return this.createCubeTextureBase(e,t,_,!!i,s,a,n,T,h,l,R,u,(e=>this._bindTextureDirectly(c.TEXTURE_CUBE_MAP,e,!0)),((e,t)=>{const _=this.needPOTTextures?E(t[0].width,this._caps.maxCubemapTextureSize):t[0].width,a=_,T=[c.TEXTURE_CUBE_MAP_POSITIVE_X,c.TEXTURE_CUBE_MAP_POSITIVE_Y,c.TEXTURE_CUBE_MAP_POSITIVE_Z,c.TEXTURE_CUBE_MAP_NEGATIVE_X,c.TEXTURE_CUBE_MAP_NEGATIVE_Y,c.TEXTURE_CUBE_MAP_NEGATIVE_Z];this._bindTextureDirectly(c.TEXTURE_CUBE_MAP,e,!0),this._unpackFlipY(!1);const h=n?this._getInternalFormat(n,e._useSRGBBuffer):e._useSRGBBuffer?this._glSRGBExtensionValues.SRGB8_ALPHA8:c.RGBA;let l=n?this._getInternalFormat(n):c.RGBA;e._useSRGBBuffer&&1===this.webGLVersion&&(l=h);for(let e=0;e<T.length;e++)if(t[e].width!==_||t[e].height!==a){if(this._prepareWorkingCanvas(),!this._workingCanvas||!this._workingContext)return void r.Warn("Cannot create canvas to resize texture.");this._workingCanvas.width=_,this._workingCanvas.height=a,this._workingContext.drawImage(t[e],0,0,t[e].width,t[e].height,0,0,_,a),c.texImage2D(T[e],0,h,l,c.UNSIGNED_BYTE,this._workingCanvas)}else c.texImage2D(T[e],0,h,l,c.UNSIGNED_BYTE,t[e]);i||c.generateMipmap(c.TEXTURE_CUBE_MAP),this._setCubeMapTextureParams(e,!i),e.width=_,e.height=a,e.isReady=!0,n&&(e.format=n),e.onLoadedObservable.notifyObservers(e),e.onLoadedObservable.clear(),s&&s()}),!!A,f)},l.prototype.generateMipMapsForCubemap=function(e,t=!0){if(e.generateMipMaps){const r=this._gl;this._bindTextureDirectly(r.TEXTURE_CUBE_MAP,e,!0),r.generateMipmap(r.TEXTURE_CUBE_MAP),t&&this._bindTextureDirectly(r.TEXTURE_CUBE_MAP,null)}};class D extends o{constructor(e,t,r,_,i){super(e,t,r,_),this._framebuffer=null,this._depthStencilBuffer=null,this._MSAAFramebuffer=null,this._colorTextureArray=null,this._depthStencilTextureArray=null,this._disposeOnlyFramebuffers=!1,this._currentLOD=0,this._context=i}_cloneRenderTargetWrapper(){let e=null;return this._colorTextureArray&&this._depthStencilTextureArray?(e=this._engine.createMultiviewRenderTargetTexture(this.width,this.height),e.texture.isReady=!0):e=super._cloneRenderTargetWrapper(),e}_swapRenderTargetWrapper(e){super._swapRenderTargetWrapper(e),e._framebuffer=this._framebuffer,e._depthStencilBuffer=this._depthStencilBuffer,e._MSAAFramebuffer=this._MSAAFramebuffer,e._colorTextureArray=this._colorTextureArray,e._depthStencilTextureArray=this._depthStencilTextureArray,this._framebuffer=this._depthStencilBuffer=this._MSAAFramebuffer=this._colorTextureArray=this._depthStencilTextureArray=null}createDepthStencilTexture(t=0,r=!0,_=!1,i=1,E=e.TEXTUREFORMAT_DEPTH32_FLOAT,s){if(this._depthStencilBuffer){const e=this._engine,t=e._currentFramebuffer,r=this._context;e._bindUnboundFramebuffer(this._framebuffer),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,null),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,null),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.STENCIL_ATTACHMENT,r.RENDERBUFFER,null),e._bindUnboundFramebuffer(t),r.deleteRenderbuffer(this._depthStencilBuffer),this._depthStencilBuffer=null}return super.createDepthStencilTexture(t,r,_,i,E,s)}shareDepth(e){super.shareDepth(e);const t=this._context,r=this._depthStencilBuffer,_=e._MSAAFramebuffer||e._framebuffer,i=this._engine;e._depthStencilBuffer&&e._depthStencilBuffer!==r&&t.deleteRenderbuffer(e._depthStencilBuffer),e._depthStencilBuffer=r;const E=e._generateStencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;i._bindUnboundFramebuffer(_),t.framebufferRenderbuffer(t.FRAMEBUFFER,E,t.RENDERBUFFER,r),i._bindUnboundFramebuffer(null)}_bindTextureRenderTarget(e,t=0,r,_=0){if(!e._hardwareTexture)return;const i=this._framebuffer,E=this._engine,s=E._currentFramebuffer;if(E._bindUnboundFramebuffer(i),E.webGLVersion>1){const i=this._context,E=i["COLOR_ATTACHMENT"+t];e.is2DArray||e.is3D?(r=r??this.layerIndices?.[t]??0,i.framebufferTextureLayer(i.FRAMEBUFFER,E,e._hardwareTexture.underlyingResource,_,r)):e.isCube?(r=r??this.faceIndices?.[t]??0,i.framebufferTexture2D(i.FRAMEBUFFER,E,i.TEXTURE_CUBE_MAP_POSITIVE_X+r,e._hardwareTexture.underlyingResource,_)):i.framebufferTexture2D(i.FRAMEBUFFER,E,i.TEXTURE_2D,e._hardwareTexture.underlyingResource,_)}else{const i=this._context,E=i["COLOR_ATTACHMENT"+t+"_WEBGL"],s=void 0!==r?i.TEXTURE_CUBE_MAP_POSITIVE_X+r:i.TEXTURE_2D;i.framebufferTexture2D(i.FRAMEBUFFER,E,s,e._hardwareTexture.underlyingResource,_)}E._bindUnboundFramebuffer(s)}setTexture(e,t=0,r=!0){super.setTexture(e,t,r),this._bindTextureRenderTarget(e,t)}setLayerAndFaceIndices(e,t){if(super.setLayerAndFaceIndices(e,t),!this.textures||!this.layerIndices||!this.faceIndices)return;const r=this._attachments?.length??this.textures.length;for(let e=0;e<r;e++){const t=this.textures[e];t&&(t.is2DArray||t.is3D?this._bindTextureRenderTarget(t,e,this.layerIndices[e]):t.isCube?this._bindTextureRenderTarget(t,e,this.faceIndices[e]):this._bindTextureRenderTarget(t,e))}}setLayerAndFaceIndex(e=0,t,r){if(super.setLayerAndFaceIndex(e,t,r),!this.textures||!this.layerIndices||!this.faceIndices)return;const _=this.textures[e];_.is2DArray||_.is3D?this._bindTextureRenderTarget(this.textures[e],e,this.layerIndices[e]):_.isCube&&this._bindTextureRenderTarget(this.textures[e],e,this.faceIndices[e])}dispose(e=this._disposeOnlyFramebuffers){const t=this._context;e||(this._colorTextureArray&&(this._context.deleteTexture(this._colorTextureArray),this._colorTextureArray=null),this._depthStencilTextureArray&&(this._context.deleteTexture(this._depthStencilTextureArray),this._depthStencilTextureArray=null)),this._framebuffer&&(t.deleteFramebuffer(this._framebuffer),this._framebuffer=null),this._depthStencilBuffer&&(t.deleteRenderbuffer(this._depthStencilBuffer),this._depthStencilBuffer=null),this._MSAAFramebuffer&&(t.deleteFramebuffer(this._MSAAFramebuffer),this._MSAAFramebuffer=null),super.dispose(e)}}l.prototype._createHardwareRenderTargetWrapper=function(e,t,r){const _=new D(e,t,r,this,this._gl);return this._renderTargetWrapperCache.push(_),_},l.prototype.createRenderTargetTexture=function(e,t){const r=this._createHardwareRenderTargetWrapper(!1,!1,e);let _,i,E=!0,s=!1,a=!1,n=1;void 0!==t&&"object"==typeof t&&(E=t.generateDepthBuffer??!0,s=!!t.generateStencilBuffer,a=!!t.noColorAttachment,_=t.colorAttachment,n=t.samples??1,i=t.label);const T=_||(a?null:this._createInternalTexture(e,t,!0,5)),h=e.width||e,l=e.height||e,R=this._currentFramebuffer,u=this._gl,o=u.createFramebuffer();if(this._bindUnboundFramebuffer(o),r._depthStencilBuffer=this._setupFramebufferDepthAttachments(s,E,h,l),!T||T.is2DArray||T.is3D||u.framebufferTexture2D(u.FRAMEBUFFER,u.COLOR_ATTACHMENT0,u.TEXTURE_2D,T._hardwareTexture.underlyingResource,0),this._bindUnboundFramebuffer(R),r.label=i??"RenderTargetWrapper",r._framebuffer=o,r._generateDepthBuffer=E,r._generateStencilBuffer=s,r.setTextures(T),_){if(r._samples=_.samples,_.samples>1){const e=_._hardwareTexture.getMSAARenderBuffer(0);r._MSAAFramebuffer=u.createFramebuffer(),this._bindUnboundFramebuffer(r._MSAAFramebuffer),u.framebufferRenderbuffer(u.FRAMEBUFFER,u.COLOR_ATTACHMENT0,u.RENDERBUFFER,e),this._bindUnboundFramebuffer(null)}}else this.updateRenderTargetTextureSampleCount(r,n);return r},l.prototype._createDepthStencilTexture=function(_,i,E){const s=this._gl,a=_.layers||0,n=_.depth||0;let T=s.TEXTURE_2D;0!==a?T=s.TEXTURE_2D_ARRAY:0!==n&&(T=s.TEXTURE_3D);const h=new t(this,12);if(h.label=i.label,!this._caps.depthTextureExtension)return r.Error("Depth texture is not supported by your browser or hardware."),h;const l={bilinearFiltering:!1,comparisonFunction:0,generateStencil:!1,...i};if(this._bindTextureDirectly(T,h,!0),this._setupDepthStencilTexture(h,_,0!==l.comparisonFunction&&l.bilinearFiltering,l.comparisonFunction,l.samples),void 0!==l.depthTextureFormat){if(l.depthTextureFormat!==e.TEXTUREFORMAT_DEPTH16&&l.depthTextureFormat!==e.TEXTUREFORMAT_DEPTH24&&l.depthTextureFormat!==e.TEXTUREFORMAT_DEPTH24UNORM_STENCIL8&&l.depthTextureFormat!==e.TEXTUREFORMAT_DEPTH24_STENCIL8&&l.depthTextureFormat!==e.TEXTUREFORMAT_DEPTH32_FLOAT&&l.depthTextureFormat!==e.TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8)return r.Error(`Depth texture ${l.depthTextureFormat} format is not supported.`),h;h.format=l.depthTextureFormat}else h.format=l.generateStencil?e.TEXTUREFORMAT_DEPTH24_STENCIL8:e.TEXTUREFORMAT_DEPTH24;const R=h.format===e.TEXTUREFORMAT_DEPTH24UNORM_STENCIL8||h.format===e.TEXTUREFORMAT_DEPTH24_STENCIL8||h.format===e.TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8;let u=s.UNSIGNED_INT;h.format===e.TEXTUREFORMAT_DEPTH16?u=s.UNSIGNED_SHORT:h.format===e.TEXTUREFORMAT_DEPTH24UNORM_STENCIL8||h.format===e.TEXTUREFORMAT_DEPTH24_STENCIL8?u=s.UNSIGNED_INT_24_8:h.format===e.TEXTUREFORMAT_DEPTH32_FLOAT?u=s.FLOAT:h.format===e.TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8&&(u=s.FLOAT_32_UNSIGNED_INT_24_8_REV);const o=R?s.DEPTH_STENCIL:s.DEPTH_COMPONENT,A=this._getInternalFormatFromDepthTextureFormat(h.format,!0,R);return h.is2DArray?s.texImage3D(T,0,A,h.width,h.height,a,0,o,u,null):h.is3D?s.texImage3D(T,0,A,h.width,h.height,n,0,o,u,null):s.texImage2D(T,0,A,h.width,h.height,0,o,u,null),this._bindTextureDirectly(T,null),this._internalTexturesCache.push(h),E._depthStencilBuffer&&(s.deleteRenderbuffer(E._depthStencilBuffer),E._depthStencilBuffer=null),this._bindUnboundFramebuffer(E._MSAAFramebuffer??E._framebuffer),E._generateStencilBuffer=R,E._depthStencilTextureWithStencil=R,E._depthStencilBuffer=this._setupFramebufferDepthAttachments(E._generateStencilBuffer,E._generateDepthBuffer,E.width,E.height,E.samples,h.format),this._bindUnboundFramebuffer(null),h},l.prototype.updateRenderTargetTextureSampleCount=function(e,t){if(this.webGLVersion<2||!e)return 1;if(e.samples===t)return t;const r=this._gl;t=Math.min(t,this.getCaps().maxMSAASamples),e._depthStencilBuffer&&(r.deleteRenderbuffer(e._depthStencilBuffer),e._depthStencilBuffer=null),e._MSAAFramebuffer&&(r.deleteFramebuffer(e._MSAAFramebuffer),e._MSAAFramebuffer=null);const _=e.texture?._hardwareTexture;if(_?.releaseMSAARenderBuffers(),e.texture&&t>1&&"function"==typeof r.renderbufferStorageMultisample){const i=r.createFramebuffer();if(!i)throw new Error("Unable to create multi sampled framebuffer");e._MSAAFramebuffer=i,this._bindUnboundFramebuffer(e._MSAAFramebuffer);const E=this._createRenderBuffer(e.texture.width,e.texture.height,t,-1,this._getRGBABufferInternalSizedFormat(e.texture.type,e.texture.format,e.texture._useSRGBBuffer),r.COLOR_ATTACHMENT0,!1);if(!E)throw new Error("Unable to create multi sampled framebuffer");_?.addMSAARenderBuffer(E)}this._bindUnboundFramebuffer(e._MSAAFramebuffer??e._framebuffer),e.texture&&(e.texture.samples=t),e._samples=t;const i=e._depthStencilTexture?e._depthStencilTexture.format:void 0;return e._depthStencilBuffer=this._setupFramebufferDepthAttachments(e._generateStencilBuffer,e._generateDepthBuffer,e.width,e.height,t,i),this._bindUnboundFramebuffer(null),t},l.prototype._setupDepthStencilTexture=function(t,r,_,i,E=1){const s=r.width??r,a=r.height??r,n=r.layers||0,T=r.depth||0;t.baseWidth=s,t.baseHeight=a,t.width=s,t.height=a,t.is2DArray=n>0,t.depth=n||T,t.isReady=!0,t.samples=E,t.generateMipMaps=!1,t.samplingMode=_?e.TEXTURE_BILINEAR_SAMPLINGMODE:e.TEXTURE_NEAREST_SAMPLINGMODE,t.type=e.TEXTURETYPE_UNSIGNED_INT,t._comparisonFunction=i;const h=this._gl,l=this._getTextureTarget(t),R=this._getSamplingParameters(t.samplingMode,!1);h.texParameteri(l,h.TEXTURE_MAG_FILTER,R.mag),h.texParameteri(l,h.TEXTURE_MIN_FILTER,R.min),h.texParameteri(l,h.TEXTURE_WRAP_S,h.CLAMP_TO_EDGE),h.texParameteri(l,h.TEXTURE_WRAP_T,h.CLAMP_TO_EDGE),this.webGLVersion>1&&(0===i?(h.texParameteri(l,h.TEXTURE_COMPARE_FUNC,e.LEQUAL),h.texParameteri(l,h.TEXTURE_COMPARE_MODE,h.NONE)):(h.texParameteri(l,h.TEXTURE_COMPARE_FUNC,i),h.texParameteri(l,h.TEXTURE_COMPARE_MODE,h.COMPARE_REF_TO_TEXTURE)))},l.prototype.setDepthStencilTexture=function(e,t,r,_){void 0!==e&&(t&&(this._boundUniforms[e]=t),r&&r.depthStencilTexture?this._setTexture(e,r,!1,!0,_):this._setTexture(e,null,void 0,void 0,_))},l.prototype.createRenderTargetCubeTexture=function(_,i){const E=this._createHardwareRenderTargetWrapper(!1,!0,_),s={generateMipMaps:!0,generateDepthBuffer:!0,generateStencilBuffer:!1,type:e.TEXTURETYPE_UNSIGNED_INT,samplingMode:e.TEXTURE_TRILINEAR_SAMPLINGMODE,format:e.TEXTUREFORMAT_RGBA,...i};s.generateStencilBuffer=s.generateDepthBuffer&&s.generateStencilBuffer,(s.type!==e.TEXTURETYPE_FLOAT||this._caps.textureFloatLinearFiltering)&&(s.type!==e.TEXTURETYPE_HALF_FLOAT||this._caps.textureHalfFloatLinearFiltering)||(s.samplingMode=e.TEXTURE_NEAREST_SAMPLINGMODE);const a=this._gl,n=new t(this,5);this._bindTextureDirectly(a.TEXTURE_CUBE_MAP,n,!0);const T=this._getSamplingParameters(s.samplingMode,s.generateMipMaps);s.type!==e.TEXTURETYPE_FLOAT||this._caps.textureFloat||(s.type=e.TEXTURETYPE_UNSIGNED_INT,r.Warn("Float textures are not supported. Cube render target forced to TEXTURETYPE_UNESIGNED_BYTE type")),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MAG_FILTER,T.mag),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MIN_FILTER,T.min),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);for(let e=0;e<6;e++)a.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,this._getRGBABufferInternalSizedFormat(s.type,s.format),_,_,0,this._getInternalFormat(s.format),this._getWebGLTextureType(s.type),null);const h=a.createFramebuffer();return this._bindUnboundFramebuffer(h),E._depthStencilBuffer=this._setupFramebufferDepthAttachments(s.generateStencilBuffer,s.generateDepthBuffer,_,_),s.generateMipMaps&&a.generateMipmap(a.TEXTURE_CUBE_MAP),this._bindTextureDirectly(a.TEXTURE_CUBE_MAP,null),this._bindUnboundFramebuffer(null),E._framebuffer=h,E._generateDepthBuffer=s.generateDepthBuffer,E._generateStencilBuffer=s.generateStencilBuffer,n.width=_,n.height=_,n.isReady=!0,n.isCube=!0,n.samples=1,n.generateMipMaps=s.generateMipMaps,n.samplingMode=s.samplingMode,n.type=s.type,n.format=s.format,this._internalTexturesCache.push(n),E.setTextures(n),E},l.prototype.createPrefilteredCubeTexture=function(_,i,E,n,T=null,h=null,l,R=null,u=!0){return this.createCubeTexture(_,i,null,!1,(async _=>{if(!_)return void(T&&T(null));const h=_.texture;if(u?_.info.sphericalPolynomial&&(h._sphericalPolynomial=_.info.sphericalPolynomial):h._sphericalPolynomial=new s,h._source=9,this.getCaps().textureLOD)return void(T&&T(h));const l=this._gl,R=_.width;if(!R)return;const{DDSTools:o}=await import("./dds-mtdSIG7y.esm.min.js"),A=[];for(let s=0;s<3;s++){const T=1-s/2,u=n,f=Math.log2(R)*E+n,c=u+(f-u)*T,d=Math.round(Math.min(Math.max(c,0),f)),U=new t(this,2);if(U.type=h.type,U.format=h.format,U.width=Math.pow(2,Math.max(Math.log2(R)-d,0)),U.height=U.width,U.isCube=!0,U._cachedWrapU=e.TEXTURE_CLAMP_ADDRESSMODE,U._cachedWrapV=e.TEXTURE_CLAMP_ADDRESSMODE,this._bindTextureDirectly(l.TEXTURE_CUBE_MAP,U,!0),U.samplingMode=e.TEXTURE_LINEAR_LINEAR,l.texParameteri(l.TEXTURE_CUBE_MAP,l.TEXTURE_MAG_FILTER,l.LINEAR),l.texParameteri(l.TEXTURE_CUBE_MAP,l.TEXTURE_MIN_FILTER,l.LINEAR),l.texParameteri(l.TEXTURE_CUBE_MAP,l.TEXTURE_WRAP_S,l.CLAMP_TO_EDGE),l.texParameteri(l.TEXTURE_CUBE_MAP,l.TEXTURE_WRAP_T,l.CLAMP_TO_EDGE),_.isDDS){const e=_.info,t=_.data;this._unpackFlipY(e.isCompressed),o.UploadDDSLevels(this,U,t,e,!0,6,d)}else r.Warn("DDS is the only prefiltered cube map supported so far.");this._bindTextureDirectly(l.TEXTURE_CUBE_MAP,null);const p=new a(i);p._isCube=!0,p._texture=U,U.isReady=!0,A.push(p)}h._lodTextureHigh=A[2],h._lodTextureMid=A[1],h._lodTextureLow=A[0],T&&T(h)}),h,l,R,u,E,n)},l.prototype.createUniformBuffer=function(e,t){const r=this._gl.createBuffer();if(!r)throw new Error("Unable to create uniform buffer");const _=new R(r);return this.bindUniformBuffer(_),e instanceof Float32Array?this._gl.bufferData(this._gl.UNIFORM_BUFFER,e,this._gl.STATIC_DRAW):this._gl.bufferData(this._gl.UNIFORM_BUFFER,new Float32Array(e),this._gl.STATIC_DRAW),this.bindUniformBuffer(null),_.references=1,_},l.prototype.createDynamicUniformBuffer=function(e,t){const r=this._gl.createBuffer();if(!r)throw new Error("Unable to create dynamic uniform buffer");const _=new R(r);return this.bindUniformBuffer(_),e instanceof Float32Array?this._gl.bufferData(this._gl.UNIFORM_BUFFER,e,this._gl.DYNAMIC_DRAW):this._gl.bufferData(this._gl.UNIFORM_BUFFER,new Float32Array(e),this._gl.DYNAMIC_DRAW),this.bindUniformBuffer(null),_.references=1,_},l.prototype.updateUniformBuffer=function(e,t,r,_){this.bindUniformBuffer(e),void 0===r&&(r=0),void 0===_?t instanceof Float32Array?this._gl.bufferSubData(this._gl.UNIFORM_BUFFER,r,t):this._gl.bufferSubData(this._gl.UNIFORM_BUFFER,r,new Float32Array(t)):t instanceof Float32Array?this._gl.bufferSubData(this._gl.UNIFORM_BUFFER,0,t.subarray(r,r+_)):this._gl.bufferSubData(this._gl.UNIFORM_BUFFER,0,new Float32Array(t).subarray(r,r+_)),this.bindUniformBuffer(null)},l.prototype.bindUniformBuffer=function(e){this._gl.bindBuffer(this._gl.UNIFORM_BUFFER,e?e.underlyingResource:null)},l.prototype.bindUniformBufferBase=function(e,t,r){this._gl.bindBufferBase(this._gl.UNIFORM_BUFFER,t,e?e.underlyingResource:null)},l.prototype.bindUniformBlock=function(e,t,r){const _=e.program,i=this._gl.getUniformBlockIndex(_,t);4294967295!==i&&this._gl.uniformBlockBinding(_,i,r)};class F extends l{static get NpmPackage(){return n.NpmPackage}static get Version(){return n.Version}static get Instances(){return T.Instances}static get LastCreatedEngine(){return T.LastCreatedEngine}static get LastCreatedScene(){return T.LastCreatedScene}static DefaultLoadingScreenFactory(e){return n.DefaultLoadingScreenFactory(e)}get _supportsHardwareTextureRescaling(){return!!F._RescalePostProcessFactory}_measureFps(){this._performanceMonitor.sampleFrame(),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0}get performanceMonitor(){return this._performanceMonitor}constructor(e,t,r,_=!1){if(super(e,t,r,_),this.customAnimationFrameRequester=null,this._performanceMonitor=new A,this._drawCalls=new h,e&&(this._features.supportRenderPasses=!0,r=this._creationOptions,e.getContext)){const t=e;this._sharedInit(t)}}_initGLContext(){super._initGLContext(),this._rescalePostProcess=null}_sharedInit(e){super._sharedInit(e),f(this,e,this._creationOptions)}resizeImageBitmap(e,t,r){return c(this,e,t,r)}_createImageBitmapFromSource(e,t){return d(this,e,t)}switchFullscreen(e){this.isFullscreen?this.exitFullscreen():this.enterFullscreen(e)}enterFullscreen(e){this.isFullscreen||(this._pointerLockRequested=e,this._renderingCanvas&&U(this._renderingCanvas))}exitFullscreen(){this.isFullscreen&&p()}setDitheringState(e){e?this._gl.enable(this._gl.DITHER):this._gl.disable(this._gl.DITHER)}setRasterizerState(e){e?this._gl.disable(this._gl.RASTERIZER_DISCARD):this._gl.enable(this._gl.RASTERIZER_DISCARD)}setDirectViewport(e,t,r,_){const i=this._cachedViewport;return this._cachedViewport=null,this._viewport(e,t,r,_),i}scissorClear(e,t,r,_,i){this.enableScissor(e,t,r,_),this.clear(i,!0,!0,!0),this.disableScissor()}enableScissor(e,t,r,_){const i=this._gl;i.enable(i.SCISSOR_TEST),i.scissor(e,t,r,_)}disableScissor(){const e=this._gl;e.disable(e.SCISSOR_TEST)}_loadFileAsync(e,t,r){return new Promise(((_,i)=>{this._loadFile(e,(e=>{_(e)}),void 0,t,r,((e,t)=>{i(t)}))}))}getVertexShaderSource(e){const t=this._gl.getAttachedShaders(e);return t?this._gl.getShaderSource(t[0]):null}getFragmentShaderSource(e){const t=this._gl.getAttachedShaders(e);return t?this._gl.getShaderSource(t[1]):null}set framebufferDimensionsObject(e){this._framebufferDimensionsObject=e,this._framebufferDimensionsObject&&this.onResizeObservable.notifyObservers(this)}_rebuildBuffers(){for(const e of this.scenes)e.resetCachedMaterial(),e._rebuildGeometries();for(const e of this._virtualScenes)e.resetCachedMaterial(),e._rebuildGeometries();super._rebuildBuffers()}getFontOffset(e){return g(e)}_cancelFrame(){if(this.customAnimationFrameRequester){if(0!==this._frameHandler){this._frameHandler=0;const{cancelAnimationFrame:e}=this.customAnimationFrameRequester;e&&e(this.customAnimationFrameRequester.requestID)}}else super._cancelFrame()}_renderLoop(){if(this._frameHandler=0,!this._contextWasLost){let e=!0;(this.isDisposed||!this.renderEvenInBackground&&this._windowIsBackground)&&(e=!1),e&&(this.beginFrame(),this._renderViews()||this._renderFrame(),this.endFrame())}this._activeRenderLoops.length>0&&0===this._frameHandler&&(this.customAnimationFrameRequester?(this.customAnimationFrameRequester.requestID=this._queueNewFrame(this.customAnimationFrameRequester.renderFunction||this._boundRenderFunction,this.customAnimationFrameRequester),this._frameHandler=this.customAnimationFrameRequester.requestID):this._frameHandler=this._queueNewFrame(this._boundRenderFunction,this.getHostWindow()))}enterPointerlock(){this._renderingCanvas&&m(this._renderingCanvas)}exitPointerlock(){P()}beginFrame(){this._measureFps(),super.beginFrame()}_deletePipelineContext(e){const t=e;t&&t.program&&t.transformFeedback&&(this.deleteTransformFeedback(t.transformFeedback),t.transformFeedback=null),super._deletePipelineContext(e)}createShaderProgram(e,t,r,_,i,E=null){i=i||this._gl,this.onBeforeShaderCompilationObservable.notifyObservers(this);const s=super.createShaderProgram(e,t,r,_,i,E);return this.onAfterShaderCompilationObservable.notifyObservers(this),s}_createShaderProgram(e,t,r,_,i=null){const E=_.createProgram();if(e.program=E,!E)throw new Error("Unable to create program");if(_.attachShader(E,t),_.attachShader(E,r),this.webGLVersion>1&&i){const t=this.createTransformFeedback();this.bindTransformFeedback(t),this.setTranformFeedbackVaryings(E,i),e.transformFeedback=t}return _.linkProgram(E),this.webGLVersion>1&&i&&this.bindTransformFeedback(null),e.context=_,e.vertexShader=t,e.fragmentShader=r,e.isParallelCompiled||this._finalizePipelineContext(e),E}_releaseTexture(e){super._releaseTexture(e)}_releaseRenderTargetWrapper(e){super._releaseRenderTargetWrapper(e),this.scenes.forEach((t=>{t.postProcesses.forEach((t=>{t._outputTexture===e&&(t._outputTexture=null)})),t.cameras.forEach((t=>{t._postProcesses.forEach((t=>{t&&t._outputTexture===e&&(t._outputTexture=null)}))}))}))}_rescaleTexture(t,r,_,i,E){this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MAG_FILTER,this._gl.LINEAR),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MIN_FILTER,this._gl.LINEAR),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_WRAP_S,this._gl.CLAMP_TO_EDGE),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_WRAP_T,this._gl.CLAMP_TO_EDGE);const s=this.createRenderTargetTexture({width:r.width,height:r.height},{generateMipMaps:!1,type:e.TEXTURETYPE_UNSIGNED_INT,samplingMode:e.TEXTURE_BILINEAR_SAMPLINGMODE,generateDepthBuffer:!1,generateStencilBuffer:!1});if(!this._rescalePostProcess&&F._RescalePostProcessFactory&&(this._rescalePostProcess=F._RescalePostProcessFactory(this)),this._rescalePostProcess){this._rescalePostProcess.externalTextureSamplerBinding=!0;const e=()=>{this._rescalePostProcess.onApply=function(e){e._bindTexture("textureSampler",t)};let e=_;e||(e=this.scenes[this.scenes.length-1]),e.postProcessManager.directRender([this._rescalePostProcess],s,!0),this._bindTextureDirectly(this._gl.TEXTURE_2D,r,!0),this._gl.copyTexImage2D(this._gl.TEXTURE_2D,0,i,0,0,r.width,r.height,0),this.unBindFramebuffer(s),s.dispose(),E&&E()},a=this._rescalePostProcess.getEffect();a?a.executeWhenCompiled(e):this._rescalePostProcess.onEffectCreatedObservable.addOnce((t=>{t.executeWhenCompiled(e)}))}}wrapWebGLTexture(r,_=!1,i=e.TEXTURE_TRILINEAR_SAMPLINGMODE,E=0,s=0){const a=new u(r,this._gl),n=new t(this,0,!0);return n._hardwareTexture=a,n.baseWidth=E,n.baseHeight=s,n.width=E,n.height=s,n.isReady=!0,n.useMipMaps=_,this.updateTextureSamplingMode(i,n),n}_uploadImageToTexture(e,t,r=0,_=0){const i=this._gl,E=this._getWebGLTextureType(e.type),s=this._getInternalFormat(e.format),a=this._getRGBABufferInternalSizedFormat(e.type,s),n=e.isCube?i.TEXTURE_CUBE_MAP:i.TEXTURE_2D;this._bindTextureDirectly(n,e,!0),this._unpackFlipY(e.invertY);let T=i.TEXTURE_2D;e.isCube&&(T=i.TEXTURE_CUBE_MAP_POSITIVE_X+r),i.texImage2D(T,_,a,s,E,t),this._bindTextureDirectly(n,null,!0)}updateTextureComparisonFunction(t,_){if(1===this.webGLVersion)return void r.Error("WebGL 1 does not support texture comparison.");const i=this._gl;t.isCube?(this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,t,!0),0===_?(i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_COMPARE_FUNC,e.LEQUAL),i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_COMPARE_MODE,i.NONE)):(i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_COMPARE_FUNC,_),i.texParameteri(i.TEXTURE_CUBE_MAP,i.TEXTURE_COMPARE_MODE,i.COMPARE_REF_TO_TEXTURE)),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null)):(this._bindTextureDirectly(this._gl.TEXTURE_2D,t,!0),0===_?(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_COMPARE_FUNC,e.LEQUAL),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_COMPARE_MODE,i.NONE)):(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_COMPARE_FUNC,_),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_COMPARE_MODE,i.COMPARE_REF_TO_TEXTURE)),this._bindTextureDirectly(this._gl.TEXTURE_2D,null)),t._comparisonFunction=_}createInstancesBuffer(e){const t=this._gl.createBuffer();if(!t)throw new Error("Unable to create instance buffer");const r=new R(t);return r.capacity=e,this.bindArrayBuffer(r),this._gl.bufferData(this._gl.ARRAY_BUFFER,e,this._gl.DYNAMIC_DRAW),r.references=1,r}deleteInstancesBuffer(e){this._gl.deleteBuffer(e)}_clientWaitAsync(e,t=0,r=10){const _=this._gl;return new Promise(((i,E)=>{const s=()=>{const a=_.clientWaitSync(e,t,0);a!=_.WAIT_FAILED?a!=_.TIMEOUT_EXPIRED?i():setTimeout(s,r):E()};s()}))}_readPixelsAsync(e,t,r,_,i,E,s){if(this._webGLVersion<2)throw new Error("_readPixelsAsync only work on WebGL2+");const a=this._gl,n=a.createBuffer();a.bindBuffer(a.PIXEL_PACK_BUFFER,n),a.bufferData(a.PIXEL_PACK_BUFFER,s.byteLength,a.STREAM_READ),a.readPixels(e,t,r,_,i,E,0),a.bindBuffer(a.PIXEL_PACK_BUFFER,null);const T=a.fenceSync(a.SYNC_GPU_COMMANDS_COMPLETE,0);return T?(a.flush(),this._clientWaitAsync(T,0,10).then((()=>(a.deleteSync(T),a.bindBuffer(a.PIXEL_PACK_BUFFER,n),a.getBufferSubData(a.PIXEL_PACK_BUFFER,0,s),a.bindBuffer(a.PIXEL_PACK_BUFFER,null),a.deleteBuffer(n),s)))):null}dispose(){this.hideLoadingUI(),this._rescalePostProcess&&this._rescalePostProcess.dispose(),N(this,this._renderingCanvas),super.dispose()}}F.ALPHA_DISABLE=e.ALPHA_DISABLE,F.ALPHA_ADD=e.ALPHA_ADD,F.ALPHA_COMBINE=e.ALPHA_COMBINE,F.ALPHA_SUBTRACT=e.ALPHA_SUBTRACT,F.ALPHA_MULTIPLY=e.ALPHA_MULTIPLY,F.ALPHA_MAXIMIZED=e.ALPHA_MAXIMIZED,F.ALPHA_ONEONE=e.ALPHA_ONEONE,F.ALPHA_PREMULTIPLIED=e.ALPHA_PREMULTIPLIED,F.ALPHA_PREMULTIPLIED_PORTERDUFF=e.ALPHA_PREMULTIPLIED_PORTERDUFF,F.ALPHA_INTERPOLATE=e.ALPHA_INTERPOLATE,F.ALPHA_SCREENMODE=e.ALPHA_SCREENMODE,F.DELAYLOADSTATE_NONE=e.DELAYLOADSTATE_NONE,F.DELAYLOADSTATE_LOADED=e.DELAYLOADSTATE_LOADED,F.DELAYLOADSTATE_LOADING=e.DELAYLOADSTATE_LOADING,F.DELAYLOADSTATE_NOTLOADED=e.DELAYLOADSTATE_NOTLOADED,F.NEVER=e.NEVER,F.ALWAYS=e.ALWAYS,F.LESS=e.LESS,F.EQUAL=e.EQUAL,F.LEQUAL=e.LEQUAL,F.GREATER=e.GREATER,F.GEQUAL=e.GEQUAL,F.NOTEQUAL=e.NOTEQUAL,F.KEEP=e.KEEP,F.REPLACE=e.REPLACE,F.INCR=e.INCR,F.DECR=e.DECR,F.INVERT=e.INVERT,F.INCR_WRAP=e.INCR_WRAP,F.DECR_WRAP=e.DECR_WRAP,F.TEXTURE_CLAMP_ADDRESSMODE=e.TEXTURE_CLAMP_ADDRESSMODE,F.TEXTURE_WRAP_ADDRESSMODE=e.TEXTURE_WRAP_ADDRESSMODE,F.TEXTURE_MIRROR_ADDRESSMODE=e.TEXTURE_MIRROR_ADDRESSMODE,F.TEXTUREFORMAT_ALPHA=e.TEXTUREFORMAT_ALPHA,F.TEXTUREFORMAT_LUMINANCE=e.TEXTUREFORMAT_LUMINANCE,F.TEXTUREFORMAT_LUMINANCE_ALPHA=e.TEXTUREFORMAT_LUMINANCE_ALPHA,F.TEXTUREFORMAT_RGB=e.TEXTUREFORMAT_RGB,F.TEXTUREFORMAT_RGBA=e.TEXTUREFORMAT_RGBA,F.TEXTUREFORMAT_RED=e.TEXTUREFORMAT_RED,F.TEXTUREFORMAT_R=e.TEXTUREFORMAT_R,F.TEXTUREFORMAT_RG=e.TEXTUREFORMAT_RG,F.TEXTUREFORMAT_RED_INTEGER=e.TEXTUREFORMAT_RED_INTEGER,F.TEXTUREFORMAT_R_INTEGER=e.TEXTUREFORMAT_R_INTEGER,F.TEXTUREFORMAT_RG_INTEGER=e.TEXTUREFORMAT_RG_INTEGER,F.TEXTUREFORMAT_RGB_INTEGER=e.TEXTUREFORMAT_RGB_INTEGER,F.TEXTUREFORMAT_RGBA_INTEGER=e.TEXTUREFORMAT_RGBA_INTEGER,F.TEXTURETYPE_UNSIGNED_BYTE=e.TEXTURETYPE_UNSIGNED_BYTE,F.TEXTURETYPE_UNSIGNED_INT=e.TEXTURETYPE_UNSIGNED_INT,F.TEXTURETYPE_FLOAT=e.TEXTURETYPE_FLOAT,F.TEXTURETYPE_HALF_FLOAT=e.TEXTURETYPE_HALF_FLOAT,F.TEXTURETYPE_BYTE=e.TEXTURETYPE_BYTE,F.TEXTURETYPE_SHORT=e.TEXTURETYPE_SHORT,F.TEXTURETYPE_UNSIGNED_SHORT=e.TEXTURETYPE_UNSIGNED_SHORT,F.TEXTURETYPE_INT=e.TEXTURETYPE_INT,F.TEXTURETYPE_UNSIGNED_INTEGER=e.TEXTURETYPE_UNSIGNED_INTEGER,F.TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4=e.TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4,F.TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1=e.TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1,F.TEXTURETYPE_UNSIGNED_SHORT_5_6_5=e.TEXTURETYPE_UNSIGNED_SHORT_5_6_5,F.TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV=e.TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV,F.TEXTURETYPE_UNSIGNED_INT_24_8=e.TEXTURETYPE_UNSIGNED_INT_24_8,F.TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV=e.TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV,F.TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV=e.TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV,F.TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV=e.TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV,F.TEXTURE_NEAREST_SAMPLINGMODE=e.TEXTURE_NEAREST_SAMPLINGMODE,F.TEXTURE_BILINEAR_SAMPLINGMODE=e.TEXTURE_BILINEAR_SAMPLINGMODE,F.TEXTURE_TRILINEAR_SAMPLINGMODE=e.TEXTURE_TRILINEAR_SAMPLINGMODE,F.TEXTURE_NEAREST_NEAREST_MIPLINEAR=e.TEXTURE_NEAREST_NEAREST_MIPLINEAR,F.TEXTURE_LINEAR_LINEAR_MIPNEAREST=e.TEXTURE_LINEAR_LINEAR_MIPNEAREST,F.TEXTURE_LINEAR_LINEAR_MIPLINEAR=e.TEXTURE_LINEAR_LINEAR_MIPLINEAR,F.TEXTURE_NEAREST_NEAREST_MIPNEAREST=e.TEXTURE_NEAREST_NEAREST_MIPNEAREST,F.TEXTURE_NEAREST_LINEAR_MIPNEAREST=e.TEXTURE_NEAREST_LINEAR_MIPNEAREST,F.TEXTURE_NEAREST_LINEAR_MIPLINEAR=e.TEXTURE_NEAREST_LINEAR_MIPLINEAR,F.TEXTURE_NEAREST_LINEAR=e.TEXTURE_NEAREST_LINEAR,F.TEXTURE_NEAREST_NEAREST=e.TEXTURE_NEAREST_NEAREST,F.TEXTURE_LINEAR_NEAREST_MIPNEAREST=e.TEXTURE_LINEAR_NEAREST_MIPNEAREST,F.TEXTURE_LINEAR_NEAREST_MIPLINEAR=e.TEXTURE_LINEAR_NEAREST_MIPLINEAR,F.TEXTURE_LINEAR_LINEAR=e.TEXTURE_LINEAR_LINEAR,F.TEXTURE_LINEAR_NEAREST=e.TEXTURE_LINEAR_NEAREST,F.TEXTURE_EXPLICIT_MODE=e.TEXTURE_EXPLICIT_MODE,F.TEXTURE_SPHERICAL_MODE=e.TEXTURE_SPHERICAL_MODE,F.TEXTURE_PLANAR_MODE=e.TEXTURE_PLANAR_MODE,F.TEXTURE_CUBIC_MODE=e.TEXTURE_CUBIC_MODE,F.TEXTURE_PROJECTION_MODE=e.TEXTURE_PROJECTION_MODE,F.TEXTURE_SKYBOX_MODE=e.TEXTURE_SKYBOX_MODE,F.TEXTURE_INVCUBIC_MODE=e.TEXTURE_INVCUBIC_MODE,F.TEXTURE_EQUIRECTANGULAR_MODE=e.TEXTURE_EQUIRECTANGULAR_MODE,F.TEXTURE_FIXED_EQUIRECTANGULAR_MODE=e.TEXTURE_FIXED_EQUIRECTANGULAR_MODE,F.TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE=e.TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE,F.SCALEMODE_FLOOR=e.SCALEMODE_FLOOR,F.SCALEMODE_NEAREST=e.SCALEMODE_NEAREST,F.SCALEMODE_CEILING=e.SCALEMODE_CEILING;export{F as Engine};
2
- //# sourceMappingURL=engine-CfBkxMlv.esm.min.js.map