@babylonjs/viewer 7.27.3 → 7.28.0-alpha

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 (587) hide show
  1. package/assets/photoStudio.env +0 -0
  2. package/dist/babylon-viewer.esm.js +2 -0
  3. package/dist/babylon-viewer.esm.js.map +1 -0
  4. package/dist/babylon-viewer.esm.min.js +2 -0
  5. package/dist/babylon-viewer.esm.min.js.map +1 -0
  6. package/dist/chunks/EXT_lights_image_based-3eXoqwff.esm.min.js +2 -0
  7. package/dist/chunks/EXT_lights_image_based-3eXoqwff.esm.min.js.map +1 -0
  8. package/dist/chunks/EXT_lights_image_based-DgCGZ2BG.esm.js +172 -0
  9. package/dist/chunks/EXT_lights_image_based-DgCGZ2BG.esm.js.map +1 -0
  10. package/dist/chunks/EXT_mesh_gpu_instancing-UFRD8RET.esm.js +86 -0
  11. package/dist/chunks/EXT_mesh_gpu_instancing-UFRD8RET.esm.js.map +1 -0
  12. package/dist/chunks/EXT_mesh_gpu_instancing-jLXZLcnP.esm.min.js +2 -0
  13. package/dist/chunks/EXT_mesh_gpu_instancing-jLXZLcnP.esm.min.js.map +1 -0
  14. package/dist/chunks/EXT_meshopt_compression-2itUWj1c.esm.js +134 -0
  15. package/dist/chunks/EXT_meshopt_compression-2itUWj1c.esm.js.map +1 -0
  16. package/dist/chunks/EXT_meshopt_compression-COSiPUUL.esm.min.js +2 -0
  17. package/dist/chunks/EXT_meshopt_compression-COSiPUUL.esm.min.js.map +1 -0
  18. package/dist/chunks/EXT_texture_avif-DDk0j61R.esm.js +44 -0
  19. package/dist/chunks/EXT_texture_avif-DDk0j61R.esm.js.map +1 -0
  20. package/dist/chunks/EXT_texture_avif-S53GgWUZ.esm.min.js +2 -0
  21. package/dist/chunks/EXT_texture_avif-S53GgWUZ.esm.min.js.map +1 -0
  22. package/dist/chunks/EXT_texture_webp-C9RawsOL.esm.js +43 -0
  23. package/dist/chunks/EXT_texture_webp-C9RawsOL.esm.js.map +1 -0
  24. package/dist/chunks/EXT_texture_webp-D2XKcbvR.esm.min.js +2 -0
  25. package/dist/chunks/EXT_texture_webp-D2XKcbvR.esm.min.js.map +1 -0
  26. package/dist/chunks/ExtrasAsMetadata-CT2uMzBs.esm.js +64 -0
  27. package/dist/chunks/ExtrasAsMetadata-CT2uMzBs.esm.js.map +1 -0
  28. package/dist/chunks/ExtrasAsMetadata-CTQija-r.esm.min.js +2 -0
  29. package/dist/chunks/ExtrasAsMetadata-CTQija-r.esm.min.js.map +1 -0
  30. package/dist/chunks/KHR_animation_pointer-BRkXpXY_.esm.min.js +2 -0
  31. package/dist/chunks/KHR_animation_pointer-BRkXpXY_.esm.min.js.map +1 -0
  32. package/dist/chunks/KHR_animation_pointer-DrPB7NZz.esm.js +343 -0
  33. package/dist/chunks/KHR_animation_pointer-DrPB7NZz.esm.js.map +1 -0
  34. package/dist/chunks/KHR_draco_mesh_compression-3KGuSXAA.esm.min.js +2 -0
  35. package/dist/chunks/KHR_draco_mesh_compression-3KGuSXAA.esm.min.js.map +1 -0
  36. package/dist/chunks/KHR_draco_mesh_compression-CwTlj-Hp.esm.js +610 -0
  37. package/dist/chunks/KHR_draco_mesh_compression-CwTlj-Hp.esm.js.map +1 -0
  38. package/dist/chunks/KHR_interactivity-CPooex_D.esm.js +4033 -0
  39. package/dist/chunks/KHR_interactivity-CPooex_D.esm.js.map +1 -0
  40. package/dist/chunks/KHR_interactivity-CjtTFwNc.esm.min.js +2 -0
  41. package/dist/chunks/KHR_interactivity-CjtTFwNc.esm.min.js.map +1 -0
  42. package/dist/chunks/KHR_lights_punctual-CE_Pbomw.esm.js +1253 -0
  43. package/dist/chunks/KHR_lights_punctual-CE_Pbomw.esm.js.map +1 -0
  44. package/dist/chunks/KHR_lights_punctual-MUrTncyq.esm.min.js +2 -0
  45. package/dist/chunks/KHR_lights_punctual-MUrTncyq.esm.min.js.map +1 -0
  46. package/dist/chunks/KHR_materials_anisotropy-DcEIoErr.esm.js +64 -0
  47. package/dist/chunks/KHR_materials_anisotropy-DcEIoErr.esm.js.map +1 -0
  48. package/dist/chunks/KHR_materials_anisotropy-U-61ECua.esm.min.js +2 -0
  49. package/dist/chunks/KHR_materials_anisotropy-U-61ECua.esm.min.js.map +1 -0
  50. package/dist/chunks/KHR_materials_clearcoat-CtK90V8c.esm.js +96 -0
  51. package/dist/chunks/KHR_materials_clearcoat-CtK90V8c.esm.js.map +1 -0
  52. package/dist/chunks/KHR_materials_clearcoat-DMi2rgcw.esm.min.js +2 -0
  53. package/dist/chunks/KHR_materials_clearcoat-DMi2rgcw.esm.min.js.map +1 -0
  54. package/dist/chunks/KHR_materials_diffuse_transmission-BwohhmnH.esm.js +97 -0
  55. package/dist/chunks/KHR_materials_diffuse_transmission-BwohhmnH.esm.js.map +1 -0
  56. package/dist/chunks/KHR_materials_diffuse_transmission-aRFTAZnS.esm.min.js +2 -0
  57. package/dist/chunks/KHR_materials_diffuse_transmission-aRFTAZnS.esm.min.js.map +1 -0
  58. package/dist/chunks/KHR_materials_dispersion-C0sb52Jw.esm.js +62 -0
  59. package/dist/chunks/KHR_materials_dispersion-C0sb52Jw.esm.js.map +1 -0
  60. package/dist/chunks/KHR_materials_dispersion-C4HCJyeO.esm.min.js +2 -0
  61. package/dist/chunks/KHR_materials_dispersion-C4HCJyeO.esm.min.js.map +1 -0
  62. package/dist/chunks/KHR_materials_emissive_strength-CthUQnvM.esm.js +55 -0
  63. package/dist/chunks/KHR_materials_emissive_strength-CthUQnvM.esm.js.map +1 -0
  64. package/dist/chunks/KHR_materials_emissive_strength-L5aAyvqr.esm.min.js +2 -0
  65. package/dist/chunks/KHR_materials_emissive_strength-L5aAyvqr.esm.min.js.map +1 -0
  66. package/dist/chunks/KHR_materials_ior-BSUtCKDf.esm.js +64 -0
  67. package/dist/chunks/KHR_materials_ior-BSUtCKDf.esm.js.map +1 -0
  68. package/dist/chunks/KHR_materials_ior-DAKNR7z-.esm.min.js +2 -0
  69. package/dist/chunks/KHR_materials_ior-DAKNR7z-.esm.min.js.map +1 -0
  70. package/dist/chunks/KHR_materials_iridescence-BjLvEtdQ.esm.min.js +2 -0
  71. package/dist/chunks/KHR_materials_iridescence-BjLvEtdQ.esm.min.js.map +1 -0
  72. package/dist/chunks/KHR_materials_iridescence-CQ-o2Qag.esm.js +72 -0
  73. package/dist/chunks/KHR_materials_iridescence-CQ-o2Qag.esm.js.map +1 -0
  74. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Cx8AsXK8.esm.min.js +2 -0
  75. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Cx8AsXK8.esm.min.js.map +1 -0
  76. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-iQiy6qp4.esm.js +81 -0
  77. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-iQiy6qp4.esm.js.map +1 -0
  78. package/dist/chunks/KHR_materials_sheen-CQkrxBFM.esm.min.js +2 -0
  79. package/dist/chunks/KHR_materials_sheen-CQkrxBFM.esm.min.js.map +1 -0
  80. package/dist/chunks/KHR_materials_sheen-IPqZM4PN.esm.js +85 -0
  81. package/dist/chunks/KHR_materials_sheen-IPqZM4PN.esm.js.map +1 -0
  82. package/dist/chunks/KHR_materials_specular-BkCr8Zv5.esm.js +75 -0
  83. package/dist/chunks/KHR_materials_specular-BkCr8Zv5.esm.js.map +1 -0
  84. package/dist/chunks/KHR_materials_specular-CVIDVIZl.esm.min.js +2 -0
  85. package/dist/chunks/KHR_materials_specular-CVIDVIZl.esm.min.js.map +1 -0
  86. package/dist/chunks/KHR_materials_transmission--XYp5qZT.esm.min.js +2 -0
  87. package/dist/chunks/KHR_materials_transmission--XYp5qZT.esm.min.js.map +1 -0
  88. package/dist/chunks/KHR_materials_transmission-C5q0bJ71.esm.js +307 -0
  89. package/dist/chunks/KHR_materials_transmission-C5q0bJ71.esm.js.map +1 -0
  90. package/dist/chunks/KHR_materials_unlit-C_0UOWUu.esm.min.js +2 -0
  91. package/dist/chunks/KHR_materials_unlit-C_0UOWUu.esm.min.js.map +1 -0
  92. package/dist/chunks/KHR_materials_unlit-qnEYXc2y.esm.js +74 -0
  93. package/dist/chunks/KHR_materials_unlit-qnEYXc2y.esm.js.map +1 -0
  94. package/dist/chunks/KHR_materials_variants-CXJiHSOj.esm.js +238 -0
  95. package/dist/chunks/KHR_materials_variants-CXJiHSOj.esm.js.map +1 -0
  96. package/dist/chunks/KHR_materials_variants-DYis5Tv2.esm.min.js +2 -0
  97. package/dist/chunks/KHR_materials_variants-DYis5Tv2.esm.min.js.map +1 -0
  98. package/dist/chunks/KHR_materials_volume-BfwkCW5U.esm.min.js +2 -0
  99. package/dist/chunks/KHR_materials_volume-BfwkCW5U.esm.min.js.map +1 -0
  100. package/dist/chunks/KHR_materials_volume-DjJClxGQ.esm.js +87 -0
  101. package/dist/chunks/KHR_materials_volume-DjJClxGQ.esm.js.map +1 -0
  102. package/dist/chunks/KHR_mesh_quantization-BVjp41hH.esm.js +26 -0
  103. package/dist/chunks/KHR_mesh_quantization-BVjp41hH.esm.js.map +1 -0
  104. package/dist/chunks/KHR_mesh_quantization-Bs1ERLau.esm.min.js +2 -0
  105. package/dist/chunks/KHR_mesh_quantization-Bs1ERLau.esm.min.js.map +1 -0
  106. package/dist/chunks/KHR_texture_basisu-CX4ZwCxA.esm.min.js +2 -0
  107. package/dist/chunks/KHR_texture_basisu-CX4ZwCxA.esm.min.js.map +1 -0
  108. package/dist/chunks/KHR_texture_basisu-DpzoPKaR.esm.js +43 -0
  109. package/dist/chunks/KHR_texture_basisu-DpzoPKaR.esm.js.map +1 -0
  110. package/dist/chunks/KHR_texture_transform-BYTNC2PZ.esm.js +63 -0
  111. package/dist/chunks/KHR_texture_transform-BYTNC2PZ.esm.js.map +1 -0
  112. package/dist/chunks/KHR_texture_transform-D2gSKYqq.esm.min.js +2 -0
  113. package/dist/chunks/KHR_texture_transform-D2gSKYqq.esm.min.js.map +1 -0
  114. package/dist/chunks/KHR_xmp_json_ld-B9p_mnIE.esm.min.js +2 -0
  115. package/dist/chunks/KHR_xmp_json_ld-B9p_mnIE.esm.min.js.map +1 -0
  116. package/dist/chunks/KHR_xmp_json_ld-yryfql1G.esm.js +51 -0
  117. package/dist/chunks/KHR_xmp_json_ld-yryfql1G.esm.js.map +1 -0
  118. package/dist/chunks/MSFT_audio_emitter-CsMdhXHJ.esm.min.js +2 -0
  119. package/dist/chunks/MSFT_audio_emitter-CsMdhXHJ.esm.min.js.map +1 -0
  120. package/dist/chunks/MSFT_audio_emitter-bdzRBwn5.esm.js +2207 -0
  121. package/dist/chunks/MSFT_audio_emitter-bdzRBwn5.esm.js.map +1 -0
  122. package/dist/chunks/MSFT_lod-CRv-taiG.esm.js +337 -0
  123. package/dist/chunks/MSFT_lod-CRv-taiG.esm.js.map +1 -0
  124. package/dist/chunks/MSFT_lod-DY6GwVy6.esm.min.js +2 -0
  125. package/dist/chunks/MSFT_lod-DY6GwVy6.esm.min.js.map +1 -0
  126. package/dist/chunks/MSFT_minecraftMesh-BKt5AmWl.esm.js +46 -0
  127. package/dist/chunks/MSFT_minecraftMesh-BKt5AmWl.esm.js.map +1 -0
  128. package/dist/chunks/MSFT_minecraftMesh-Dt7wMpY2.esm.min.js +2 -0
  129. package/dist/chunks/MSFT_minecraftMesh-Dt7wMpY2.esm.min.js.map +1 -0
  130. package/dist/chunks/MSFT_sRGBFactors-72Bu-2h1.esm.min.js +2 -0
  131. package/dist/chunks/MSFT_sRGBFactors-72Bu-2h1.esm.min.js.map +1 -0
  132. package/dist/chunks/MSFT_sRGBFactors-BbWdK1_1.esm.js +47 -0
  133. package/dist/chunks/MSFT_sRGBFactors-BbWdK1_1.esm.js.map +1 -0
  134. package/dist/chunks/animationGroup-Cnv-QRPm.esm.js +2479 -0
  135. package/dist/chunks/animationGroup-Cnv-QRPm.esm.js.map +1 -0
  136. package/dist/chunks/animationGroup-Dj6g76i_.esm.min.js +2 -0
  137. package/dist/chunks/animationGroup-Dj6g76i_.esm.min.js.map +1 -0
  138. package/dist/chunks/assetContainer-C-F4HA2b.esm.js +1720 -0
  139. package/dist/chunks/assetContainer-C-F4HA2b.esm.js.map +1 -0
  140. package/dist/chunks/assetContainer-yzkL3HL9.esm.min.js +2 -0
  141. package/dist/chunks/assetContainer-yzkL3HL9.esm.min.js.map +1 -0
  142. package/dist/chunks/audioEngine-2xiZaVR-.esm.min.js +2 -0
  143. package/dist/chunks/audioEngine-2xiZaVR-.esm.min.js.map +1 -0
  144. package/dist/chunks/audioEngine-Cx0ma7EX.esm.js +305 -0
  145. package/dist/chunks/audioEngine-Cx0ma7EX.esm.js.map +1 -0
  146. package/dist/chunks/bakedVertexAnimation-ANJNS_Pv.esm.min.js +2 -0
  147. package/dist/chunks/bakedVertexAnimation-ANJNS_Pv.esm.min.js.map +1 -0
  148. package/dist/chunks/bakedVertexAnimation-CxyFWdGx.esm.js +119 -0
  149. package/dist/chunks/bakedVertexAnimation-CxyFWdGx.esm.js.map +1 -0
  150. package/dist/chunks/basisTextureLoader-BwtYdV_P.esm.js +600 -0
  151. package/dist/chunks/basisTextureLoader-BwtYdV_P.esm.js.map +1 -0
  152. package/dist/chunks/basisTextureLoader-Dq_XBlPR.esm.min.js +2 -0
  153. package/dist/chunks/basisTextureLoader-Dq_XBlPR.esm.min.js.map +1 -0
  154. package/dist/chunks/dds-D5OqOLui.esm.js +540 -0
  155. package/dist/chunks/dds-D5OqOLui.esm.js.map +1 -0
  156. package/dist/chunks/dds-DK9ShfvY.esm.min.js +2 -0
  157. package/dist/chunks/dds-DK9ShfvY.esm.min.js.map +1 -0
  158. package/dist/chunks/ddsTextureLoader-2ezzl3nq.esm.js +88 -0
  159. package/dist/chunks/ddsTextureLoader-2ezzl3nq.esm.js.map +1 -0
  160. package/dist/chunks/ddsTextureLoader-C3o86gMM.esm.min.js +2 -0
  161. package/dist/chunks/ddsTextureLoader-C3o86gMM.esm.min.js.map +1 -0
  162. package/dist/chunks/decalFragment-Drag0mRm.esm.js +18 -0
  163. package/dist/chunks/decalFragment-Drag0mRm.esm.js.map +1 -0
  164. package/dist/chunks/decalFragment-I7zHHg4g.esm.min.js +2 -0
  165. package/dist/chunks/decalFragment-I7zHHg4g.esm.min.js.map +1 -0
  166. package/dist/chunks/default.fragment-C757ivRm.esm.min.js +2 -0
  167. package/dist/chunks/default.fragment-C757ivRm.esm.min.js.map +1 -0
  168. package/dist/chunks/default.fragment-CBCZy0zH.esm.js +515 -0
  169. package/dist/chunks/default.fragment-CBCZy0zH.esm.js.map +1 -0
  170. package/dist/chunks/default.fragment-CxhchRBe.esm.min.js +2 -0
  171. package/dist/chunks/default.fragment-CxhchRBe.esm.min.js.map +1 -0
  172. package/dist/chunks/default.fragment-vJeaqi0K.esm.js +449 -0
  173. package/dist/chunks/default.fragment-vJeaqi0K.esm.js.map +1 -0
  174. package/dist/chunks/default.vertex-CyPWwm-H.esm.min.js +2 -0
  175. package/dist/chunks/default.vertex-CyPWwm-H.esm.min.js.map +1 -0
  176. package/dist/chunks/default.vertex-DKlAQm_v.esm.min.js +2 -0
  177. package/dist/chunks/default.vertex-DKlAQm_v.esm.min.js.map +1 -0
  178. package/dist/chunks/default.vertex-EbP94etr.esm.js +199 -0
  179. package/dist/chunks/default.vertex-EbP94etr.esm.js.map +1 -0
  180. package/dist/chunks/default.vertex-sXmCc1dY.esm.js +180 -0
  181. package/dist/chunks/default.vertex-sXmCc1dY.esm.js.map +1 -0
  182. package/dist/chunks/defaultUboDeclaration-C3pnDAEV.esm.min.js +2 -0
  183. package/dist/chunks/defaultUboDeclaration-C3pnDAEV.esm.min.js.map +1 -0
  184. package/dist/chunks/defaultUboDeclaration-DKQWE8MQ.esm.min.js +2 -0
  185. package/dist/chunks/defaultUboDeclaration-DKQWE8MQ.esm.min.js.map +1 -0
  186. package/dist/chunks/defaultUboDeclaration-DjoMGLp2.esm.js +13 -0
  187. package/dist/chunks/defaultUboDeclaration-DjoMGLp2.esm.js.map +1 -0
  188. package/dist/chunks/defaultUboDeclaration-HaQvlp0b.esm.js +15 -0
  189. package/dist/chunks/defaultUboDeclaration-HaQvlp0b.esm.js.map +1 -0
  190. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +11 -0
  191. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +1 -0
  192. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +2 -0
  193. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +1 -0
  194. package/dist/chunks/dumpTools-8Kbuuv_t.esm.js +401 -0
  195. package/dist/chunks/dumpTools-8Kbuuv_t.esm.js.map +1 -0
  196. package/dist/chunks/dumpTools-BQULMnHn.esm.min.js +2 -0
  197. package/dist/chunks/dumpTools-BQULMnHn.esm.min.js.map +1 -0
  198. package/dist/chunks/engine-R8ufvngA.esm.js +2174 -0
  199. package/dist/chunks/engine-R8ufvngA.esm.js.map +1 -0
  200. package/dist/chunks/engine-j0ie5u4Y.esm.min.js +2 -0
  201. package/dist/chunks/engine-j0ie5u4Y.esm.min.js.map +1 -0
  202. package/dist/chunks/engine.common-DW5fOVN3.esm.min.js +2 -0
  203. package/dist/chunks/engine.common-DW5fOVN3.esm.min.js.map +1 -0
  204. package/dist/chunks/engine.common-buSIz8Ev.esm.js +1088 -0
  205. package/dist/chunks/engine.common-buSIz8Ev.esm.js.map +1 -0
  206. package/dist/chunks/envTextureLoader-B6pcDqsM.esm.min.js +2 -0
  207. package/dist/chunks/envTextureLoader-B6pcDqsM.esm.min.js.map +1 -0
  208. package/dist/chunks/envTextureLoader-CGhTHASj.esm.js +65 -0
  209. package/dist/chunks/envTextureLoader-CGhTHASj.esm.js.map +1 -0
  210. package/dist/chunks/environmentTextureTools-BDGuP88l.esm.js +382 -0
  211. package/dist/chunks/environmentTextureTools-BDGuP88l.esm.js.map +1 -0
  212. package/dist/chunks/environmentTextureTools-BT0gE-EJ.esm.min.js +2 -0
  213. package/dist/chunks/environmentTextureTools-BT0gE-EJ.esm.min.js.map +1 -0
  214. package/dist/chunks/exrTextureLoader-CN5dc0n8.esm.min.js +2 -0
  215. package/dist/chunks/exrTextureLoader-CN5dc0n8.esm.min.js.map +1 -0
  216. package/dist/chunks/exrTextureLoader-CYQnUrVl.esm.js +1682 -0
  217. package/dist/chunks/exrTextureLoader-CYQnUrVl.esm.js.map +1 -0
  218. package/dist/chunks/fogFragment-6FnKPxpy.esm.min.js +2 -0
  219. package/dist/chunks/fogFragment-6FnKPxpy.esm.min.js.map +1 -0
  220. package/dist/chunks/fogFragment-CizzLpaY.esm.js +102 -0
  221. package/dist/chunks/fogFragment-CizzLpaY.esm.js.map +1 -0
  222. package/dist/chunks/fresnelFunction-B6mPA48a.esm.min.js +2 -0
  223. package/dist/chunks/fresnelFunction-B6mPA48a.esm.min.js.map +1 -0
  224. package/dist/chunks/fresnelFunction-DVso4sEr.esm.js +12 -0
  225. package/dist/chunks/fresnelFunction-DVso4sEr.esm.js.map +1 -0
  226. package/dist/chunks/glTFLoader-CEQKEyEA.esm.min.js +2 -0
  227. package/dist/chunks/glTFLoader-CEQKEyEA.esm.min.js.map +1 -0
  228. package/dist/chunks/glTFLoader-ht4lq0nT.esm.js +7563 -0
  229. package/dist/chunks/glTFLoader-ht4lq0nT.esm.js.map +1 -0
  230. package/dist/chunks/glTFLoaderAnimation-C5YcVTsA.esm.min.js +2 -0
  231. package/dist/chunks/glTFLoaderAnimation-C5YcVTsA.esm.min.js.map +1 -0
  232. package/dist/chunks/glTFLoaderAnimation-DcmHMDkS.esm.js +77 -0
  233. package/dist/chunks/glTFLoaderAnimation-DcmHMDkS.esm.js.map +1 -0
  234. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +2 -0
  235. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +1 -0
  236. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +67 -0
  237. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +1 -0
  238. package/dist/chunks/harmonicsFunctions-BPx91vrF.esm.min.js +2 -0
  239. package/dist/chunks/harmonicsFunctions-BPx91vrF.esm.min.js.map +1 -0
  240. package/dist/chunks/harmonicsFunctions-D3SGmS-X.esm.js +35 -0
  241. package/dist/chunks/harmonicsFunctions-D3SGmS-X.esm.js.map +1 -0
  242. package/dist/chunks/harmonicsFunctions-DCor55C8.esm.js +34 -0
  243. package/dist/chunks/harmonicsFunctions-DCor55C8.esm.js.map +1 -0
  244. package/dist/chunks/harmonicsFunctions-m8lNczKz.esm.min.js +2 -0
  245. package/dist/chunks/harmonicsFunctions-m8lNczKz.esm.min.js.map +1 -0
  246. package/dist/chunks/hdrTextureLoader-CQcm6tqX.esm.js +252 -0
  247. package/dist/chunks/hdrTextureLoader-CQcm6tqX.esm.js.map +1 -0
  248. package/dist/chunks/hdrTextureLoader-DTzTMrfG.esm.min.js +2 -0
  249. package/dist/chunks/hdrTextureLoader-DTzTMrfG.esm.min.js.map +1 -0
  250. package/dist/chunks/helperFunctions-CQ8qVahI.esm.js +80 -0
  251. package/dist/chunks/helperFunctions-CQ8qVahI.esm.js.map +1 -0
  252. package/dist/chunks/helperFunctions-CZxhBJEB.esm.min.js +2 -0
  253. package/dist/chunks/helperFunctions-CZxhBJEB.esm.min.js.map +1 -0
  254. package/dist/chunks/helperFunctions-HLM-sI3x.esm.min.js +2 -0
  255. package/dist/chunks/helperFunctions-HLM-sI3x.esm.min.js.map +1 -0
  256. package/dist/chunks/helperFunctions-wENQHUG-.esm.js +108 -0
  257. package/dist/chunks/helperFunctions-wENQHUG-.esm.js.map +1 -0
  258. package/dist/chunks/index-BC5LF5i9.esm.min.js +57 -0
  259. package/dist/chunks/index-BC5LF5i9.esm.min.js.map +1 -0
  260. package/dist/chunks/index-D0E1moDr.esm.js +71434 -0
  261. package/dist/chunks/index-D0E1moDr.esm.js.map +1 -0
  262. package/dist/chunks/ktxTextureLoader-DuEV4loQ.esm.min.js +2 -0
  263. package/dist/chunks/ktxTextureLoader-DuEV4loQ.esm.min.js.map +1 -0
  264. package/dist/chunks/ktxTextureLoader-Dwzkv6L3.esm.js +814 -0
  265. package/dist/chunks/ktxTextureLoader-Dwzkv6L3.esm.js.map +1 -0
  266. package/dist/chunks/logDepthDeclaration-BiRU-jkq.esm.js +20 -0
  267. package/dist/chunks/logDepthDeclaration-BiRU-jkq.esm.js.map +1 -0
  268. package/dist/chunks/logDepthDeclaration-CgsbzCKe.esm.js +35 -0
  269. package/dist/chunks/logDepthDeclaration-CgsbzCKe.esm.js.map +1 -0
  270. package/dist/chunks/logDepthDeclaration-D5PPo0wt.esm.min.js +2 -0
  271. package/dist/chunks/logDepthDeclaration-D5PPo0wt.esm.min.js.map +1 -0
  272. package/dist/chunks/logDepthDeclaration-p80kxWvc.esm.min.js +2 -0
  273. package/dist/chunks/logDepthDeclaration-p80kxWvc.esm.min.js.map +1 -0
  274. package/dist/chunks/logDepthVertex-C8xmntAE.esm.js +488 -0
  275. package/dist/chunks/logDepthVertex-C8xmntAE.esm.js.map +1 -0
  276. package/dist/chunks/logDepthVertex-Da1k46VZ.esm.min.js +2 -0
  277. package/dist/chunks/logDepthVertex-Da1k46VZ.esm.min.js.map +1 -0
  278. package/dist/chunks/logDepthVertex-DgGvTksF.esm.min.js +2 -0
  279. package/dist/chunks/logDepthVertex-DgGvTksF.esm.min.js.map +1 -0
  280. package/dist/chunks/logDepthVertex-KLC5ytc9.esm.js +77 -0
  281. package/dist/chunks/logDepthVertex-KLC5ytc9.esm.js.map +1 -0
  282. package/dist/chunks/mainUVVaryingDeclaration-BBNnWqL3.esm.min.js +2 -0
  283. package/dist/chunks/mainUVVaryingDeclaration-BBNnWqL3.esm.min.js.map +1 -0
  284. package/dist/chunks/mainUVVaryingDeclaration-CrsDQ7Rw.esm.js +11 -0
  285. package/dist/chunks/mainUVVaryingDeclaration-CrsDQ7Rw.esm.js.map +1 -0
  286. package/dist/chunks/meshUboDeclaration-BvX3Ec7p.esm.min.js +2 -0
  287. package/dist/chunks/meshUboDeclaration-BvX3Ec7p.esm.min.js.map +1 -0
  288. package/dist/chunks/meshUboDeclaration-DRaaTiEk.esm.js +24 -0
  289. package/dist/chunks/meshUboDeclaration-DRaaTiEk.esm.js.map +1 -0
  290. package/dist/chunks/objFileLoader-Ce4aJaFM.esm.js +1338 -0
  291. package/dist/chunks/objFileLoader-Ce4aJaFM.esm.js.map +1 -0
  292. package/dist/chunks/objFileLoader-CrYKstAi.esm.min.js +2 -0
  293. package/dist/chunks/objFileLoader-CrYKstAi.esm.min.js.map +1 -0
  294. package/dist/chunks/oitFragment-CNXv_oV2.esm.js +1210 -0
  295. package/dist/chunks/oitFragment-CNXv_oV2.esm.js.map +1 -0
  296. package/dist/chunks/oitFragment-D-QO9BYL.esm.min.js +2 -0
  297. package/dist/chunks/oitFragment-D-QO9BYL.esm.min.js.map +1 -0
  298. package/dist/chunks/oitFragment-DL-siQkY.esm.js +1150 -0
  299. package/dist/chunks/oitFragment-DL-siQkY.esm.js.map +1 -0
  300. package/dist/chunks/oitFragment-Dh89u6kd.esm.min.js +2 -0
  301. package/dist/chunks/oitFragment-Dh89u6kd.esm.min.js.map +1 -0
  302. package/dist/chunks/pass.fragment-6gActEq9.esm.min.js +2 -0
  303. package/dist/chunks/pass.fragment-6gActEq9.esm.min.js.map +1 -0
  304. package/dist/chunks/pass.fragment-BWtGFHKR.esm.min.js +2 -0
  305. package/dist/chunks/pass.fragment-BWtGFHKR.esm.min.js.map +1 -0
  306. package/dist/chunks/pass.fragment-Cf3scVhm.esm.js +15 -0
  307. package/dist/chunks/pass.fragment-Cf3scVhm.esm.js.map +1 -0
  308. package/dist/chunks/pass.fragment-L2hyelgw.esm.js +15 -0
  309. package/dist/chunks/pass.fragment-L2hyelgw.esm.js.map +1 -0
  310. package/dist/chunks/pbr.fragment-BCiIhSwY.esm.min.js +2 -0
  311. package/dist/chunks/pbr.fragment-BCiIhSwY.esm.min.js.map +1 -0
  312. package/dist/chunks/pbr.fragment-BQsptCnM.esm.js +3165 -0
  313. package/dist/chunks/pbr.fragment-BQsptCnM.esm.js.map +1 -0
  314. package/dist/chunks/pbr.fragment-CV7nHiSW.esm.min.js +2 -0
  315. package/dist/chunks/pbr.fragment-CV7nHiSW.esm.min.js.map +1 -0
  316. package/dist/chunks/pbr.fragment-zekg3AtG.esm.js +3219 -0
  317. package/dist/chunks/pbr.fragment-zekg3AtG.esm.js.map +1 -0
  318. package/dist/chunks/pbr.vertex-BdS85hcR.esm.min.js +2 -0
  319. package/dist/chunks/pbr.vertex-BdS85hcR.esm.min.js.map +1 -0
  320. package/dist/chunks/pbr.vertex-CdmOZTsb.esm.js +335 -0
  321. package/dist/chunks/pbr.vertex-CdmOZTsb.esm.js.map +1 -0
  322. package/dist/chunks/pbr.vertex-Ch16cpRc.esm.min.js +2 -0
  323. package/dist/chunks/pbr.vertex-Ch16cpRc.esm.min.js.map +1 -0
  324. package/dist/chunks/pbr.vertex-DP-JkeNL.esm.js +210 -0
  325. package/dist/chunks/pbr.vertex-DP-JkeNL.esm.js.map +1 -0
  326. package/dist/chunks/postprocess.vertex-BfybF4d2.esm.js +18 -0
  327. package/dist/chunks/postprocess.vertex-BfybF4d2.esm.js.map +1 -0
  328. package/dist/chunks/postprocess.vertex-Bnmi3e9K.esm.min.js +2 -0
  329. package/dist/chunks/postprocess.vertex-Bnmi3e9K.esm.min.js.map +1 -0
  330. package/dist/chunks/postprocess.vertex-CYL4-dVR.esm.js +20 -0
  331. package/dist/chunks/postprocess.vertex-CYL4-dVR.esm.js.map +1 -0
  332. package/dist/chunks/postprocess.vertex-Q5d7l8WF.esm.min.js +2 -0
  333. package/dist/chunks/postprocess.vertex-Q5d7l8WF.esm.min.js.map +1 -0
  334. package/dist/chunks/rawTexture-BWFTuwIO.esm.min.js +2 -0
  335. package/dist/chunks/rawTexture-BWFTuwIO.esm.min.js.map +1 -0
  336. package/dist/chunks/rawTexture-C-BSm1U5.esm.js +191 -0
  337. package/dist/chunks/rawTexture-C-BSm1U5.esm.js.map +1 -0
  338. package/dist/chunks/rgbdDecode.fragment-6nGwVmNO.esm.js +17 -0
  339. package/dist/chunks/rgbdDecode.fragment-6nGwVmNO.esm.js.map +1 -0
  340. package/dist/chunks/rgbdDecode.fragment-CMYihxIb.esm.min.js +2 -0
  341. package/dist/chunks/rgbdDecode.fragment-CMYihxIb.esm.min.js.map +1 -0
  342. package/dist/chunks/rgbdDecode.fragment-D48eh1WK.esm.min.js +2 -0
  343. package/dist/chunks/rgbdDecode.fragment-D48eh1WK.esm.min.js.map +1 -0
  344. package/dist/chunks/rgbdDecode.fragment-u6BSTXhW.esm.js +17 -0
  345. package/dist/chunks/rgbdDecode.fragment-u6BSTXhW.esm.js.map +1 -0
  346. package/dist/chunks/rgbdEncode.fragment-BCiGkDDk.esm.js +17 -0
  347. package/dist/chunks/rgbdEncode.fragment-BCiGkDDk.esm.js.map +1 -0
  348. package/dist/chunks/rgbdEncode.fragment-B_9KO57D.esm.js +17 -0
  349. package/dist/chunks/rgbdEncode.fragment-B_9KO57D.esm.js.map +1 -0
  350. package/dist/chunks/rgbdEncode.fragment-CVrt_4Kj.esm.min.js +2 -0
  351. package/dist/chunks/rgbdEncode.fragment-CVrt_4Kj.esm.min.js.map +1 -0
  352. package/dist/chunks/rgbdEncode.fragment-V259OFB6.esm.min.js +2 -0
  353. package/dist/chunks/rgbdEncode.fragment-V259OFB6.esm.min.js.map +1 -0
  354. package/dist/chunks/splatFileLoader-BO6la5-H.esm.js +3340 -0
  355. package/dist/chunks/splatFileLoader-BO6la5-H.esm.js.map +1 -0
  356. package/dist/chunks/splatFileLoader-S6q5_XPy.esm.min.js +2 -0
  357. package/dist/chunks/splatFileLoader-S6q5_XPy.esm.min.js.map +1 -0
  358. package/dist/chunks/standardMaterial-BH9cL7Zd.esm.js +1809 -0
  359. package/dist/chunks/standardMaterial-BH9cL7Zd.esm.js.map +1 -0
  360. package/dist/chunks/standardMaterial-BMohC2Pw.esm.min.js +2 -0
  361. package/dist/chunks/standardMaterial-BMohC2Pw.esm.min.js.map +1 -0
  362. package/dist/chunks/stlFileLoader-DK1ITZRU.esm.min.js +2 -0
  363. package/dist/chunks/stlFileLoader-DK1ITZRU.esm.min.js.map +1 -0
  364. package/dist/chunks/stlFileLoader-DskoqTwS.esm.js +238 -0
  365. package/dist/chunks/stlFileLoader-DskoqTwS.esm.js.map +1 -0
  366. package/dist/chunks/tgaTextureLoader-BTlbmfHD.esm.js +349 -0
  367. package/dist/chunks/tgaTextureLoader-BTlbmfHD.esm.js.map +1 -0
  368. package/dist/chunks/tgaTextureLoader-BkfZcLS9.esm.min.js +2 -0
  369. package/dist/chunks/tgaTextureLoader-BkfZcLS9.esm.min.js.map +1 -0
  370. package/dist/chunks/thinEngine-0P3L0z6G.esm.js +3721 -0
  371. package/dist/chunks/thinEngine-0P3L0z6G.esm.js.map +1 -0
  372. package/dist/chunks/thinEngine-krcyvyno.esm.min.js +2 -0
  373. package/dist/chunks/thinEngine-krcyvyno.esm.min.js.map +1 -0
  374. package/dist/chunks/thinInstanceMesh-CkU4tmTv.esm.js +314 -0
  375. package/dist/chunks/thinInstanceMesh-CkU4tmTv.esm.js.map +1 -0
  376. package/dist/chunks/thinInstanceMesh-DUNQsOmG.esm.min.js +2 -0
  377. package/dist/chunks/thinInstanceMesh-DUNQsOmG.esm.min.js.map +1 -0
  378. package/dist/chunks/vertexColorMixing-Cs7crUUt.esm.min.js +2 -0
  379. package/dist/chunks/vertexColorMixing-Cs7crUUt.esm.min.js.map +1 -0
  380. package/dist/chunks/vertexColorMixing-DreWOedd.esm.js +528 -0
  381. package/dist/chunks/vertexColorMixing-DreWOedd.esm.js.map +1 -0
  382. package/dist/chunks/webgpuEngine-DG1ciCtE.esm.min.js +2 -0
  383. package/dist/chunks/webgpuEngine-DG1ciCtE.esm.min.js.map +1 -0
  384. package/dist/chunks/webgpuEngine-YE9aMbSH.esm.js +11180 -0
  385. package/dist/chunks/webgpuEngine-YE9aMbSH.esm.js.map +1 -0
  386. package/dist/chunks/workerPool-BUOov2K1.esm.js +122 -0
  387. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +1 -0
  388. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +2 -0
  389. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +1 -0
  390. package/docs/ViewerDefault.jpg +0 -0
  391. package/docs/ViewerParts.jpg +0 -0
  392. package/docs/ViewerSlots.jpg +0 -0
  393. package/docs/ViewerStyled.jpg +0 -0
  394. package/lib/index.d.ts +287 -0
  395. package/lib/index.js +1022 -0
  396. package/lib/index.js.map +1 -0
  397. package/package.json +18 -27
  398. package/readme.md +145 -21
  399. package/configuration/configuration.d.ts +0 -107
  400. package/configuration/configuration.js +0 -16
  401. package/configuration/configuration.js.map +0 -1
  402. package/configuration/configurationCompatibility.d.ts +0 -8
  403. package/configuration/configurationCompatibility.js +0 -66
  404. package/configuration/configurationCompatibility.js.map +0 -1
  405. package/configuration/configurationContainer.d.ts +0 -10
  406. package/configuration/configurationContainer.js +0 -10
  407. package/configuration/configurationContainer.js.map +0 -1
  408. package/configuration/globals.d.ts +0 -6
  409. package/configuration/globals.js +0 -18
  410. package/configuration/globals.js.map +0 -1
  411. package/configuration/index.d.ts +0 -2
  412. package/configuration/index.js +0 -4
  413. package/configuration/index.js.map +0 -1
  414. package/configuration/interfaces/cameraConfiguration.d.ts +0 -31
  415. package/configuration/interfaces/cameraConfiguration.js +0 -2
  416. package/configuration/interfaces/cameraConfiguration.js.map +0 -1
  417. package/configuration/interfaces/colorGradingConfiguration.d.ts +0 -81
  418. package/configuration/interfaces/colorGradingConfiguration.js +0 -2
  419. package/configuration/interfaces/colorGradingConfiguration.js.map +0 -1
  420. package/configuration/interfaces/defaultRenderingPipelineConfiguration.d.ts +0 -20
  421. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js +0 -2
  422. package/configuration/interfaces/defaultRenderingPipelineConfiguration.js.map +0 -1
  423. package/configuration/interfaces/environmentMapConfiguration.d.ts +0 -22
  424. package/configuration/interfaces/environmentMapConfiguration.js +0 -2
  425. package/configuration/interfaces/environmentMapConfiguration.js.map +0 -1
  426. package/configuration/interfaces/groundConfiguration.d.ts +0 -24
  427. package/configuration/interfaces/groundConfiguration.js +0 -2
  428. package/configuration/interfaces/groundConfiguration.js.map +0 -1
  429. package/configuration/interfaces/imageProcessingConfiguration.d.ts +0 -45
  430. package/configuration/interfaces/imageProcessingConfiguration.js +0 -2
  431. package/configuration/interfaces/imageProcessingConfiguration.js.map +0 -1
  432. package/configuration/interfaces/index.d.ts +0 -15
  433. package/configuration/interfaces/index.js +0 -16
  434. package/configuration/interfaces/index.js.map +0 -1
  435. package/configuration/interfaces/lightConfiguration.d.ts +0 -60
  436. package/configuration/interfaces/lightConfiguration.js +0 -2
  437. package/configuration/interfaces/lightConfiguration.js.map +0 -1
  438. package/configuration/interfaces/modelAnimationConfiguration.d.ts +0 -26
  439. package/configuration/interfaces/modelAnimationConfiguration.js +0 -2
  440. package/configuration/interfaces/modelAnimationConfiguration.js.map +0 -1
  441. package/configuration/interfaces/modelConfiguration.d.ts +0 -65
  442. package/configuration/interfaces/modelConfiguration.js +0 -2
  443. package/configuration/interfaces/modelConfiguration.js.map +0 -1
  444. package/configuration/interfaces/observersConfiguration.d.ts +0 -5
  445. package/configuration/interfaces/observersConfiguration.js +0 -2
  446. package/configuration/interfaces/observersConfiguration.js.map +0 -1
  447. package/configuration/interfaces/sceneConfiguration.d.ts +0 -48
  448. package/configuration/interfaces/sceneConfiguration.js +0 -2
  449. package/configuration/interfaces/sceneConfiguration.js.map +0 -1
  450. package/configuration/interfaces/sceneOptimizerConfiguration.d.ts +0 -23
  451. package/configuration/interfaces/sceneOptimizerConfiguration.js +0 -2
  452. package/configuration/interfaces/sceneOptimizerConfiguration.js.map +0 -1
  453. package/configuration/interfaces/skyboxConfiguration.d.ts +0 -21
  454. package/configuration/interfaces/skyboxConfiguration.js +0 -2
  455. package/configuration/interfaces/skyboxConfiguration.js.map +0 -1
  456. package/configuration/interfaces/templateConfiguration.d.ts +0 -67
  457. package/configuration/interfaces/templateConfiguration.js +0 -2
  458. package/configuration/interfaces/templateConfiguration.js.map +0 -1
  459. package/configuration/interfaces/vrConfiguration.d.ts +0 -16
  460. package/configuration/interfaces/vrConfiguration.js +0 -2
  461. package/configuration/interfaces/vrConfiguration.js.map +0 -1
  462. package/configuration/loader.d.ts +0 -4
  463. package/configuration/loader.js +0 -17
  464. package/configuration/loader.js.map +0 -1
  465. package/configuration/mappers.d.ts +0 -43
  466. package/configuration/mappers.js +0 -192
  467. package/configuration/mappers.js.map +0 -1
  468. package/configuration/renderOnlyLoader.d.ts +0 -33
  469. package/configuration/renderOnlyLoader.js +0 -162
  470. package/configuration/renderOnlyLoader.js.map +0 -1
  471. package/configuration/types/default.d.ts +0 -6
  472. package/configuration/types/default.js +0 -121
  473. package/configuration/types/default.js.map +0 -1
  474. package/configuration/types/environmentMap.d.ts +0 -5
  475. package/configuration/types/environmentMap.js +0 -14
  476. package/configuration/types/environmentMap.js.map +0 -1
  477. package/configuration/types/extended.d.ts +0 -6
  478. package/configuration/types/extended.js +0 -317
  479. package/configuration/types/extended.js.map +0 -1
  480. package/configuration/types/index.d.ts +0 -14
  481. package/configuration/types/index.js +0 -51
  482. package/configuration/types/index.js.map +0 -1
  483. package/configuration/types/minimal.d.ts +0 -6
  484. package/configuration/types/minimal.js +0 -43
  485. package/configuration/types/minimal.js.map +0 -1
  486. package/configuration/types/renderOnlyDefault.d.ts +0 -30
  487. package/configuration/types/renderOnlyDefault.js +0 -31
  488. package/configuration/types/renderOnlyDefault.js.map +0 -1
  489. package/configuration/types/shadowLight.d.ts +0 -9
  490. package/configuration/types/shadowLight.js +0 -64
  491. package/configuration/types/shadowLight.js.map +0 -1
  492. package/helper/index.d.ts +0 -29
  493. package/helper/index.js +0 -66
  494. package/helper/index.js.map +0 -1
  495. package/index.d.ts +0 -30
  496. package/index.js +0 -46
  497. package/index.js.map +0 -1
  498. package/initializer.d.ts +0 -11
  499. package/initializer.js +0 -35
  500. package/initializer.js.map +0 -1
  501. package/interfaces.d.ts +0 -5
  502. package/interfaces.js +0 -7
  503. package/interfaces.js.map +0 -1
  504. package/labs/environmentSerializer.d.ts +0 -126
  505. package/labs/environmentSerializer.js +0 -191
  506. package/labs/environmentSerializer.js.map +0 -1
  507. package/labs/texture.d.ts +0 -183
  508. package/labs/texture.js +0 -350
  509. package/labs/texture.js.map +0 -1
  510. package/labs/viewerLabs.d.ts +0 -51
  511. package/labs/viewerLabs.js +0 -134
  512. package/labs/viewerLabs.js.map +0 -1
  513. package/loader/modelLoader.d.ts +0 -56
  514. package/loader/modelLoader.js +0 -199
  515. package/loader/modelLoader.js.map +0 -1
  516. package/loader/plugins/applyMaterialConfig.d.ts +0 -12
  517. package/loader/plugins/applyMaterialConfig.js +0 -16
  518. package/loader/plugins/applyMaterialConfig.js.map +0 -1
  519. package/loader/plugins/extendedMaterialLoaderPlugin.d.ts +0 -9
  520. package/loader/plugins/extendedMaterialLoaderPlugin.js +0 -16
  521. package/loader/plugins/extendedMaterialLoaderPlugin.js.map +0 -1
  522. package/loader/plugins/index.d.ts +0 -19
  523. package/loader/plugins/index.js +0 -44
  524. package/loader/plugins/index.js.map +0 -1
  525. package/loader/plugins/loaderPlugin.d.ts +0 -24
  526. package/loader/plugins/loaderPlugin.js +0 -2
  527. package/loader/plugins/loaderPlugin.js.map +0 -1
  528. package/loader/plugins/msftLodLoaderPlugin.d.ts +0 -12
  529. package/loader/plugins/msftLodLoaderPlugin.js +0 -21
  530. package/loader/plugins/msftLodLoaderPlugin.js.map +0 -1
  531. package/loader/plugins/telemetryLoaderPlugin.d.ts +0 -12
  532. package/loader/plugins/telemetryLoaderPlugin.js +0 -36
  533. package/loader/plugins/telemetryLoaderPlugin.js.map +0 -1
  534. package/managers/observablesManager.d.ts +0 -66
  535. package/managers/observablesManager.js +0 -35
  536. package/managers/observablesManager.js.map +0 -1
  537. package/managers/sceneManager.d.ts +0 -245
  538. package/managers/sceneManager.js +0 -1375
  539. package/managers/sceneManager.js.map +0 -1
  540. package/managers/telemetryManager.d.ts +0 -78
  541. package/managers/telemetryManager.js +0 -117
  542. package/managers/telemetryManager.js.map +0 -1
  543. package/model/modelAnimation.d.ts +0 -215
  544. package/model/modelAnimation.js +0 -237
  545. package/model/modelAnimation.js.map +0 -1
  546. package/model/viewerModel.d.ts +0 -233
  547. package/model/viewerModel.js +0 -673
  548. package/model/viewerModel.js.map +0 -1
  549. package/optimizer/custom/extended.d.ts +0 -13
  550. package/optimizer/custom/extended.js +0 -101
  551. package/optimizer/custom/extended.js.map +0 -1
  552. package/optimizer/custom/index.d.ts +0 -9
  553. package/optimizer/custom/index.js +0 -26
  554. package/optimizer/custom/index.js.map +0 -1
  555. package/renderOnlyIndex.d.ts +0 -11
  556. package/renderOnlyIndex.js +0 -18
  557. package/renderOnlyIndex.js.map +0 -1
  558. package/templating/eventManager.d.ts +0 -35
  559. package/templating/eventManager.js +0 -66
  560. package/templating/eventManager.js.map +0 -1
  561. package/templating/plugins/hdButtonPlugin.d.ts +0 -9
  562. package/templating/plugins/hdButtonPlugin.js +0 -21
  563. package/templating/plugins/hdButtonPlugin.js.map +0 -1
  564. package/templating/plugins/printButton.d.ts +0 -9
  565. package/templating/plugins/printButton.js +0 -40
  566. package/templating/plugins/printButton.js.map +0 -1
  567. package/templating/templateManager.d.ts +0 -197
  568. package/templating/templateManager.js +0 -561
  569. package/templating/templateManager.js.map +0 -1
  570. package/templating/viewerTemplatePlugin.d.ts +0 -21
  571. package/templating/viewerTemplatePlugin.js +0 -69
  572. package/templating/viewerTemplatePlugin.js.map +0 -1
  573. package/viewer/defaultViewer.d.ts +0 -130
  574. package/viewer/defaultViewer.js +0 -672
  575. package/viewer/defaultViewer.js.map +0 -1
  576. package/viewer/renderOnlyViewer.d.ts +0 -9
  577. package/viewer/renderOnlyViewer.js +0 -46
  578. package/viewer/renderOnlyViewer.js.map +0 -1
  579. package/viewer/viewer.d.ts +0 -258
  580. package/viewer/viewer.js +0 -783
  581. package/viewer/viewer.js.map +0 -1
  582. package/viewer/viewerManager.d.ts +0 -58
  583. package/viewer/viewerManager.js +0 -91
  584. package/viewer/viewerManager.js.map +0 -1
  585. package/viewer/viewerWithTemplate.d.ts +0 -9
  586. package/viewer/viewerWithTemplate.js +0 -20
  587. package/viewer/viewerWithTemplate.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{i as t,R as e,x as i,y as s,z as r,H as o,J as n,K as a,N as c,Q as l,W as u,X as h,Y as d,Z as p,_ as m,V as _,M as f,$ as g,t as x,v as y,a0 as T,a1 as v,L as w,T as b,s as P,a2 as R,C as M,k as A,a3 as C,a4 as I,a5 as k,E as V,a6 as F,a7 as z,a8 as D,p as B,a9 as S,aa as U,B as E,ab as W,w as L}from"./index-BC5LF5i9.esm.min.js";import"./fogFragment-6FnKPxpy.esm.min.js";import"./logDepthDeclaration-p80kxWvc.esm.min.js";import"./logDepthVertex-DgGvTksF.esm.min.js";import{R as Z}from"./rawTexture-BWFTuwIO.esm.min.js";import"./thinInstanceMesh-DUNQsOmG.esm.min.js";import{A as N}from"./assetContainer-yzkL3HL9.esm.min.js";import{S as O}from"./standardMaterial-BMohC2Pw.esm.min.js";t.ShadersStore.gaussianSplattingPixelShader="#include<clipPlaneFragmentDeclaration>\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\nvarying vec4 vColor;varying vec2 vPosition;void main () { \n#include<clipPlaneFragment>\nfloat A=-dot(vPosition,vPosition);if (A<-4.0) discard;float B=exp(A)*vColor.a;\n#include<logDepthFragment>\nvec3 color=vColor.rgb;\n#ifdef FOG\n#include<fogFragment>\n#endif\ngl_FragColor=vec4(color,B);}\n";t.IncludesShadersStore.gaussianSplattingVertexDeclaration="uniform mat4 world;uniform mat4 view;uniform mat4 projection;\n";t.IncludesShadersStore.gaussianSplattingUboDeclaration="#include<sceneUboDeclaration>\n#include<meshUboDeclaration>\n";t.ShadersStore.gaussianSplattingVertexShader="#include<__decl__gaussianSplattingVertex>\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<logDepthDeclaration>\nattribute vec2 position;attribute float splatIndex;uniform vec2 invViewport;uniform vec2 dataTextureSize;uniform vec2 focal;uniform sampler2D covariancesATexture;uniform sampler2D covariancesBTexture;uniform sampler2D centersTexture;uniform sampler2D colorsTexture;varying vec4 vColor;varying vec2 vPosition;\n#if !defined(WEBGL2) && !defined(WEBGPU) && !defined(NATIVE)\nmat3 transpose(mat3 matrix) {return mat3(matrix[0][0],matrix[1][0],matrix[2][0],\nmatrix[0][1],matrix[1][1],matrix[2][1],\nmatrix[0][2],matrix[1][2],matrix[2][2]);}\n#endif\nvec2 getDataUV(float index,vec2 textureSize) {float y=floor(index/textureSize.x);float x=index-y*textureSize.x;return vec2((x+0.5)/textureSize.x,(y+0.5)/textureSize.y);}\nvoid main () {vec2 splatUV=getDataUV(splatIndex,dataTextureSize);vec3 center=texture2D(centersTexture,splatUV).xyz;vec4 color=texture2D(colorsTexture,splatUV);vec3 covA=texture2D(covariancesATexture,splatUV).xyz;vec3 covB=texture2D(covariancesBTexture,splatUV).xyz;vec4 worldPos=world*vec4(center,1.0);mat4 modelView=view*world;vec4 camspace=view*worldPos;vec4 pos2d=projection*camspace;float bounds=1.2*pos2d.w;if (pos2d.z<-pos2d.w || pos2d.x<-bounds || pos2d.x>bounds\n|| pos2d.y<-bounds || pos2d.y>bounds) {gl_Position=vec4(0.0,0.0,2.0,1.0);return;}\nmat3 Vrk=mat3(\ncovA.x,covA.y,covA.z,\ncovA.y,covB.x,covB.y,\ncovA.z,covB.y,covB.z\n);mat3 J=mat3(\nfocal.x/camspace.z,0.,-(focal.x*camspace.x)/(camspace.z*camspace.z),\n0.,focal.y/camspace.z,-(focal.y*camspace.y)/(camspace.z*camspace.z),\n0.,0.,0.\n);mat3 invy=mat3(1,0,0,0,-1,0,0,0,1);mat3 T=invy*transpose(mat3(modelView))*J;mat3 cov2d=transpose(T)*Vrk*T;float mid=(cov2d[0][0]+cov2d[1][1])/2.0;float radius=length(vec2((cov2d[0][0]-cov2d[1][1])/2.0,cov2d[0][1]));float lambda1=mid+radius,lambda2=mid-radius;if (lambda2<0.0) return;vec2 diagonalVector=normalize(vec2(cov2d[0][1],lambda1-cov2d[0][0]));vec2 majorAxis=min(sqrt(2.0*lambda1),1024.0)*diagonalVector;vec2 minorAxis=min(sqrt(2.0*lambda2),1024.0)*vec2(diagonalVector.y,-diagonalVector.x);vColor=color;vPosition=position;vec2 vCenter=vec2(pos2d);gl_Position=vec4(\nvCenter \n+ (position.x*majorAxis\n+ position.y*minorAxis)*invViewport*pos2d.w,pos2d.zw);\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<logDepthVertex>\n}\n";class G extends m{constructor(){super(),this.FOG=!1,this.THIN_INSTANCES=!0,this.LOGARITHMICDEPTH=!1,this.CLIPPLANE=!1,this.CLIPPLANE2=!1,this.CLIPPLANE3=!1,this.CLIPPLANE4=!1,this.CLIPPLANE5=!1,this.CLIPPLANE6=!1,this.rebuild()}}class j extends i{constructor(t,e){super(t,e),this.backFaceCulling=!1}get hasRenderTargetTextures(){return!1}needAlphaTesting(){return!1}needAlphaBlending(){return!0}isReadyForSubMesh(t,e){const i=!0,l=e._drawWrapper;if(l.effect&&this.isFrozen&&l._wasPreviouslyReady&&l._wasPreviouslyUsingInstances===i)return!0;e.materialDefines||(e.materialDefines=new G);const u=this.getScene(),h=e.materialDefines;if(this._isReadyForSubMesh(e))return!0;const d=u.getEngine();if(s(t,u,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,!1,h),r(u,d,this,h,i,null,!0),o(t,h,!1,!1),h.isDirty){h.markAsProcessed(),u.resetCachedMaterial();const t=[_.PositionKind,"splatIndex"];n(t,h);const i=["world","view","projection","vFogInfos","vFogColor","logarithmicDepthConstant","invViewport","dataTextureSize","focal"],s=["covariancesATexture","covariancesBTexture","centersTexture","colorsTexture"],r=["Scene","Mesh"];a({uniformsNames:i,uniformBuffersNames:r,samplers:s,defines:h}),c(i);const o=h.toString(),l=u.getEngine().createEffect("gaussianSplatting",{attributes:t,uniformsNames:i,uniformBuffersNames:r,samplers:s,defines:o,onCompiled:this.onCompiled,onError:this.onError},d);e.setEffect(l,h,this._materialContext)}return!(!e.effect||!e.effect.isReady())&&(h._renderId=u.getRenderId(),l._wasPreviouslyReady=!0,l._wasPreviouslyUsingInstances=i,!0)}bindForSubMesh(t,e,i){const s=this.getScene(),r=i.materialDefines;if(!r)return;const o=i.effect;if(!o)return;this._activeEffect=o,e.getMeshUniformBuffer().bindToEffect(o,"Mesh"),e.transferToEffect(t);if(this._mustRebind(s,o,i,e.visibility)){this.bindView(o),this.bindViewProjection(o);const t=s.getEngine(),i=this.getScene().activeCamera,r=t.getRenderWidth(),n=t.getRenderHeight(),a=i?.rigParent?.rigCameras.length||1;this._activeEffect.setFloat2("invViewport",1/(r/a),1/n);let c=1e3;if(i){const t=i.getProjectionMatrix().m[5];c=i.fovMode==l.FOVMODE_VERTICAL_FIXED?n*t/2:r*t/2}this._activeEffect.setFloat2("focal",c,c);const h=e;if(h.covariancesATexture){const t=h.covariancesATexture.getSize();o.setFloat2("dataTextureSize",t.width,t.height),o.setTexture("covariancesATexture",h.covariancesATexture),o.setTexture("covariancesBTexture",h.covariancesBTexture),o.setTexture("centersTexture",h.centersTexture),o.setTexture("colorsTexture",h.colorsTexture)}u(o,this,s)}else s.getEngine()._features.needToAlwaysBindUniformBuffers&&(this._needToBindSceneUbo=!0);h(s,e,o),this.useLogarithmicDepth&&d(r,o,s),this._afterBind(e,this._activeEffect,i)}clone(t){return p.Clone((()=>new j(t,this.getScene())),this)}serialize(){const t=super.serialize();return t.customType="BABYLON.GaussianSplattingMaterial",t}getClassName(){return"GaussianSplattingMaterial"}static Parse(t,e,i){return p.Parse((()=>new j(t.name,e)),t,e,i)}}e("BABYLON.GaussianSplattingMaterial",j);class H extends f{get covariancesATexture(){return this._covariancesATexture}get covariancesBTexture(){return this._covariancesBTexture}get centersTexture(){return this._centersTexture}get colorsTexture(){return this._colorsTexture}constructor(t,e=null,i=null,s=!1){super(t,i),this._vertexCount=0,this._worker=null,this._frameIdLastUpdate=-1,this._modelViewMatrix=g.Identity(),this._canPostToWorker=!0,this._readyToDisplay=!1,this._covariancesATexture=null,this._covariancesBTexture=null,this._centersTexture=null,this._colorsTexture=null,this._splatPositions=null,this._splatIndex=null,this._covariancesA=null,this._covariancesB=null,this._colors=null,this._keepInRam=!1,this._delayedTextureUpdate=null,this._oldDirection=new x;const r=new y;r.positions=[-2,-2,0,2,-2,0,2,2,0,-2,2,0],r.indices=[0,1,2,0,2,3],r.applyToMesh(this),this.subMeshes=[],new T(0,0,4,0,6,this),this.setEnabled(!1),this._keepInRam=s,e&&this.loadFileAsync(e),this.material=new j(this.name+"_material",this._scene)}getClassName(){return"GaussianSplattingMesh"}getTotalVertices(){return this._vertexCount}isReady(t=!1){return!!super.isReady(t,!0)&&(!!this._readyToDisplay||(this._postToWorker(!0),!1))}_postToWorker(t=!1){const e=this.getScene().getFrameId();if(e!==this._frameIdLastUpdate&&this._worker&&this._scene.activeCamera&&this._canPostToWorker){const i=this._scene.activeCamera.getViewMatrix();this.getWorldMatrix().multiplyToRef(i,this._modelViewMatrix),i.invertToRef(v.Matrix[0]),this.getWorldMatrix().multiplyToRef(v.Matrix[0],v.Matrix[1]),x.TransformNormalToRef(x.Forward(this._scene.useRightHandedSystem),v.Matrix[1],v.Vector3[2]),v.Vector3[2].normalize();const s=x.Dot(v.Vector3[2],this._oldDirection);(t||Math.abs(s-1)>=.01)&&(this._oldDirection.copyFrom(v.Vector3[2]),this._frameIdLastUpdate=e,this._canPostToWorker=!1,this._worker.postMessage({view:this._modelViewMatrix.m,depthMix:this._depthMix,useRightHandedSystem:this._scene.useRightHandedSystem},[this._depthMix.buffer]))}}render(t,e,i){return this._postToWorker(),super.render(t,e,i)}static ConvertPLYToSplat(t){const e=new Uint8Array(t),i=(new TextDecoder).decode(e.slice(0,10240)),s="end_header\n",r=i.indexOf(s);if(r<0||!i)return t;const o=parseInt(/element vertex (\d+)\n/.exec(i)[1]);let n=0;const a={double:8,int:4,uint:4,float:4,short:2,ushort:2,uchar:1},c=[],l=i.slice(0,r).split("\n").filter((t=>t.startsWith("property ")));for(const t of l){const[,e,i]=t.split(" ");if(c.push({name:i,type:e,offset:n}),!a[e])return w.Error(`Unsupported property type: ${e}. Are you sure it's a valid Gaussian Splatting file?`),new ArrayBuffer(0);n+=a[e]}const u=.28209479177387814,h=new DataView(t,r+11),d=new ArrayBuffer(32*o),p=new R;for(let t=0;t<o;t++){const e=new Float32Array(d,32*t,3),i=new Float32Array(d,32*t+12,3),s=new Uint8ClampedArray(d,32*t+24,4),r=new Uint8ClampedArray(d,32*t+28,4);let o=255,a=0,l=0,m=0;for(let r=0;r<c.length;r++){const d=c[r];let p;switch(d.type){case"float":p=h.getFloat32(d.offset+t*n,!0);break;case"int":p=h.getInt32(d.offset+t*n,!0);break;default:throw new Error(`Unsupported property type: ${d.type}`)}switch(d.name){case"x":e[0]=p;break;case"y":e[1]=p;break;case"z":e[2]=p;break;case"scale_0":i[0]=Math.exp(p);break;case"scale_1":i[1]=Math.exp(p);break;case"scale_2":i[2]=Math.exp(p);break;case"red":s[0]=p;break;case"green":s[1]=p;break;case"blue":s[2]=p;break;case"f_dc_0":s[0]=255*(.5+u*p);break;case"f_dc_1":s[1]=255*(.5+u*p);break;case"f_dc_2":s[2]=255*(.5+u*p);break;case"f_dc_3":s[3]=255*(.5+u*p);break;case"opacity":s[3]=1/(1+Math.exp(-p))*255;break;case"rot_0":o=p;break;case"rot_1":a=p;break;case"rot_2":l=p;break;case"rot_3":m=p}}p.set(a,l,m,o),p.normalize(),r[0]=128*p.w+128,r[1]=128*p.x+128,r[2]=128*p.y+128,r[3]=128*p.z+128}return d}loadDataAsync(t){return Promise.resolve(this._loadData(t))}loadFileAsync(t){return b.LoadFileAsync(t,!0).then((t=>{this._loadData(H.ConvertPLYToSplat(t))}))}dispose(t){this._covariancesATexture?.dispose(),this._covariancesBTexture?.dispose(),this._centersTexture?.dispose(),this._colorsTexture?.dispose(),this._covariancesATexture=null,this._covariancesBTexture=null,this._centersTexture=null,this._colorsTexture=null,this._worker?.terminate(),this._worker=null,super.dispose(t,!0)}_copyTextures(t){this._covariancesATexture=t.covariancesATexture?.clone(),this._covariancesBTexture=t.covariancesBTexture?.clone(),this._centersTexture=t.centersTexture?.clone(),this._colorsTexture=t.colorsTexture?.clone()}clone(t=""){const e=new H(t,void 0,this.getScene());e._copySource(this),e.makeGeometryUnique(),e._vertexCount=this._vertexCount,e._copyTextures(this),e._modelViewMatrix=g.Identity(),e._splatPositions=this._splatPositions,e._readyToDisplay=!1,e._instanciateWorker();const i=this.getBoundingInfo();return e.getBoundingInfo().reConstruct(i.minimum,i.maximum,this.getWorldMatrix()),e.forcedInstanceCount=e._vertexCount,e.setEnabled(!0),e}updateData(t){if(!t.byteLength)return;this._covariancesATexture||(this._readyToDisplay=!1);const e=new Uint8Array(t),i=new Float32Array(e.buffer),s=e.length/32;s!=this._vertexCount&&this._updateSplatIndexBuffer(s),this._vertexCount=s;const r=this._getTextureSize(s),o=r.x*r.y;this._splatPositions=new Float32Array(3*o);const n=new Float32Array(3*o),a=new Float32Array(3*o),c=v.Matrix[0],l=v.Matrix[1],u=v.Quaternion[0],h=new x(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),d=new x(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let t=0;t<s;t++){const s=i[8*t+0],r=-i[8*t+1],o=i[8*t+2];this._splatPositions[3*t+0]=s,this._splatPositions[3*t+1]=r,this._splatPositions[3*t+2]=o,h.minimizeInPlaceFromFloats(s,r,o),d.maximizeInPlaceFromFloats(s,r,o),u.set((e[32*t+28+1]-128)/128,(e[32*t+28+2]-128)/128,(e[32*t+28+3]-128)/128,-(e[32*t+28+0]-128)/128),u.toRotationMatrix(c),g.ScalingToRef(2*i[8*t+3+0],2*i[8*t+3+1],2*i[8*t+3+2],l);const p=c.multiplyToRef(l,v.Matrix[0]).m;n[3*t+0]=p[0]*p[0]+p[1]*p[1]+p[2]*p[2],n[3*t+1]=p[0]*p[4]+p[1]*p[5]+p[2]*p[6],n[3*t+2]=p[0]*p[8]+p[1]*p[9]+p[2]*p[10],a[3*t+0]=p[4]*p[4]+p[5]*p[5]+p[6]*p[6],a[3*t+1]=p[4]*p[8]+p[5]*p[9]+p[6]*p[10],a[3*t+2]=p[8]*p[8]+p[9]*p[9]+p[10]*p[10]}this.getBoundingInfo().reConstruct(h,d,this.getWorldMatrix()),this.setEnabled(!0);const p=(t,e,i,s)=>new Z(t,e,i,s,this._scene,!1,!1,M.TEXTURE_BILINEAR_SAMPLINGMODE,M.TEXTURETYPE_FLOAT),m=t=>{const e=t.length/3,i=new Float32Array(4*e);for(let s=0;s<e;++s)i[4*s+0]=t[3*s+0],i[4*s+1]=t[3*s+1],i[4*s+2]=t[3*s+2],i[4*s+3]=1;return i},_=new Float32Array(r.x*r.y*4);for(let t=0;t<this._vertexCount;++t)_[4*t+0]=e[32*t+24+0]/255,_[4*t+1]=e[32*t+24+1]/255,_[4*t+2]=e[32*t+24+2]/255,_[4*t+3]=e[32*t+24+3]/255;if(this._keepInRam&&(this._covariancesA=n,this._covariancesB=a,this._colors=_),this._covariancesATexture){this._delayedTextureUpdate={covA:m(n),covB:m(a),colors:_,centers:m(this._splatPositions)};const t=Float32Array.from(this._splatPositions),e=this._vertexCount;this._worker.postMessage({positions:t,vertexCount:e},[t.buffer]),this._postToWorker(!0)}else this._covariancesATexture=p(m(n),r.x,r.y,M.TEXTUREFORMAT_RGBA),this._covariancesBTexture=p(m(a),r.x,r.y,M.TEXTUREFORMAT_RGBA),this._centersTexture=p(m(this._splatPositions),r.x,r.y,M.TEXTUREFORMAT_RGBA),this._colorsTexture=p(_,r.x,r.y,M.TEXTUREFORMAT_RGBA),this._instanciateWorker()}_loadData(t){t.byteLength&&this.updateData(t)}_updateSplatIndexBuffer(t){(!this._splatIndex||t>this._splatIndex.length)&&(this._splatIndex=new Float32Array(t),this.thinInstanceSetBuffer("splatIndex",this._splatIndex,1,!1)),this.forcedInstanceCount=t}_instanciateWorker(){if(!this._vertexCount)return;this._updateSplatIndexBuffer(this._vertexCount),this._worker?.terminate(),this._worker=new Worker(URL.createObjectURL(new Blob(["(",H._CreateWorker.toString(),")(self)"],{type:"application/javascript"}))),this._depthMix=new BigInt64Array(this._vertexCount);const t=Float32Array.from(this._splatPositions),e=this._vertexCount;this._worker.postMessage({positions:t,vertexCount:e},[t.buffer]),this._worker.onmessage=t=>{this._depthMix=t.data.depthMix;const i=new Uint32Array(t.data.depthMix.buffer);if(this._splatIndex)for(let t=0;t<this._vertexCount;t++)this._splatIndex[t]=i[2*t];if(this._delayedTextureUpdate){const t=(t,e,i,s)=>{this.getEngine().updateTextureData(t.getInternalTexture(),e,0,0,i,s,0,0,!1)},i=this._getTextureSize(e);t(this._covariancesATexture,this._delayedTextureUpdate.covA,i.x,i.y),t(this._covariancesBTexture,this._delayedTextureUpdate.covB,i.x,i.y),t(this._centersTexture,this._delayedTextureUpdate.centers,i.x,i.y),t(this._colorsTexture,this._delayedTextureUpdate.colors,i.x,i.y),this._delayedTextureUpdate=null}this.thinInstanceBufferUpdated("splatIndex"),this._canPostToWorker=!0,this._readyToDisplay=!0}}_getTextureSize(t){const e=this._scene.getEngine(),i=e.getCaps().maxTextureSize;let s=1;if(1!==e.version||e.isWebGPU)s=Math.ceil(t/i);else for(;i*s<t;)s*=2;return s>i&&(w.Error("GaussianSplatting texture size: ("+i+", "+s+"), maxTextureSize: "+i),s=i),new P(i,s)}}H._CreateWorker=function(t){let e,i,s,r,o=0;t.onmessage=n=>{if(n.data.positions)e=n.data.positions,o=n.data.vertexCount;else{const a=n.data.view;if(!e||!a)throw new Error("positions or view is not defined!");i=n.data.depthMix,s=new Uint32Array(i.buffer),r=new Float32Array(i.buffer);for(let t=0;t<o;t++)s[2*t]=t;let c=-1;n.data.useRightHandedSystem&&(c=1);for(let t=0;t<o;t++)r[2*t+1]=1e4+(a[2]*e[3*t+0]+a[6]*e[3*t+1]+a[10]*e[3*t+2])*c;i.sort(),t.postMessage({depthMix:i},[i.buffer])}}};class X{constructor(t,e,i,s,r){this.idx=0,this.color=new A(1,1,1,1),this.position=x.Zero(),this.rotation=x.Zero(),this.uv=new P(0,0),this.velocity=x.Zero(),this.pivot=x.Zero(),this.translateFromPivot=!1,this._pos=0,this._ind=0,this.groupId=0,this.idxInGroup=0,this._stillInvisible=!1,this._rotationMatrix=[1,0,0,0,1,0,0,0,1],this.parentId=null,this._globalPosition=x.Zero(),this.idx=t,this._group=e,this.groupId=i,this.idxInGroup=s,this._pcs=r}get size(){return this.size}set size(t){this.size=t}get quaternion(){return this.rotationQuaternion}set quaternion(t){this.rotationQuaternion=t}intersectsMesh(t,e){if(!t.hasBoundingInfo)return!1;if(!this._pcs.mesh)throw new Error("Point Cloud System doesnt contain the Mesh");if(e)return t.getBoundingInfo().boundingSphere.intersectsPoint(this.position.add(this._pcs.mesh.position));const i=t.getBoundingInfo().boundingBox,s=i.maximumWorld.x,r=i.minimumWorld.x,o=i.maximumWorld.y,n=i.minimumWorld.y,a=i.maximumWorld.z,c=i.minimumWorld.z,l=this.position.x+this._pcs.mesh.position.x,u=this.position.y+this._pcs.mesh.position.y,h=this.position.z+this._pcs.mesh.position.z;return r<=l&&l<=s&&n<=u&&u<=o&&c<=h&&h<=a}getRotationMatrix(t){let e;if(this.rotationQuaternion)e=this.rotationQuaternion;else{e=v.Quaternion[0];const t=this.rotation;R.RotationYawPitchRollToRef(t.y,t.x,t.z,e)}e.toRotationMatrix(t)}}class K{get groupID(){return this.groupId}set groupID(t){this.groupId=t}constructor(t,e){this.groupId=t,this._positionFunction=e}}class Y{constructor(t,e,i=Number.MAX_VALUE,s=I){this.origin=t,this.direction=e,this.length=i,this.epsilon=s}clone(){return new Y(this.origin.clone(),this.direction.clone(),this.length)}intersectsBoxMinMax(t,e,i=0){const s=Y._TmpVector3[0].copyFromFloats(t.x-i,t.y-i,t.z-i),r=Y._TmpVector3[1].copyFromFloats(e.x+i,e.y+i,e.z+i);let o,n,a,c,l=0,u=Number.MAX_VALUE;if(Math.abs(this.direction.x)<1e-7){if(this.origin.x<s.x||this.origin.x>r.x)return!1}else if(o=1/this.direction.x,n=(s.x-this.origin.x)*o,a=(r.x-this.origin.x)*o,a===-1/0&&(a=1/0),n>a&&(c=n,n=a,a=c),l=Math.max(n,l),u=Math.min(a,u),l>u)return!1;if(Math.abs(this.direction.y)<1e-7){if(this.origin.y<s.y||this.origin.y>r.y)return!1}else if(o=1/this.direction.y,n=(s.y-this.origin.y)*o,a=(r.y-this.origin.y)*o,a===-1/0&&(a=1/0),n>a&&(c=n,n=a,a=c),l=Math.max(n,l),u=Math.min(a,u),l>u)return!1;if(Math.abs(this.direction.z)<1e-7){if(this.origin.z<s.z||this.origin.z>r.z)return!1}else if(o=1/this.direction.z,n=(s.z-this.origin.z)*o,a=(r.z-this.origin.z)*o,a===-1/0&&(a=1/0),n>a&&(c=n,n=a,a=c),l=Math.max(n,l),u=Math.min(a,u),l>u)return!1;return!0}intersectsBox(t,e=0){return this.intersectsBoxMinMax(t.minimum,t.maximum,e)}intersectsSphere(t,e=0){const i=t.center.x-this.origin.x,s=t.center.y-this.origin.y,r=t.center.z-this.origin.z,o=i*i+s*s+r*r,n=t.radius+e,a=n*n;if(o<=a)return!0;const c=i*this.direction.x+s*this.direction.y+r*this.direction.z;if(c<0)return!1;return o-c*c<=a}intersectsTriangle(t,e,i){const s=Y._TmpVector3[0],r=Y._TmpVector3[1],o=Y._TmpVector3[2],n=Y._TmpVector3[3],a=Y._TmpVector3[4];e.subtractToRef(t,s),i.subtractToRef(t,r),x.CrossToRef(this.direction,r,o);const c=x.Dot(s,o);if(0===c)return null;const l=1/c;this.origin.subtractToRef(t,n);const u=x.Dot(n,o)*l;if(u<-this.epsilon||u>1+this.epsilon)return null;x.CrossToRef(n,s,a);const h=x.Dot(this.direction,a)*l;if(h<-this.epsilon||u+h>1+this.epsilon)return null;const d=x.Dot(r,a)*l;return d>this.length?null:new k(1-u-h,u,d)}intersectsPlane(t){let e;const i=x.Dot(t.normal,this.direction);if(Math.abs(i)<9.99999997475243e-7)return null;{const s=x.Dot(t.normal,this.origin);return e=(-t.d-s)/i,e<0?e<-9.99999997475243e-7?null:0:e}}intersectsAxis(t,e=0){switch(t){case"y":{const t=(this.origin.y-e)/this.direction.y;return t>0?null:new x(this.origin.x+this.direction.x*-t,e,this.origin.z+this.direction.z*-t)}case"x":{const t=(this.origin.x-e)/this.direction.x;return t>0?null:new x(e,this.origin.y+this.direction.y*-t,this.origin.z+this.direction.z*-t)}case"z":{const t=(this.origin.z-e)/this.direction.z;return t>0?null:new x(this.origin.x+this.direction.x*-t,this.origin.y+this.direction.y*-t,e)}default:return null}}intersectsMesh(t,e,i,s=!1,r,o=!1){const n=v.Matrix[0];return t.getWorldMatrix().invertToRef(n),this._tmpRay?Y.TransformToRef(this,n,this._tmpRay):this._tmpRay=Y.Transform(this,n),t.intersects(this._tmpRay,e,i,s,r,o)}intersectsMeshes(t,e,i){i?i.length=0:i=[];for(let s=0;s<t.length;s++){const r=this.intersectsMesh(t[s],e);r.hit&&i.push(r)}return i.sort(this._comparePickingInfo),i}_comparePickingInfo(t,e){return t.distance<e.distance?-1:t.distance>e.distance?1:0}intersectionSegment(t,e,i){const s=this.origin,r=v.Vector3[0],o=v.Vector3[1],n=v.Vector3[2],a=v.Vector3[3];e.subtractToRef(t,r),this.direction.scaleToRef(Y._Rayl,n),s.addToRef(n,o),t.subtractToRef(s,a);const c=x.Dot(r,r),l=x.Dot(r,n),u=x.Dot(n,n),h=x.Dot(r,a),d=x.Dot(n,a),p=c*u-l*l;let m,_,f=p,g=p;p<Y._Smallnum?(m=0,f=1,_=d,g=u):(m=l*d-u*h,_=c*d-l*h,m<0?(m=0,_=d,g=u):m>f&&(m=f,_=d+l,g=u)),_<0?(_=0,-h<0?m=0:-h>c?m=f:(m=-h,f=c)):_>g&&(_=g,-h+l<0?m=0:-h+l>c?m=f:(m=-h+l,f=c));const y=Math.abs(m)<Y._Smallnum?0:m/f,T=Math.abs(_)<Y._Smallnum?0:_/g,w=v.Vector3[4];n.scaleToRef(T,w);const b=v.Vector3[5];r.scaleToRef(y,b),b.addInPlace(a);const P=v.Vector3[6];b.subtractToRef(w,P);return T>0&&T<=this.length&&P.lengthSquared()<i*i?b.length():-1}update(t,e,i,s,r,o,n,a=!1){if(a){Y._RayDistant||(Y._RayDistant=Y.Zero()),Y._RayDistant.unprojectRayToRef(t,e,i,s,g.IdentityReadOnly,o,n);const a=v.Matrix[0];r.invertToRef(a),Y.TransformToRef(Y._RayDistant,a,this)}else this.unprojectRayToRef(t,e,i,s,r,o,n);return this}static Zero(){return new Y(x.Zero(),x.Zero())}static CreateNew(t,e,i,s,r,o,n){return Y.Zero().update(t,e,i,s,r,o,n)}static CreateNewFromTo(t,e,i=g.IdentityReadOnly){const s=new Y(new x(0,0,0),new x(0,0,0));return Y.CreateFromToToRef(t,e,s,i)}static CreateFromToToRef(t,e,i,s=g.IdentityReadOnly){i.origin.copyFrom(t);const r=e.subtractToRef(t,i.direction),o=Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z);return i.length=o,i.direction.normalize(),Y.TransformToRef(i,s,i)}static Transform(t,e){const i=new Y(new x(0,0,0),new x(0,0,0));return Y.TransformToRef(t,e,i),i}static TransformToRef(t,e,i){x.TransformCoordinatesToRef(t.origin,e,i.origin),x.TransformNormalToRef(t.direction,e,i.direction),i.length=t.length,i.epsilon=t.epsilon;const s=i.direction,r=s.length();if(0!==r&&1!==r){const t=1/r;s.x*=t,s.y*=t,s.z*=t,i.length*=r}return i}unprojectRayToRef(t,e,i,s,r,o,n){const a=v.Matrix[0];r.multiplyToRef(o,a),a.multiplyToRef(n,a),a.invert();const c=V.LastCreatedEngine,l=v.Vector3[0];l.x=t/i*2-1,l.y=-(e/s*2-1),l.z=c?.useReverseDepthBuffer?1:c?.isNDCHalfZRange?0:-1;const u=v.Vector3[1].copyFromFloats(l.x,l.y,1-1e-8),h=v.Vector3[2],d=v.Vector3[3];x._UnprojectFromInvertedMatrixToRef(l,a,h),x._UnprojectFromInvertedMatrixToRef(u,a,d),this.origin.copyFrom(h),d.subtractToRef(h,this.direction),this.direction.normalize()}}function q(t,e,i,s,r,o=!1){const n=Y.Zero();return Q(t,e,i,s,n,r,o),n}function Q(t,e,i,s,r,o,n=!1,a=!1){const c=t.getEngine();if(!o&&!(o=t.activeCamera))return t;const l=o.viewport,u=c.getRenderHeight(),{x:h,y:d,width:p,height:m}=l.toGlobal(c.getRenderWidth(),u),_=1/c.getHardwareScalingLevel();return e=e*_-h,i=i*_-(u-d-m),r.update(e,i,p,m,s||g.IdentityReadOnly,n?g.IdentityReadOnly:o.getViewMatrix(),o.getProjectionMatrix(),a),t}function $(t,e,i,s,r){if(!F)return t;const o=t.getEngine();if(!r&&!(r=t.activeCamera))throw new Error("Active camera not set");const n=r.viewport,a=o.getRenderHeight(),{x:c,y:l,width:u,height:h}=n.toGlobal(o.getRenderWidth(),a),d=g.Identity(),p=1/o.getHardwareScalingLevel();return e=e*p-c,i=i*p-(a-l-h),s.update(e,i,u,h,d,d,r.getProjectionMatrix()),t}function J(t,e,i,s,r,o,n,a){const c=e(s,i.enableDistantPicking),l=i.intersects(c,r,n,o,s,a);return l&&l.hit?!r&&null!=t&&l.distance>=t.distance?null:l:null}function tt(t,e,i,s,r,o){let n=null;const a=!!(t.activeCameras&&t.activeCameras.length>1&&t.cameraToUseForPointers!==t.activeCamera),c=t.cameraToUseForPointers||t.activeCamera;for(let l=0;l<t.meshes.length;l++){const u=t.meshes[l];if(i){if(!i(u,-1))continue}else if(!u.isEnabled()||!u.isVisible||!u.isPickable)continue;const h=a&&u.isWorldMatrixCameraDependent(),d=u.computeWorldMatrix(h,c);if(u.hasThinInstances&&u.thinInstanceEnablePicking){const t=J(n,e,u,d,!0,!0,o);if(t){if(r)return t;const a=v.Matrix[1],c=u.thinInstanceGetWorldMatrices();for(let t=0;t<c.length;t++){if(i&&!i(u,t))continue;c[t].multiplyToRef(d,a);const l=J(n,e,u,a,s,r,o,!0);if(l&&(n=l,n.thinInstanceIndex=t,s))return n}}}else{const t=J(n,e,u,d,s,r,o);if(t&&(n=t,s))return n}}return n||new F}function et(t,e,i,s){if(!F)return null;const r=[],o=!!(t.activeCameras&&t.activeCameras.length>1&&t.cameraToUseForPointers!==t.activeCamera),n=t.cameraToUseForPointers||t.activeCamera;for(let a=0;a<t.meshes.length;a++){const c=t.meshes[a];if(i){if(!i(c,-1))continue}else if(!c.isEnabled()||!c.isVisible||!c.isPickable)continue;const l=o&&c.isWorldMatrixCameraDependent(),u=c.computeWorldMatrix(l,n);if(c.hasThinInstances&&c.thinInstanceEnablePicking){if(J(null,e,c,u,!0,!0,s)){const t=v.Matrix[1],o=c.thinInstanceGetWorldMatrices();for(let n=0;n<o.length;n++){if(i&&!i(c,n))continue;o[n].multiplyToRef(u,t);const a=J(null,e,c,t,!1,!1,s,!0);a&&(a.thinInstanceIndex=n,r.push(a))}}}else{const t=J(null,e,c,u,!1,!1,s);t&&r.push(t)}}return r}function it(t,e,i=100,s,r){s||(s=t.getWorldMatrix()),e.length=i,r?e.origin.copyFrom(r):e.origin.copyFrom(t.position);const o=v.Vector3[2];o.set(0,0,t._scene.useRightHandedSystem?-1:1);const n=v.Vector3[3];return x.TransformNormalToRef(o,s,n),x.NormalizeToRef(n,e.direction),e}var st,rt,ot,nt;Y._TmpVector3=C(6,x.Zero),Y._RayDistant=Y.Zero(),Y._Smallnum=1e-8,Y._Rayl=1e9,st=D,(rt=l)&&(rt.prototype.getForwardRay=function(t=100,e,i){return it(this,new Y(x.Zero(),x.Zero(),t),t,e,i)},rt.prototype.getForwardRayToRef=function(t,e=100,i,s){return it(this,t,e,i,s)}),st&&(z._IsPickingAvailable=!0,st.prototype.createPickingRay=function(t,e,i,s,r=!1){return q(this,t,e,i,s,r)}),D.prototype.createPickingRayToRef=function(t,e,i,s,r,o=!1,n=!1){return Q(this,t,e,i,s,r,o,n)},D.prototype.createPickingRayInCameraSpace=function(t,e,i){return function(t,e,i,s){const r=Y.Zero();return $(t,e,i,r,s),r}(this,t,e,i)},D.prototype.createPickingRayInCameraSpaceToRef=function(t,e,i,s){return $(this,t,e,i,s)},D.prototype.pickWithBoundingInfo=function(t,e,i,s,r){return function(t,e,i,s,r,o){if(!F)return null;const n=tt(t,(s=>(t._tempPickingRay||(t._tempPickingRay=Y.Zero()),Q(t,e,i,s,t._tempPickingRay,o||null),t._tempPickingRay)),s,r,!0);return n&&(n.ray=q(t,e,i,g.Identity(),o||null)),n}(this,t,e,i,s,r)},D.prototype.pick=function(t,e,i,s,r,o,n=!1){return function(t,e,i,s,r,o,n){const a=tt(t,((s,r)=>(t._tempPickingRay||(t._tempPickingRay=Y.Zero()),Q(t,e,i,s,t._tempPickingRay,o||null,!1,r),t._tempPickingRay)),s,r,!1,n);return a&&(a.ray=q(t,e,i,g.Identity(),o||null)),a}(this,t,e,i,s,r,o,n)},D.prototype.pickWithRay=function(t,e,i,s){return function(t,e,i,s,r){const o=tt(t,(i=>(t._pickWithRayInverseMatrix||(t._pickWithRayInverseMatrix=g.Identity()),i.invertToRef(t._pickWithRayInverseMatrix),t._cachedRayForTransform||(t._cachedRayForTransform=Y.Zero()),Y.TransformToRef(e,t._pickWithRayInverseMatrix,t._cachedRayForTransform),t._cachedRayForTransform)),i,s,!1,r);return o&&(o.ray=e),o}(this,t,e,i,s)},D.prototype.multiPick=function(t,e,i,s,r){return function(t,e,i,s,r,o){return et(t,(s=>q(t,e,i,s,r||null)),s,o)}(this,t,e,i,s,r)},D.prototype.multiPickWithRay=function(t,e,i){return function(t,e,i,s){return et(t,(i=>(t._pickWithRayInverseMatrix||(t._pickWithRayInverseMatrix=g.Identity()),i.invertToRef(t._pickWithRayInverseMatrix),t._cachedRayForTransform||(t._cachedRayForTransform=Y.Zero()),Y.TransformToRef(e,t._pickWithRayInverseMatrix,t._cachedRayForTransform),t._cachedRayForTransform)),i,s)}(this,t,e,i)},function(t){t[t.Color=2]="Color",t[t.UV=1]="UV",t[t.Random=0]="Random",t[t.Stated=3]="Stated"}(ot||(ot={}));class at{get positions(){return this._positions32}get colors(){return this._colors32}get uvs(){return this._uvs32}constructor(t,e,i,s){this.particles=new Array,this.nbParticles=0,this.counter=0,this.vars={},this._promises=[],this._positions=new Array,this._indices=new Array,this._normals=new Array,this._colors=new Array,this._uvs=new Array,this._updatable=!0,this._isVisibilityBoxLocked=!1,this._alwaysVisible=!1,this._groups=new Array,this._groupCounter=0,this._computeParticleColor=!0,this._computeParticleTexture=!0,this._computeParticleRotation=!0,this._computeBoundingBox=!1,this._isReady=!1,this.name=t,this._size=e,this._scene=i||V.LastCreatedScene,s&&void 0!==s.updatable?this._updatable=s.updatable:this._updatable=!0}buildMeshAsync(t){return Promise.all(this._promises).then((()=>(this._isReady=!0,this._buildMesh(t))))}_buildMesh(t){0===this.nbParticles&&this.addPoints(1),this._positions32=new Float32Array(this._positions),this._uvs32=new Float32Array(this._uvs),this._colors32=new Float32Array(this._colors);const e=new y;e.set(this._positions32,_.PositionKind),this._uvs32.length>0&&e.set(this._uvs32,_.UVKind);let i=0;this._colors32.length>0&&(i=1,e.set(this._colors32,_.ColorKind));const s=new f(this.name,this._scene);e.applyToMesh(s,this._updatable),this.mesh=s,this._positions=null,this._uvs=null,this._colors=null,this._updatable||(this.particles.length=0);let r=t;return r||(r=new O("point cloud material",this._scene),r.emissiveColor=new B(i,i,i),r.disableLighting=!0,r.pointsCloud=!0,r.pointSize=this._size),s.material=r,new Promise((t=>t(s)))}_addParticle(t,e,i,s){const r=new X(t,e,i,s,this);return this.particles.push(r),r}_randomUnitVector(t){t.position=new x(Math.random(),Math.random(),Math.random()),t.color=new A(1,1,1,1)}_getColorIndicesForCoord(t,e,i,s){const r=t._groupImageData,o=i*(4*s)+4*e,n=[o,o+1,o+2,o+3],a=n[1],c=n[2],l=n[3],u=r[n[0]],h=r[a],d=r[c],p=r[l];return new A(u/255,h/255,d/255,p)}_setPointsColorOrUV(t,e,i,s,r,o,n,a){a=a??0,i&&t.updateFacetData();const c=2*t.getBoundingInfo().boundingSphere.radius;let l=t.getVerticesData(_.PositionKind);const u=t.getIndices(),h=t.getVerticesData(_.UVKind+(a?a+1:"")),d=t.getVerticesData(_.ColorKind),p=x.Zero();t.computeWorldMatrix();const m=t.getWorldMatrix();if(!m.isIdentity()){l=l.slice(0);for(let t=0;t<l.length/3;t++)x.TransformCoordinatesFromFloatsToRef(l[3*t],l[3*t+1],l[3*t+2],m,p),l[3*t]=p.x,l[3*t+1]=p.y,l[3*t+2]=p.z}let f=0,g=0,y=0,T=0,v=0,w=0,b=0,R=0,M=0,C=0,I=0,k=0,V=0;const F=x.Zero(),z=x.Zero(),D=x.Zero(),E=x.Zero(),W=x.Zero();let L=0,Z=0,N=0,O=0,G=0,j=0;const H=P.Zero(),X=P.Zero(),K=P.Zero(),q=P.Zero(),Q=P.Zero();let $=0,J=0,tt=0,et=0,it=0,st=0,rt=0,ot=0,nt=0,at=0,ct=0,lt=0;const ut=S.Zero(),ht=S.Zero(),dt=S.Zero(),pt=S.Zero(),mt=S.Zero();let _t,ft,gt=0,xt=0;n=n||0;let yt=new S(0,0,0,0),Tt=x.Zero(),vt=x.Zero(),wt=x.Zero(),bt=0,Pt=x.Zero(),Rt=0,Mt=0;const At=new Y(x.Zero(),new x(1,0,0));let Ct,It=x.Zero();for(let a=0;a<u.length/3;a++){let p,m,_,P,S,Y,kt,Vt;g=u[3*a],y=u[3*a+1],T=u[3*a+2],v=l[3*g],w=l[3*g+1],b=l[3*g+2],R=l[3*y],M=l[3*y+1],C=l[3*y+2],I=l[3*T],k=l[3*T+1],V=l[3*T+2],F.set(v,w,b),z.set(R,M,C),D.set(I,k,V),z.subtractToRef(F,E),D.subtractToRef(z,W),h&&(L=h[2*g],Z=h[2*g+1],N=h[2*y],O=h[2*y+1],G=h[2*T],j=h[2*T+1],H.set(L,Z),X.set(N,O),K.set(G,j),X.subtractToRef(H,q),K.subtractToRef(X,Q)),d&&s&&($=d[4*g],J=d[4*g+1],tt=d[4*g+2],et=d[4*g+3],it=d[4*y],st=d[4*y+1],rt=d[4*y+2],ot=d[4*y+3],nt=d[4*T],at=d[4*T+1],ct=d[4*T+2],lt=d[4*T+3],ut.set($,J,tt,et),ht.set(it,st,rt,ot),dt.set(nt,at,ct,lt),ht.subtractToRef(ut,pt),dt.subtractToRef(ht,mt));const Ft=new B(0,0,0),zt=new B(0,0,0);let Dt,Bt;for(let l=0;l<e._groupDensity[a];l++)f=this.particles.length,this._addParticle(f,e,this._groupCounter,a+l),Bt=this.particles[f],gt=Math.sqrt(U(0,1)),xt=U(0,1),_t=F.add(E.scale(gt)).add(W.scale(gt*xt)),i&&(Tt=t.getFacetNormal(a).normalize().scale(-1),vt=E.clone().normalize(),wt=x.Cross(Tt,vt),bt=U(0,2*Math.PI),Pt=vt.scale(Math.cos(bt)).add(wt.scale(Math.sin(bt))),bt=U(.1,Math.PI/2),It=Pt.scale(Math.cos(bt)).add(Tt.scale(Math.sin(bt))),At.origin=_t.add(It.scale(1e-5)),At.direction=It,At.length=c,Ct=At.intersectsMesh(t),Ct.hit&&(Mt=Ct.pickedPoint.subtract(_t).length(),Rt=U(0,1)*Mt,_t.addInPlace(It.scale(Rt)))),Bt.position=_t.clone(),this._positions.push(Bt.position.x,Bt.position.y,Bt.position.z),void 0!==s?h&&(ft=H.add(q.scale(gt)).add(Q.scale(gt*xt)),s?r&&null!==e._groupImageData?(p=e._groupImgWidth,m=e._groupImgHeight,Dt=this._getColorIndicesForCoord(e,Math.round(ft.x*p),Math.round(ft.y*m),p),Bt.color=Dt,this._colors.push(Dt.r,Dt.g,Dt.b,Dt.a)):d?(yt=ut.add(pt.scale(gt)).add(mt.scale(gt*xt)),Bt.color=new A(yt.x,yt.y,yt.z,yt.w),this._colors.push(yt.x,yt.y,yt.z,yt.w)):(yt=ut.set(Math.random(),Math.random(),Math.random(),1),Bt.color=new A(yt.x,yt.y,yt.z,yt.w),this._colors.push(yt.x,yt.y,yt.z,yt.w)):(Bt.uv=ft.clone(),this._uvs.push(Bt.uv.x,Bt.uv.y))):(o?(Ft.set(o.r,o.g,o.b),_=U(-n,n),P=U(-n,n),Vt=Ft.toHSV(),S=Vt.r,Y=Vt.g+_,kt=Vt.b+P,Y<0&&(Y=0),Y>1&&(Y=1),kt<0&&(kt=0),kt>1&&(kt=1),B.HSVtoRGBToRef(S,Y,kt,zt),yt.set(zt.r,zt.g,zt.b,1)):yt=ut.set(Math.random(),Math.random(),Math.random(),1),Bt.color=new A(yt.x,yt.y,yt.z,yt.w),this._colors.push(yt.x,yt.y,yt.z,yt.w))}}_colorFromTexture(t,e,i){if(null===t.material)return w.Warn(t.name+"has no material."),e._groupImageData=null,void this._setPointsColorOrUV(t,e,i,!0,!1);const s=t.material.getActiveTextures();if(0===s.length)return w.Warn(t.name+"has no usable texture."),e._groupImageData=null,void this._setPointsColorOrUV(t,e,i,!0,!1);const r=t.clone();r.setEnabled(!1),this._promises.push(new Promise((t=>{E.WhenAllReady(s,(()=>{let o=e._textureNb;o<0&&(o=0),o>s.length-1&&(o=s.length-1);const n=()=>{e._groupImgWidth=s[o].getSize().width,e._groupImgHeight=s[o].getSize().height,this._setPointsColorOrUV(r,e,i,!0,!0,void 0,void 0,s[o].coordinatesIndex),r.dispose(),t()};e._groupImageData=null;const a=s[o].readPixels();a?a.then((t=>{e._groupImageData=t,n()})):n()}))})))}_calculateDensity(t,e,i){let s,r,o,n,a,c,l,u,h,d,p,m;const _=x.Zero(),f=x.Zero(),g=x.Zero(),y=x.Zero(),T=x.Zero(),v=x.Zero();let w;const b=[];let P=0;const R=i.length/3;for(let t=0;t<R;t++)s=i[3*t],r=i[3*t+1],o=i[3*t+2],n=e[3*s],a=e[3*s+1],c=e[3*s+2],l=e[3*r],u=e[3*r+1],h=e[3*r+2],d=e[3*o],p=e[3*o+1],m=e[3*o+2],_.set(n,a,c),f.set(l,u,h),g.set(d,p,m),f.subtractToRef(_,y),g.subtractToRef(f,T),x.CrossToRef(y,T,v),w=.5*v.length(),P+=w,b[t]=P;const M=new Array(R);let A=t;for(let t=R-1;t>0;t--){const e=b[t];if(0===e)M[t]=0;else{const i=(e-b[t-1])/e*A,s=Math.floor(i),r=i-s,o=s+Number(Math.random()<r);M[t]=o,A-=o}}return M[0]=A,M}addPoints(t,e=this._randomUnitVector){const i=new K(this._groupCounter,e);let s,r=this.nbParticles;for(let e=0;e<t;e++)s=this._addParticle(r,i,this._groupCounter,e),i&&i._positionFunction&&i._positionFunction(s,r,e),this._positions.push(s.position.x,s.position.y,s.position.z),s.color&&this._colors.push(s.color.r,s.color.g,s.color.b,s.color.a),s.uv&&this._uvs.push(s.uv.x,s.uv.y),r++;return this.nbParticles+=t,this._groupCounter++,this._groupCounter}addSurfacePoints(t,e,i,s,r){let o=i||0;(isNaN(o)||o<0||o>3)&&(o=0);const n=t.getVerticesData(_.PositionKind),a=t.getIndices();this._groups.push(this._groupCounter);const c=new K(this._groupCounter,null);switch(c._groupDensity=this._calculateDensity(e,n,a),2===o?c._textureNb=s||0:s=s||new A(1,1,1,1),o){case 2:this._colorFromTexture(t,c,!1);break;case 1:this._setPointsColorOrUV(t,c,!1,!1,!1);break;case 0:this._setPointsColorOrUV(t,c,!1);break;case 3:this._setPointsColorOrUV(t,c,!1,void 0,void 0,s,r)}return this.nbParticles+=e,this._groupCounter++,this._groupCounter-1}addVolumePoints(t,e,i,s,r){let o=i||0;(isNaN(o)||o<0||o>3)&&(o=0);const n=t.getVerticesData(_.PositionKind),a=t.getIndices();this._groups.push(this._groupCounter);const c=new K(this._groupCounter,null);switch(c._groupDensity=this._calculateDensity(e,n,a),2===o?c._textureNb=s||0:s=s||new A(1,1,1,1),o){case 2:this._colorFromTexture(t,c,!0);break;case 1:this._setPointsColorOrUV(t,c,!0,!1,!1);break;case 0:this._setPointsColorOrUV(t,c,!0);break;case 3:this._setPointsColorOrUV(t,c,!0,void 0,void 0,s,r)}return this.nbParticles+=e,this._groupCounter++,this._groupCounter-1}setParticles(t=0,e=this.nbParticles-1,i=!0){if(!this._updatable||!this._isReady)return this;this.beforeUpdateParticles(t,e,i);const s=v.Matrix[0],r=this.mesh,o=this._colors32,n=this._positions32,a=this._uvs32,c=v.Vector3,l=c[5].copyFromFloats(1,0,0),u=c[6].copyFromFloats(0,1,0),h=c[7].copyFromFloats(0,0,1),d=c[8].setAll(Number.MAX_VALUE),p=c[9].setAll(-Number.MAX_VALUE);g.IdentityToRef(s);let m=0;if(this.mesh?.isFacetDataEnabled&&(this._computeBoundingBox=!0),e=e>=this.nbParticles?this.nbParticles-1:e,this._computeBoundingBox&&(0!=t||e!=this.nbParticles-1)){const t=this.mesh?.getBoundingInfo();t&&(d.copyFrom(t.minimum),p.copyFrom(t.maximum))}m=0;let f=0,x=0,y=0;for(let i=t;i<=e;i++){const t=this.particles[i];m=t.idx,f=3*m,x=4*m,y=2*m,this.updateParticle(t);const e=t._rotationMatrix,r=t.position,o=t._globalPosition;this._computeParticleRotation&&t.getRotationMatrix(s);if(null!==t.parentId){const i=this.particles[t.parentId],n=i._rotationMatrix,a=i._globalPosition,c=r.x*n[1]+r.y*n[4]+r.z*n[7],l=r.x*n[0]+r.y*n[3]+r.z*n[6],u=r.x*n[2]+r.y*n[5]+r.z*n[8];if(o.x=a.x+l,o.y=a.y+c,o.z=a.z+u,this._computeParticleRotation){const t=s.m;e[0]=t[0]*n[0]+t[1]*n[3]+t[2]*n[6],e[1]=t[0]*n[1]+t[1]*n[4]+t[2]*n[7],e[2]=t[0]*n[2]+t[1]*n[5]+t[2]*n[8],e[3]=t[4]*n[0]+t[5]*n[3]+t[6]*n[6],e[4]=t[4]*n[1]+t[5]*n[4]+t[6]*n[7],e[5]=t[4]*n[2]+t[5]*n[5]+t[6]*n[8],e[6]=t[8]*n[0]+t[9]*n[3]+t[10]*n[6],e[7]=t[8]*n[1]+t[9]*n[4]+t[10]*n[7],e[8]=t[8]*n[2]+t[9]*n[5]+t[10]*n[8]}}else if(o.x=0,o.y=0,o.z=0,this._computeParticleRotation){const t=s.m;e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10]}const a=c[11];t.translateFromPivot?a.setAll(0):a.copyFrom(t.pivot);const _=c[0];_.copyFrom(t.position);const g=_.x-t.pivot.x,T=_.y-t.pivot.y,v=_.z-t.pivot.z;let w=g*e[0]+T*e[3]+v*e[6],b=g*e[1]+T*e[4]+v*e[7],P=g*e[2]+T*e[5]+v*e[8];w+=a.x,b+=a.y,P+=a.z;const R=n[f]=o.x+l.x*w+u.x*b+h.x*P,M=n[f+1]=o.y+l.y*w+u.y*b+h.y*P,A=n[f+2]=o.z+l.z*w+u.z*b+h.z*P;if(this._computeBoundingBox&&(d.minimizeInPlaceFromFloats(R,M,A),p.maximizeInPlaceFromFloats(R,M,A)),this._computeParticleColor&&t.color){const e=t.color,i=this._colors32;i[x]=e.r,i[x+1]=e.g,i[x+2]=e.b,i[x+3]=e.a}if(this._computeParticleTexture&&t.uv){const e=t.uv,i=this._uvs32;i[y]=e.x,i[y+1]=e.y}}return r&&(i&&(this._computeParticleColor&&r.updateVerticesData(_.ColorKind,o,!1,!1),this._computeParticleTexture&&r.updateVerticesData(_.UVKind,a,!1,!1),r.updateVerticesData(_.PositionKind,n,!1,!1)),this._computeBoundingBox&&(r.hasBoundingInfo?r.getBoundingInfo().reConstruct(d,p,r._worldMatrix):r.buildBoundingInfo(d,p,r._worldMatrix))),this.afterUpdateParticles(t,e,i),this}dispose(){this.mesh?.dispose(),this.vars=null,this._positions=null,this._indices=null,this._normals=null,this._uvs=null,this._colors=null,this._indices32=null,this._positions32=null,this._uvs32=null,this._colors32=null}refreshVisibleSize(){return this._isVisibilityBoxLocked||this.mesh?.refreshBoundingInfo(),this}setVisibilityBox(t){if(!this.mesh)return;const e=t/2;this.mesh.buildBoundingInfo(new x(-e,-e,-e),new x(e,e,e))}get isAlwaysVisible(){return this._alwaysVisible}set isAlwaysVisible(t){this.mesh&&(this._alwaysVisible=t,this.mesh.alwaysSelectAsActiveMesh=t)}set computeParticleRotation(t){this._computeParticleRotation=t}set computeParticleColor(t){this._computeParticleColor=t}set computeParticleTexture(t){this._computeParticleTexture=t}get computeParticleColor(){return this._computeParticleColor}get computeParticleTexture(){return this._computeParticleTexture}set computeBoundingBox(t){this._computeBoundingBox=t}get computeBoundingBox(){return this._computeBoundingBox}initParticles(){}recycleParticle(t){return t}updateParticle(t){return t}beforeUpdateParticles(t,e,i){}afterUpdateParticles(t,e,i){}}!function(t){t[t.Splat=0]="Splat",t[t.PointCloud=1]="PointCloud",t[t.Mesh=2]="Mesh"}(nt||(nt={}));class ct{constructor(t=ct._DefaultLoadingOptions){this.name=W.name,this._assetContainer=null,this.extensions=W.extensions,this._loadingOptions=t}createPlugin(t){return new ct(t[W.name])}async importMeshAsync(t,e,i,s,r,o){return this._parse(t,e,i,s).then((t=>({meshes:t,particleSystems:[],skeletons:[],animationGroups:[],transformNodes:[],geometries:[],lights:[],spriteManagers:[]})))}static _BuildPointCloud(t,e){if(!e.byteLength)return!1;const i=new Uint8Array(e),s=new Float32Array(e),r=i.length/32;return t.addPoints(r,(function(t,e){const r=s[8*e+0],o=s[8*e+1],n=s[8*e+2];t.position=new x(r,o,n);const a=i[32*e+24+0]/255,c=i[32*e+24+1]/255,l=i[32*e+24+2]/255;t.color=new A(a,c,l,1)})),!0}static _BuildMesh(t,e){const i=new f("PLYMesh",t),s=new Uint8Array(e.data),r=new Float32Array(e.data),o=s.length/32,n=[],a=new y;for(let t=0;t<o;t++){const e=r[8*t+0],i=r[8*t+1],s=r[8*t+2];n.push(e,i,s)}if(e.hasVertexColors){const t=new Float32Array(4*o);for(let e=0;e<o;e++){const i=s[32*e+24+0]/255,r=s[32*e+24+1]/255,o=s[32*e+24+2]/255;t[4*e+0]=i,t[4*e+1]=r,t[4*e+2]=o,t[4*e+3]=1}a.colors=t}return a.positions=n,a.indices=e.faces,a.applyToMesh(i),i}_parse(t,e,i,s){const r=[],o=ct._ConvertPLYToSplat(i);switch(o.mode){case 0:{const t=new H("GaussianSplatting",null,e,this._loadingOptions.keepInRam);t._parentContainer=this._assetContainer,r.push(t),t.loadDataAsync(o.data)}break;case 1:{const t=new at("PointCloud",1,e);if(ct._BuildPointCloud(t,o.data))return Promise.all([t.buildMeshAsync()]).then((t=>(r.push(t[0]),r)));t.dispose()}break;case 2:if(!o.faces)throw new Error("PLY mesh doesn't contain face informations.");r.push(ct._BuildMesh(e,o));break;default:throw new Error("Unsupported Splat mode")}return Promise.resolve(r)}loadAssetContainerAsync(t,e,i){const s=new N(t);return this._assetContainer=s,this.importMeshAsync(null,t,e,i).then((t=>(t.meshes.forEach((t=>s.meshes.push(t))),this._assetContainer=null,s))).catch((t=>{throw this._assetContainer=null,t}))}loadAsync(t,e,i){return this.importMeshAsync(null,t,e,i).then((()=>{}))}static _ConvertPLYToSplat(t){const e=new Uint8Array(t),i=(new TextDecoder).decode(e.slice(0,10240)),s="end_header\n",r=i.indexOf(s);if(r<0||!i)return{mode:0,data:t};const o=parseInt(/element vertex (\d+)\n/.exec(i)[1]),n=/element face (\d+)\n/.exec(i);let a=0;n&&(a=parseInt(n[1]));let c=0;const l={double:8,int:4,uint:4,float:4,short:2,ushort:2,uchar:1,list:0},u=[],h=i.slice(0,r).split("\n").filter((t=>t.startsWith("property ")));for(const t of h){const[,e,i]=t.split(" ");u.push({name:i,type:e,offset:c}),l[e]?c+=l[e]:w.Warn(`Unsupported property type: ${e}.`)}const d=.28209479177387814,p=new DataView(t,r+11),m=new ArrayBuffer(32*o),_=new R;for(let t=0;t<o;t++){const e=new Float32Array(m,32*t,3),i=new Float32Array(m,32*t+12,3),s=new Uint8ClampedArray(m,32*t+24,4),r=new Uint8ClampedArray(m,32*t+28,4);let o=255,n=0,a=0,l=0;for(let r=0;r<u.length;r++){const h=u[r];let m;switch(h.type){case"float":m=p.getFloat32(h.offset+t*c,!0);break;case"int":m=p.getInt32(h.offset+t*c,!0);break;case"uint":m=p.getUint32(h.offset+t*c,!0);break;case"double":m=p.getFloat64(h.offset+t*c,!0);break;case"uchar":m=p.getUint8(h.offset+t*c);break;default:continue}switch(h.name){case"x":e[0]=m;break;case"y":e[1]=m;break;case"z":e[2]=m;break;case"scale_0":i[0]=Math.exp(m);break;case"scale_1":i[1]=Math.exp(m);break;case"scale_2":i[2]=Math.exp(m);break;case"diffuse_red":case"red":s[0]=m;break;case"diffuse_green":case"green":s[1]=m;break;case"diffuse_blue":case"blue":s[2]=m;break;case"f_dc_0":s[0]=255*(.5+d*m);break;case"f_dc_1":s[1]=255*(.5+d*m);break;case"f_dc_2":s[2]=255*(.5+d*m);break;case"f_dc_3":s[3]=255*(.5+d*m);break;case"opacity":s[3]=1/(1+Math.exp(-m))*255;break;case"rot_0":o=m;break;case"rot_1":n=m;break;case"rot_2":a=m;break;case"rot_3":l=m}}_.set(n,a,l,o),_.normalize(),r[0]=128*_.w+128,r[1]=128*_.x+128,r[2]=128*_.y+128,r[3]=128*_.z+128}const f=[];if(a){let t=c*o;for(let e=0;e<a;e++){const e=p.getUint8(t);if(3==e){t+=1;for(let i=0;i<e;i++){const e=p.getUint32(t+4*(2-i),!0);f.push(e)}t+=12}}}let g=0,x=0;const y=["x","y","z","scale_0","scale_1","scale_2","opacity","rot_0","rot_1","rot_2","rot_3"],T=["red","green","blue","f_dc_0","f_dc_1","f_dc_2"];for(let t=0;t<u.length;t++){const e=u[t];y.includes(e.name)&&g++,T.includes(e.name)&&x++}const v=g==y.length&&3==x;return{mode:a?2:v?0:1,data:m,faces:f,hasVertexColors:!!x}}}ct._DefaultLoadingOptions={keepInRam:!1},L(new ct);export{ct as SPLATFileLoader};
2
+ //# sourceMappingURL=splatFileLoader-S6q5_XPy.esm.min.js.map