@babylonjs/viewer 7.24.0-alpha → 7.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) 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 +192 -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 +199 -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 -17
  158. package/readme.md +21 -35
  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 +21 -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 +40 -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 +675 -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/dist/babylon-viewer.esm.js +0 -2
  193. package/dist/babylon-viewer.esm.js.map +0 -1
  194. package/dist/babylon-viewer.esm.min.js +0 -2
  195. package/dist/babylon-viewer.esm.min.js.map +0 -1
  196. package/dist/chunks/EXT_lights_image_based-C8Zx_zbb.esm.min.js +0 -2
  197. package/dist/chunks/EXT_lights_image_based-C8Zx_zbb.esm.min.js.map +0 -1
  198. package/dist/chunks/EXT_lights_image_based-kduc1dpt.esm.js +0 -170
  199. package/dist/chunks/EXT_lights_image_based-kduc1dpt.esm.js.map +0 -1
  200. package/dist/chunks/EXT_mesh_gpu_instancing-CUpO919s.esm.min.js +0 -2
  201. package/dist/chunks/EXT_mesh_gpu_instancing-CUpO919s.esm.min.js.map +0 -1
  202. package/dist/chunks/EXT_mesh_gpu_instancing-CYGlESBG.esm.js +0 -86
  203. package/dist/chunks/EXT_mesh_gpu_instancing-CYGlESBG.esm.js.map +0 -1
  204. package/dist/chunks/EXT_meshopt_compression-BtWefmPI.esm.js +0 -134
  205. package/dist/chunks/EXT_meshopt_compression-BtWefmPI.esm.js.map +0 -1
  206. package/dist/chunks/EXT_meshopt_compression-DNd-1RJ_.esm.min.js +0 -2
  207. package/dist/chunks/EXT_meshopt_compression-DNd-1RJ_.esm.min.js.map +0 -1
  208. package/dist/chunks/EXT_texture_avif-BgOmraWM.esm.min.js +0 -2
  209. package/dist/chunks/EXT_texture_avif-BgOmraWM.esm.min.js.map +0 -1
  210. package/dist/chunks/EXT_texture_avif-BkBGixX6.esm.js +0 -44
  211. package/dist/chunks/EXT_texture_avif-BkBGixX6.esm.js.map +0 -1
  212. package/dist/chunks/EXT_texture_webp-DEij2Hfd.esm.min.js +0 -2
  213. package/dist/chunks/EXT_texture_webp-DEij2Hfd.esm.min.js.map +0 -1
  214. package/dist/chunks/EXT_texture_webp-Uw1qOCtv.esm.js +0 -43
  215. package/dist/chunks/EXT_texture_webp-Uw1qOCtv.esm.js.map +0 -1
  216. package/dist/chunks/ExtrasAsMetadata-BqsudUT7.esm.min.js +0 -2
  217. package/dist/chunks/ExtrasAsMetadata-BqsudUT7.esm.min.js.map +0 -1
  218. package/dist/chunks/ExtrasAsMetadata-CM2jTjHQ.esm.js +0 -64
  219. package/dist/chunks/ExtrasAsMetadata-CM2jTjHQ.esm.js.map +0 -1
  220. package/dist/chunks/KHR_animation_pointer-DX9lguJB.esm.js +0 -343
  221. package/dist/chunks/KHR_animation_pointer-DX9lguJB.esm.js.map +0 -1
  222. package/dist/chunks/KHR_animation_pointer-D_r3SXH0.esm.min.js +0 -2
  223. package/dist/chunks/KHR_animation_pointer-D_r3SXH0.esm.min.js.map +0 -1
  224. package/dist/chunks/KHR_draco_mesh_compression-Bxjw8_pv.esm.min.js +0 -2
  225. package/dist/chunks/KHR_draco_mesh_compression-Bxjw8_pv.esm.min.js.map +0 -1
  226. package/dist/chunks/KHR_draco_mesh_compression-CbI7tqZf.esm.js +0 -610
  227. package/dist/chunks/KHR_draco_mesh_compression-CbI7tqZf.esm.js.map +0 -1
  228. package/dist/chunks/KHR_interactivity-B9qhnhvi.esm.js +0 -4033
  229. package/dist/chunks/KHR_interactivity-B9qhnhvi.esm.js.map +0 -1
  230. package/dist/chunks/KHR_interactivity-ClkL8PwU.esm.min.js +0 -2
  231. package/dist/chunks/KHR_interactivity-ClkL8PwU.esm.min.js.map +0 -1
  232. package/dist/chunks/KHR_lights_punctual-C7-LlQCf.esm.js +0 -1253
  233. package/dist/chunks/KHR_lights_punctual-C7-LlQCf.esm.js.map +0 -1
  234. package/dist/chunks/KHR_lights_punctual-hn-7LTf-.esm.min.js +0 -2
  235. package/dist/chunks/KHR_lights_punctual-hn-7LTf-.esm.min.js.map +0 -1
  236. package/dist/chunks/KHR_materials_anisotropy-B4Tuk6uT.esm.js +0 -64
  237. package/dist/chunks/KHR_materials_anisotropy-B4Tuk6uT.esm.js.map +0 -1
  238. package/dist/chunks/KHR_materials_anisotropy-CKZ6ypYV.esm.min.js +0 -2
  239. package/dist/chunks/KHR_materials_anisotropy-CKZ6ypYV.esm.min.js.map +0 -1
  240. package/dist/chunks/KHR_materials_clearcoat-B7g-cV_Q.esm.js +0 -96
  241. package/dist/chunks/KHR_materials_clearcoat-B7g-cV_Q.esm.js.map +0 -1
  242. package/dist/chunks/KHR_materials_clearcoat-BBlfAKyA.esm.min.js +0 -2
  243. package/dist/chunks/KHR_materials_clearcoat-BBlfAKyA.esm.min.js.map +0 -1
  244. package/dist/chunks/KHR_materials_diffuse_transmission-Cxa1EzSD.esm.js +0 -96
  245. package/dist/chunks/KHR_materials_diffuse_transmission-Cxa1EzSD.esm.js.map +0 -1
  246. package/dist/chunks/KHR_materials_diffuse_transmission-D7VVR_6W.esm.min.js +0 -2
  247. package/dist/chunks/KHR_materials_diffuse_transmission-D7VVR_6W.esm.min.js.map +0 -1
  248. package/dist/chunks/KHR_materials_dispersion-BD-i4dhK.esm.js +0 -63
  249. package/dist/chunks/KHR_materials_dispersion-BD-i4dhK.esm.js.map +0 -1
  250. package/dist/chunks/KHR_materials_dispersion-DA1pPYlo.esm.min.js +0 -2
  251. package/dist/chunks/KHR_materials_dispersion-DA1pPYlo.esm.min.js.map +0 -1
  252. package/dist/chunks/KHR_materials_emissive_strength-BUG2Suzu.esm.js +0 -55
  253. package/dist/chunks/KHR_materials_emissive_strength-BUG2Suzu.esm.js.map +0 -1
  254. package/dist/chunks/KHR_materials_emissive_strength-Cy4f53O0.esm.min.js +0 -2
  255. package/dist/chunks/KHR_materials_emissive_strength-Cy4f53O0.esm.min.js.map +0 -1
  256. package/dist/chunks/KHR_materials_ior-CXkf52WI.esm.js +0 -64
  257. package/dist/chunks/KHR_materials_ior-CXkf52WI.esm.js.map +0 -1
  258. package/dist/chunks/KHR_materials_ior-Cb18R0md.esm.min.js +0 -2
  259. package/dist/chunks/KHR_materials_ior-Cb18R0md.esm.min.js.map +0 -1
  260. package/dist/chunks/KHR_materials_iridescence-CRrr8cNQ.esm.js +0 -72
  261. package/dist/chunks/KHR_materials_iridescence-CRrr8cNQ.esm.js.map +0 -1
  262. package/dist/chunks/KHR_materials_iridescence-RKidJoeM.esm.min.js +0 -2
  263. package/dist/chunks/KHR_materials_iridescence-RKidJoeM.esm.min.js.map +0 -1
  264. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CM3wFF_J.esm.min.js +0 -2
  265. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CM3wFF_J.esm.min.js.map +0 -1
  266. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-JiRlMqAc.esm.js +0 -81
  267. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-JiRlMqAc.esm.js.map +0 -1
  268. package/dist/chunks/KHR_materials_sheen-CFE2-qvr.esm.min.js +0 -2
  269. package/dist/chunks/KHR_materials_sheen-CFE2-qvr.esm.min.js.map +0 -1
  270. package/dist/chunks/KHR_materials_sheen-yahUgSy0.esm.js +0 -85
  271. package/dist/chunks/KHR_materials_sheen-yahUgSy0.esm.js.map +0 -1
  272. package/dist/chunks/KHR_materials_specular-D5MMqFRA.esm.min.js +0 -2
  273. package/dist/chunks/KHR_materials_specular-D5MMqFRA.esm.min.js.map +0 -1
  274. package/dist/chunks/KHR_materials_specular-uE0VOMMR.esm.js +0 -75
  275. package/dist/chunks/KHR_materials_specular-uE0VOMMR.esm.js.map +0 -1
  276. package/dist/chunks/KHR_materials_transmission-BqfkbFTi.esm.js +0 -307
  277. package/dist/chunks/KHR_materials_transmission-BqfkbFTi.esm.js.map +0 -1
  278. package/dist/chunks/KHR_materials_transmission-Cy5bbuBe.esm.min.js +0 -2
  279. package/dist/chunks/KHR_materials_transmission-Cy5bbuBe.esm.min.js.map +0 -1
  280. package/dist/chunks/KHR_materials_unlit-CeAe8MXr.esm.js +0 -74
  281. package/dist/chunks/KHR_materials_unlit-CeAe8MXr.esm.js.map +0 -1
  282. package/dist/chunks/KHR_materials_unlit-D_vQV9wJ.esm.min.js +0 -2
  283. package/dist/chunks/KHR_materials_unlit-D_vQV9wJ.esm.min.js.map +0 -1
  284. package/dist/chunks/KHR_materials_variants-DI_pay4_.esm.js +0 -238
  285. package/dist/chunks/KHR_materials_variants-DI_pay4_.esm.js.map +0 -1
  286. package/dist/chunks/KHR_materials_variants-jFCWO0BP.esm.min.js +0 -2
  287. package/dist/chunks/KHR_materials_variants-jFCWO0BP.esm.min.js.map +0 -1
  288. package/dist/chunks/KHR_materials_volume-CeG8b15V.esm.js +0 -88
  289. package/dist/chunks/KHR_materials_volume-CeG8b15V.esm.js.map +0 -1
  290. package/dist/chunks/KHR_materials_volume-DE_Ylfcc.esm.min.js +0 -2
  291. package/dist/chunks/KHR_materials_volume-DE_Ylfcc.esm.min.js.map +0 -1
  292. package/dist/chunks/KHR_mesh_quantization-CzyL_Cnv.esm.js +0 -26
  293. package/dist/chunks/KHR_mesh_quantization-CzyL_Cnv.esm.js.map +0 -1
  294. package/dist/chunks/KHR_mesh_quantization-DJe_n3uT.esm.min.js +0 -2
  295. package/dist/chunks/KHR_mesh_quantization-DJe_n3uT.esm.min.js.map +0 -1
  296. package/dist/chunks/KHR_texture_basisu-BM_kwHpr.esm.min.js +0 -2
  297. package/dist/chunks/KHR_texture_basisu-BM_kwHpr.esm.min.js.map +0 -1
  298. package/dist/chunks/KHR_texture_basisu-CW33-gFJ.esm.js +0 -43
  299. package/dist/chunks/KHR_texture_basisu-CW33-gFJ.esm.js.map +0 -1
  300. package/dist/chunks/KHR_texture_transform-BvOVd3aP.esm.js +0 -63
  301. package/dist/chunks/KHR_texture_transform-BvOVd3aP.esm.js.map +0 -1
  302. package/dist/chunks/KHR_texture_transform-DP5URy2N.esm.min.js +0 -2
  303. package/dist/chunks/KHR_texture_transform-DP5URy2N.esm.min.js.map +0 -1
  304. package/dist/chunks/KHR_xmp_json_ld-BUxeQ4mX.esm.js +0 -51
  305. package/dist/chunks/KHR_xmp_json_ld-BUxeQ4mX.esm.js.map +0 -1
  306. package/dist/chunks/KHR_xmp_json_ld-CakdJpK8.esm.min.js +0 -2
  307. package/dist/chunks/KHR_xmp_json_ld-CakdJpK8.esm.min.js.map +0 -1
  308. package/dist/chunks/MSFT_audio_emitter-CANraFUR.esm.js +0 -1601
  309. package/dist/chunks/MSFT_audio_emitter-CANraFUR.esm.js.map +0 -1
  310. package/dist/chunks/MSFT_audio_emitter-CCZ2emXW.esm.min.js +0 -2
  311. package/dist/chunks/MSFT_audio_emitter-CCZ2emXW.esm.min.js.map +0 -1
  312. package/dist/chunks/MSFT_lod-B6edIFfM.esm.js +0 -337
  313. package/dist/chunks/MSFT_lod-B6edIFfM.esm.js.map +0 -1
  314. package/dist/chunks/MSFT_lod-CTqZxsr6.esm.min.js +0 -2
  315. package/dist/chunks/MSFT_lod-CTqZxsr6.esm.min.js.map +0 -1
  316. package/dist/chunks/MSFT_minecraftMesh-BQ2-yi3j.esm.min.js +0 -2
  317. package/dist/chunks/MSFT_minecraftMesh-BQ2-yi3j.esm.min.js.map +0 -1
  318. package/dist/chunks/MSFT_minecraftMesh-utO1z3Rb.esm.js +0 -46
  319. package/dist/chunks/MSFT_minecraftMesh-utO1z3Rb.esm.js.map +0 -1
  320. package/dist/chunks/MSFT_sRGBFactors-DcH5vUrm.esm.min.js +0 -2
  321. package/dist/chunks/MSFT_sRGBFactors-DcH5vUrm.esm.min.js.map +0 -1
  322. package/dist/chunks/MSFT_sRGBFactors-Dxlg_cnl.esm.js +0 -47
  323. package/dist/chunks/MSFT_sRGBFactors-Dxlg_cnl.esm.js.map +0 -1
  324. package/dist/chunks/assetContainer-D7kzzGaF.esm.js +0 -1598
  325. package/dist/chunks/assetContainer-D7kzzGaF.esm.js.map +0 -1
  326. package/dist/chunks/assetContainer-DerZknN4.esm.min.js +0 -2
  327. package/dist/chunks/assetContainer-DerZknN4.esm.min.js.map +0 -1
  328. package/dist/chunks/basisTextureLoader-DFUefcfx.esm.js +0 -600
  329. package/dist/chunks/basisTextureLoader-DFUefcfx.esm.js.map +0 -1
  330. package/dist/chunks/basisTextureLoader-DHZAViG3.esm.min.js +0 -2
  331. package/dist/chunks/basisTextureLoader-DHZAViG3.esm.min.js.map +0 -1
  332. package/dist/chunks/ddsTextureLoader-Besuv3in.esm.min.js +0 -2
  333. package/dist/chunks/ddsTextureLoader-Besuv3in.esm.min.js.map +0 -1
  334. package/dist/chunks/ddsTextureLoader-DAJtmdH2.esm.js +0 -87
  335. package/dist/chunks/ddsTextureLoader-DAJtmdH2.esm.js.map +0 -1
  336. package/dist/chunks/default.fragment-Byp0EQWo.esm.js +0 -452
  337. package/dist/chunks/default.fragment-Byp0EQWo.esm.js.map +0 -1
  338. package/dist/chunks/default.fragment-CPrwFLxj.esm.min.js +0 -2
  339. package/dist/chunks/default.fragment-CPrwFLxj.esm.min.js.map +0 -1
  340. package/dist/chunks/default.fragment-CuTK0g2w.esm.min.js +0 -2
  341. package/dist/chunks/default.fragment-CuTK0g2w.esm.min.js.map +0 -1
  342. package/dist/chunks/default.fragment-D4K678XE.esm.js +0 -515
  343. package/dist/chunks/default.fragment-D4K678XE.esm.js.map +0 -1
  344. package/dist/chunks/default.vertex-CBf60jXb.esm.js +0 -178
  345. package/dist/chunks/default.vertex-CBf60jXb.esm.js.map +0 -1
  346. package/dist/chunks/default.vertex-CPLi2rTa.esm.min.js +0 -2
  347. package/dist/chunks/default.vertex-CPLi2rTa.esm.min.js.map +0 -1
  348. package/dist/chunks/default.vertex-DneLJIzI.esm.js +0 -199
  349. package/dist/chunks/default.vertex-DneLJIzI.esm.js.map +0 -1
  350. package/dist/chunks/default.vertex-tjZYwgIm.esm.min.js +0 -2
  351. package/dist/chunks/default.vertex-tjZYwgIm.esm.min.js.map +0 -1
  352. package/dist/chunks/defaultUboDeclaration-5Ze2L4TA.esm.js +0 -15
  353. package/dist/chunks/defaultUboDeclaration-5Ze2L4TA.esm.js.map +0 -1
  354. package/dist/chunks/defaultUboDeclaration-BbZB9zOH.esm.min.js +0 -2
  355. package/dist/chunks/defaultUboDeclaration-BbZB9zOH.esm.min.js.map +0 -1
  356. package/dist/chunks/defaultUboDeclaration-C1D54TCU.esm.min.js +0 -2
  357. package/dist/chunks/defaultUboDeclaration-C1D54TCU.esm.min.js.map +0 -1
  358. package/dist/chunks/defaultUboDeclaration-xq351fzv.esm.js +0 -13
  359. package/dist/chunks/defaultUboDeclaration-xq351fzv.esm.js.map +0 -1
  360. package/dist/chunks/envTextureLoader-Cd87_F9v.esm.js +0 -63
  361. package/dist/chunks/envTextureLoader-Cd87_F9v.esm.js.map +0 -1
  362. package/dist/chunks/envTextureLoader-DDrwMoNn.esm.min.js +0 -2
  363. package/dist/chunks/envTextureLoader-DDrwMoNn.esm.min.js.map +0 -1
  364. package/dist/chunks/environmentTextureTools-Bewx0Dvk.esm.js +0 -381
  365. package/dist/chunks/environmentTextureTools-Bewx0Dvk.esm.js.map +0 -1
  366. package/dist/chunks/environmentTextureTools-CKR4vXo_.esm.min.js +0 -2
  367. package/dist/chunks/environmentTextureTools-CKR4vXo_.esm.min.js.map +0 -1
  368. package/dist/chunks/exrTextureLoader-B5OMTxNT.esm.min.js +0 -2
  369. package/dist/chunks/exrTextureLoader-B5OMTxNT.esm.min.js.map +0 -1
  370. package/dist/chunks/exrTextureLoader-DYief1aQ.esm.js +0 -1682
  371. package/dist/chunks/exrTextureLoader-DYief1aQ.esm.js.map +0 -1
  372. package/dist/chunks/fogFragment-DDtXY8BJ.esm.min.js +0 -2
  373. package/dist/chunks/fogFragment-DDtXY8BJ.esm.min.js.map +0 -1
  374. package/dist/chunks/fogFragment-uA_uzICI.esm.js +0 -102
  375. package/dist/chunks/fogFragment-uA_uzICI.esm.js.map +0 -1
  376. package/dist/chunks/glTFLoader-BYQ5K9Kt.esm.min.js +0 -2
  377. package/dist/chunks/glTFLoader-BYQ5K9Kt.esm.min.js.map +0 -1
  378. package/dist/chunks/glTFLoader-r35szQk2.esm.js +0 -7552
  379. package/dist/chunks/glTFLoader-r35szQk2.esm.js.map +0 -1
  380. package/dist/chunks/glTFLoaderAnimation-CBE8cJ5o.esm.min.js +0 -2
  381. package/dist/chunks/glTFLoaderAnimation-CBE8cJ5o.esm.min.js.map +0 -1
  382. package/dist/chunks/glTFLoaderAnimation-CT3NxYwM.esm.js +0 -77
  383. package/dist/chunks/glTFLoaderAnimation-CT3NxYwM.esm.js.map +0 -1
  384. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  385. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  386. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  387. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  388. package/dist/chunks/harmonicsFunctions-BFzEbNOc.esm.min.js +0 -2
  389. package/dist/chunks/harmonicsFunctions-BFzEbNOc.esm.min.js.map +0 -1
  390. package/dist/chunks/harmonicsFunctions-BmNqYWse.esm.js +0 -35
  391. package/dist/chunks/harmonicsFunctions-BmNqYWse.esm.js.map +0 -1
  392. package/dist/chunks/harmonicsFunctions-DCYVvJfE.esm.js +0 -34
  393. package/dist/chunks/harmonicsFunctions-DCYVvJfE.esm.js.map +0 -1
  394. package/dist/chunks/harmonicsFunctions-LdNe78Vv.esm.min.js +0 -2
  395. package/dist/chunks/harmonicsFunctions-LdNe78Vv.esm.min.js.map +0 -1
  396. package/dist/chunks/hdrTextureLoader-B4HJ1PIb.esm.js +0 -252
  397. package/dist/chunks/hdrTextureLoader-B4HJ1PIb.esm.js.map +0 -1
  398. package/dist/chunks/hdrTextureLoader-D2de5rCS.esm.min.js +0 -2
  399. package/dist/chunks/hdrTextureLoader-D2de5rCS.esm.min.js.map +0 -1
  400. package/dist/chunks/helperFunctions-B-V3wz1K.esm.js +0 -80
  401. package/dist/chunks/helperFunctions-B-V3wz1K.esm.js.map +0 -1
  402. package/dist/chunks/helperFunctions-B6u0LIQ1.esm.js +0 -108
  403. package/dist/chunks/helperFunctions-B6u0LIQ1.esm.js.map +0 -1
  404. package/dist/chunks/helperFunctions-D3_vTLCV.esm.min.js +0 -2
  405. package/dist/chunks/helperFunctions-D3_vTLCV.esm.min.js.map +0 -1
  406. package/dist/chunks/helperFunctions-DbaT8xhT.esm.min.js +0 -2
  407. package/dist/chunks/helperFunctions-DbaT8xhT.esm.min.js.map +0 -1
  408. package/dist/chunks/index-Bk29Qt-Y.esm.js +0 -81630
  409. package/dist/chunks/index-Bk29Qt-Y.esm.js.map +0 -1
  410. package/dist/chunks/index-BlF30_Ca.esm.min.js +0 -57
  411. package/dist/chunks/index-BlF30_Ca.esm.min.js.map +0 -1
  412. package/dist/chunks/ktxTextureLoader-BTMWrtOa.esm.js +0 -814
  413. package/dist/chunks/ktxTextureLoader-BTMWrtOa.esm.js.map +0 -1
  414. package/dist/chunks/ktxTextureLoader-OqiCvqqP.esm.min.js +0 -2
  415. package/dist/chunks/ktxTextureLoader-OqiCvqqP.esm.min.js.map +0 -1
  416. package/dist/chunks/logDepthDeclaration-BPKYewiS.esm.min.js +0 -2
  417. package/dist/chunks/logDepthDeclaration-BPKYewiS.esm.min.js.map +0 -1
  418. package/dist/chunks/logDepthDeclaration-CB6mwEV4.esm.min.js +0 -2
  419. package/dist/chunks/logDepthDeclaration-CB6mwEV4.esm.min.js.map +0 -1
  420. package/dist/chunks/logDepthDeclaration-CFTIeo9d.esm.js +0 -42
  421. package/dist/chunks/logDepthDeclaration-CFTIeo9d.esm.js.map +0 -1
  422. package/dist/chunks/logDepthDeclaration-DuXLlupN.esm.js +0 -35
  423. package/dist/chunks/logDepthDeclaration-DuXLlupN.esm.js.map +0 -1
  424. package/dist/chunks/logDepthVertex-B7lJf18n.esm.js +0 -605
  425. package/dist/chunks/logDepthVertex-B7lJf18n.esm.js.map +0 -1
  426. package/dist/chunks/logDepthVertex-BlpmPbMu.esm.min.js +0 -2
  427. package/dist/chunks/logDepthVertex-BlpmPbMu.esm.min.js.map +0 -1
  428. package/dist/chunks/logDepthVertex-CS2VncA3.esm.min.js +0 -2
  429. package/dist/chunks/logDepthVertex-CS2VncA3.esm.min.js.map +0 -1
  430. package/dist/chunks/logDepthVertex-DPI-wcrh.esm.js +0 -77
  431. package/dist/chunks/logDepthVertex-DPI-wcrh.esm.js.map +0 -1
  432. package/dist/chunks/mainUVVaryingDeclaration-B7jpQ5Mq.esm.min.js +0 -2
  433. package/dist/chunks/mainUVVaryingDeclaration-B7jpQ5Mq.esm.min.js.map +0 -1
  434. package/dist/chunks/mainUVVaryingDeclaration-Cy__-6Nq.esm.js +0 -11
  435. package/dist/chunks/mainUVVaryingDeclaration-Cy__-6Nq.esm.js.map +0 -1
  436. package/dist/chunks/objFileLoader-BQAlTWHc.esm.min.js +0 -2
  437. package/dist/chunks/objFileLoader-BQAlTWHc.esm.min.js.map +0 -1
  438. package/dist/chunks/objFileLoader-Bi8LHs3e.esm.js +0 -1280
  439. package/dist/chunks/objFileLoader-Bi8LHs3e.esm.js.map +0 -1
  440. package/dist/chunks/oitFragment-Bu6IB_U1.esm.min.js +0 -2
  441. package/dist/chunks/oitFragment-Bu6IB_U1.esm.min.js.map +0 -1
  442. package/dist/chunks/oitFragment-DWPsjeYm.esm.js +0 -1210
  443. package/dist/chunks/oitFragment-DWPsjeYm.esm.js.map +0 -1
  444. package/dist/chunks/oitFragment-DwS3p7os.esm.js +0 -1166
  445. package/dist/chunks/oitFragment-DwS3p7os.esm.js.map +0 -1
  446. package/dist/chunks/oitFragment-Dyo3GCIB.esm.min.js +0 -2
  447. package/dist/chunks/oitFragment-Dyo3GCIB.esm.min.js.map +0 -1
  448. package/dist/chunks/pass.fragment-BbvJLdK0.esm.min.js +0 -2
  449. package/dist/chunks/pass.fragment-BbvJLdK0.esm.min.js.map +0 -1
  450. package/dist/chunks/pass.fragment-CYW_mCe1.esm.js +0 -15
  451. package/dist/chunks/pass.fragment-CYW_mCe1.esm.js.map +0 -1
  452. package/dist/chunks/pbr.fragment-BF_ms0u4.esm.js +0 -3228
  453. package/dist/chunks/pbr.fragment-BF_ms0u4.esm.js.map +0 -1
  454. package/dist/chunks/pbr.fragment-BgRyNZP4.esm.min.js +0 -2
  455. package/dist/chunks/pbr.fragment-BgRyNZP4.esm.min.js.map +0 -1
  456. package/dist/chunks/pbr.fragment-DWDVg0cI.esm.js +0 -3163
  457. package/dist/chunks/pbr.fragment-DWDVg0cI.esm.js.map +0 -1
  458. package/dist/chunks/pbr.fragment-DnANKT1v.esm.min.js +0 -2
  459. package/dist/chunks/pbr.fragment-DnANKT1v.esm.min.js.map +0 -1
  460. package/dist/chunks/pbr.vertex-CtV1eMwZ.esm.js +0 -335
  461. package/dist/chunks/pbr.vertex-CtV1eMwZ.esm.js.map +0 -1
  462. package/dist/chunks/pbr.vertex-Dfv-0mcy.esm.js +0 -208
  463. package/dist/chunks/pbr.vertex-Dfv-0mcy.esm.js.map +0 -1
  464. package/dist/chunks/pbr.vertex-Dqkpv-Eq.esm.min.js +0 -2
  465. package/dist/chunks/pbr.vertex-Dqkpv-Eq.esm.min.js.map +0 -1
  466. package/dist/chunks/pbr.vertex-nSqzmuMh.esm.min.js +0 -2
  467. package/dist/chunks/pbr.vertex-nSqzmuMh.esm.min.js.map +0 -1
  468. package/dist/chunks/postprocess.vertex-CI-eDzvi.esm.js +0 -20
  469. package/dist/chunks/postprocess.vertex-CI-eDzvi.esm.js.map +0 -1
  470. package/dist/chunks/postprocess.vertex-Cs2SUWD0.esm.min.js +0 -2
  471. package/dist/chunks/postprocess.vertex-Cs2SUWD0.esm.min.js.map +0 -1
  472. package/dist/chunks/rawTexture-3oLvc_tp.esm.js +0 -562
  473. package/dist/chunks/rawTexture-3oLvc_tp.esm.js.map +0 -1
  474. package/dist/chunks/rawTexture-BWp9aJpK.esm.min.js +0 -2
  475. package/dist/chunks/rawTexture-BWp9aJpK.esm.min.js.map +0 -1
  476. package/dist/chunks/rgbdDecode.fragment-CYs1lXUB.esm.js +0 -17
  477. package/dist/chunks/rgbdDecode.fragment-CYs1lXUB.esm.js.map +0 -1
  478. package/dist/chunks/rgbdDecode.fragment-DiziHd4D.esm.min.js +0 -2
  479. package/dist/chunks/rgbdDecode.fragment-DiziHd4D.esm.min.js.map +0 -1
  480. package/dist/chunks/rgbdDecode.fragment-N_qzvKhN.esm.min.js +0 -2
  481. package/dist/chunks/rgbdDecode.fragment-N_qzvKhN.esm.min.js.map +0 -1
  482. package/dist/chunks/rgbdDecode.fragment-YPi0juk-.esm.js +0 -17
  483. package/dist/chunks/rgbdDecode.fragment-YPi0juk-.esm.js.map +0 -1
  484. package/dist/chunks/rgbdEncode.fragment-BPNHn1tT.esm.min.js +0 -2
  485. package/dist/chunks/rgbdEncode.fragment-BPNHn1tT.esm.min.js.map +0 -1
  486. package/dist/chunks/rgbdEncode.fragment-BcJhRtQ5.esm.min.js +0 -2
  487. package/dist/chunks/rgbdEncode.fragment-BcJhRtQ5.esm.min.js.map +0 -1
  488. package/dist/chunks/rgbdEncode.fragment-DtkOxT2Y.esm.js +0 -17
  489. package/dist/chunks/rgbdEncode.fragment-DtkOxT2Y.esm.js.map +0 -1
  490. package/dist/chunks/rgbdEncode.fragment-duKOXekg.esm.js +0 -17
  491. package/dist/chunks/rgbdEncode.fragment-duKOXekg.esm.js.map +0 -1
  492. package/dist/chunks/splatFileLoader-CftLaqSo.esm.js +0 -3137
  493. package/dist/chunks/splatFileLoader-CftLaqSo.esm.js.map +0 -1
  494. package/dist/chunks/splatFileLoader-DQY-vSa3.esm.min.js +0 -2
  495. package/dist/chunks/splatFileLoader-DQY-vSa3.esm.min.js.map +0 -1
  496. package/dist/chunks/standardMaterial-1c1C_ZIw.esm.js +0 -1809
  497. package/dist/chunks/standardMaterial-1c1C_ZIw.esm.js.map +0 -1
  498. package/dist/chunks/standardMaterial-CTSzlcu8.esm.min.js +0 -2
  499. package/dist/chunks/standardMaterial-CTSzlcu8.esm.min.js.map +0 -1
  500. package/dist/chunks/stlFileLoader-BGLYbFk2.esm.js +0 -237
  501. package/dist/chunks/stlFileLoader-BGLYbFk2.esm.js.map +0 -1
  502. package/dist/chunks/stlFileLoader-D451o5V4.esm.min.js +0 -2
  503. package/dist/chunks/stlFileLoader-D451o5V4.esm.min.js.map +0 -1
  504. package/dist/chunks/tgaTextureLoader-BLOklZDW.esm.min.js +0 -2
  505. package/dist/chunks/tgaTextureLoader-BLOklZDW.esm.min.js.map +0 -1
  506. package/dist/chunks/tgaTextureLoader-CCYZarL9.esm.js +0 -349
  507. package/dist/chunks/tgaTextureLoader-CCYZarL9.esm.js.map +0 -1
  508. package/dist/chunks/thinInstanceMesh-BuanMsAC.esm.min.js +0 -2
  509. package/dist/chunks/thinInstanceMesh-BuanMsAC.esm.min.js.map +0 -1
  510. package/dist/chunks/thinInstanceMesh-HVLKYr74.esm.js +0 -314
  511. package/dist/chunks/thinInstanceMesh-HVLKYr74.esm.js.map +0 -1
  512. package/dist/chunks/vertexColorMixing-Bhqvyjgc.esm.js +0 -528
  513. package/dist/chunks/vertexColorMixing-Bhqvyjgc.esm.js.map +0 -1
  514. package/dist/chunks/vertexColorMixing-Dgml7nXE.esm.min.js +0 -2
  515. package/dist/chunks/vertexColorMixing-Dgml7nXE.esm.min.js.map +0 -1
  516. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  517. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  518. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  519. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  520. package/lib/index.d.ts +0 -237
  521. package/lib/index.js +0 -871
  522. package/lib/index.js.map +0 -1
@@ -1,314 +0,0 @@
1
- import { M as Mesh, L as Logger, q as Matrix, c as VertexBuffer, am as Buffer, an as BoundingInfo, t as TmpVectors, b as Vector3 } from './index-Bk29Qt-Y.esm.js';
2
-
3
- Mesh.prototype.thinInstanceAdd = function (matrix, refresh = true) {
4
- if (!this.getScene().getEngine().getCaps().instancedArrays) {
5
- Logger.Error("Thin Instances are not supported on this device as Instanced Array extension not supported");
6
- return -1;
7
- }
8
- this._thinInstanceUpdateBufferSize("matrix", Array.isArray(matrix) ? matrix.length : 1);
9
- const index = this._thinInstanceDataStorage.instancesCount;
10
- if (Array.isArray(matrix)) {
11
- for (let i = 0; i < matrix.length; ++i) {
12
- this.thinInstanceSetMatrixAt(this._thinInstanceDataStorage.instancesCount++, matrix[i], i === matrix.length - 1 && refresh);
13
- }
14
- }
15
- else {
16
- this.thinInstanceSetMatrixAt(this._thinInstanceDataStorage.instancesCount++, matrix, refresh);
17
- }
18
- return index;
19
- };
20
- Mesh.prototype.thinInstanceAddSelf = function (refresh = true) {
21
- return this.thinInstanceAdd(Matrix.IdentityReadOnly, refresh);
22
- };
23
- Mesh.prototype.thinInstanceRegisterAttribute = function (kind, stride) {
24
- // preserve backward compatibility
25
- if (kind === VertexBuffer.ColorKind) {
26
- kind = VertexBuffer.ColorInstanceKind;
27
- }
28
- this.removeVerticesData(kind);
29
- this._thinInstanceInitializeUserStorage();
30
- this._userThinInstanceBuffersStorage.strides[kind] = stride;
31
- this._userThinInstanceBuffersStorage.sizes[kind] = stride * Math.max(32, this._thinInstanceDataStorage.instancesCount); // Initial size
32
- this._userThinInstanceBuffersStorage.data[kind] = new Float32Array(this._userThinInstanceBuffersStorage.sizes[kind]);
33
- this._userThinInstanceBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), this._userThinInstanceBuffersStorage.data[kind], kind, true, false, stride, true);
34
- this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[kind]);
35
- };
36
- Mesh.prototype.thinInstanceSetMatrixAt = function (index, matrix, refresh = true) {
37
- if (!this._thinInstanceDataStorage.matrixData || index >= this._thinInstanceDataStorage.instancesCount) {
38
- return false;
39
- }
40
- const matrixData = this._thinInstanceDataStorage.matrixData;
41
- matrix.copyToArray(matrixData, index * 16);
42
- if (this._thinInstanceDataStorage.worldMatrices) {
43
- this._thinInstanceDataStorage.worldMatrices[index] = matrix;
44
- }
45
- if (refresh) {
46
- this.thinInstanceBufferUpdated("matrix");
47
- if (!this.doNotSyncBoundingInfo) {
48
- this.thinInstanceRefreshBoundingInfo(false);
49
- }
50
- }
51
- return true;
52
- };
53
- Mesh.prototype.thinInstanceSetAttributeAt = function (kind, index, value, refresh = true) {
54
- // preserve backward compatibility
55
- if (kind === VertexBuffer.ColorKind) {
56
- kind = VertexBuffer.ColorInstanceKind;
57
- }
58
- if (!this._userThinInstanceBuffersStorage || !this._userThinInstanceBuffersStorage.data[kind] || index >= this._thinInstanceDataStorage.instancesCount) {
59
- return false;
60
- }
61
- this._thinInstanceUpdateBufferSize(kind, 0); // make sur the buffer for the kind attribute is big enough
62
- this._userThinInstanceBuffersStorage.data[kind].set(value, index * this._userThinInstanceBuffersStorage.strides[kind]);
63
- if (refresh) {
64
- this.thinInstanceBufferUpdated(kind);
65
- }
66
- return true;
67
- };
68
- Object.defineProperty(Mesh.prototype, "thinInstanceCount", {
69
- get: function () {
70
- return this._thinInstanceDataStorage.instancesCount;
71
- },
72
- set: function (value) {
73
- const matrixData = this._thinInstanceDataStorage.matrixData ?? this.source?._thinInstanceDataStorage.matrixData;
74
- const numMaxInstances = matrixData ? matrixData.length / 16 : 0;
75
- if (value <= numMaxInstances) {
76
- this._thinInstanceDataStorage.instancesCount = value;
77
- }
78
- },
79
- enumerable: true,
80
- configurable: true,
81
- });
82
- Mesh.prototype._thinInstanceCreateMatrixBuffer = function (kind, buffer, staticBuffer = true) {
83
- const matrixBuffer = new Buffer(this.getEngine(), buffer, !staticBuffer, 16, false, true);
84
- for (let i = 0; i < 4; i++) {
85
- this.setVerticesBuffer(matrixBuffer.createVertexBuffer(kind + i, i * 4, 4));
86
- }
87
- return matrixBuffer;
88
- };
89
- Mesh.prototype.thinInstanceSetBuffer = function (kind, buffer, stride = 0, staticBuffer = true) {
90
- stride = stride || 16;
91
- if (kind === "matrix") {
92
- this._thinInstanceDataStorage.matrixBuffer?.dispose();
93
- this._thinInstanceDataStorage.matrixBuffer = null;
94
- this._thinInstanceDataStorage.matrixBufferSize = buffer ? buffer.length : 32 * stride;
95
- this._thinInstanceDataStorage.matrixData = buffer;
96
- this._thinInstanceDataStorage.worldMatrices = null;
97
- if (buffer !== null) {
98
- this._thinInstanceDataStorage.instancesCount = buffer.length / stride;
99
- this._thinInstanceDataStorage.matrixBuffer = this._thinInstanceCreateMatrixBuffer("world", buffer, staticBuffer);
100
- if (!this.doNotSyncBoundingInfo) {
101
- this.thinInstanceRefreshBoundingInfo(false);
102
- }
103
- }
104
- else {
105
- this._thinInstanceDataStorage.instancesCount = 0;
106
- if (!this.doNotSyncBoundingInfo) {
107
- // mesh has no more thin instances, so need to recompute the bounding box because it's the regular mesh that will now be displayed
108
- this.refreshBoundingInfo();
109
- }
110
- }
111
- }
112
- else if (kind === "previousMatrix") {
113
- this._thinInstanceDataStorage.previousMatrixBuffer?.dispose();
114
- this._thinInstanceDataStorage.previousMatrixBuffer = null;
115
- this._thinInstanceDataStorage.previousMatrixData = buffer;
116
- if (buffer !== null) {
117
- this._thinInstanceDataStorage.previousMatrixBuffer = this._thinInstanceCreateMatrixBuffer("previousWorld", buffer, staticBuffer);
118
- }
119
- }
120
- else {
121
- // color for instanced mesh is ColorInstanceKind and not ColorKind because of native that needs to do the differenciation
122
- // hot switching kind here to preserve backward compatibility
123
- if (kind === VertexBuffer.ColorKind) {
124
- kind = VertexBuffer.ColorInstanceKind;
125
- }
126
- if (buffer === null) {
127
- if (this._userThinInstanceBuffersStorage?.data[kind]) {
128
- this.removeVerticesData(kind);
129
- delete this._userThinInstanceBuffersStorage.data[kind];
130
- delete this._userThinInstanceBuffersStorage.strides[kind];
131
- delete this._userThinInstanceBuffersStorage.sizes[kind];
132
- delete this._userThinInstanceBuffersStorage.vertexBuffers[kind];
133
- }
134
- }
135
- else {
136
- this._thinInstanceInitializeUserStorage();
137
- this._userThinInstanceBuffersStorage.data[kind] = buffer;
138
- this._userThinInstanceBuffersStorage.strides[kind] = stride;
139
- this._userThinInstanceBuffersStorage.sizes[kind] = buffer.length;
140
- this._userThinInstanceBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), buffer, kind, !staticBuffer, false, stride, true);
141
- this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[kind]);
142
- }
143
- }
144
- };
145
- Mesh.prototype.thinInstanceBufferUpdated = function (kind) {
146
- if (kind === "matrix") {
147
- if (this.thinInstanceAllowAutomaticStaticBufferRecreation && this._thinInstanceDataStorage.matrixBuffer && !this._thinInstanceDataStorage.matrixBuffer.isUpdatable()) {
148
- this._thinInstanceRecreateBuffer(kind);
149
- }
150
- this._thinInstanceDataStorage.matrixBuffer?.updateDirectly(this._thinInstanceDataStorage.matrixData, 0, this._thinInstanceDataStorage.instancesCount);
151
- }
152
- else if (kind === "previousMatrix") {
153
- if (this.thinInstanceAllowAutomaticStaticBufferRecreation &&
154
- this._thinInstanceDataStorage.previousMatrixBuffer &&
155
- !this._thinInstanceDataStorage.previousMatrixBuffer.isUpdatable()) {
156
- this._thinInstanceRecreateBuffer(kind);
157
- }
158
- this._thinInstanceDataStorage.previousMatrixBuffer?.updateDirectly(this._thinInstanceDataStorage.previousMatrixData, 0, this._thinInstanceDataStorage.instancesCount);
159
- }
160
- else {
161
- // preserve backward compatibility
162
- if (kind === VertexBuffer.ColorKind) {
163
- kind = VertexBuffer.ColorInstanceKind;
164
- }
165
- if (this._userThinInstanceBuffersStorage?.vertexBuffers[kind]) {
166
- if (this.thinInstanceAllowAutomaticStaticBufferRecreation && !this._userThinInstanceBuffersStorage.vertexBuffers[kind].isUpdatable()) {
167
- this._thinInstanceRecreateBuffer(kind);
168
- }
169
- this._userThinInstanceBuffersStorage.vertexBuffers[kind].updateDirectly(this._userThinInstanceBuffersStorage.data[kind], 0);
170
- }
171
- }
172
- };
173
- Mesh.prototype.thinInstancePartialBufferUpdate = function (kind, data, offset) {
174
- if (kind === "matrix") {
175
- if (this._thinInstanceDataStorage.matrixBuffer) {
176
- this._thinInstanceDataStorage.matrixBuffer.updateDirectly(data, offset);
177
- }
178
- }
179
- else {
180
- // preserve backward compatibility
181
- if (kind === VertexBuffer.ColorKind) {
182
- kind = VertexBuffer.ColorInstanceKind;
183
- }
184
- if (this._userThinInstanceBuffersStorage?.vertexBuffers[kind]) {
185
- this._userThinInstanceBuffersStorage.vertexBuffers[kind].updateDirectly(data, offset);
186
- }
187
- }
188
- };
189
- Mesh.prototype.thinInstanceGetWorldMatrices = function () {
190
- if (!this._thinInstanceDataStorage.matrixData || !this._thinInstanceDataStorage.matrixBuffer) {
191
- return [];
192
- }
193
- const matrixData = this._thinInstanceDataStorage.matrixData;
194
- if (!this._thinInstanceDataStorage.worldMatrices) {
195
- this._thinInstanceDataStorage.worldMatrices = [];
196
- for (let i = 0; i < this._thinInstanceDataStorage.instancesCount; ++i) {
197
- this._thinInstanceDataStorage.worldMatrices[i] = Matrix.FromArray(matrixData, i * 16);
198
- }
199
- }
200
- return this._thinInstanceDataStorage.worldMatrices;
201
- };
202
- Mesh.prototype.thinInstanceRefreshBoundingInfo = function (forceRefreshParentInfo = false, applySkeleton = false, applyMorph = false) {
203
- if (!this._thinInstanceDataStorage.matrixData || !this._thinInstanceDataStorage.matrixBuffer) {
204
- return;
205
- }
206
- const vectors = this._thinInstanceDataStorage.boundingVectors;
207
- if (forceRefreshParentInfo || !this.rawBoundingInfo) {
208
- vectors.length = 0;
209
- this.refreshBoundingInfo(applySkeleton, applyMorph);
210
- const boundingInfo = this.getBoundingInfo();
211
- this.rawBoundingInfo = new BoundingInfo(boundingInfo.minimum, boundingInfo.maximum);
212
- }
213
- const boundingInfo = this.getBoundingInfo();
214
- const matrixData = this._thinInstanceDataStorage.matrixData;
215
- if (vectors.length === 0) {
216
- for (let v = 0; v < boundingInfo.boundingBox.vectors.length; ++v) {
217
- vectors.push(boundingInfo.boundingBox.vectors[v].clone());
218
- }
219
- }
220
- TmpVectors.Vector3[0].setAll(Number.POSITIVE_INFINITY); // min
221
- TmpVectors.Vector3[1].setAll(Number.NEGATIVE_INFINITY); // max
222
- for (let i = 0; i < this._thinInstanceDataStorage.instancesCount; ++i) {
223
- Matrix.FromArrayToRef(matrixData, i * 16, TmpVectors.Matrix[0]);
224
- for (let v = 0; v < vectors.length; ++v) {
225
- Vector3.TransformCoordinatesToRef(vectors[v], TmpVectors.Matrix[0], TmpVectors.Vector3[2]);
226
- TmpVectors.Vector3[0].minimizeInPlace(TmpVectors.Vector3[2]);
227
- TmpVectors.Vector3[1].maximizeInPlace(TmpVectors.Vector3[2]);
228
- }
229
- }
230
- boundingInfo.reConstruct(TmpVectors.Vector3[0], TmpVectors.Vector3[1]);
231
- this._updateBoundingInfo();
232
- };
233
- Mesh.prototype._thinInstanceRecreateBuffer = function (kind, staticBuffer = true) {
234
- if (kind === "matrix") {
235
- this._thinInstanceDataStorage.matrixBuffer?.dispose();
236
- this._thinInstanceDataStorage.matrixBuffer = this._thinInstanceCreateMatrixBuffer("world", this._thinInstanceDataStorage.matrixData, staticBuffer);
237
- }
238
- else if (kind === "previousMatrix") {
239
- if (this._scene.needsPreviousWorldMatrices) {
240
- this._thinInstanceDataStorage.previousMatrixBuffer?.dispose();
241
- this._thinInstanceDataStorage.previousMatrixBuffer = this._thinInstanceCreateMatrixBuffer("previousWorld", this._thinInstanceDataStorage.previousMatrixData ?? this._thinInstanceDataStorage.matrixData, staticBuffer);
242
- }
243
- }
244
- else {
245
- if (kind === VertexBuffer.ColorKind) {
246
- kind = VertexBuffer.ColorInstanceKind;
247
- }
248
- this._userThinInstanceBuffersStorage.vertexBuffers[kind]?.dispose();
249
- this._userThinInstanceBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), this._userThinInstanceBuffersStorage.data[kind], kind, !staticBuffer, false, this._userThinInstanceBuffersStorage.strides[kind], true);
250
- this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[kind]);
251
- }
252
- };
253
- Mesh.prototype._thinInstanceUpdateBufferSize = function (kind, numInstances = 1) {
254
- // preserve backward compatibility
255
- if (kind === VertexBuffer.ColorKind) {
256
- kind = VertexBuffer.ColorInstanceKind;
257
- }
258
- const kindIsMatrix = kind === "matrix";
259
- if (!kindIsMatrix && (!this._userThinInstanceBuffersStorage || !this._userThinInstanceBuffersStorage.strides[kind])) {
260
- return;
261
- }
262
- const stride = kindIsMatrix ? 16 : this._userThinInstanceBuffersStorage.strides[kind];
263
- const currentSize = kindIsMatrix ? this._thinInstanceDataStorage.matrixBufferSize : this._userThinInstanceBuffersStorage.sizes[kind];
264
- let data = kindIsMatrix ? this._thinInstanceDataStorage.matrixData : this._userThinInstanceBuffersStorage.data[kind];
265
- const bufferSize = (this._thinInstanceDataStorage.instancesCount + numInstances) * stride;
266
- let newSize = currentSize;
267
- while (newSize < bufferSize) {
268
- newSize *= 2;
269
- }
270
- if (!data || currentSize != newSize) {
271
- if (!data) {
272
- data = new Float32Array(newSize);
273
- }
274
- else {
275
- const newData = new Float32Array(newSize);
276
- newData.set(data, 0);
277
- data = newData;
278
- }
279
- if (kindIsMatrix) {
280
- this._thinInstanceDataStorage.matrixBuffer?.dispose();
281
- this._thinInstanceDataStorage.matrixBuffer = this._thinInstanceCreateMatrixBuffer("world", data, false);
282
- this._thinInstanceDataStorage.matrixData = data;
283
- this._thinInstanceDataStorage.matrixBufferSize = newSize;
284
- if (this._scene.needsPreviousWorldMatrices && !this._thinInstanceDataStorage.previousMatrixData) {
285
- this._thinInstanceDataStorage.previousMatrixBuffer?.dispose();
286
- this._thinInstanceDataStorage.previousMatrixBuffer = this._thinInstanceCreateMatrixBuffer("previousWorld", data, false);
287
- }
288
- }
289
- else {
290
- this._userThinInstanceBuffersStorage.vertexBuffers[kind]?.dispose();
291
- this._userThinInstanceBuffersStorage.data[kind] = data;
292
- this._userThinInstanceBuffersStorage.sizes[kind] = newSize;
293
- this._userThinInstanceBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), data, kind, true, false, stride, true);
294
- this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[kind]);
295
- }
296
- }
297
- };
298
- Mesh.prototype._thinInstanceInitializeUserStorage = function () {
299
- if (!this._userThinInstanceBuffersStorage) {
300
- this._userThinInstanceBuffersStorage = {
301
- data: {},
302
- sizes: {},
303
- vertexBuffers: {},
304
- strides: {},
305
- };
306
- }
307
- };
308
- Mesh.prototype._disposeThinInstanceSpecificData = function () {
309
- if (this._thinInstanceDataStorage?.matrixBuffer) {
310
- this._thinInstanceDataStorage.matrixBuffer.dispose();
311
- this._thinInstanceDataStorage.matrixBuffer = null;
312
- }
313
- };
314
- //# sourceMappingURL=thinInstanceMesh-HVLKYr74.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thinInstanceMesh-HVLKYr74.esm.js","sources":["../../../../../dev/core/dist/Meshes/thinInstanceMesh.js"],"sourcesContent":["import { Mesh } from \"../Meshes/mesh\";\nimport { VertexBuffer, Buffer } from \"../Buffers/buffer\";\nimport { Matrix, Vector3, TmpVectors } from \"../Maths/math.vector\";\nimport { Logger } from \"../Misc/logger\";\nimport { BoundingInfo } from \"core/Culling/boundingInfo\";\nMesh.prototype.thinInstanceAdd = function (matrix, refresh = true) {\n if (!this.getScene().getEngine().getCaps().instancedArrays) {\n Logger.Error(\"Thin Instances are not supported on this device as Instanced Array extension not supported\");\n return -1;\n }\n this._thinInstanceUpdateBufferSize(\"matrix\", Array.isArray(matrix) ? matrix.length : 1);\n const index = this._thinInstanceDataStorage.instancesCount;\n if (Array.isArray(matrix)) {\n for (let i = 0; i < matrix.length; ++i) {\n this.thinInstanceSetMatrixAt(this._thinInstanceDataStorage.instancesCount++, matrix[i], i === matrix.length - 1 && refresh);\n }\n }\n else {\n this.thinInstanceSetMatrixAt(this._thinInstanceDataStorage.instancesCount++, matrix, refresh);\n }\n return index;\n};\nMesh.prototype.thinInstanceAddSelf = function (refresh = true) {\n return this.thinInstanceAdd(Matrix.IdentityReadOnly, refresh);\n};\nMesh.prototype.thinInstanceRegisterAttribute = function (kind, stride) {\n // preserve backward compatibility\n if (kind === VertexBuffer.ColorKind) {\n kind = VertexBuffer.ColorInstanceKind;\n }\n this.removeVerticesData(kind);\n this._thinInstanceInitializeUserStorage();\n this._userThinInstanceBuffersStorage.strides[kind] = stride;\n this._userThinInstanceBuffersStorage.sizes[kind] = stride * Math.max(32, this._thinInstanceDataStorage.instancesCount); // Initial size\n this._userThinInstanceBuffersStorage.data[kind] = new Float32Array(this._userThinInstanceBuffersStorage.sizes[kind]);\n this._userThinInstanceBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), this._userThinInstanceBuffersStorage.data[kind], kind, true, false, stride, true);\n this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[kind]);\n};\nMesh.prototype.thinInstanceSetMatrixAt = function (index, matrix, refresh = true) {\n if (!this._thinInstanceDataStorage.matrixData || index >= this._thinInstanceDataStorage.instancesCount) {\n return false;\n }\n const matrixData = this._thinInstanceDataStorage.matrixData;\n matrix.copyToArray(matrixData, index * 16);\n if (this._thinInstanceDataStorage.worldMatrices) {\n this._thinInstanceDataStorage.worldMatrices[index] = matrix;\n }\n if (refresh) {\n this.thinInstanceBufferUpdated(\"matrix\");\n if (!this.doNotSyncBoundingInfo) {\n this.thinInstanceRefreshBoundingInfo(false);\n }\n }\n return true;\n};\nMesh.prototype.thinInstanceSetAttributeAt = function (kind, index, value, refresh = true) {\n // preserve backward compatibility\n if (kind === VertexBuffer.ColorKind) {\n kind = VertexBuffer.ColorInstanceKind;\n }\n if (!this._userThinInstanceBuffersStorage || !this._userThinInstanceBuffersStorage.data[kind] || index >= this._thinInstanceDataStorage.instancesCount) {\n return false;\n }\n this._thinInstanceUpdateBufferSize(kind, 0); // make sur the buffer for the kind attribute is big enough\n this._userThinInstanceBuffersStorage.data[kind].set(value, index * this._userThinInstanceBuffersStorage.strides[kind]);\n if (refresh) {\n this.thinInstanceBufferUpdated(kind);\n }\n return true;\n};\nObject.defineProperty(Mesh.prototype, \"thinInstanceCount\", {\n get: function () {\n return this._thinInstanceDataStorage.instancesCount;\n },\n set: function (value) {\n const matrixData = this._thinInstanceDataStorage.matrixData ?? this.source?._thinInstanceDataStorage.matrixData;\n const numMaxInstances = matrixData ? matrixData.length / 16 : 0;\n if (value <= numMaxInstances) {\n this._thinInstanceDataStorage.instancesCount = value;\n }\n },\n enumerable: true,\n configurable: true,\n});\nMesh.prototype._thinInstanceCreateMatrixBuffer = function (kind, buffer, staticBuffer = true) {\n const matrixBuffer = new Buffer(this.getEngine(), buffer, !staticBuffer, 16, false, true);\n for (let i = 0; i < 4; i++) {\n this.setVerticesBuffer(matrixBuffer.createVertexBuffer(kind + i, i * 4, 4));\n }\n return matrixBuffer;\n};\nMesh.prototype.thinInstanceSetBuffer = function (kind, buffer, stride = 0, staticBuffer = true) {\n stride = stride || 16;\n if (kind === \"matrix\") {\n this._thinInstanceDataStorage.matrixBuffer?.dispose();\n this._thinInstanceDataStorage.matrixBuffer = null;\n this._thinInstanceDataStorage.matrixBufferSize = buffer ? buffer.length : 32 * stride;\n this._thinInstanceDataStorage.matrixData = buffer;\n this._thinInstanceDataStorage.worldMatrices = null;\n if (buffer !== null) {\n this._thinInstanceDataStorage.instancesCount = buffer.length / stride;\n this._thinInstanceDataStorage.matrixBuffer = this._thinInstanceCreateMatrixBuffer(\"world\", buffer, staticBuffer);\n if (!this.doNotSyncBoundingInfo) {\n this.thinInstanceRefreshBoundingInfo(false);\n }\n }\n else {\n this._thinInstanceDataStorage.instancesCount = 0;\n if (!this.doNotSyncBoundingInfo) {\n // mesh has no more thin instances, so need to recompute the bounding box because it's the regular mesh that will now be displayed\n this.refreshBoundingInfo();\n }\n }\n }\n else if (kind === \"previousMatrix\") {\n this._thinInstanceDataStorage.previousMatrixBuffer?.dispose();\n this._thinInstanceDataStorage.previousMatrixBuffer = null;\n this._thinInstanceDataStorage.previousMatrixData = buffer;\n if (buffer !== null) {\n this._thinInstanceDataStorage.previousMatrixBuffer = this._thinInstanceCreateMatrixBuffer(\"previousWorld\", buffer, staticBuffer);\n }\n }\n else {\n // color for instanced mesh is ColorInstanceKind and not ColorKind because of native that needs to do the differenciation\n // hot switching kind here to preserve backward compatibility\n if (kind === VertexBuffer.ColorKind) {\n kind = VertexBuffer.ColorInstanceKind;\n }\n if (buffer === null) {\n if (this._userThinInstanceBuffersStorage?.data[kind]) {\n this.removeVerticesData(kind);\n delete this._userThinInstanceBuffersStorage.data[kind];\n delete this._userThinInstanceBuffersStorage.strides[kind];\n delete this._userThinInstanceBuffersStorage.sizes[kind];\n delete this._userThinInstanceBuffersStorage.vertexBuffers[kind];\n }\n }\n else {\n this._thinInstanceInitializeUserStorage();\n this._userThinInstanceBuffersStorage.data[kind] = buffer;\n this._userThinInstanceBuffersStorage.strides[kind] = stride;\n this._userThinInstanceBuffersStorage.sizes[kind] = buffer.length;\n this._userThinInstanceBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), buffer, kind, !staticBuffer, false, stride, true);\n this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[kind]);\n }\n }\n};\nMesh.prototype.thinInstanceBufferUpdated = function (kind) {\n if (kind === \"matrix\") {\n if (this.thinInstanceAllowAutomaticStaticBufferRecreation && this._thinInstanceDataStorage.matrixBuffer && !this._thinInstanceDataStorage.matrixBuffer.isUpdatable()) {\n this._thinInstanceRecreateBuffer(kind);\n }\n this._thinInstanceDataStorage.matrixBuffer?.updateDirectly(this._thinInstanceDataStorage.matrixData, 0, this._thinInstanceDataStorage.instancesCount);\n }\n else if (kind === \"previousMatrix\") {\n if (this.thinInstanceAllowAutomaticStaticBufferRecreation &&\n this._thinInstanceDataStorage.previousMatrixBuffer &&\n !this._thinInstanceDataStorage.previousMatrixBuffer.isUpdatable()) {\n this._thinInstanceRecreateBuffer(kind);\n }\n this._thinInstanceDataStorage.previousMatrixBuffer?.updateDirectly(this._thinInstanceDataStorage.previousMatrixData, 0, this._thinInstanceDataStorage.instancesCount);\n }\n else {\n // preserve backward compatibility\n if (kind === VertexBuffer.ColorKind) {\n kind = VertexBuffer.ColorInstanceKind;\n }\n if (this._userThinInstanceBuffersStorage?.vertexBuffers[kind]) {\n if (this.thinInstanceAllowAutomaticStaticBufferRecreation && !this._userThinInstanceBuffersStorage.vertexBuffers[kind].isUpdatable()) {\n this._thinInstanceRecreateBuffer(kind);\n }\n this._userThinInstanceBuffersStorage.vertexBuffers[kind].updateDirectly(this._userThinInstanceBuffersStorage.data[kind], 0);\n }\n }\n};\nMesh.prototype.thinInstancePartialBufferUpdate = function (kind, data, offset) {\n if (kind === \"matrix\") {\n if (this._thinInstanceDataStorage.matrixBuffer) {\n this._thinInstanceDataStorage.matrixBuffer.updateDirectly(data, offset);\n }\n }\n else {\n // preserve backward compatibility\n if (kind === VertexBuffer.ColorKind) {\n kind = VertexBuffer.ColorInstanceKind;\n }\n if (this._userThinInstanceBuffersStorage?.vertexBuffers[kind]) {\n this._userThinInstanceBuffersStorage.vertexBuffers[kind].updateDirectly(data, offset);\n }\n }\n};\nMesh.prototype.thinInstanceGetWorldMatrices = function () {\n if (!this._thinInstanceDataStorage.matrixData || !this._thinInstanceDataStorage.matrixBuffer) {\n return [];\n }\n const matrixData = this._thinInstanceDataStorage.matrixData;\n if (!this._thinInstanceDataStorage.worldMatrices) {\n this._thinInstanceDataStorage.worldMatrices = [];\n for (let i = 0; i < this._thinInstanceDataStorage.instancesCount; ++i) {\n this._thinInstanceDataStorage.worldMatrices[i] = Matrix.FromArray(matrixData, i * 16);\n }\n }\n return this._thinInstanceDataStorage.worldMatrices;\n};\nMesh.prototype.thinInstanceRefreshBoundingInfo = function (forceRefreshParentInfo = false, applySkeleton = false, applyMorph = false) {\n if (!this._thinInstanceDataStorage.matrixData || !this._thinInstanceDataStorage.matrixBuffer) {\n return;\n }\n const vectors = this._thinInstanceDataStorage.boundingVectors;\n if (forceRefreshParentInfo || !this.rawBoundingInfo) {\n vectors.length = 0;\n this.refreshBoundingInfo(applySkeleton, applyMorph);\n const boundingInfo = this.getBoundingInfo();\n this.rawBoundingInfo = new BoundingInfo(boundingInfo.minimum, boundingInfo.maximum);\n }\n const boundingInfo = this.getBoundingInfo();\n const matrixData = this._thinInstanceDataStorage.matrixData;\n if (vectors.length === 0) {\n for (let v = 0; v < boundingInfo.boundingBox.vectors.length; ++v) {\n vectors.push(boundingInfo.boundingBox.vectors[v].clone());\n }\n }\n TmpVectors.Vector3[0].setAll(Number.POSITIVE_INFINITY); // min\n TmpVectors.Vector3[1].setAll(Number.NEGATIVE_INFINITY); // max\n for (let i = 0; i < this._thinInstanceDataStorage.instancesCount; ++i) {\n Matrix.FromArrayToRef(matrixData, i * 16, TmpVectors.Matrix[0]);\n for (let v = 0; v < vectors.length; ++v) {\n Vector3.TransformCoordinatesToRef(vectors[v], TmpVectors.Matrix[0], TmpVectors.Vector3[2]);\n TmpVectors.Vector3[0].minimizeInPlace(TmpVectors.Vector3[2]);\n TmpVectors.Vector3[1].maximizeInPlace(TmpVectors.Vector3[2]);\n }\n }\n boundingInfo.reConstruct(TmpVectors.Vector3[0], TmpVectors.Vector3[1]);\n this._updateBoundingInfo();\n};\nMesh.prototype._thinInstanceRecreateBuffer = function (kind, staticBuffer = true) {\n if (kind === \"matrix\") {\n this._thinInstanceDataStorage.matrixBuffer?.dispose();\n this._thinInstanceDataStorage.matrixBuffer = this._thinInstanceCreateMatrixBuffer(\"world\", this._thinInstanceDataStorage.matrixData, staticBuffer);\n }\n else if (kind === \"previousMatrix\") {\n if (this._scene.needsPreviousWorldMatrices) {\n this._thinInstanceDataStorage.previousMatrixBuffer?.dispose();\n this._thinInstanceDataStorage.previousMatrixBuffer = this._thinInstanceCreateMatrixBuffer(\"previousWorld\", this._thinInstanceDataStorage.previousMatrixData ?? this._thinInstanceDataStorage.matrixData, staticBuffer);\n }\n }\n else {\n if (kind === VertexBuffer.ColorKind) {\n kind = VertexBuffer.ColorInstanceKind;\n }\n this._userThinInstanceBuffersStorage.vertexBuffers[kind]?.dispose();\n this._userThinInstanceBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), this._userThinInstanceBuffersStorage.data[kind], kind, !staticBuffer, false, this._userThinInstanceBuffersStorage.strides[kind], true);\n this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[kind]);\n }\n};\nMesh.prototype._thinInstanceUpdateBufferSize = function (kind, numInstances = 1) {\n // preserve backward compatibility\n if (kind === VertexBuffer.ColorKind) {\n kind = VertexBuffer.ColorInstanceKind;\n }\n const kindIsMatrix = kind === \"matrix\";\n if (!kindIsMatrix && (!this._userThinInstanceBuffersStorage || !this._userThinInstanceBuffersStorage.strides[kind])) {\n return;\n }\n const stride = kindIsMatrix ? 16 : this._userThinInstanceBuffersStorage.strides[kind];\n const currentSize = kindIsMatrix ? this._thinInstanceDataStorage.matrixBufferSize : this._userThinInstanceBuffersStorage.sizes[kind];\n let data = kindIsMatrix ? this._thinInstanceDataStorage.matrixData : this._userThinInstanceBuffersStorage.data[kind];\n const bufferSize = (this._thinInstanceDataStorage.instancesCount + numInstances) * stride;\n let newSize = currentSize;\n while (newSize < bufferSize) {\n newSize *= 2;\n }\n if (!data || currentSize != newSize) {\n if (!data) {\n data = new Float32Array(newSize);\n }\n else {\n const newData = new Float32Array(newSize);\n newData.set(data, 0);\n data = newData;\n }\n if (kindIsMatrix) {\n this._thinInstanceDataStorage.matrixBuffer?.dispose();\n this._thinInstanceDataStorage.matrixBuffer = this._thinInstanceCreateMatrixBuffer(\"world\", data, false);\n this._thinInstanceDataStorage.matrixData = data;\n this._thinInstanceDataStorage.matrixBufferSize = newSize;\n if (this._scene.needsPreviousWorldMatrices && !this._thinInstanceDataStorage.previousMatrixData) {\n this._thinInstanceDataStorage.previousMatrixBuffer?.dispose();\n this._thinInstanceDataStorage.previousMatrixBuffer = this._thinInstanceCreateMatrixBuffer(\"previousWorld\", data, false);\n }\n }\n else {\n this._userThinInstanceBuffersStorage.vertexBuffers[kind]?.dispose();\n this._userThinInstanceBuffersStorage.data[kind] = data;\n this._userThinInstanceBuffersStorage.sizes[kind] = newSize;\n this._userThinInstanceBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), data, kind, true, false, stride, true);\n this.setVerticesBuffer(this._userThinInstanceBuffersStorage.vertexBuffers[kind]);\n }\n }\n};\nMesh.prototype._thinInstanceInitializeUserStorage = function () {\n if (!this._userThinInstanceBuffersStorage) {\n this._userThinInstanceBuffersStorage = {\n data: {},\n sizes: {},\n vertexBuffers: {},\n strides: {},\n };\n }\n};\nMesh.prototype._disposeThinInstanceSpecificData = function () {\n if (this._thinInstanceDataStorage?.matrixBuffer) {\n this._thinInstanceDataStorage.matrixBuffer.dispose();\n this._thinInstanceDataStorage.matrixBuffer = null;\n }\n};\n//# sourceMappingURL=thinInstanceMesh.js.map"],"names":[],"mappings":"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"}