@babylonjs/viewer 7.26.3-alpha → 7.26.3

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 (578) 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 +350 -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-CX9xWDUc.esm.min.js +0 -2
  197. package/dist/chunks/EXT_lights_image_based-CX9xWDUc.esm.min.js.map +0 -1
  198. package/dist/chunks/EXT_lights_image_based-D2376Rhk.esm.js +0 -171
  199. package/dist/chunks/EXT_lights_image_based-D2376Rhk.esm.js.map +0 -1
  200. package/dist/chunks/EXT_mesh_gpu_instancing-COx3jzFo.esm.js +0 -86
  201. package/dist/chunks/EXT_mesh_gpu_instancing-COx3jzFo.esm.js.map +0 -1
  202. package/dist/chunks/EXT_mesh_gpu_instancing-DucZlyik.esm.min.js +0 -2
  203. package/dist/chunks/EXT_mesh_gpu_instancing-DucZlyik.esm.min.js.map +0 -1
  204. package/dist/chunks/EXT_meshopt_compression-CYrBmER6.esm.js +0 -134
  205. package/dist/chunks/EXT_meshopt_compression-CYrBmER6.esm.js.map +0 -1
  206. package/dist/chunks/EXT_meshopt_compression-RcQCBtJG.esm.min.js +0 -2
  207. package/dist/chunks/EXT_meshopt_compression-RcQCBtJG.esm.min.js.map +0 -1
  208. package/dist/chunks/EXT_texture_avif-BhIxh8Y2.esm.min.js +0 -2
  209. package/dist/chunks/EXT_texture_avif-BhIxh8Y2.esm.min.js.map +0 -1
  210. package/dist/chunks/EXT_texture_avif-Ca5z5sd4.esm.js +0 -44
  211. package/dist/chunks/EXT_texture_avif-Ca5z5sd4.esm.js.map +0 -1
  212. package/dist/chunks/EXT_texture_webp-BqckITjY.esm.js +0 -43
  213. package/dist/chunks/EXT_texture_webp-BqckITjY.esm.js.map +0 -1
  214. package/dist/chunks/EXT_texture_webp-CkyuNFGt.esm.min.js +0 -2
  215. package/dist/chunks/EXT_texture_webp-CkyuNFGt.esm.min.js.map +0 -1
  216. package/dist/chunks/ExtrasAsMetadata-B5tcWWcU.esm.js +0 -64
  217. package/dist/chunks/ExtrasAsMetadata-B5tcWWcU.esm.js.map +0 -1
  218. package/dist/chunks/ExtrasAsMetadata-DXurtCTq.esm.min.js +0 -2
  219. package/dist/chunks/ExtrasAsMetadata-DXurtCTq.esm.min.js.map +0 -1
  220. package/dist/chunks/KHR_animation_pointer--IiYfSMj.esm.min.js +0 -2
  221. package/dist/chunks/KHR_animation_pointer--IiYfSMj.esm.min.js.map +0 -1
  222. package/dist/chunks/KHR_animation_pointer-DfN1Ew0i.esm.js +0 -343
  223. package/dist/chunks/KHR_animation_pointer-DfN1Ew0i.esm.js.map +0 -1
  224. package/dist/chunks/KHR_draco_mesh_compression-CRrH0RjE.esm.js +0 -610
  225. package/dist/chunks/KHR_draco_mesh_compression-CRrH0RjE.esm.js.map +0 -1
  226. package/dist/chunks/KHR_draco_mesh_compression-Dx3wBJzh.esm.min.js +0 -2
  227. package/dist/chunks/KHR_draco_mesh_compression-Dx3wBJzh.esm.min.js.map +0 -1
  228. package/dist/chunks/KHR_interactivity-BhxUQ3Nl.esm.min.js +0 -2
  229. package/dist/chunks/KHR_interactivity-BhxUQ3Nl.esm.min.js.map +0 -1
  230. package/dist/chunks/KHR_interactivity-DHimeDac.esm.js +0 -4033
  231. package/dist/chunks/KHR_interactivity-DHimeDac.esm.js.map +0 -1
  232. package/dist/chunks/KHR_lights_punctual-CKLPiVPx.esm.js +0 -1253
  233. package/dist/chunks/KHR_lights_punctual-CKLPiVPx.esm.js.map +0 -1
  234. package/dist/chunks/KHR_lights_punctual-Dl3Xt0qH.esm.min.js +0 -2
  235. package/dist/chunks/KHR_lights_punctual-Dl3Xt0qH.esm.min.js.map +0 -1
  236. package/dist/chunks/KHR_materials_anisotropy-BlKga02r.esm.min.js +0 -2
  237. package/dist/chunks/KHR_materials_anisotropy-BlKga02r.esm.min.js.map +0 -1
  238. package/dist/chunks/KHR_materials_anisotropy-D_vFuzc0.esm.js +0 -64
  239. package/dist/chunks/KHR_materials_anisotropy-D_vFuzc0.esm.js.map +0 -1
  240. package/dist/chunks/KHR_materials_clearcoat-2P7-x3fR.esm.js +0 -96
  241. package/dist/chunks/KHR_materials_clearcoat-2P7-x3fR.esm.js.map +0 -1
  242. package/dist/chunks/KHR_materials_clearcoat-JLop7Kfg.esm.min.js +0 -2
  243. package/dist/chunks/KHR_materials_clearcoat-JLop7Kfg.esm.min.js.map +0 -1
  244. package/dist/chunks/KHR_materials_diffuse_transmission-BJY5giTc.esm.min.js +0 -2
  245. package/dist/chunks/KHR_materials_diffuse_transmission-BJY5giTc.esm.min.js.map +0 -1
  246. package/dist/chunks/KHR_materials_diffuse_transmission-DwFIB9fg.esm.js +0 -97
  247. package/dist/chunks/KHR_materials_diffuse_transmission-DwFIB9fg.esm.js.map +0 -1
  248. package/dist/chunks/KHR_materials_dispersion-5ELsBp34.esm.min.js +0 -2
  249. package/dist/chunks/KHR_materials_dispersion-5ELsBp34.esm.min.js.map +0 -1
  250. package/dist/chunks/KHR_materials_dispersion-CFS1T2yw.esm.js +0 -62
  251. package/dist/chunks/KHR_materials_dispersion-CFS1T2yw.esm.js.map +0 -1
  252. package/dist/chunks/KHR_materials_emissive_strength-BjBRYGm9.esm.js +0 -55
  253. package/dist/chunks/KHR_materials_emissive_strength-BjBRYGm9.esm.js.map +0 -1
  254. package/dist/chunks/KHR_materials_emissive_strength-CPQefGT0.esm.min.js +0 -2
  255. package/dist/chunks/KHR_materials_emissive_strength-CPQefGT0.esm.min.js.map +0 -1
  256. package/dist/chunks/KHR_materials_ior-COc1f40R.esm.min.js +0 -2
  257. package/dist/chunks/KHR_materials_ior-COc1f40R.esm.min.js.map +0 -1
  258. package/dist/chunks/KHR_materials_ior-DA7pWw9x.esm.js +0 -64
  259. package/dist/chunks/KHR_materials_ior-DA7pWw9x.esm.js.map +0 -1
  260. package/dist/chunks/KHR_materials_iridescence-C5zkC2Qa.esm.min.js +0 -2
  261. package/dist/chunks/KHR_materials_iridescence-C5zkC2Qa.esm.min.js.map +0 -1
  262. package/dist/chunks/KHR_materials_iridescence-CmvJW1oh.esm.js +0 -72
  263. package/dist/chunks/KHR_materials_iridescence-CmvJW1oh.esm.js.map +0 -1
  264. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-7VdedH19.esm.js +0 -81
  265. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-7VdedH19.esm.js.map +0 -1
  266. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CDCzt8M3.esm.min.js +0 -2
  267. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-CDCzt8M3.esm.min.js.map +0 -1
  268. package/dist/chunks/KHR_materials_sheen-BFHRryyJ.esm.js +0 -85
  269. package/dist/chunks/KHR_materials_sheen-BFHRryyJ.esm.js.map +0 -1
  270. package/dist/chunks/KHR_materials_sheen-Dr_bKj0V.esm.min.js +0 -2
  271. package/dist/chunks/KHR_materials_sheen-Dr_bKj0V.esm.min.js.map +0 -1
  272. package/dist/chunks/KHR_materials_specular-CMp7dQ3N.esm.js +0 -75
  273. package/dist/chunks/KHR_materials_specular-CMp7dQ3N.esm.js.map +0 -1
  274. package/dist/chunks/KHR_materials_specular-Do-bJ9Tz.esm.min.js +0 -2
  275. package/dist/chunks/KHR_materials_specular-Do-bJ9Tz.esm.min.js.map +0 -1
  276. package/dist/chunks/KHR_materials_transmission-C8Na2aOr.esm.min.js +0 -2
  277. package/dist/chunks/KHR_materials_transmission-C8Na2aOr.esm.min.js.map +0 -1
  278. package/dist/chunks/KHR_materials_transmission-DiAYQhUP.esm.js +0 -307
  279. package/dist/chunks/KHR_materials_transmission-DiAYQhUP.esm.js.map +0 -1
  280. package/dist/chunks/KHR_materials_unlit-AqTZLxcL.esm.min.js +0 -2
  281. package/dist/chunks/KHR_materials_unlit-AqTZLxcL.esm.min.js.map +0 -1
  282. package/dist/chunks/KHR_materials_unlit-CwaIOdG_.esm.js +0 -74
  283. package/dist/chunks/KHR_materials_unlit-CwaIOdG_.esm.js.map +0 -1
  284. package/dist/chunks/KHR_materials_variants--8JMISBO.esm.js +0 -238
  285. package/dist/chunks/KHR_materials_variants--8JMISBO.esm.js.map +0 -1
  286. package/dist/chunks/KHR_materials_variants-CY2ksNW8.esm.min.js +0 -2
  287. package/dist/chunks/KHR_materials_variants-CY2ksNW8.esm.min.js.map +0 -1
  288. package/dist/chunks/KHR_materials_volume-16xOP2pG.esm.js +0 -87
  289. package/dist/chunks/KHR_materials_volume-16xOP2pG.esm.js.map +0 -1
  290. package/dist/chunks/KHR_materials_volume-eVBmT7Py.esm.min.js +0 -2
  291. package/dist/chunks/KHR_materials_volume-eVBmT7Py.esm.min.js.map +0 -1
  292. package/dist/chunks/KHR_mesh_quantization-CzxT4LfP.esm.min.js +0 -2
  293. package/dist/chunks/KHR_mesh_quantization-CzxT4LfP.esm.min.js.map +0 -1
  294. package/dist/chunks/KHR_mesh_quantization-DXlvMjPl.esm.js +0 -26
  295. package/dist/chunks/KHR_mesh_quantization-DXlvMjPl.esm.js.map +0 -1
  296. package/dist/chunks/KHR_texture_basisu-DwyvsvjH.esm.js +0 -43
  297. package/dist/chunks/KHR_texture_basisu-DwyvsvjH.esm.js.map +0 -1
  298. package/dist/chunks/KHR_texture_basisu-_W9Br-Jl.esm.min.js +0 -2
  299. package/dist/chunks/KHR_texture_basisu-_W9Br-Jl.esm.min.js.map +0 -1
  300. package/dist/chunks/KHR_texture_transform-BrggkZGk.esm.min.js +0 -2
  301. package/dist/chunks/KHR_texture_transform-BrggkZGk.esm.min.js.map +0 -1
  302. package/dist/chunks/KHR_texture_transform-C86eLMga.esm.js +0 -63
  303. package/dist/chunks/KHR_texture_transform-C86eLMga.esm.js.map +0 -1
  304. package/dist/chunks/KHR_xmp_json_ld-B4kyQRbU.esm.js +0 -51
  305. package/dist/chunks/KHR_xmp_json_ld-B4kyQRbU.esm.js.map +0 -1
  306. package/dist/chunks/KHR_xmp_json_ld-C3CU_p-l.esm.min.js +0 -2
  307. package/dist/chunks/KHR_xmp_json_ld-C3CU_p-l.esm.min.js.map +0 -1
  308. package/dist/chunks/MSFT_audio_emitter-B3Ta8qMN.esm.min.js +0 -2
  309. package/dist/chunks/MSFT_audio_emitter-B3Ta8qMN.esm.min.js.map +0 -1
  310. package/dist/chunks/MSFT_audio_emitter-D8nIcuBy.esm.js +0 -2236
  311. package/dist/chunks/MSFT_audio_emitter-D8nIcuBy.esm.js.map +0 -1
  312. package/dist/chunks/MSFT_lod-CEIzxRis.esm.js +0 -337
  313. package/dist/chunks/MSFT_lod-CEIzxRis.esm.js.map +0 -1
  314. package/dist/chunks/MSFT_lod-DZOikD8t.esm.min.js +0 -2
  315. package/dist/chunks/MSFT_lod-DZOikD8t.esm.min.js.map +0 -1
  316. package/dist/chunks/MSFT_minecraftMesh-B7vBtMTM.esm.js +0 -46
  317. package/dist/chunks/MSFT_minecraftMesh-B7vBtMTM.esm.js.map +0 -1
  318. package/dist/chunks/MSFT_minecraftMesh-DQCCOSGW.esm.min.js +0 -2
  319. package/dist/chunks/MSFT_minecraftMesh-DQCCOSGW.esm.min.js.map +0 -1
  320. package/dist/chunks/MSFT_sRGBFactors-ApBMqY9Y.esm.min.js +0 -2
  321. package/dist/chunks/MSFT_sRGBFactors-ApBMqY9Y.esm.min.js.map +0 -1
  322. package/dist/chunks/MSFT_sRGBFactors-DCyPuGAW.esm.js +0 -47
  323. package/dist/chunks/MSFT_sRGBFactors-DCyPuGAW.esm.js.map +0 -1
  324. package/dist/chunks/assetContainer-4Y8qxrkP.esm.min.js +0 -2
  325. package/dist/chunks/assetContainer-4Y8qxrkP.esm.min.js.map +0 -1
  326. package/dist/chunks/assetContainer-yduDDAg5.esm.js +0 -1598
  327. package/dist/chunks/assetContainer-yduDDAg5.esm.js.map +0 -1
  328. package/dist/chunks/audioEngine-B2lVczv1.esm.js +0 -305
  329. package/dist/chunks/audioEngine-B2lVczv1.esm.js.map +0 -1
  330. package/dist/chunks/audioEngine-BdTR6pZz.esm.min.js +0 -2
  331. package/dist/chunks/audioEngine-BdTR6pZz.esm.min.js.map +0 -1
  332. package/dist/chunks/bakedVertexAnimation-DVAdtwv1.esm.min.js +0 -2
  333. package/dist/chunks/bakedVertexAnimation-DVAdtwv1.esm.min.js.map +0 -1
  334. package/dist/chunks/bakedVertexAnimation-DeNM3h2Z.esm.js +0 -119
  335. package/dist/chunks/bakedVertexAnimation-DeNM3h2Z.esm.js.map +0 -1
  336. package/dist/chunks/basisTextureLoader-B0x2JhtN.esm.min.js +0 -2
  337. package/dist/chunks/basisTextureLoader-B0x2JhtN.esm.min.js.map +0 -1
  338. package/dist/chunks/basisTextureLoader-kG8CWoCn.esm.js +0 -600
  339. package/dist/chunks/basisTextureLoader-kG8CWoCn.esm.js.map +0 -1
  340. package/dist/chunks/dds-B4XmtkSp.esm.js +0 -540
  341. package/dist/chunks/dds-B4XmtkSp.esm.js.map +0 -1
  342. package/dist/chunks/dds-DeNz8hS-.esm.min.js +0 -2
  343. package/dist/chunks/dds-DeNz8hS-.esm.min.js.map +0 -1
  344. package/dist/chunks/ddsTextureLoader-BjLEbHHS.esm.js +0 -88
  345. package/dist/chunks/ddsTextureLoader-BjLEbHHS.esm.js.map +0 -1
  346. package/dist/chunks/ddsTextureLoader-D9FHqe-R.esm.min.js +0 -2
  347. package/dist/chunks/ddsTextureLoader-D9FHqe-R.esm.min.js.map +0 -1
  348. package/dist/chunks/decalFragment-BRIy9zMn.esm.min.js +0 -2
  349. package/dist/chunks/decalFragment-BRIy9zMn.esm.min.js.map +0 -1
  350. package/dist/chunks/decalFragment-DjXy6GUY.esm.js +0 -18
  351. package/dist/chunks/decalFragment-DjXy6GUY.esm.js.map +0 -1
  352. package/dist/chunks/default.fragment-BaBj8oN2.esm.js +0 -515
  353. package/dist/chunks/default.fragment-BaBj8oN2.esm.js.map +0 -1
  354. package/dist/chunks/default.fragment-C77QNDVC.esm.js +0 -449
  355. package/dist/chunks/default.fragment-C77QNDVC.esm.js.map +0 -1
  356. package/dist/chunks/default.fragment-CzYoM-ST.esm.min.js +0 -2
  357. package/dist/chunks/default.fragment-CzYoM-ST.esm.min.js.map +0 -1
  358. package/dist/chunks/default.fragment-D2M5EU_o.esm.min.js +0 -2
  359. package/dist/chunks/default.fragment-D2M5EU_o.esm.min.js.map +0 -1
  360. package/dist/chunks/default.vertex-BMMLYJyE.esm.min.js +0 -2
  361. package/dist/chunks/default.vertex-BMMLYJyE.esm.min.js.map +0 -1
  362. package/dist/chunks/default.vertex-CI6v3Y74.esm.js +0 -199
  363. package/dist/chunks/default.vertex-CI6v3Y74.esm.js.map +0 -1
  364. package/dist/chunks/default.vertex-DS3Btklm.esm.js +0 -180
  365. package/dist/chunks/default.vertex-DS3Btklm.esm.js.map +0 -1
  366. package/dist/chunks/default.vertex-sG6vJK6V.esm.min.js +0 -2
  367. package/dist/chunks/default.vertex-sG6vJK6V.esm.min.js.map +0 -1
  368. package/dist/chunks/defaultUboDeclaration-CfEdjUu2.esm.js +0 -15
  369. package/dist/chunks/defaultUboDeclaration-CfEdjUu2.esm.js.map +0 -1
  370. package/dist/chunks/defaultUboDeclaration-EXGQjmeR.esm.min.js +0 -2
  371. package/dist/chunks/defaultUboDeclaration-EXGQjmeR.esm.min.js.map +0 -1
  372. package/dist/chunks/defaultUboDeclaration-Qio0jGUO.esm.min.js +0 -2
  373. package/dist/chunks/defaultUboDeclaration-Qio0jGUO.esm.min.js.map +0 -1
  374. package/dist/chunks/defaultUboDeclaration-tUtq3goK.esm.js +0 -13
  375. package/dist/chunks/defaultUboDeclaration-tUtq3goK.esm.js.map +0 -1
  376. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js +0 -11
  377. package/dist/chunks/drawWrapper.functions-CKg3_9x4.esm.js.map +0 -1
  378. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js +0 -2
  379. package/dist/chunks/drawWrapper.functions-ng7lvueZ.esm.min.js.map +0 -1
  380. package/dist/chunks/dumpTools-BxY8w25M.esm.js +0 -400
  381. package/dist/chunks/dumpTools-BxY8w25M.esm.js.map +0 -1
  382. package/dist/chunks/dumpTools-Che-gwG7.esm.min.js +0 -2
  383. package/dist/chunks/dumpTools-Che-gwG7.esm.min.js.map +0 -1
  384. package/dist/chunks/engine-06Wd-_3h.esm.min.js +0 -2
  385. package/dist/chunks/engine-06Wd-_3h.esm.min.js.map +0 -1
  386. package/dist/chunks/engine-wEbS27-R.esm.js +0 -2174
  387. package/dist/chunks/engine-wEbS27-R.esm.js.map +0 -1
  388. package/dist/chunks/engine.common-BxiwlBr3.esm.min.js +0 -2
  389. package/dist/chunks/engine.common-BxiwlBr3.esm.min.js.map +0 -1
  390. package/dist/chunks/engine.common-DRFOWS2A.esm.js +0 -1088
  391. package/dist/chunks/engine.common-DRFOWS2A.esm.js.map +0 -1
  392. package/dist/chunks/envTextureLoader-Deb8hyWv.esm.js +0 -64
  393. package/dist/chunks/envTextureLoader-Deb8hyWv.esm.js.map +0 -1
  394. package/dist/chunks/envTextureLoader-nt7RB7jF.esm.min.js +0 -2
  395. package/dist/chunks/envTextureLoader-nt7RB7jF.esm.min.js.map +0 -1
  396. package/dist/chunks/environmentTextureTools-CnU6sdsm.esm.js +0 -382
  397. package/dist/chunks/environmentTextureTools-CnU6sdsm.esm.js.map +0 -1
  398. package/dist/chunks/environmentTextureTools-CqxQLfVS.esm.min.js +0 -2
  399. package/dist/chunks/environmentTextureTools-CqxQLfVS.esm.min.js.map +0 -1
  400. package/dist/chunks/exrTextureLoader-DgqYue7c.esm.min.js +0 -2
  401. package/dist/chunks/exrTextureLoader-DgqYue7c.esm.min.js.map +0 -1
  402. package/dist/chunks/exrTextureLoader-au_729k4.esm.js +0 -1682
  403. package/dist/chunks/exrTextureLoader-au_729k4.esm.js.map +0 -1
  404. package/dist/chunks/fogFragment-8tEI-kPW.esm.min.js +0 -2
  405. package/dist/chunks/fogFragment-8tEI-kPW.esm.min.js.map +0 -1
  406. package/dist/chunks/fogFragment-CULs-7PE.esm.js +0 -102
  407. package/dist/chunks/fogFragment-CULs-7PE.esm.js.map +0 -1
  408. package/dist/chunks/fresnelFunction-B4KI4E8h.esm.js +0 -12
  409. package/dist/chunks/fresnelFunction-B4KI4E8h.esm.js.map +0 -1
  410. package/dist/chunks/fresnelFunction-CeLpSg7g.esm.min.js +0 -2
  411. package/dist/chunks/fresnelFunction-CeLpSg7g.esm.min.js.map +0 -1
  412. package/dist/chunks/glTFLoader-BSsxhX_B.esm.js +0 -7552
  413. package/dist/chunks/glTFLoader-BSsxhX_B.esm.js.map +0 -1
  414. package/dist/chunks/glTFLoader-Cdf6EEh4.esm.min.js +0 -2
  415. package/dist/chunks/glTFLoader-Cdf6EEh4.esm.min.js.map +0 -1
  416. package/dist/chunks/glTFLoaderAnimation-KvPgN70Y.esm.min.js +0 -2
  417. package/dist/chunks/glTFLoaderAnimation-KvPgN70Y.esm.min.js.map +0 -1
  418. package/dist/chunks/glTFLoaderAnimation-vK1xPOOh.esm.js +0 -77
  419. package/dist/chunks/glTFLoaderAnimation-vK1xPOOh.esm.js.map +0 -1
  420. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  421. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  422. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  423. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  424. package/dist/chunks/harmonicsFunctions-CnvdxOXs.esm.min.js +0 -2
  425. package/dist/chunks/harmonicsFunctions-CnvdxOXs.esm.min.js.map +0 -1
  426. package/dist/chunks/harmonicsFunctions-CwZrA_es.esm.js +0 -34
  427. package/dist/chunks/harmonicsFunctions-CwZrA_es.esm.js.map +0 -1
  428. package/dist/chunks/harmonicsFunctions-D23NP4_R.esm.min.js +0 -2
  429. package/dist/chunks/harmonicsFunctions-D23NP4_R.esm.min.js.map +0 -1
  430. package/dist/chunks/harmonicsFunctions-DWAunDBq.esm.js +0 -35
  431. package/dist/chunks/harmonicsFunctions-DWAunDBq.esm.js.map +0 -1
  432. package/dist/chunks/hdrTextureLoader-BBszpiSE.esm.js +0 -252
  433. package/dist/chunks/hdrTextureLoader-BBszpiSE.esm.js.map +0 -1
  434. package/dist/chunks/hdrTextureLoader-DlqeGac5.esm.min.js +0 -2
  435. package/dist/chunks/hdrTextureLoader-DlqeGac5.esm.min.js.map +0 -1
  436. package/dist/chunks/helperFunctions-B-IxnCCi.esm.js +0 -108
  437. package/dist/chunks/helperFunctions-B-IxnCCi.esm.js.map +0 -1
  438. package/dist/chunks/helperFunctions-BJn_zA2T.esm.js +0 -80
  439. package/dist/chunks/helperFunctions-BJn_zA2T.esm.js.map +0 -1
  440. package/dist/chunks/helperFunctions-CdXvdI3d.esm.min.js +0 -2
  441. package/dist/chunks/helperFunctions-CdXvdI3d.esm.min.js.map +0 -1
  442. package/dist/chunks/helperFunctions-Cz2oFjJD.esm.min.js +0 -2
  443. package/dist/chunks/helperFunctions-Cz2oFjJD.esm.min.js.map +0 -1
  444. package/dist/chunks/index-DEZD8qGB.esm.min.js +0 -57
  445. package/dist/chunks/index-DEZD8qGB.esm.min.js.map +0 -1
  446. package/dist/chunks/index-rM42Fwtd.esm.js +0 -73922
  447. package/dist/chunks/index-rM42Fwtd.esm.js.map +0 -1
  448. package/dist/chunks/ktxTextureLoader-5XE4saqV.esm.min.js +0 -2
  449. package/dist/chunks/ktxTextureLoader-5XE4saqV.esm.min.js.map +0 -1
  450. package/dist/chunks/ktxTextureLoader-CzOXMl46.esm.js +0 -814
  451. package/dist/chunks/ktxTextureLoader-CzOXMl46.esm.js.map +0 -1
  452. package/dist/chunks/logDepthDeclaration-C1e5P6MP.esm.min.js +0 -2
  453. package/dist/chunks/logDepthDeclaration-C1e5P6MP.esm.min.js.map +0 -1
  454. package/dist/chunks/logDepthDeclaration-CP73F-Ht.esm.min.js +0 -2
  455. package/dist/chunks/logDepthDeclaration-CP73F-Ht.esm.min.js.map +0 -1
  456. package/dist/chunks/logDepthDeclaration-Cpcs5duV.esm.js +0 -20
  457. package/dist/chunks/logDepthDeclaration-Cpcs5duV.esm.js.map +0 -1
  458. package/dist/chunks/logDepthDeclaration-tZj2QrWI.esm.js +0 -35
  459. package/dist/chunks/logDepthDeclaration-tZj2QrWI.esm.js.map +0 -1
  460. package/dist/chunks/logDepthVertex-BHds0cL7.esm.min.js +0 -2
  461. package/dist/chunks/logDepthVertex-BHds0cL7.esm.min.js.map +0 -1
  462. package/dist/chunks/logDepthVertex-C77H-mUN.esm.js +0 -77
  463. package/dist/chunks/logDepthVertex-C77H-mUN.esm.js.map +0 -1
  464. package/dist/chunks/logDepthVertex-CRCv55t1.esm.min.js +0 -2
  465. package/dist/chunks/logDepthVertex-CRCv55t1.esm.min.js.map +0 -1
  466. package/dist/chunks/logDepthVertex-D71T3PUi.esm.js +0 -488
  467. package/dist/chunks/logDepthVertex-D71T3PUi.esm.js.map +0 -1
  468. package/dist/chunks/mainUVVaryingDeclaration-DH5Gw79d.esm.min.js +0 -2
  469. package/dist/chunks/mainUVVaryingDeclaration-DH5Gw79d.esm.min.js.map +0 -1
  470. package/dist/chunks/mainUVVaryingDeclaration-DjaUAU9d.esm.js +0 -11
  471. package/dist/chunks/mainUVVaryingDeclaration-DjaUAU9d.esm.js.map +0 -1
  472. package/dist/chunks/meshUboDeclaration-Dfhjtzfu.esm.js +0 -24
  473. package/dist/chunks/meshUboDeclaration-Dfhjtzfu.esm.js.map +0 -1
  474. package/dist/chunks/meshUboDeclaration-JuXAHT9v.esm.min.js +0 -2
  475. package/dist/chunks/meshUboDeclaration-JuXAHT9v.esm.min.js.map +0 -1
  476. package/dist/chunks/objFileLoader-7U6Dolv_.esm.js +0 -1280
  477. package/dist/chunks/objFileLoader-7U6Dolv_.esm.js.map +0 -1
  478. package/dist/chunks/objFileLoader-_Uh3sl5M.esm.min.js +0 -2
  479. package/dist/chunks/objFileLoader-_Uh3sl5M.esm.min.js.map +0 -1
  480. package/dist/chunks/oitFragment-B761cGSz.esm.js +0 -1150
  481. package/dist/chunks/oitFragment-B761cGSz.esm.js.map +0 -1
  482. package/dist/chunks/oitFragment-BEyzdlIX.esm.min.js +0 -2
  483. package/dist/chunks/oitFragment-BEyzdlIX.esm.min.js.map +0 -1
  484. package/dist/chunks/oitFragment-BJxddGxd.esm.min.js +0 -2
  485. package/dist/chunks/oitFragment-BJxddGxd.esm.min.js.map +0 -1
  486. package/dist/chunks/oitFragment-DxRU43Qk.esm.js +0 -1210
  487. package/dist/chunks/oitFragment-DxRU43Qk.esm.js.map +0 -1
  488. package/dist/chunks/pass.fragment-BezLFEaR.esm.min.js +0 -2
  489. package/dist/chunks/pass.fragment-BezLFEaR.esm.min.js.map +0 -1
  490. package/dist/chunks/pass.fragment-CI0Hbebv.esm.min.js +0 -2
  491. package/dist/chunks/pass.fragment-CI0Hbebv.esm.min.js.map +0 -1
  492. package/dist/chunks/pass.fragment-CKuTIGRc.esm.js +0 -15
  493. package/dist/chunks/pass.fragment-CKuTIGRc.esm.js.map +0 -1
  494. package/dist/chunks/pass.fragment-M4VAGwSP.esm.js +0 -15
  495. package/dist/chunks/pass.fragment-M4VAGwSP.esm.js.map +0 -1
  496. package/dist/chunks/pbr.fragment-BnTARhOZ.esm.js +0 -3165
  497. package/dist/chunks/pbr.fragment-BnTARhOZ.esm.js.map +0 -1
  498. package/dist/chunks/pbr.fragment-CFwXu2ZW.esm.min.js +0 -2
  499. package/dist/chunks/pbr.fragment-CFwXu2ZW.esm.min.js.map +0 -1
  500. package/dist/chunks/pbr.fragment-CZH3Z6Fz.esm.min.js +0 -2
  501. package/dist/chunks/pbr.fragment-CZH3Z6Fz.esm.min.js.map +0 -1
  502. package/dist/chunks/pbr.fragment-DXb2YUXa.esm.js +0 -3219
  503. package/dist/chunks/pbr.fragment-DXb2YUXa.esm.js.map +0 -1
  504. package/dist/chunks/pbr.vertex-B0UjdSCd.esm.min.js +0 -2
  505. package/dist/chunks/pbr.vertex-B0UjdSCd.esm.min.js.map +0 -1
  506. package/dist/chunks/pbr.vertex-BK-SOy7u.esm.js +0 -210
  507. package/dist/chunks/pbr.vertex-BK-SOy7u.esm.js.map +0 -1
  508. package/dist/chunks/pbr.vertex-BU96l1oL.esm.js +0 -335
  509. package/dist/chunks/pbr.vertex-BU96l1oL.esm.js.map +0 -1
  510. package/dist/chunks/pbr.vertex-BqZLjnyL.esm.min.js +0 -2
  511. package/dist/chunks/pbr.vertex-BqZLjnyL.esm.min.js.map +0 -1
  512. package/dist/chunks/postprocess.vertex-BXwgd-7B.esm.min.js +0 -2
  513. package/dist/chunks/postprocess.vertex-BXwgd-7B.esm.min.js.map +0 -1
  514. package/dist/chunks/postprocess.vertex-BbvDeWLH.esm.min.js +0 -2
  515. package/dist/chunks/postprocess.vertex-BbvDeWLH.esm.min.js.map +0 -1
  516. package/dist/chunks/postprocess.vertex-Ck5Z_51x.esm.js +0 -20
  517. package/dist/chunks/postprocess.vertex-Ck5Z_51x.esm.js.map +0 -1
  518. package/dist/chunks/postprocess.vertex-pT9f0tdJ.esm.js +0 -18
  519. package/dist/chunks/postprocess.vertex-pT9f0tdJ.esm.js.map +0 -1
  520. package/dist/chunks/rawTexture-1Rq8qsxm.esm.min.js +0 -2
  521. package/dist/chunks/rawTexture-1Rq8qsxm.esm.min.js.map +0 -1
  522. package/dist/chunks/rawTexture-D_BRK-o8.esm.js +0 -191
  523. package/dist/chunks/rawTexture-D_BRK-o8.esm.js.map +0 -1
  524. package/dist/chunks/rgbdDecode.fragment-BGF4g1hZ.esm.js +0 -17
  525. package/dist/chunks/rgbdDecode.fragment-BGF4g1hZ.esm.js.map +0 -1
  526. package/dist/chunks/rgbdDecode.fragment-C2vWUMvk.esm.js +0 -17
  527. package/dist/chunks/rgbdDecode.fragment-C2vWUMvk.esm.js.map +0 -1
  528. package/dist/chunks/rgbdDecode.fragment-Cf7oe5zh.esm.min.js +0 -2
  529. package/dist/chunks/rgbdDecode.fragment-Cf7oe5zh.esm.min.js.map +0 -1
  530. package/dist/chunks/rgbdDecode.fragment-CkuXLnPU.esm.min.js +0 -2
  531. package/dist/chunks/rgbdDecode.fragment-CkuXLnPU.esm.min.js.map +0 -1
  532. package/dist/chunks/rgbdEncode.fragment-D1q7KpIB.esm.min.js +0 -2
  533. package/dist/chunks/rgbdEncode.fragment-D1q7KpIB.esm.min.js.map +0 -1
  534. package/dist/chunks/rgbdEncode.fragment-DziyA8SH.esm.js +0 -17
  535. package/dist/chunks/rgbdEncode.fragment-DziyA8SH.esm.js.map +0 -1
  536. package/dist/chunks/rgbdEncode.fragment-EbVo_OS3.esm.min.js +0 -2
  537. package/dist/chunks/rgbdEncode.fragment-EbVo_OS3.esm.min.js.map +0 -1
  538. package/dist/chunks/rgbdEncode.fragment-O0WkfdaA.esm.js +0 -17
  539. package/dist/chunks/rgbdEncode.fragment-O0WkfdaA.esm.js.map +0 -1
  540. package/dist/chunks/splatFileLoader-Civo1vlZ.esm.min.js +0 -2
  541. package/dist/chunks/splatFileLoader-Civo1vlZ.esm.min.js.map +0 -1
  542. package/dist/chunks/splatFileLoader-D3Gb0TOq.esm.js +0 -3202
  543. package/dist/chunks/splatFileLoader-D3Gb0TOq.esm.js.map +0 -1
  544. package/dist/chunks/standardMaterial-C4ytj3UV.esm.min.js +0 -2
  545. package/dist/chunks/standardMaterial-C4ytj3UV.esm.min.js.map +0 -1
  546. package/dist/chunks/standardMaterial-Ds152YtF.esm.js +0 -1809
  547. package/dist/chunks/standardMaterial-Ds152YtF.esm.js.map +0 -1
  548. package/dist/chunks/stlFileLoader-DEyXKGGV.esm.js +0 -237
  549. package/dist/chunks/stlFileLoader-DEyXKGGV.esm.js.map +0 -1
  550. package/dist/chunks/stlFileLoader-O0L9MhOP.esm.min.js +0 -2
  551. package/dist/chunks/stlFileLoader-O0L9MhOP.esm.min.js.map +0 -1
  552. package/dist/chunks/tgaTextureLoader-2LzCuq-y.esm.min.js +0 -2
  553. package/dist/chunks/tgaTextureLoader-2LzCuq-y.esm.min.js.map +0 -1
  554. package/dist/chunks/tgaTextureLoader-C1ZPR3Z6.esm.js +0 -349
  555. package/dist/chunks/tgaTextureLoader-C1ZPR3Z6.esm.js.map +0 -1
  556. package/dist/chunks/thinEngine-DMsfsUJl.esm.min.js +0 -2
  557. package/dist/chunks/thinEngine-DMsfsUJl.esm.min.js.map +0 -1
  558. package/dist/chunks/thinEngine-Ka7-uzzY.esm.js +0 -3721
  559. package/dist/chunks/thinEngine-Ka7-uzzY.esm.js.map +0 -1
  560. package/dist/chunks/thinInstanceMesh-CnqlNkHp.esm.js +0 -314
  561. package/dist/chunks/thinInstanceMesh-CnqlNkHp.esm.js.map +0 -1
  562. package/dist/chunks/thinInstanceMesh-DvDlskuJ.esm.min.js +0 -2
  563. package/dist/chunks/thinInstanceMesh-DvDlskuJ.esm.min.js.map +0 -1
  564. package/dist/chunks/vertexColorMixing-6-uBAQ55.esm.js +0 -528
  565. package/dist/chunks/vertexColorMixing-6-uBAQ55.esm.js.map +0 -1
  566. package/dist/chunks/vertexColorMixing-BCQLn981.esm.min.js +0 -2
  567. package/dist/chunks/vertexColorMixing-BCQLn981.esm.min.js.map +0 -1
  568. package/dist/chunks/webgpuEngine-DWUcPn9n.esm.min.js +0 -2
  569. package/dist/chunks/webgpuEngine-DWUcPn9n.esm.min.js.map +0 -1
  570. package/dist/chunks/webgpuEngine-_VOc_CYS.esm.js +0 -11170
  571. package/dist/chunks/webgpuEngine-_VOc_CYS.esm.js.map +0 -1
  572. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  573. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  574. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  575. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  576. package/lib/index.d.ts +0 -281
  577. package/lib/index.js +0 -965
  578. package/lib/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"stlFileLoader-DEyXKGGV.esm.js","sources":["../../../../../dev/loaders/dist/STL/stlFileLoader.js"],"sourcesContent":["import { Tools } from \"core/Misc/tools\";\nimport { VertexBuffer } from \"core/Buffers/buffer\";\nimport { Mesh } from \"core/Meshes/mesh\";\nimport { registerSceneLoaderPlugin } from \"core/Loading/sceneLoader\";\nimport { AssetContainer } from \"core/assetContainer\";\nimport { STLFileLoaderMetadata } from \"./stlFileLoader.metadata\";\n/**\n * STL file type loader.\n * This is a babylon scene loader plugin.\n */\nexport class STLFileLoader {\n constructor() {\n /** @internal */\n this.solidPattern = /solid (\\S*)([\\S\\s]*?)endsolid[ ]*(\\S*)/g;\n /** @internal */\n this.facetsPattern = /facet([\\s\\S]*?)endfacet/g;\n /** @internal */\n this.normalPattern = /normal[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /** @internal */\n this.vertexPattern = /vertex[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /**\n * Defines the name of the plugin.\n */\n this.name = STLFileLoaderMetadata.name;\n /**\n * Defines the extensions the stl loader is able to load.\n * force data to come in as an ArrayBuffer\n * we'll convert to string if it looks like it's an ASCII .stl\n */\n this.extensions = STLFileLoaderMetadata.extensions;\n }\n /**\n * Import meshes into a scene.\n * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported\n * @param scene The scene to import into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @param meshes The meshes array to import into\n * @returns True if successful or false otherwise\n */\n importMesh(meshesNames, scene, data, rootUrl, meshes) {\n let matches;\n if (typeof data !== \"string\") {\n if (this._isBinary(data)) {\n // binary .stl\n const babylonMesh = new Mesh(\"stlmesh\", scene);\n this._parseBinary(babylonMesh, data);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n return true;\n }\n // ASCII .stl\n // convert to string\n data = new TextDecoder().decode(new Uint8Array(data));\n }\n //if arrived here, data is a string, containing the STLA data.\n while ((matches = this.solidPattern.exec(data))) {\n let meshName = matches[1];\n const meshNameFromEnd = matches[3];\n if (meshNameFromEnd && meshName != meshNameFromEnd) {\n Tools.Error(\"Error in STL, solid name != endsolid name\");\n return false;\n }\n // check meshesNames\n if (meshesNames && meshName) {\n if (meshesNames instanceof Array) {\n if (!meshesNames.indexOf(meshName)) {\n continue;\n }\n }\n else {\n if (meshName !== meshesNames) {\n continue;\n }\n }\n }\n // stl mesh name can be empty as well\n meshName = meshName || \"stlmesh\";\n const babylonMesh = new Mesh(meshName, scene);\n this._parseASCII(babylonMesh, matches[2]);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n }\n return true;\n }\n /**\n * Load into a scene.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns true if successful or false otherwise\n */\n load(scene, data, rootUrl) {\n const result = this.importMesh(null, scene, data, rootUrl, null);\n return result;\n }\n /**\n * Load into an asset container.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns The loaded asset container\n */\n loadAssetContainer(scene, data, rootUrl) {\n const container = new AssetContainer(scene);\n scene._blockEntityCollection = true;\n this.importMesh(null, scene, data, rootUrl, container.meshes);\n scene._blockEntityCollection = false;\n return container;\n }\n _isBinary(data) {\n // check if file size is correct for binary stl\n const reader = new DataView(data);\n // A Binary STL header is 80 bytes, if the data size is not great than\n // that then it's not a binary STL.\n if (reader.byteLength <= 80) {\n return false;\n }\n const faceSize = (32 / 8) * 3 + (32 / 8) * 3 * 3 + 16 / 8;\n const nFaces = reader.getUint32(80, true);\n if (80 + 32 / 8 + nFaces * faceSize === reader.byteLength) {\n return true;\n }\n // US-ASCII begin with 's', 'o', 'l', 'i', 'd'\n const ascii = [115, 111, 108, 105, 100];\n for (let off = 0; off < 5; off++) {\n if (reader.getUint8(off) !== ascii[off]) {\n return true;\n }\n }\n return false;\n }\n _parseBinary(mesh, data) {\n const reader = new DataView(data);\n const faces = reader.getUint32(80, true);\n const dataOffset = 84;\n const faceLength = 12 * 4 + 2;\n let offset = 0;\n const positions = new Float32Array(faces * 3 * 3);\n const normals = new Float32Array(faces * 3 * 3);\n const indices = new Uint32Array(faces * 3);\n let indicesCount = 0;\n for (let face = 0; face < faces; face++) {\n const start = dataOffset + face * faceLength;\n const normalX = reader.getFloat32(start, true);\n const normalY = reader.getFloat32(start + 4, true);\n const normalZ = reader.getFloat32(start + 8, true);\n for (let i = 1; i <= 3; i++) {\n const vertexstart = start + i * 12;\n // ordering is intentional to match ascii import\n positions[offset] = reader.getFloat32(vertexstart, true);\n normals[offset] = normalX;\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 2] = normalY;\n normals[offset + 1] = normalZ;\n }\n else {\n positions[offset + 1] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 2] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 1] = normalY;\n normals[offset + 2] = normalZ;\n }\n offset += 3;\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices[indicesCount] = indicesCount;\n indices[indicesCount + 1] = indicesCount + 2;\n indices[indicesCount + 2] = indicesCount + 1;\n indicesCount += 3;\n }\n else {\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n }\n }\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n _parseASCII(mesh, solidData) {\n const positions = [];\n const normals = [];\n const indices = [];\n let indicesCount = 0;\n //load facets, ignoring loop as the standard doesn't define it can contain more than vertices\n let matches;\n while ((matches = this.facetsPattern.exec(solidData))) {\n const facet = matches[1];\n //one normal per face\n const normalMatches = this.normalPattern.exec(facet);\n this.normalPattern.lastIndex = 0;\n if (!normalMatches) {\n continue;\n }\n const normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];\n let vertexMatch;\n while ((vertexMatch = this.vertexPattern.exec(facet))) {\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));\n normals.push(normal[0], normal[1], normal[2]);\n }\n else {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[3]), Number(vertexMatch[5]));\n // Flipping the second and third component because inverted\n // when normal was declared.\n normals.push(normal[0], normal[2], normal[1]);\n }\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices.push(indicesCount, indicesCount + 2, indicesCount + 1);\n indicesCount += 3;\n }\n else {\n indices.push(indicesCount++, indicesCount++, indicesCount++);\n }\n this.vertexPattern.lastIndex = 0;\n }\n this.facetsPattern.lastIndex = 0;\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n}\n/**\n * Defines if Y and Z axes are swapped or not when loading an STL file.\n * The default is false to maintain backward compatibility. When set to\n * true, coordinates from the STL file are used without change.\n */\nSTLFileLoader.DO_NOT_ALTER_FILE_COORDINATES = false;\nregisterSceneLoaderPlugin(new STLFileLoader());\n//# sourceMappingURL=stlFileLoader.js.map"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{aB as t,M as e,T as s,V as n,w as r}from"./index-DEZD8qGB.esm.min.js";import{A as i}from"./assetContainer-4Y8qxrkP.esm.min.js";class a{constructor(){this.solidPattern=/solid (\S*)([\S\s]*?)endsolid[ ]*(\S*)/g,this.facetsPattern=/facet([\s\S]*?)endfacet/g,this.normalPattern=/normal[\s]+([-+]?[0-9]+\.?[0-9]*([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+/g,this.vertexPattern=/vertex[\s]+([-+]?[0-9]+\.?[0-9]*([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+[\s]+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)+/g,this.name=t.name,this.extensions=t.extensions}importMesh(t,n,r,i,a){let o;if("string"!=typeof r){if(this._isBinary(r)){const t=new e("stlmesh",n);return this._parseBinary(t,r),a&&a.push(t),!0}r=(new TextDecoder).decode(new Uint8Array(r))}for(;o=this.solidPattern.exec(r);){let r=o[1];const i=o[3];if(i&&r!=i)return s.Error("Error in STL, solid name != endsolid name"),!1;if(t&&r)if(t instanceof Array){if(!t.indexOf(r))continue}else if(r!==t)continue;r=r||"stlmesh";const l=new e(r,n);this._parseASCII(l,o[2]),a&&a.push(l)}return!0}load(t,e,s){return this.importMesh(null,t,e,s,null)}loadAssetContainer(t,e,s){const n=new i(t);return t._blockEntityCollection=!0,this.importMesh(null,t,e,s,n.meshes),t._blockEntityCollection=!1,n}_isBinary(t){const e=new DataView(t);if(e.byteLength<=80)return!1;if(84+50*e.getUint32(80,!0)===e.byteLength)return!0;const s=[115,111,108,105,100];for(let t=0;t<5;t++)if(e.getUint8(t)!==s[t])return!0;return!1}_parseBinary(t,e){const s=new DataView(e),r=s.getUint32(80,!0);let i=0;const o=new Float32Array(3*r*3),l=new Float32Array(3*r*3),c=new Uint32Array(3*r);let m=0;for(let t=0;t<r;t++){const e=84+50*t,n=s.getFloat32(e,!0),r=s.getFloat32(e+4,!0),u=s.getFloat32(e+8,!0);for(let t=1;t<=3;t++){const c=e+12*t;o[i]=s.getFloat32(c,!0),l[i]=n,a.DO_NOT_ALTER_FILE_COORDINATES?(o[i+1]=s.getFloat32(c+4,!0),o[i+2]=s.getFloat32(c+8,!0),l[i+1]=r,l[i+2]=u):(o[i+2]=s.getFloat32(c+4,!0),o[i+1]=s.getFloat32(c+8,!0),l[i+2]=r,l[i+1]=u),i+=3}a.DO_NOT_ALTER_FILE_COORDINATES?(c[m]=m,c[m+1]=m+2,c[m+2]=m+1,m+=3):(c[m]=m++,c[m]=m++,c[m]=m++)}t.setVerticesData(n.PositionKind,o),t.setVerticesData(n.NormalKind,l),t.setIndices(c),t.computeWorldMatrix(!0)}_parseASCII(t,e){const s=[],r=[],i=[];let o,l=0;for(;o=this.facetsPattern.exec(e);){const t=o[1],e=this.normalPattern.exec(t);if(this.normalPattern.lastIndex=0,!e)continue;const n=[Number(e[1]),Number(e[5]),Number(e[3])];let c;for(;c=this.vertexPattern.exec(t);)a.DO_NOT_ALTER_FILE_COORDINATES?(s.push(Number(c[1]),Number(c[3]),Number(c[5])),r.push(n[0],n[2],n[1])):(s.push(Number(c[1]),Number(c[5]),Number(c[3])),r.push(n[0],n[1],n[2]));a.DO_NOT_ALTER_FILE_COORDINATES?(i.push(l,l+2,l+1),l+=3):i.push(l++,l++,l++),this.vertexPattern.lastIndex=0}this.facetsPattern.lastIndex=0,t.setVerticesData(n.PositionKind,s),t.setVerticesData(n.NormalKind,r),t.setIndices(i),t.computeWorldMatrix(!0)}}a.DO_NOT_ALTER_FILE_COORDINATES=!1,r(new a);export{a as STLFileLoader};
2
- //# sourceMappingURL=stlFileLoader-O0L9MhOP.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stlFileLoader-O0L9MhOP.esm.min.js","sources":["../../../../../dev/loaders/dist/STL/stlFileLoader.js"],"sourcesContent":["import { Tools } from \"core/Misc/tools\";\nimport { VertexBuffer } from \"core/Buffers/buffer\";\nimport { Mesh } from \"core/Meshes/mesh\";\nimport { registerSceneLoaderPlugin } from \"core/Loading/sceneLoader\";\nimport { AssetContainer } from \"core/assetContainer\";\nimport { STLFileLoaderMetadata } from \"./stlFileLoader.metadata\";\n/**\n * STL file type loader.\n * This is a babylon scene loader plugin.\n */\nexport class STLFileLoader {\n constructor() {\n /** @internal */\n this.solidPattern = /solid (\\S*)([\\S\\s]*?)endsolid[ ]*(\\S*)/g;\n /** @internal */\n this.facetsPattern = /facet([\\s\\S]*?)endfacet/g;\n /** @internal */\n this.normalPattern = /normal[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /** @internal */\n this.vertexPattern = /vertex[\\s]+([-+]?[0-9]+\\.?[0-9]*([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+[\\s]+([-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?)+/g;\n /**\n * Defines the name of the plugin.\n */\n this.name = STLFileLoaderMetadata.name;\n /**\n * Defines the extensions the stl loader is able to load.\n * force data to come in as an ArrayBuffer\n * we'll convert to string if it looks like it's an ASCII .stl\n */\n this.extensions = STLFileLoaderMetadata.extensions;\n }\n /**\n * Import meshes into a scene.\n * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported\n * @param scene The scene to import into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @param meshes The meshes array to import into\n * @returns True if successful or false otherwise\n */\n importMesh(meshesNames, scene, data, rootUrl, meshes) {\n let matches;\n if (typeof data !== \"string\") {\n if (this._isBinary(data)) {\n // binary .stl\n const babylonMesh = new Mesh(\"stlmesh\", scene);\n this._parseBinary(babylonMesh, data);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n return true;\n }\n // ASCII .stl\n // convert to string\n data = new TextDecoder().decode(new Uint8Array(data));\n }\n //if arrived here, data is a string, containing the STLA data.\n while ((matches = this.solidPattern.exec(data))) {\n let meshName = matches[1];\n const meshNameFromEnd = matches[3];\n if (meshNameFromEnd && meshName != meshNameFromEnd) {\n Tools.Error(\"Error in STL, solid name != endsolid name\");\n return false;\n }\n // check meshesNames\n if (meshesNames && meshName) {\n if (meshesNames instanceof Array) {\n if (!meshesNames.indexOf(meshName)) {\n continue;\n }\n }\n else {\n if (meshName !== meshesNames) {\n continue;\n }\n }\n }\n // stl mesh name can be empty as well\n meshName = meshName || \"stlmesh\";\n const babylonMesh = new Mesh(meshName, scene);\n this._parseASCII(babylonMesh, matches[2]);\n if (meshes) {\n meshes.push(babylonMesh);\n }\n }\n return true;\n }\n /**\n * Load into a scene.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns true if successful or false otherwise\n */\n load(scene, data, rootUrl) {\n const result = this.importMesh(null, scene, data, rootUrl, null);\n return result;\n }\n /**\n * Load into an asset container.\n * @param scene The scene to load into\n * @param data The data to import\n * @param rootUrl The root url for scene and resources\n * @returns The loaded asset container\n */\n loadAssetContainer(scene, data, rootUrl) {\n const container = new AssetContainer(scene);\n scene._blockEntityCollection = true;\n this.importMesh(null, scene, data, rootUrl, container.meshes);\n scene._blockEntityCollection = false;\n return container;\n }\n _isBinary(data) {\n // check if file size is correct for binary stl\n const reader = new DataView(data);\n // A Binary STL header is 80 bytes, if the data size is not great than\n // that then it's not a binary STL.\n if (reader.byteLength <= 80) {\n return false;\n }\n const faceSize = (32 / 8) * 3 + (32 / 8) * 3 * 3 + 16 / 8;\n const nFaces = reader.getUint32(80, true);\n if (80 + 32 / 8 + nFaces * faceSize === reader.byteLength) {\n return true;\n }\n // US-ASCII begin with 's', 'o', 'l', 'i', 'd'\n const ascii = [115, 111, 108, 105, 100];\n for (let off = 0; off < 5; off++) {\n if (reader.getUint8(off) !== ascii[off]) {\n return true;\n }\n }\n return false;\n }\n _parseBinary(mesh, data) {\n const reader = new DataView(data);\n const faces = reader.getUint32(80, true);\n const dataOffset = 84;\n const faceLength = 12 * 4 + 2;\n let offset = 0;\n const positions = new Float32Array(faces * 3 * 3);\n const normals = new Float32Array(faces * 3 * 3);\n const indices = new Uint32Array(faces * 3);\n let indicesCount = 0;\n for (let face = 0; face < faces; face++) {\n const start = dataOffset + face * faceLength;\n const normalX = reader.getFloat32(start, true);\n const normalY = reader.getFloat32(start + 4, true);\n const normalZ = reader.getFloat32(start + 8, true);\n for (let i = 1; i <= 3; i++) {\n const vertexstart = start + i * 12;\n // ordering is intentional to match ascii import\n positions[offset] = reader.getFloat32(vertexstart, true);\n normals[offset] = normalX;\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions[offset + 2] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 1] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 2] = normalY;\n normals[offset + 1] = normalZ;\n }\n else {\n positions[offset + 1] = reader.getFloat32(vertexstart + 4, true);\n positions[offset + 2] = reader.getFloat32(vertexstart + 8, true);\n normals[offset + 1] = normalY;\n normals[offset + 2] = normalZ;\n }\n offset += 3;\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices[indicesCount] = indicesCount;\n indices[indicesCount + 1] = indicesCount + 2;\n indices[indicesCount + 2] = indicesCount + 1;\n indicesCount += 3;\n }\n else {\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n indices[indicesCount] = indicesCount++;\n }\n }\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n _parseASCII(mesh, solidData) {\n const positions = [];\n const normals = [];\n const indices = [];\n let indicesCount = 0;\n //load facets, ignoring loop as the standard doesn't define it can contain more than vertices\n let matches;\n while ((matches = this.facetsPattern.exec(solidData))) {\n const facet = matches[1];\n //one normal per face\n const normalMatches = this.normalPattern.exec(facet);\n this.normalPattern.lastIndex = 0;\n if (!normalMatches) {\n continue;\n }\n const normal = [Number(normalMatches[1]), Number(normalMatches[5]), Number(normalMatches[3])];\n let vertexMatch;\n while ((vertexMatch = this.vertexPattern.exec(facet))) {\n if (!STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[5]), Number(vertexMatch[3]));\n normals.push(normal[0], normal[1], normal[2]);\n }\n else {\n positions.push(Number(vertexMatch[1]), Number(vertexMatch[3]), Number(vertexMatch[5]));\n // Flipping the second and third component because inverted\n // when normal was declared.\n normals.push(normal[0], normal[2], normal[1]);\n }\n }\n if (STLFileLoader.DO_NOT_ALTER_FILE_COORDINATES) {\n indices.push(indicesCount, indicesCount + 2, indicesCount + 1);\n indicesCount += 3;\n }\n else {\n indices.push(indicesCount++, indicesCount++, indicesCount++);\n }\n this.vertexPattern.lastIndex = 0;\n }\n this.facetsPattern.lastIndex = 0;\n mesh.setVerticesData(VertexBuffer.PositionKind, positions);\n mesh.setVerticesData(VertexBuffer.NormalKind, normals);\n mesh.setIndices(indices);\n mesh.computeWorldMatrix(true);\n }\n}\n/**\n * Defines if Y and Z axes are swapped or not when loading an STL file.\n * The default is false to maintain backward compatibility. When set to\n * true, coordinates from the STL file are used without change.\n */\nSTLFileLoader.DO_NOT_ALTER_FILE_COORDINATES = false;\nregisterSceneLoaderPlugin(new STLFileLoader());\n//# sourceMappingURL=stlFileLoader.js.map"],"names":["STLFileLoader","constructor","this","solidPattern","facetsPattern","normalPattern","vertexPattern","name","STLFileLoaderMetadata","extensions","importMesh","meshesNames","scene","data","rootUrl","meshes","matches","_isBinary","babylonMesh","Mesh","_parseBinary","push","TextDecoder","decode","Uint8Array","exec","meshName","meshNameFromEnd","Tools","Error","Array","indexOf","_parseASCII","load","loadAssetContainer","container","AssetContainer","_blockEntityCollection","reader","DataView","byteLength","getUint32","ascii","off","getUint8","mesh","faces","offset","positions","Float32Array","normals","indices","Uint32Array","indicesCount","face","start","normalX","getFloat32","normalY","normalZ","i","vertexstart","DO_NOT_ALTER_FILE_COORDINATES","setVerticesData","VertexBuffer","PositionKind","NormalKind","setIndices","computeWorldMatrix","solidData","facet","normalMatches","lastIndex","normal","Number","vertexMatch","registerSceneLoaderPlugin"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{L as t}from"./index-DEZD8qGB.esm.min.js";function e(t){let e=0;return{id_length:t[e++],colormap_type:t[e++],image_type:t[e++],colormap_index:t[e++]|t[e++]<<8,colormap_length:t[e++]|t[e++]<<8,colormap_size:t[e++],origin:[t[e++]|t[e++]<<8,t[e++]|t[e++]<<8],width:t[e++]|t[e++]<<8,height:t[e++]|t[e++]<<8,pixel_size:t[e++],flags:t[e++]}}function r(r,a){if(a.length<19)return void t.Error("Unable to load TGA file - Not enough data to contain header");let i=18;const o=e(a);if(o.id_length+i>a.length)return void t.Error("Unable to load TGA file - Not enough data");i+=o.id_length;let s,h=!1,c=!1,g=!1;switch(o.image_type){case 9:h=!0;case 1:c=!0;break;case 10:h=!0;case 2:break;case 11:h=!0;case 3:g=!0}const l=o.pixel_size>>3,f=o.width*o.height*l;let d,u,w,p,_,b,y;if(c&&(d=a.subarray(i,i+=o.colormap_length*(o.colormap_size>>3))),h){let t,e,r;s=new Uint8Array(f);let n=0;const o=new Uint8Array(l);for(;i<f&&n<f;)if(t=a[i++],e=1+(127&t),128&t){for(r=0;r<l;++r)o[r]=a[i++];for(r=0;r<e;++r)s.set(o,n+r*l);n+=l*e}else{for(e*=l,r=0;r<e;++r)s[n+r]=a[i++];n+=e}}else s=a.subarray(i,i+=c?o.width*o.height:f);switch((48&o.flags)>>4){default:case 2:u=0,p=1,y=o.width,w=0,_=1,b=o.height;break;case 0:u=0,p=1,y=o.width,w=o.height-1,_=-1,b=-1;break;case 3:u=o.width-1,p=-1,y=-1,w=0,_=1,b=o.height;break;case 1:u=o.width-1,p=-1,y=-1,w=o.height-1,_=-1,b=-1}const m="_getImageData"+(g?"Grey":"")+o.pixel_size+"bits",A=n[m](o,d,s,w,_,b,u,p,y);r.getEngine()._uploadDataToTextureDirectly(r,A)}const n={GetTGAHeader:e,UploadContent:r,_getImageData8bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=e,l=t.width,f=t.height;let d,u,w,p=0;const _=new Uint8Array(l*f*4);for(w=n;w!==i;w+=a)for(u=o;u!==h;u+=s,p++)d=c[p],_[4*(u+l*w)+3]=255,_[4*(u+l*w)+2]=g[3*d+0],_[4*(u+l*w)+1]=g[3*d+1],_[4*(u+l*w)+0]=g[3*d+2];return _},_getImageData16bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u,w=0;const p=new Uint8Array(g*l*4);for(u=n;u!==i;u+=a)for(d=o;d!==h;d+=s,w+=2){f=c[w+0]+(c[w+1]<<8);const t=255*((31744&f)>>10)/31|0,e=255*((992&f)>>5)/31|0,r=255*(31&f)/31|0;p[4*(d+g*u)+0]=t,p[4*(d+g*u)+1]=e,p[4*(d+g*u)+2]=r,p[4*(d+g*u)+3]=32768&f?0:255}return p},_getImageData24bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u=0;const w=new Uint8Array(g*l*4);for(d=n;d!==i;d+=a)for(f=o;f!==h;f+=s,u+=3)w[4*(f+g*d)+3]=255,w[4*(f+g*d)+2]=c[u+0],w[4*(f+g*d)+1]=c[u+1],w[4*(f+g*d)+0]=c[u+2];return w},_getImageData32bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u=0;const w=new Uint8Array(g*l*4);for(d=n;d!==i;d+=a)for(f=o;f!==h;f+=s,u+=4)w[4*(f+g*d)+2]=c[u+0],w[4*(f+g*d)+1]=c[u+1],w[4*(f+g*d)+0]=c[u+2],w[4*(f+g*d)+3]=c[u+3];return w},_getImageDataGrey8bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u,w=0;const p=new Uint8Array(g*l*4);for(u=n;u!==i;u+=a)for(d=o;d!==h;d+=s,w++)f=c[w],p[4*(d+g*u)+0]=f,p[4*(d+g*u)+1]=f,p[4*(d+g*u)+2]=f,p[4*(d+g*u)+3]=255;return p},_getImageDataGrey16bits:function(t,e,r,n,a,i,o,s,h){const c=r,g=t.width,l=t.height;let f,d,u=0;const w=new Uint8Array(g*l*4);for(d=n;d!==i;d+=a)for(f=o;f!==h;f+=s,u+=2)w[4*(f+g*d)+0]=c[u+0],w[4*(f+g*d)+1]=c[u+0],w[4*(f+g*d)+2]=c[u+0],w[4*(f+g*d)+3]=c[u+1];return w}};class a{constructor(){this.supportCascades=!1}loadCubeData(){throw".env not supported in Cube."}loadData(t,n,a){const i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=e(i);a(o.width,o.height,n.generateMipMaps,!1,(()=>{r(n,i)}))}}export{a as _TGATextureLoader};
2
- //# sourceMappingURL=tgaTextureLoader-2LzCuq-y.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tgaTextureLoader-2LzCuq-y.esm.min.js","sources":["../../../../../dev/core/dist/Misc/tga.js","../../../../../dev/core/dist/Materials/Textures/Loaders/tgaTextureLoader.js"],"sourcesContent":["import { Logger } from \"../Misc/logger\";\n//private static _TYPE_NO_DATA = 0;\nconst _TYPE_INDEXED = 1;\nconst _TYPE_RGB = 2;\nconst _TYPE_GREY = 3;\nconst _TYPE_RLE_INDEXED = 9;\nconst _TYPE_RLE_RGB = 10;\nconst _TYPE_RLE_GREY = 11;\nconst _ORIGIN_MASK = 0x30;\nconst _ORIGIN_SHIFT = 0x04;\nconst _ORIGIN_BL = 0x00;\nconst _ORIGIN_BR = 0x01;\nconst _ORIGIN_UL = 0x02;\nconst _ORIGIN_UR = 0x03;\n/**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\nexport function GetTGAHeader(data) {\n let offset = 0;\n const header = {\n id_length: data[offset++],\n colormap_type: data[offset++],\n image_type: data[offset++],\n colormap_index: data[offset++] | (data[offset++] << 8),\n colormap_length: data[offset++] | (data[offset++] << 8),\n colormap_size: data[offset++],\n origin: [data[offset++] | (data[offset++] << 8), data[offset++] | (data[offset++] << 8)],\n width: data[offset++] | (data[offset++] << 8),\n height: data[offset++] | (data[offset++] << 8),\n pixel_size: data[offset++],\n flags: data[offset++],\n };\n return header;\n}\n/**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\nexport function UploadContent(texture, data) {\n // Not enough data to contain header ?\n if (data.length < 19) {\n Logger.Error(\"Unable to load TGA file - Not enough data to contain header\");\n return;\n }\n // Read Header\n let offset = 18;\n const header = GetTGAHeader(data);\n // Assume it's a valid Targa file.\n if (header.id_length + offset > data.length) {\n Logger.Error(\"Unable to load TGA file - Not enough data\");\n return;\n }\n // Skip not needed data\n offset += header.id_length;\n let use_rle = false;\n let use_pal = false;\n let use_grey = false;\n // Get some informations.\n switch (header.image_type) {\n case _TYPE_RLE_INDEXED:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_INDEXED:\n use_pal = true;\n break;\n case _TYPE_RLE_RGB:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_RGB:\n // use_rgb = true;\n break;\n case _TYPE_RLE_GREY:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_GREY:\n use_grey = true;\n break;\n }\n let pixel_data;\n // var numAlphaBits = header.flags & 0xf;\n const pixel_size = header.pixel_size >> 3;\n const pixel_total = header.width * header.height * pixel_size;\n // Read palettes\n let palettes;\n if (use_pal) {\n palettes = data.subarray(offset, (offset += header.colormap_length * (header.colormap_size >> 3)));\n }\n // Read LRE\n if (use_rle) {\n pixel_data = new Uint8Array(pixel_total);\n let c, count, i;\n let localOffset = 0;\n const pixels = new Uint8Array(pixel_size);\n while (offset < pixel_total && localOffset < pixel_total) {\n c = data[offset++];\n count = (c & 0x7f) + 1;\n // RLE pixels\n if (c & 0x80) {\n // Bind pixel tmp array\n for (i = 0; i < pixel_size; ++i) {\n pixels[i] = data[offset++];\n }\n // Copy pixel array\n for (i = 0; i < count; ++i) {\n pixel_data.set(pixels, localOffset + i * pixel_size);\n }\n localOffset += pixel_size * count;\n }\n // Raw pixels\n else {\n count *= pixel_size;\n for (i = 0; i < count; ++i) {\n pixel_data[localOffset + i] = data[offset++];\n }\n localOffset += count;\n }\n }\n }\n // RAW Pixels\n else {\n pixel_data = data.subarray(offset, (offset += use_pal ? header.width * header.height : pixel_total));\n }\n // Load to texture\n let x_start, y_start, x_step, y_step, y_end, x_end;\n switch ((header.flags & _ORIGIN_MASK) >> _ORIGIN_SHIFT) {\n default:\n case _ORIGIN_UL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n case _ORIGIN_UR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n }\n // Load the specify method\n const func = \"_getImageData\" + (use_grey ? \"Grey\" : \"\") + header.pixel_size + \"bits\";\n const imageData = TGATools[func](header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end);\n const engine = texture.getEngine();\n engine._uploadDataToTextureDirectly(texture, imageData);\n}\n/**\n * @internal\n */\nfunction _getImageData8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data, colormap = palettes;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = colormap[color * 3 + 0];\n imageData[(x + width * y) * 4 + 1] = colormap[color * 3 + 1];\n imageData[(x + width * y) * 4 + 0] = colormap[color * 3 + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n color = image[i + 0] + (image[i + 1] << 8); // Inversed ?\n const r = ((((color & 0x7c00) >> 10) * 255) / 0x1f) | 0;\n const g = ((((color & 0x03e0) >> 5) * 255) / 0x1f) | 0;\n const b = (((color & 0x001f) * 255) / 0x1f) | 0;\n imageData[(x + width * y) * 4 + 0] = r;\n imageData[(x + width * y) * 4 + 1] = g;\n imageData[(x + width * y) * 4 + 2] = b;\n imageData[(x + width * y) * 4 + 3] = color & 0x8000 ? 0 : 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData24bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 3) {\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData32bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 4) {\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n imageData[(x + width * y) * 4 + 3] = image[i + 3];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 0] = color;\n imageData[(x + width * y) * 4 + 1] = color;\n imageData[(x + width * y) * 4 + 2] = color;\n imageData[(x + width * y) * 4 + 3] = 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n imageData[(x + width * y) * 4 + 0] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 0];\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 3] = image[i + 1];\n }\n }\n return imageData;\n}\n/**\n * Based on jsTGALoader - Javascript loader for TGA file\n * By Vincent Thibault\n * @see http://blog.robrowser.com/javascript-tga-loader.html\n */\nexport const TGATools = {\n /**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\n GetTGAHeader,\n /**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\n UploadContent,\n /** @internal */\n _getImageData8bits,\n /** @internal */\n _getImageData16bits,\n /** @internal */\n _getImageData24bits,\n /** @internal */\n _getImageData32bits,\n /** @internal */\n _getImageDataGrey8bits,\n /** @internal */\n _getImageDataGrey16bits,\n};\n//# sourceMappingURL=tga.js.map","import { GetTGAHeader, UploadContent } from \"../../../Misc/tga\";\n/**\n * Implementation of the TGA Texture Loader.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class _TGATextureLoader {\n constructor() {\n /**\n * Defines whether the loader supports cascade loading the different faces.\n */\n this.supportCascades = false;\n }\n /**\n * Uploads the cube texture data to the WebGL texture. It has already been bound.\n */\n loadCubeData() {\n // eslint-disable-next-line no-throw-literal\n throw \".env not supported in Cube.\";\n }\n /**\n * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.\n * @param data contains the texture data\n * @param texture defines the BabylonJS internal texture\n * @param callback defines the method to call once ready to upload\n */\n loadData(data, texture, callback) {\n const bytes = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n const header = GetTGAHeader(bytes);\n callback(header.width, header.height, texture.generateMipMaps, false, () => {\n UploadContent(texture, bytes);\n });\n }\n}\n//# sourceMappingURL=tgaTextureLoader.js.map"],"names":["GetTGAHeader","data","offset","id_length","colormap_type","image_type","colormap_index","colormap_length","colormap_size","origin","width","height","pixel_size","flags","UploadContent","texture","length","Logger","Error","header","pixel_data","use_rle","use_pal","use_grey","pixel_total","palettes","x_start","y_start","x_step","y_step","y_end","x_end","subarray","c","count","i","Uint8Array","localOffset","pixels","set","func","imageData","TGATools","getEngine","_uploadDataToTextureDirectly","_getImageData8bits","image","colormap","color","x","y","_getImageData16bits","r","g","b","_getImageData24bits","_getImageData32bits","_getImageDataGrey8bits","_getImageDataGrey16bits","_TGATextureLoader","constructor","this","supportCascades","loadCubeData","loadData","callback","bytes","buffer","byteOffset","byteLength","generateMipMaps"],"mappings":"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"}
@@ -1,349 +0,0 @@
1
- import { L as Logger } from './index-rM42Fwtd.esm.js';
2
-
3
- //private static _TYPE_NO_DATA = 0;
4
- const _TYPE_INDEXED = 1;
5
- const _TYPE_RGB = 2;
6
- const _TYPE_GREY = 3;
7
- const _TYPE_RLE_INDEXED = 9;
8
- const _TYPE_RLE_RGB = 10;
9
- const _TYPE_RLE_GREY = 11;
10
- const _ORIGIN_MASK = 0x30;
11
- const _ORIGIN_SHIFT = 0x04;
12
- const _ORIGIN_BL = 0x00;
13
- const _ORIGIN_BR = 0x01;
14
- const _ORIGIN_UL = 0x02;
15
- const _ORIGIN_UR = 0x03;
16
- /**
17
- * Gets the header of a TGA file
18
- * @param data defines the TGA data
19
- * @returns the header
20
- */
21
- function GetTGAHeader(data) {
22
- let offset = 0;
23
- const header = {
24
- id_length: data[offset++],
25
- colormap_type: data[offset++],
26
- image_type: data[offset++],
27
- colormap_index: data[offset++] | (data[offset++] << 8),
28
- colormap_length: data[offset++] | (data[offset++] << 8),
29
- colormap_size: data[offset++],
30
- origin: [data[offset++] | (data[offset++] << 8), data[offset++] | (data[offset++] << 8)],
31
- width: data[offset++] | (data[offset++] << 8),
32
- height: data[offset++] | (data[offset++] << 8),
33
- pixel_size: data[offset++],
34
- flags: data[offset++],
35
- };
36
- return header;
37
- }
38
- /**
39
- * Uploads TGA content to a Babylon Texture
40
- * @internal
41
- */
42
- function UploadContent(texture, data) {
43
- // Not enough data to contain header ?
44
- if (data.length < 19) {
45
- Logger.Error("Unable to load TGA file - Not enough data to contain header");
46
- return;
47
- }
48
- // Read Header
49
- let offset = 18;
50
- const header = GetTGAHeader(data);
51
- // Assume it's a valid Targa file.
52
- if (header.id_length + offset > data.length) {
53
- Logger.Error("Unable to load TGA file - Not enough data");
54
- return;
55
- }
56
- // Skip not needed data
57
- offset += header.id_length;
58
- let use_rle = false;
59
- let use_pal = false;
60
- let use_grey = false;
61
- // Get some informations.
62
- switch (header.image_type) {
63
- case _TYPE_RLE_INDEXED:
64
- use_rle = true;
65
- // eslint-disable-next-line no-fallthrough
66
- case _TYPE_INDEXED:
67
- use_pal = true;
68
- break;
69
- case _TYPE_RLE_RGB:
70
- use_rle = true;
71
- // eslint-disable-next-line no-fallthrough
72
- case _TYPE_RGB:
73
- // use_rgb = true;
74
- break;
75
- case _TYPE_RLE_GREY:
76
- use_rle = true;
77
- // eslint-disable-next-line no-fallthrough
78
- case _TYPE_GREY:
79
- use_grey = true;
80
- break;
81
- }
82
- let pixel_data;
83
- // var numAlphaBits = header.flags & 0xf;
84
- const pixel_size = header.pixel_size >> 3;
85
- const pixel_total = header.width * header.height * pixel_size;
86
- // Read palettes
87
- let palettes;
88
- if (use_pal) {
89
- palettes = data.subarray(offset, (offset += header.colormap_length * (header.colormap_size >> 3)));
90
- }
91
- // Read LRE
92
- if (use_rle) {
93
- pixel_data = new Uint8Array(pixel_total);
94
- let c, count, i;
95
- let localOffset = 0;
96
- const pixels = new Uint8Array(pixel_size);
97
- while (offset < pixel_total && localOffset < pixel_total) {
98
- c = data[offset++];
99
- count = (c & 0x7f) + 1;
100
- // RLE pixels
101
- if (c & 0x80) {
102
- // Bind pixel tmp array
103
- for (i = 0; i < pixel_size; ++i) {
104
- pixels[i] = data[offset++];
105
- }
106
- // Copy pixel array
107
- for (i = 0; i < count; ++i) {
108
- pixel_data.set(pixels, localOffset + i * pixel_size);
109
- }
110
- localOffset += pixel_size * count;
111
- }
112
- // Raw pixels
113
- else {
114
- count *= pixel_size;
115
- for (i = 0; i < count; ++i) {
116
- pixel_data[localOffset + i] = data[offset++];
117
- }
118
- localOffset += count;
119
- }
120
- }
121
- }
122
- // RAW Pixels
123
- else {
124
- pixel_data = data.subarray(offset, (offset += use_pal ? header.width * header.height : pixel_total));
125
- }
126
- // Load to texture
127
- let x_start, y_start, x_step, y_step, y_end, x_end;
128
- switch ((header.flags & _ORIGIN_MASK) >> _ORIGIN_SHIFT) {
129
- default:
130
- case _ORIGIN_UL:
131
- x_start = 0;
132
- x_step = 1;
133
- x_end = header.width;
134
- y_start = 0;
135
- y_step = 1;
136
- y_end = header.height;
137
- break;
138
- case _ORIGIN_BL:
139
- x_start = 0;
140
- x_step = 1;
141
- x_end = header.width;
142
- y_start = header.height - 1;
143
- y_step = -1;
144
- y_end = -1;
145
- break;
146
- case _ORIGIN_UR:
147
- x_start = header.width - 1;
148
- x_step = -1;
149
- x_end = -1;
150
- y_start = 0;
151
- y_step = 1;
152
- y_end = header.height;
153
- break;
154
- case _ORIGIN_BR:
155
- x_start = header.width - 1;
156
- x_step = -1;
157
- x_end = -1;
158
- y_start = header.height - 1;
159
- y_step = -1;
160
- y_end = -1;
161
- break;
162
- }
163
- // Load the specify method
164
- const func = "_getImageData" + (use_grey ? "Grey" : "") + header.pixel_size + "bits";
165
- const imageData = TGATools[func](header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end);
166
- const engine = texture.getEngine();
167
- engine._uploadDataToTextureDirectly(texture, imageData);
168
- }
169
- /**
170
- * @internal
171
- */
172
- function _getImageData8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {
173
- const image = pixel_data, colormap = palettes;
174
- const width = header.width, height = header.height;
175
- let color, i = 0, x, y;
176
- const imageData = new Uint8Array(width * height * 4);
177
- for (y = y_start; y !== y_end; y += y_step) {
178
- for (x = x_start; x !== x_end; x += x_step, i++) {
179
- color = image[i];
180
- imageData[(x + width * y) * 4 + 3] = 255;
181
- imageData[(x + width * y) * 4 + 2] = colormap[color * 3 + 0];
182
- imageData[(x + width * y) * 4 + 1] = colormap[color * 3 + 1];
183
- imageData[(x + width * y) * 4 + 0] = colormap[color * 3 + 2];
184
- }
185
- }
186
- return imageData;
187
- }
188
- /**
189
- * @internal
190
- */
191
- function _getImageData16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {
192
- const image = pixel_data;
193
- const width = header.width, height = header.height;
194
- let color, i = 0, x, y;
195
- const imageData = new Uint8Array(width * height * 4);
196
- for (y = y_start; y !== y_end; y += y_step) {
197
- for (x = x_start; x !== x_end; x += x_step, i += 2) {
198
- color = image[i + 0] + (image[i + 1] << 8); // Inversed ?
199
- const r = ((((color & 0x7c00) >> 10) * 255) / 0x1f) | 0;
200
- const g = ((((color & 0x03e0) >> 5) * 255) / 0x1f) | 0;
201
- const b = (((color & 0x001f) * 255) / 0x1f) | 0;
202
- imageData[(x + width * y) * 4 + 0] = r;
203
- imageData[(x + width * y) * 4 + 1] = g;
204
- imageData[(x + width * y) * 4 + 2] = b;
205
- imageData[(x + width * y) * 4 + 3] = color & 0x8000 ? 0 : 255;
206
- }
207
- }
208
- return imageData;
209
- }
210
- /**
211
- * @internal
212
- */
213
- function _getImageData24bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {
214
- const image = pixel_data;
215
- const width = header.width, height = header.height;
216
- let i = 0, x, y;
217
- const imageData = new Uint8Array(width * height * 4);
218
- for (y = y_start; y !== y_end; y += y_step) {
219
- for (x = x_start; x !== x_end; x += x_step, i += 3) {
220
- imageData[(x + width * y) * 4 + 3] = 255;
221
- imageData[(x + width * y) * 4 + 2] = image[i + 0];
222
- imageData[(x + width * y) * 4 + 1] = image[i + 1];
223
- imageData[(x + width * y) * 4 + 0] = image[i + 2];
224
- }
225
- }
226
- return imageData;
227
- }
228
- /**
229
- * @internal
230
- */
231
- function _getImageData32bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {
232
- const image = pixel_data;
233
- const width = header.width, height = header.height;
234
- let i = 0, x, y;
235
- const imageData = new Uint8Array(width * height * 4);
236
- for (y = y_start; y !== y_end; y += y_step) {
237
- for (x = x_start; x !== x_end; x += x_step, i += 4) {
238
- imageData[(x + width * y) * 4 + 2] = image[i + 0];
239
- imageData[(x + width * y) * 4 + 1] = image[i + 1];
240
- imageData[(x + width * y) * 4 + 0] = image[i + 2];
241
- imageData[(x + width * y) * 4 + 3] = image[i + 3];
242
- }
243
- }
244
- return imageData;
245
- }
246
- /**
247
- * @internal
248
- */
249
- function _getImageDataGrey8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {
250
- const image = pixel_data;
251
- const width = header.width, height = header.height;
252
- let color, i = 0, x, y;
253
- const imageData = new Uint8Array(width * height * 4);
254
- for (y = y_start; y !== y_end; y += y_step) {
255
- for (x = x_start; x !== x_end; x += x_step, i++) {
256
- color = image[i];
257
- imageData[(x + width * y) * 4 + 0] = color;
258
- imageData[(x + width * y) * 4 + 1] = color;
259
- imageData[(x + width * y) * 4 + 2] = color;
260
- imageData[(x + width * y) * 4 + 3] = 255;
261
- }
262
- }
263
- return imageData;
264
- }
265
- /**
266
- * @internal
267
- */
268
- function _getImageDataGrey16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {
269
- const image = pixel_data;
270
- const width = header.width, height = header.height;
271
- let i = 0, x, y;
272
- const imageData = new Uint8Array(width * height * 4);
273
- for (y = y_start; y !== y_end; y += y_step) {
274
- for (x = x_start; x !== x_end; x += x_step, i += 2) {
275
- imageData[(x + width * y) * 4 + 0] = image[i + 0];
276
- imageData[(x + width * y) * 4 + 1] = image[i + 0];
277
- imageData[(x + width * y) * 4 + 2] = image[i + 0];
278
- imageData[(x + width * y) * 4 + 3] = image[i + 1];
279
- }
280
- }
281
- return imageData;
282
- }
283
- /**
284
- * Based on jsTGALoader - Javascript loader for TGA file
285
- * By Vincent Thibault
286
- * @see http://blog.robrowser.com/javascript-tga-loader.html
287
- */
288
- const TGATools = {
289
- /**
290
- * Gets the header of a TGA file
291
- * @param data defines the TGA data
292
- * @returns the header
293
- */
294
- GetTGAHeader,
295
- /**
296
- * Uploads TGA content to a Babylon Texture
297
- * @internal
298
- */
299
- UploadContent,
300
- /** @internal */
301
- _getImageData8bits,
302
- /** @internal */
303
- _getImageData16bits,
304
- /** @internal */
305
- _getImageData24bits,
306
- /** @internal */
307
- _getImageData32bits,
308
- /** @internal */
309
- _getImageDataGrey8bits,
310
- /** @internal */
311
- _getImageDataGrey16bits,
312
- };
313
-
314
- /**
315
- * Implementation of the TGA Texture Loader.
316
- * @internal
317
- */
318
- // eslint-disable-next-line @typescript-eslint/naming-convention
319
- class _TGATextureLoader {
320
- constructor() {
321
- /**
322
- * Defines whether the loader supports cascade loading the different faces.
323
- */
324
- this.supportCascades = false;
325
- }
326
- /**
327
- * Uploads the cube texture data to the WebGL texture. It has already been bound.
328
- */
329
- loadCubeData() {
330
- // eslint-disable-next-line no-throw-literal
331
- throw ".env not supported in Cube.";
332
- }
333
- /**
334
- * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.
335
- * @param data contains the texture data
336
- * @param texture defines the BabylonJS internal texture
337
- * @param callback defines the method to call once ready to upload
338
- */
339
- loadData(data, texture, callback) {
340
- const bytes = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
341
- const header = GetTGAHeader(bytes);
342
- callback(header.width, header.height, texture.generateMipMaps, false, () => {
343
- UploadContent(texture, bytes);
344
- });
345
- }
346
- }
347
-
348
- export { _TGATextureLoader };
349
- //# sourceMappingURL=tgaTextureLoader-C1ZPR3Z6.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tgaTextureLoader-C1ZPR3Z6.esm.js","sources":["../../../../../dev/core/dist/Misc/tga.js","../../../../../dev/core/dist/Materials/Textures/Loaders/tgaTextureLoader.js"],"sourcesContent":["import { Logger } from \"../Misc/logger\";\n//private static _TYPE_NO_DATA = 0;\nconst _TYPE_INDEXED = 1;\nconst _TYPE_RGB = 2;\nconst _TYPE_GREY = 3;\nconst _TYPE_RLE_INDEXED = 9;\nconst _TYPE_RLE_RGB = 10;\nconst _TYPE_RLE_GREY = 11;\nconst _ORIGIN_MASK = 0x30;\nconst _ORIGIN_SHIFT = 0x04;\nconst _ORIGIN_BL = 0x00;\nconst _ORIGIN_BR = 0x01;\nconst _ORIGIN_UL = 0x02;\nconst _ORIGIN_UR = 0x03;\n/**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\nexport function GetTGAHeader(data) {\n let offset = 0;\n const header = {\n id_length: data[offset++],\n colormap_type: data[offset++],\n image_type: data[offset++],\n colormap_index: data[offset++] | (data[offset++] << 8),\n colormap_length: data[offset++] | (data[offset++] << 8),\n colormap_size: data[offset++],\n origin: [data[offset++] | (data[offset++] << 8), data[offset++] | (data[offset++] << 8)],\n width: data[offset++] | (data[offset++] << 8),\n height: data[offset++] | (data[offset++] << 8),\n pixel_size: data[offset++],\n flags: data[offset++],\n };\n return header;\n}\n/**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\nexport function UploadContent(texture, data) {\n // Not enough data to contain header ?\n if (data.length < 19) {\n Logger.Error(\"Unable to load TGA file - Not enough data to contain header\");\n return;\n }\n // Read Header\n let offset = 18;\n const header = GetTGAHeader(data);\n // Assume it's a valid Targa file.\n if (header.id_length + offset > data.length) {\n Logger.Error(\"Unable to load TGA file - Not enough data\");\n return;\n }\n // Skip not needed data\n offset += header.id_length;\n let use_rle = false;\n let use_pal = false;\n let use_grey = false;\n // Get some informations.\n switch (header.image_type) {\n case _TYPE_RLE_INDEXED:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_INDEXED:\n use_pal = true;\n break;\n case _TYPE_RLE_RGB:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_RGB:\n // use_rgb = true;\n break;\n case _TYPE_RLE_GREY:\n use_rle = true;\n // eslint-disable-next-line no-fallthrough\n case _TYPE_GREY:\n use_grey = true;\n break;\n }\n let pixel_data;\n // var numAlphaBits = header.flags & 0xf;\n const pixel_size = header.pixel_size >> 3;\n const pixel_total = header.width * header.height * pixel_size;\n // Read palettes\n let palettes;\n if (use_pal) {\n palettes = data.subarray(offset, (offset += header.colormap_length * (header.colormap_size >> 3)));\n }\n // Read LRE\n if (use_rle) {\n pixel_data = new Uint8Array(pixel_total);\n let c, count, i;\n let localOffset = 0;\n const pixels = new Uint8Array(pixel_size);\n while (offset < pixel_total && localOffset < pixel_total) {\n c = data[offset++];\n count = (c & 0x7f) + 1;\n // RLE pixels\n if (c & 0x80) {\n // Bind pixel tmp array\n for (i = 0; i < pixel_size; ++i) {\n pixels[i] = data[offset++];\n }\n // Copy pixel array\n for (i = 0; i < count; ++i) {\n pixel_data.set(pixels, localOffset + i * pixel_size);\n }\n localOffset += pixel_size * count;\n }\n // Raw pixels\n else {\n count *= pixel_size;\n for (i = 0; i < count; ++i) {\n pixel_data[localOffset + i] = data[offset++];\n }\n localOffset += count;\n }\n }\n }\n // RAW Pixels\n else {\n pixel_data = data.subarray(offset, (offset += use_pal ? header.width * header.height : pixel_total));\n }\n // Load to texture\n let x_start, y_start, x_step, y_step, y_end, x_end;\n switch ((header.flags & _ORIGIN_MASK) >> _ORIGIN_SHIFT) {\n default:\n case _ORIGIN_UL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BL:\n x_start = 0;\n x_step = 1;\n x_end = header.width;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n case _ORIGIN_UR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = 0;\n y_step = 1;\n y_end = header.height;\n break;\n case _ORIGIN_BR:\n x_start = header.width - 1;\n x_step = -1;\n x_end = -1;\n y_start = header.height - 1;\n y_step = -1;\n y_end = -1;\n break;\n }\n // Load the specify method\n const func = \"_getImageData\" + (use_grey ? \"Grey\" : \"\") + header.pixel_size + \"bits\";\n const imageData = TGATools[func](header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end);\n const engine = texture.getEngine();\n engine._uploadDataToTextureDirectly(texture, imageData);\n}\n/**\n * @internal\n */\nfunction _getImageData8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data, colormap = palettes;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = colormap[color * 3 + 0];\n imageData[(x + width * y) * 4 + 1] = colormap[color * 3 + 1];\n imageData[(x + width * y) * 4 + 0] = colormap[color * 3 + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n color = image[i + 0] + (image[i + 1] << 8); // Inversed ?\n const r = ((((color & 0x7c00) >> 10) * 255) / 0x1f) | 0;\n const g = ((((color & 0x03e0) >> 5) * 255) / 0x1f) | 0;\n const b = (((color & 0x001f) * 255) / 0x1f) | 0;\n imageData[(x + width * y) * 4 + 0] = r;\n imageData[(x + width * y) * 4 + 1] = g;\n imageData[(x + width * y) * 4 + 2] = b;\n imageData[(x + width * y) * 4 + 3] = color & 0x8000 ? 0 : 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData24bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 3) {\n imageData[(x + width * y) * 4 + 3] = 255;\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageData32bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 4) {\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 1];\n imageData[(x + width * y) * 4 + 0] = image[i + 2];\n imageData[(x + width * y) * 4 + 3] = image[i + 3];\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey8bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let color, i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i++) {\n color = image[i];\n imageData[(x + width * y) * 4 + 0] = color;\n imageData[(x + width * y) * 4 + 1] = color;\n imageData[(x + width * y) * 4 + 2] = color;\n imageData[(x + width * y) * 4 + 3] = 255;\n }\n }\n return imageData;\n}\n/**\n * @internal\n */\nfunction _getImageDataGrey16bits(header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) {\n const image = pixel_data;\n const width = header.width, height = header.height;\n let i = 0, x, y;\n const imageData = new Uint8Array(width * height * 4);\n for (y = y_start; y !== y_end; y += y_step) {\n for (x = x_start; x !== x_end; x += x_step, i += 2) {\n imageData[(x + width * y) * 4 + 0] = image[i + 0];\n imageData[(x + width * y) * 4 + 1] = image[i + 0];\n imageData[(x + width * y) * 4 + 2] = image[i + 0];\n imageData[(x + width * y) * 4 + 3] = image[i + 1];\n }\n }\n return imageData;\n}\n/**\n * Based on jsTGALoader - Javascript loader for TGA file\n * By Vincent Thibault\n * @see http://blog.robrowser.com/javascript-tga-loader.html\n */\nexport const TGATools = {\n /**\n * Gets the header of a TGA file\n * @param data defines the TGA data\n * @returns the header\n */\n GetTGAHeader,\n /**\n * Uploads TGA content to a Babylon Texture\n * @internal\n */\n UploadContent,\n /** @internal */\n _getImageData8bits,\n /** @internal */\n _getImageData16bits,\n /** @internal */\n _getImageData24bits,\n /** @internal */\n _getImageData32bits,\n /** @internal */\n _getImageDataGrey8bits,\n /** @internal */\n _getImageDataGrey16bits,\n};\n//# sourceMappingURL=tga.js.map","import { GetTGAHeader, UploadContent } from \"../../../Misc/tga\";\n/**\n * Implementation of the TGA Texture Loader.\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class _TGATextureLoader {\n constructor() {\n /**\n * Defines whether the loader supports cascade loading the different faces.\n */\n this.supportCascades = false;\n }\n /**\n * Uploads the cube texture data to the WebGL texture. It has already been bound.\n */\n loadCubeData() {\n // eslint-disable-next-line no-throw-literal\n throw \".env not supported in Cube.\";\n }\n /**\n * Uploads the 2D texture data to the WebGL texture. It has already been bound once in the callback.\n * @param data contains the texture data\n * @param texture defines the BabylonJS internal texture\n * @param callback defines the method to call once ready to upload\n */\n loadData(data, texture, callback) {\n const bytes = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n const header = GetTGAHeader(bytes);\n callback(header.width, header.height, texture.generateMipMaps, false, () => {\n UploadContent(texture, bytes);\n });\n }\n}\n//# sourceMappingURL=tgaTextureLoader.js.map"],"names":[],"mappings":"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"}