@babylonjs/viewer 7.25.1-alpha → 7.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) 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-DVT9d5PE.esm.min.js +0 -2
  197. package/dist/chunks/EXT_lights_image_based-DVT9d5PE.esm.min.js.map +0 -1
  198. package/dist/chunks/EXT_lights_image_based-XqDzs68T.esm.js +0 -170
  199. package/dist/chunks/EXT_lights_image_based-XqDzs68T.esm.js.map +0 -1
  200. package/dist/chunks/EXT_mesh_gpu_instancing-BDdwYyny.esm.min.js +0 -2
  201. package/dist/chunks/EXT_mesh_gpu_instancing-BDdwYyny.esm.min.js.map +0 -1
  202. package/dist/chunks/EXT_mesh_gpu_instancing-DhR2UOBn.esm.js +0 -86
  203. package/dist/chunks/EXT_mesh_gpu_instancing-DhR2UOBn.esm.js.map +0 -1
  204. package/dist/chunks/EXT_meshopt_compression-BqFzh0gY.esm.js +0 -134
  205. package/dist/chunks/EXT_meshopt_compression-BqFzh0gY.esm.js.map +0 -1
  206. package/dist/chunks/EXT_meshopt_compression-SfXDvdUM.esm.min.js +0 -2
  207. package/dist/chunks/EXT_meshopt_compression-SfXDvdUM.esm.min.js.map +0 -1
  208. package/dist/chunks/EXT_texture_avif-JBIGyeRc.esm.js +0 -44
  209. package/dist/chunks/EXT_texture_avif-JBIGyeRc.esm.js.map +0 -1
  210. package/dist/chunks/EXT_texture_avif-q1TkH_G9.esm.min.js +0 -2
  211. package/dist/chunks/EXT_texture_avif-q1TkH_G9.esm.min.js.map +0 -1
  212. package/dist/chunks/EXT_texture_webp-B1s3FiRS.esm.js +0 -43
  213. package/dist/chunks/EXT_texture_webp-B1s3FiRS.esm.js.map +0 -1
  214. package/dist/chunks/EXT_texture_webp-BCI9KAUl.esm.min.js +0 -2
  215. package/dist/chunks/EXT_texture_webp-BCI9KAUl.esm.min.js.map +0 -1
  216. package/dist/chunks/ExtrasAsMetadata-BOD2FG8I.esm.min.js +0 -2
  217. package/dist/chunks/ExtrasAsMetadata-BOD2FG8I.esm.min.js.map +0 -1
  218. package/dist/chunks/ExtrasAsMetadata-ByiJUaSt.esm.js +0 -64
  219. package/dist/chunks/ExtrasAsMetadata-ByiJUaSt.esm.js.map +0 -1
  220. package/dist/chunks/KHR_animation_pointer-CNYMXY_w.esm.js +0 -343
  221. package/dist/chunks/KHR_animation_pointer-CNYMXY_w.esm.js.map +0 -1
  222. package/dist/chunks/KHR_animation_pointer-CnLRV_yl.esm.min.js +0 -2
  223. package/dist/chunks/KHR_animation_pointer-CnLRV_yl.esm.min.js.map +0 -1
  224. package/dist/chunks/KHR_draco_mesh_compression-AZ2o_aLj.esm.min.js +0 -2
  225. package/dist/chunks/KHR_draco_mesh_compression-AZ2o_aLj.esm.min.js.map +0 -1
  226. package/dist/chunks/KHR_draco_mesh_compression-DFY2Ctvm.esm.js +0 -610
  227. package/dist/chunks/KHR_draco_mesh_compression-DFY2Ctvm.esm.js.map +0 -1
  228. package/dist/chunks/KHR_interactivity-3PDcMKr_.esm.js +0 -4033
  229. package/dist/chunks/KHR_interactivity-3PDcMKr_.esm.js.map +0 -1
  230. package/dist/chunks/KHR_interactivity-C-cfOaao.esm.min.js +0 -2
  231. package/dist/chunks/KHR_interactivity-C-cfOaao.esm.min.js.map +0 -1
  232. package/dist/chunks/KHR_lights_punctual-DdpvJMDV.esm.js +0 -1253
  233. package/dist/chunks/KHR_lights_punctual-DdpvJMDV.esm.js.map +0 -1
  234. package/dist/chunks/KHR_lights_punctual-fnDFOclN.esm.min.js +0 -2
  235. package/dist/chunks/KHR_lights_punctual-fnDFOclN.esm.min.js.map +0 -1
  236. package/dist/chunks/KHR_materials_anisotropy-Cb6X0k3m.esm.min.js +0 -2
  237. package/dist/chunks/KHR_materials_anisotropy-Cb6X0k3m.esm.min.js.map +0 -1
  238. package/dist/chunks/KHR_materials_anisotropy-gNrsYmJY.esm.js +0 -64
  239. package/dist/chunks/KHR_materials_anisotropy-gNrsYmJY.esm.js.map +0 -1
  240. package/dist/chunks/KHR_materials_clearcoat-U2HUz3WB.esm.js +0 -96
  241. package/dist/chunks/KHR_materials_clearcoat-U2HUz3WB.esm.js.map +0 -1
  242. package/dist/chunks/KHR_materials_clearcoat-joUz7tSd.esm.min.js +0 -2
  243. package/dist/chunks/KHR_materials_clearcoat-joUz7tSd.esm.min.js.map +0 -1
  244. package/dist/chunks/KHR_materials_diffuse_transmission-Cm1IFxmL.esm.min.js +0 -2
  245. package/dist/chunks/KHR_materials_diffuse_transmission-Cm1IFxmL.esm.min.js.map +0 -1
  246. package/dist/chunks/KHR_materials_diffuse_transmission-Cn5gk-q_.esm.js +0 -97
  247. package/dist/chunks/KHR_materials_diffuse_transmission-Cn5gk-q_.esm.js.map +0 -1
  248. package/dist/chunks/KHR_materials_dispersion-Cpc2ME1B.esm.js +0 -62
  249. package/dist/chunks/KHR_materials_dispersion-Cpc2ME1B.esm.js.map +0 -1
  250. package/dist/chunks/KHR_materials_dispersion-Cv7zIL7j.esm.min.js +0 -2
  251. package/dist/chunks/KHR_materials_dispersion-Cv7zIL7j.esm.min.js.map +0 -1
  252. package/dist/chunks/KHR_materials_emissive_strength-BYxJ1Qaz.esm.js +0 -55
  253. package/dist/chunks/KHR_materials_emissive_strength-BYxJ1Qaz.esm.js.map +0 -1
  254. package/dist/chunks/KHR_materials_emissive_strength-DBEC-Pfr.esm.min.js +0 -2
  255. package/dist/chunks/KHR_materials_emissive_strength-DBEC-Pfr.esm.min.js.map +0 -1
  256. package/dist/chunks/KHR_materials_ior-B4HgptNe.esm.min.js +0 -2
  257. package/dist/chunks/KHR_materials_ior-B4HgptNe.esm.min.js.map +0 -1
  258. package/dist/chunks/KHR_materials_ior-CDtowU9f.esm.js +0 -64
  259. package/dist/chunks/KHR_materials_ior-CDtowU9f.esm.js.map +0 -1
  260. package/dist/chunks/KHR_materials_iridescence-CgkruUTk.esm.min.js +0 -2
  261. package/dist/chunks/KHR_materials_iridescence-CgkruUTk.esm.min.js.map +0 -1
  262. package/dist/chunks/KHR_materials_iridescence-CqmvyPW8.esm.js +0 -72
  263. package/dist/chunks/KHR_materials_iridescence-CqmvyPW8.esm.js.map +0 -1
  264. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BQV0asO5.esm.js +0 -81
  265. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-BQV0asO5.esm.js.map +0 -1
  266. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Bv4SCrwb.esm.min.js +0 -2
  267. package/dist/chunks/KHR_materials_pbrSpecularGlossiness-Bv4SCrwb.esm.min.js.map +0 -1
  268. package/dist/chunks/KHR_materials_sheen-BQM2Rjmq.esm.js +0 -85
  269. package/dist/chunks/KHR_materials_sheen-BQM2Rjmq.esm.js.map +0 -1
  270. package/dist/chunks/KHR_materials_sheen-DV5CnbK2.esm.min.js +0 -2
  271. package/dist/chunks/KHR_materials_sheen-DV5CnbK2.esm.min.js.map +0 -1
  272. package/dist/chunks/KHR_materials_specular-4xCkE2rV.esm.js +0 -75
  273. package/dist/chunks/KHR_materials_specular-4xCkE2rV.esm.js.map +0 -1
  274. package/dist/chunks/KHR_materials_specular-CoAFRAcm.esm.min.js +0 -2
  275. package/dist/chunks/KHR_materials_specular-CoAFRAcm.esm.min.js.map +0 -1
  276. package/dist/chunks/KHR_materials_transmission-DUGtSvRL.esm.js +0 -307
  277. package/dist/chunks/KHR_materials_transmission-DUGtSvRL.esm.js.map +0 -1
  278. package/dist/chunks/KHR_materials_transmission-dc1ndoxL.esm.min.js +0 -2
  279. package/dist/chunks/KHR_materials_transmission-dc1ndoxL.esm.min.js.map +0 -1
  280. package/dist/chunks/KHR_materials_unlit-BNXbHdvw.esm.js +0 -74
  281. package/dist/chunks/KHR_materials_unlit-BNXbHdvw.esm.js.map +0 -1
  282. package/dist/chunks/KHR_materials_unlit-D9MVjMTN.esm.min.js +0 -2
  283. package/dist/chunks/KHR_materials_unlit-D9MVjMTN.esm.min.js.map +0 -1
  284. package/dist/chunks/KHR_materials_variants-CBW9J72v.esm.min.js +0 -2
  285. package/dist/chunks/KHR_materials_variants-CBW9J72v.esm.min.js.map +0 -1
  286. package/dist/chunks/KHR_materials_variants-Dkur-XMA.esm.js +0 -238
  287. package/dist/chunks/KHR_materials_variants-Dkur-XMA.esm.js.map +0 -1
  288. package/dist/chunks/KHR_materials_volume-BSWwp0PI.esm.js +0 -87
  289. package/dist/chunks/KHR_materials_volume-BSWwp0PI.esm.js.map +0 -1
  290. package/dist/chunks/KHR_materials_volume-uEEN0xx9.esm.min.js +0 -2
  291. package/dist/chunks/KHR_materials_volume-uEEN0xx9.esm.min.js.map +0 -1
  292. package/dist/chunks/KHR_mesh_quantization--7YAD1i9.esm.js +0 -26
  293. package/dist/chunks/KHR_mesh_quantization--7YAD1i9.esm.js.map +0 -1
  294. package/dist/chunks/KHR_mesh_quantization-D48i0ooq.esm.min.js +0 -2
  295. package/dist/chunks/KHR_mesh_quantization-D48i0ooq.esm.min.js.map +0 -1
  296. package/dist/chunks/KHR_texture_basisu-CJHQOtEz.esm.min.js +0 -2
  297. package/dist/chunks/KHR_texture_basisu-CJHQOtEz.esm.min.js.map +0 -1
  298. package/dist/chunks/KHR_texture_basisu-CZJ-szw2.esm.js +0 -43
  299. package/dist/chunks/KHR_texture_basisu-CZJ-szw2.esm.js.map +0 -1
  300. package/dist/chunks/KHR_texture_transform-CCGZOtJG.esm.js +0 -63
  301. package/dist/chunks/KHR_texture_transform-CCGZOtJG.esm.js.map +0 -1
  302. package/dist/chunks/KHR_texture_transform-Cz_tYWj9.esm.min.js +0 -2
  303. package/dist/chunks/KHR_texture_transform-Cz_tYWj9.esm.min.js.map +0 -1
  304. package/dist/chunks/KHR_xmp_json_ld-BWhXh4yX.esm.min.js +0 -2
  305. package/dist/chunks/KHR_xmp_json_ld-BWhXh4yX.esm.min.js.map +0 -1
  306. package/dist/chunks/KHR_xmp_json_ld-D8vGUblu.esm.js +0 -51
  307. package/dist/chunks/KHR_xmp_json_ld-D8vGUblu.esm.js.map +0 -1
  308. package/dist/chunks/MSFT_audio_emitter-CABqee9Z.esm.min.js +0 -2
  309. package/dist/chunks/MSFT_audio_emitter-CABqee9Z.esm.min.js.map +0 -1
  310. package/dist/chunks/MSFT_audio_emitter-CupxtNMJ.esm.js +0 -2236
  311. package/dist/chunks/MSFT_audio_emitter-CupxtNMJ.esm.js.map +0 -1
  312. package/dist/chunks/MSFT_lod-BZ6xhN71.esm.min.js +0 -2
  313. package/dist/chunks/MSFT_lod-BZ6xhN71.esm.min.js.map +0 -1
  314. package/dist/chunks/MSFT_lod-D6-TVSnT.esm.js +0 -337
  315. package/dist/chunks/MSFT_lod-D6-TVSnT.esm.js.map +0 -1
  316. package/dist/chunks/MSFT_minecraftMesh-DXKcYd7c.esm.js +0 -46
  317. package/dist/chunks/MSFT_minecraftMesh-DXKcYd7c.esm.js.map +0 -1
  318. package/dist/chunks/MSFT_minecraftMesh-jQGuk0z2.esm.min.js +0 -2
  319. package/dist/chunks/MSFT_minecraftMesh-jQGuk0z2.esm.min.js.map +0 -1
  320. package/dist/chunks/MSFT_sRGBFactors-CMIEJuDa.esm.min.js +0 -2
  321. package/dist/chunks/MSFT_sRGBFactors-CMIEJuDa.esm.min.js.map +0 -1
  322. package/dist/chunks/MSFT_sRGBFactors-D1di9DYd.esm.js +0 -47
  323. package/dist/chunks/MSFT_sRGBFactors-D1di9DYd.esm.js.map +0 -1
  324. package/dist/chunks/assetContainer-B4RZAzKO.esm.min.js +0 -2
  325. package/dist/chunks/assetContainer-B4RZAzKO.esm.min.js.map +0 -1
  326. package/dist/chunks/assetContainer-B_DdybqS.esm.js +0 -1598
  327. package/dist/chunks/assetContainer-B_DdybqS.esm.js.map +0 -1
  328. package/dist/chunks/audioEngine-BNEDnVbO.esm.min.js +0 -2
  329. package/dist/chunks/audioEngine-BNEDnVbO.esm.min.js.map +0 -1
  330. package/dist/chunks/audioEngine-CICNJdfP.esm.js +0 -305
  331. package/dist/chunks/audioEngine-CICNJdfP.esm.js.map +0 -1
  332. package/dist/chunks/basisTextureLoader-B_8qIBcv.esm.js +0 -600
  333. package/dist/chunks/basisTextureLoader-B_8qIBcv.esm.js.map +0 -1
  334. package/dist/chunks/basisTextureLoader-qwPrmlI1.esm.min.js +0 -2
  335. package/dist/chunks/basisTextureLoader-qwPrmlI1.esm.min.js.map +0 -1
  336. package/dist/chunks/ddsTextureLoader-Caj9Cn2g.esm.min.js +0 -2
  337. package/dist/chunks/ddsTextureLoader-Caj9Cn2g.esm.min.js.map +0 -1
  338. package/dist/chunks/ddsTextureLoader-Dtde5Y_E.esm.js +0 -87
  339. package/dist/chunks/ddsTextureLoader-Dtde5Y_E.esm.js.map +0 -1
  340. package/dist/chunks/default.fragment-3-A6Ds5q.esm.js +0 -456
  341. package/dist/chunks/default.fragment-3-A6Ds5q.esm.js.map +0 -1
  342. package/dist/chunks/default.fragment-CK_5aPIO.esm.js +0 -515
  343. package/dist/chunks/default.fragment-CK_5aPIO.esm.js.map +0 -1
  344. package/dist/chunks/default.fragment-CW6M2CvG.esm.min.js +0 -2
  345. package/dist/chunks/default.fragment-CW6M2CvG.esm.min.js.map +0 -1
  346. package/dist/chunks/default.fragment-D8IeeUuR.esm.min.js +0 -2
  347. package/dist/chunks/default.fragment-D8IeeUuR.esm.min.js.map +0 -1
  348. package/dist/chunks/default.vertex-BnmEG9Z3.esm.js +0 -178
  349. package/dist/chunks/default.vertex-BnmEG9Z3.esm.js.map +0 -1
  350. package/dist/chunks/default.vertex-CByxmCU_.esm.min.js +0 -2
  351. package/dist/chunks/default.vertex-CByxmCU_.esm.min.js.map +0 -1
  352. package/dist/chunks/default.vertex-CKXtUMTv.esm.min.js +0 -2
  353. package/dist/chunks/default.vertex-CKXtUMTv.esm.min.js.map +0 -1
  354. package/dist/chunks/default.vertex-D5kQBg6V.esm.js +0 -199
  355. package/dist/chunks/default.vertex-D5kQBg6V.esm.js.map +0 -1
  356. package/dist/chunks/defaultUboDeclaration-AgU83OaK.esm.min.js +0 -2
  357. package/dist/chunks/defaultUboDeclaration-AgU83OaK.esm.min.js.map +0 -1
  358. package/dist/chunks/defaultUboDeclaration-BTsCVlsd.esm.min.js +0 -2
  359. package/dist/chunks/defaultUboDeclaration-BTsCVlsd.esm.min.js.map +0 -1
  360. package/dist/chunks/defaultUboDeclaration-bGo0gkae.esm.js +0 -15
  361. package/dist/chunks/defaultUboDeclaration-bGo0gkae.esm.js.map +0 -1
  362. package/dist/chunks/defaultUboDeclaration-pi1Tffi-.esm.js +0 -13
  363. package/dist/chunks/defaultUboDeclaration-pi1Tffi-.esm.js.map +0 -1
  364. package/dist/chunks/engine-DDK673Fr.esm.js +0 -1613
  365. package/dist/chunks/engine-DDK673Fr.esm.js.map +0 -1
  366. package/dist/chunks/engine-DdeN2F9N.esm.min.js +0 -2
  367. package/dist/chunks/engine-DdeN2F9N.esm.min.js.map +0 -1
  368. package/dist/chunks/envTextureLoader-B_We3UAe.esm.min.js +0 -2
  369. package/dist/chunks/envTextureLoader-B_We3UAe.esm.min.js.map +0 -1
  370. package/dist/chunks/envTextureLoader-DeYk_D-u.esm.js +0 -63
  371. package/dist/chunks/envTextureLoader-DeYk_D-u.esm.js.map +0 -1
  372. package/dist/chunks/environmentTextureTools-DT_BQR6L.esm.min.js +0 -2
  373. package/dist/chunks/environmentTextureTools-DT_BQR6L.esm.min.js.map +0 -1
  374. package/dist/chunks/environmentTextureTools-DZ4GOzAY.esm.js +0 -381
  375. package/dist/chunks/environmentTextureTools-DZ4GOzAY.esm.js.map +0 -1
  376. package/dist/chunks/exrTextureLoader-BPFaquLu.esm.min.js +0 -2
  377. package/dist/chunks/exrTextureLoader-BPFaquLu.esm.min.js.map +0 -1
  378. package/dist/chunks/exrTextureLoader-DFfYDSvx.esm.js +0 -1682
  379. package/dist/chunks/exrTextureLoader-DFfYDSvx.esm.js.map +0 -1
  380. package/dist/chunks/fogFragment-ChBeVMbL.esm.min.js +0 -2
  381. package/dist/chunks/fogFragment-ChBeVMbL.esm.min.js.map +0 -1
  382. package/dist/chunks/fogFragment-CnlQ05Rn.esm.js +0 -102
  383. package/dist/chunks/fogFragment-CnlQ05Rn.esm.js.map +0 -1
  384. package/dist/chunks/glTFLoader-CfuuZdCb.esm.js +0 -7552
  385. package/dist/chunks/glTFLoader-CfuuZdCb.esm.js.map +0 -1
  386. package/dist/chunks/glTFLoader-DOyVt9PU.esm.min.js +0 -2
  387. package/dist/chunks/glTFLoader-DOyVt9PU.esm.min.js.map +0 -1
  388. package/dist/chunks/glTFLoaderAnimation-28_L-pzh.esm.js +0 -77
  389. package/dist/chunks/glTFLoaderAnimation-28_L-pzh.esm.js.map +0 -1
  390. package/dist/chunks/glTFLoaderAnimation-Cueukaay.esm.min.js +0 -2
  391. package/dist/chunks/glTFLoaderAnimation-Cueukaay.esm.min.js.map +0 -1
  392. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js +0 -2
  393. package/dist/chunks/gltfPathToObjectConverter-Dyt_Y9jE.esm.min.js.map +0 -1
  394. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js +0 -67
  395. package/dist/chunks/gltfPathToObjectConverter-GcUmfOyo.esm.js.map +0 -1
  396. package/dist/chunks/harmonicsFunctions-5m2TqpP7.esm.js +0 -34
  397. package/dist/chunks/harmonicsFunctions-5m2TqpP7.esm.js.map +0 -1
  398. package/dist/chunks/harmonicsFunctions-CZvW5nS2.esm.min.js +0 -2
  399. package/dist/chunks/harmonicsFunctions-CZvW5nS2.esm.min.js.map +0 -1
  400. package/dist/chunks/harmonicsFunctions-FoyoVJjx.esm.js +0 -35
  401. package/dist/chunks/harmonicsFunctions-FoyoVJjx.esm.js.map +0 -1
  402. package/dist/chunks/harmonicsFunctions-LPFcAay5.esm.min.js +0 -2
  403. package/dist/chunks/harmonicsFunctions-LPFcAay5.esm.min.js.map +0 -1
  404. package/dist/chunks/hdrTextureLoader-BF58jeD4.esm.min.js +0 -2
  405. package/dist/chunks/hdrTextureLoader-BF58jeD4.esm.min.js.map +0 -1
  406. package/dist/chunks/hdrTextureLoader-CnAlxQ46.esm.js +0 -252
  407. package/dist/chunks/hdrTextureLoader-CnAlxQ46.esm.js.map +0 -1
  408. package/dist/chunks/helperFunctions-BHi3ZDnH.esm.js +0 -80
  409. package/dist/chunks/helperFunctions-BHi3ZDnH.esm.js.map +0 -1
  410. package/dist/chunks/helperFunctions-D9QX7d8q.esm.min.js +0 -2
  411. package/dist/chunks/helperFunctions-D9QX7d8q.esm.min.js.map +0 -1
  412. package/dist/chunks/helperFunctions-bapbKVVS.esm.js +0 -108
  413. package/dist/chunks/helperFunctions-bapbKVVS.esm.js.map +0 -1
  414. package/dist/chunks/helperFunctions-hh2B4qDl.esm.min.js +0 -2
  415. package/dist/chunks/helperFunctions-hh2B4qDl.esm.min.js.map +0 -1
  416. package/dist/chunks/index-4QQveomY.esm.js +0 -79813
  417. package/dist/chunks/index-4QQveomY.esm.js.map +0 -1
  418. package/dist/chunks/index-D5606AHu.esm.min.js +0 -57
  419. package/dist/chunks/index-D5606AHu.esm.min.js.map +0 -1
  420. package/dist/chunks/ktxTextureLoader-CxAMFjnh.esm.js +0 -814
  421. package/dist/chunks/ktxTextureLoader-CxAMFjnh.esm.js.map +0 -1
  422. package/dist/chunks/ktxTextureLoader-s0dUXnt8.esm.min.js +0 -2
  423. package/dist/chunks/ktxTextureLoader-s0dUXnt8.esm.min.js.map +0 -1
  424. package/dist/chunks/logDepthDeclaration-BcnqcXJe.esm.js +0 -35
  425. package/dist/chunks/logDepthDeclaration-BcnqcXJe.esm.js.map +0 -1
  426. package/dist/chunks/logDepthDeclaration-CvXtMvcM.esm.js +0 -42
  427. package/dist/chunks/logDepthDeclaration-CvXtMvcM.esm.js.map +0 -1
  428. package/dist/chunks/logDepthDeclaration-cPWsL3PG.esm.min.js +0 -2
  429. package/dist/chunks/logDepthDeclaration-cPWsL3PG.esm.min.js.map +0 -1
  430. package/dist/chunks/logDepthDeclaration-unowpoZK.esm.min.js +0 -2
  431. package/dist/chunks/logDepthDeclaration-unowpoZK.esm.min.js.map +0 -1
  432. package/dist/chunks/logDepthVertex-BrvDYbCP.esm.min.js +0 -2
  433. package/dist/chunks/logDepthVertex-BrvDYbCP.esm.min.js.map +0 -1
  434. package/dist/chunks/logDepthVertex-CUUB4BTI.esm.js +0 -605
  435. package/dist/chunks/logDepthVertex-CUUB4BTI.esm.js.map +0 -1
  436. package/dist/chunks/logDepthVertex-DaNvEIGn.esm.min.js +0 -2
  437. package/dist/chunks/logDepthVertex-DaNvEIGn.esm.min.js.map +0 -1
  438. package/dist/chunks/logDepthVertex-foN2jGvJ.esm.js +0 -77
  439. package/dist/chunks/logDepthVertex-foN2jGvJ.esm.js.map +0 -1
  440. package/dist/chunks/mainUVVaryingDeclaration-DHTqc_aH.esm.js +0 -11
  441. package/dist/chunks/mainUVVaryingDeclaration-DHTqc_aH.esm.js.map +0 -1
  442. package/dist/chunks/mainUVVaryingDeclaration-PFUWfv7o.esm.min.js +0 -2
  443. package/dist/chunks/mainUVVaryingDeclaration-PFUWfv7o.esm.min.js.map +0 -1
  444. package/dist/chunks/objFileLoader-B-uLP26U.esm.min.js +0 -2
  445. package/dist/chunks/objFileLoader-B-uLP26U.esm.min.js.map +0 -1
  446. package/dist/chunks/objFileLoader-Bl2Pzv0o.esm.js +0 -1280
  447. package/dist/chunks/objFileLoader-Bl2Pzv0o.esm.js.map +0 -1
  448. package/dist/chunks/oitFragment-CZShr04f.esm.min.js +0 -2
  449. package/dist/chunks/oitFragment-CZShr04f.esm.min.js.map +0 -1
  450. package/dist/chunks/oitFragment-D3c3Lp9a.esm.js +0 -1210
  451. package/dist/chunks/oitFragment-D3c3Lp9a.esm.js.map +0 -1
  452. package/dist/chunks/oitFragment-D6uOdl_0.esm.min.js +0 -2
  453. package/dist/chunks/oitFragment-D6uOdl_0.esm.min.js.map +0 -1
  454. package/dist/chunks/oitFragment-E27tpA6b.esm.js +0 -1166
  455. package/dist/chunks/oitFragment-E27tpA6b.esm.js.map +0 -1
  456. package/dist/chunks/pass.fragment-CGX8gTNY.esm.js +0 -15
  457. package/dist/chunks/pass.fragment-CGX8gTNY.esm.js.map +0 -1
  458. package/dist/chunks/pass.fragment-DKqeYsmS.esm.min.js +0 -2
  459. package/dist/chunks/pass.fragment-DKqeYsmS.esm.min.js.map +0 -1
  460. package/dist/chunks/pbr.fragment-5XRl6pKm.esm.min.js +0 -2
  461. package/dist/chunks/pbr.fragment-5XRl6pKm.esm.min.js.map +0 -1
  462. package/dist/chunks/pbr.fragment-Cfsv9tFG.esm.js +0 -3172
  463. package/dist/chunks/pbr.fragment-Cfsv9tFG.esm.js.map +0 -1
  464. package/dist/chunks/pbr.fragment-DGBodARG.esm.min.js +0 -2
  465. package/dist/chunks/pbr.fragment-DGBodARG.esm.min.js.map +0 -1
  466. package/dist/chunks/pbr.fragment-IMDXwBnG.esm.js +0 -3228
  467. package/dist/chunks/pbr.fragment-IMDXwBnG.esm.js.map +0 -1
  468. package/dist/chunks/pbr.vertex-B3JKAxfl.esm.min.js +0 -2
  469. package/dist/chunks/pbr.vertex-B3JKAxfl.esm.min.js.map +0 -1
  470. package/dist/chunks/pbr.vertex-CZIasM0q.esm.js +0 -335
  471. package/dist/chunks/pbr.vertex-CZIasM0q.esm.js.map +0 -1
  472. package/dist/chunks/pbr.vertex-CjU0MUM9.esm.min.js +0 -2
  473. package/dist/chunks/pbr.vertex-CjU0MUM9.esm.min.js.map +0 -1
  474. package/dist/chunks/pbr.vertex-h6JyEpaS.esm.js +0 -208
  475. package/dist/chunks/pbr.vertex-h6JyEpaS.esm.js.map +0 -1
  476. package/dist/chunks/postprocess.vertex-B0ei94Dw.esm.min.js +0 -2
  477. package/dist/chunks/postprocess.vertex-B0ei94Dw.esm.min.js.map +0 -1
  478. package/dist/chunks/postprocess.vertex-r5NscKzh.esm.js +0 -20
  479. package/dist/chunks/postprocess.vertex-r5NscKzh.esm.js.map +0 -1
  480. package/dist/chunks/rawTexture-Bmw0auoS.esm.min.js +0 -2
  481. package/dist/chunks/rawTexture-Bmw0auoS.esm.min.js.map +0 -1
  482. package/dist/chunks/rawTexture-CpYqstLv.esm.js +0 -562
  483. package/dist/chunks/rawTexture-CpYqstLv.esm.js.map +0 -1
  484. package/dist/chunks/rgbdDecode.fragment-BBOPxYJO.esm.min.js +0 -2
  485. package/dist/chunks/rgbdDecode.fragment-BBOPxYJO.esm.min.js.map +0 -1
  486. package/dist/chunks/rgbdDecode.fragment-C1mQs3ed.esm.js +0 -17
  487. package/dist/chunks/rgbdDecode.fragment-C1mQs3ed.esm.js.map +0 -1
  488. package/dist/chunks/rgbdDecode.fragment-CaqsSeIW.esm.min.js +0 -2
  489. package/dist/chunks/rgbdDecode.fragment-CaqsSeIW.esm.min.js.map +0 -1
  490. package/dist/chunks/rgbdDecode.fragment-MPQ7knvL.esm.js +0 -17
  491. package/dist/chunks/rgbdDecode.fragment-MPQ7knvL.esm.js.map +0 -1
  492. package/dist/chunks/rgbdEncode.fragment-6EdQiINi.esm.min.js +0 -2
  493. package/dist/chunks/rgbdEncode.fragment-6EdQiINi.esm.min.js.map +0 -1
  494. package/dist/chunks/rgbdEncode.fragment-C-msuzIz.esm.min.js +0 -2
  495. package/dist/chunks/rgbdEncode.fragment-C-msuzIz.esm.min.js.map +0 -1
  496. package/dist/chunks/rgbdEncode.fragment-Wd9cTDxy.esm.js +0 -17
  497. package/dist/chunks/rgbdEncode.fragment-Wd9cTDxy.esm.js.map +0 -1
  498. package/dist/chunks/rgbdEncode.fragment-X-RqQAkc.esm.js +0 -17
  499. package/dist/chunks/rgbdEncode.fragment-X-RqQAkc.esm.js.map +0 -1
  500. package/dist/chunks/splatFileLoader-DQ9jOQE9.esm.min.js +0 -2
  501. package/dist/chunks/splatFileLoader-DQ9jOQE9.esm.min.js.map +0 -1
  502. package/dist/chunks/splatFileLoader-hdSfXVdE.esm.js +0 -3154
  503. package/dist/chunks/splatFileLoader-hdSfXVdE.esm.js.map +0 -1
  504. package/dist/chunks/standardMaterial-Cq-J9fif.esm.min.js +0 -2
  505. package/dist/chunks/standardMaterial-Cq-J9fif.esm.min.js.map +0 -1
  506. package/dist/chunks/standardMaterial-GIGkmsd2.esm.js +0 -1809
  507. package/dist/chunks/standardMaterial-GIGkmsd2.esm.js.map +0 -1
  508. package/dist/chunks/stlFileLoader--AN8pgtb.esm.min.js +0 -2
  509. package/dist/chunks/stlFileLoader--AN8pgtb.esm.min.js.map +0 -1
  510. package/dist/chunks/stlFileLoader-BjJ0Yz5v.esm.js +0 -237
  511. package/dist/chunks/stlFileLoader-BjJ0Yz5v.esm.js.map +0 -1
  512. package/dist/chunks/tgaTextureLoader-B3gQ-Dwh.esm.min.js +0 -2
  513. package/dist/chunks/tgaTextureLoader-B3gQ-Dwh.esm.min.js.map +0 -1
  514. package/dist/chunks/tgaTextureLoader-BmEYbSF8.esm.js +0 -349
  515. package/dist/chunks/tgaTextureLoader-BmEYbSF8.esm.js.map +0 -1
  516. package/dist/chunks/thinInstanceMesh-DLE1cPa9.esm.js +0 -314
  517. package/dist/chunks/thinInstanceMesh-DLE1cPa9.esm.js.map +0 -1
  518. package/dist/chunks/thinInstanceMesh-DgJgeFTD.esm.min.js +0 -2
  519. package/dist/chunks/thinInstanceMesh-DgJgeFTD.esm.min.js.map +0 -1
  520. package/dist/chunks/vertexColorMixing-Dn7oXj03.esm.js +0 -528
  521. package/dist/chunks/vertexColorMixing-Dn7oXj03.esm.js.map +0 -1
  522. package/dist/chunks/vertexColorMixing-cD_XcjBD.esm.min.js +0 -2
  523. package/dist/chunks/vertexColorMixing-cD_XcjBD.esm.min.js.map +0 -1
  524. package/dist/chunks/workerPool-BUOov2K1.esm.js +0 -122
  525. package/dist/chunks/workerPool-BUOov2K1.esm.js.map +0 -1
  526. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js +0 -2
  527. package/dist/chunks/workerPool-BWHiDmEZ.esm.min.js.map +0 -1
  528. package/lib/index.d.ts +0 -275
  529. package/lib/index.js +0 -942
  530. package/lib/index.js.map +0 -1
@@ -1,305 +0,0 @@
1
- import { A as AbstractEngine, az as Observable, I as IsWindowObjectExist, L as Logger } from './index-4QQveomY.esm.js';
2
-
3
- // Sets the default audio engine to Babylon.js
4
- AbstractEngine.AudioEngineFactory = (hostElement, audioContext, audioDestination) => {
5
- return new AudioEngine(hostElement, audioContext, audioDestination);
6
- };
7
- /**
8
- * This represents the default audio engine used in babylon.
9
- * It is responsible to play, synchronize and analyse sounds throughout the application.
10
- * @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic
11
- */
12
- class AudioEngine {
13
- /**
14
- * Gets the current AudioContext if available.
15
- */
16
- get audioContext() {
17
- if (!this._audioContextInitialized) {
18
- this._initializeAudioContext();
19
- }
20
- return this._audioContext;
21
- }
22
- /**
23
- * Instantiates a new audio engine.
24
- *
25
- * There should be only one per page as some browsers restrict the number
26
- * of audio contexts you can create.
27
- * @param hostElement defines the host element where to display the mute icon if necessary
28
- * @param audioContext defines the audio context to be used by the audio engine
29
- * @param audioDestination defines the audio destination node to be used by audio engine
30
- */
31
- constructor(hostElement = null, audioContext = null, audioDestination = null) {
32
- this._audioContext = null;
33
- this._audioContextInitialized = false;
34
- this._muteButton = null;
35
- this._audioDestination = null;
36
- /**
37
- * Gets whether the current host supports Web Audio and thus could create AudioContexts.
38
- */
39
- this.canUseWebAudio = false;
40
- /**
41
- * Defines if Babylon should emit a warning if WebAudio is not supported.
42
- * @ignoreNaming
43
- */
44
- // eslint-disable-next-line @typescript-eslint/naming-convention
45
- this.WarnedWebAudioUnsupported = false;
46
- /**
47
- * Gets whether or not mp3 are supported by your browser.
48
- */
49
- this.isMP3supported = false;
50
- /**
51
- * Gets whether or not ogg are supported by your browser.
52
- */
53
- this.isOGGsupported = false;
54
- /**
55
- * Gets whether audio has been unlocked on the device.
56
- * Some Browsers have strong restrictions about Audio and won't autoplay unless
57
- * a user interaction has happened.
58
- */
59
- this.unlocked = false;
60
- /**
61
- * Defines if the audio engine relies on a custom unlocked button.
62
- * In this case, the embedded button will not be displayed.
63
- */
64
- this.useCustomUnlockedButton = false;
65
- /**
66
- * Event raised when audio has been unlocked on the browser.
67
- */
68
- this.onAudioUnlockedObservable = new Observable();
69
- /**
70
- * Event raised when audio has been locked on the browser.
71
- */
72
- this.onAudioLockedObservable = new Observable();
73
- this._tryToRun = false;
74
- this._onResize = () => {
75
- this._moveButtonToTopLeft();
76
- };
77
- if (!IsWindowObjectExist()) {
78
- return;
79
- }
80
- if (typeof window.AudioContext !== "undefined") {
81
- this.canUseWebAudio = true;
82
- }
83
- const audioElem = document.createElement("audio");
84
- this._hostElement = hostElement;
85
- this._audioContext = audioContext;
86
- this._audioDestination = audioDestination;
87
- try {
88
- if (audioElem &&
89
- !!audioElem.canPlayType &&
90
- (audioElem.canPlayType('audio/mpeg; codecs="mp3"').replace(/^no$/, "") || audioElem.canPlayType("audio/mp3").replace(/^no$/, ""))) {
91
- this.isMP3supported = true;
92
- }
93
- }
94
- catch (e) {
95
- // protect error during capability check.
96
- }
97
- try {
98
- if (audioElem && !!audioElem.canPlayType && audioElem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, "")) {
99
- this.isOGGsupported = true;
100
- }
101
- }
102
- catch (e) {
103
- // protect error during capability check.
104
- }
105
- }
106
- /**
107
- * Flags the audio engine in Locked state.
108
- * This happens due to new browser policies preventing audio to autoplay.
109
- */
110
- lock() {
111
- this._triggerSuspendedState();
112
- }
113
- /**
114
- * Unlocks the audio engine once a user action has been done on the dom.
115
- * This is helpful to resume play once browser policies have been satisfied.
116
- */
117
- unlock() {
118
- if (this._audioContext?.state === "running") {
119
- this._hideMuteButton();
120
- if (!this.unlocked) {
121
- // Notify users that the audio stack is unlocked/unmuted
122
- this.unlocked = true;
123
- this.onAudioUnlockedObservable.notifyObservers(this);
124
- }
125
- return;
126
- }
127
- // On iOS, if the audio context resume request was sent from an event other than a `click` event, then
128
- // the resume promise will never resolve and the only way to get the audio context unstuck is to
129
- // suspend it and make another resume request.
130
- if (this._tryToRun) {
131
- this._audioContext?.suspend().then(() => {
132
- this._tryToRun = false;
133
- this._triggerRunningState();
134
- });
135
- }
136
- else {
137
- this._triggerRunningState();
138
- }
139
- }
140
- /** @internal */
141
- _resumeAudioContextOnStateChange() {
142
- this._audioContext?.addEventListener("statechange", () => {
143
- if (this.unlocked && this._audioContext?.state !== "running") {
144
- this._resumeAudioContext();
145
- }
146
- }, {
147
- once: true,
148
- passive: true,
149
- signal: AbortSignal.timeout(3000),
150
- });
151
- }
152
- _resumeAudioContext() {
153
- if (this._audioContext?.resume) {
154
- return this._audioContext.resume();
155
- }
156
- return Promise.resolve();
157
- }
158
- _initializeAudioContext() {
159
- try {
160
- if (this.canUseWebAudio) {
161
- if (!this._audioContext) {
162
- this._audioContext = new AudioContext();
163
- }
164
- // create a global volume gain node
165
- this.masterGain = this._audioContext.createGain();
166
- this.masterGain.gain.value = 1;
167
- if (!this._audioDestination) {
168
- this._audioDestination = this._audioContext.destination;
169
- }
170
- this.masterGain.connect(this._audioDestination);
171
- this._audioContextInitialized = true;
172
- if (this._audioContext.state === "running") {
173
- // Do not wait for the promise to unlock.
174
- this._triggerRunningState();
175
- }
176
- }
177
- }
178
- catch (e) {
179
- this.canUseWebAudio = false;
180
- Logger.Error("Web Audio: " + e.message);
181
- }
182
- }
183
- _triggerRunningState() {
184
- if (this._tryToRun) {
185
- return;
186
- }
187
- this._tryToRun = true;
188
- this._resumeAudioContext()
189
- .then(() => {
190
- this._tryToRun = false;
191
- if (this._muteButton) {
192
- this._hideMuteButton();
193
- }
194
- // Notify users that the audio stack is unlocked/unmuted
195
- this.unlocked = true;
196
- this.onAudioUnlockedObservable.notifyObservers(this);
197
- })
198
- .catch(() => {
199
- this._tryToRun = false;
200
- this.unlocked = false;
201
- });
202
- }
203
- _triggerSuspendedState() {
204
- this.unlocked = false;
205
- this.onAudioLockedObservable.notifyObservers(this);
206
- this._displayMuteButton();
207
- }
208
- _displayMuteButton() {
209
- if (this.useCustomUnlockedButton || this._muteButton) {
210
- return;
211
- }
212
- this._muteButton = document.createElement("BUTTON");
213
- this._muteButton.className = "babylonUnmuteIcon";
214
- this._muteButton.id = "babylonUnmuteIconBtn";
215
- this._muteButton.title = "Unmute";
216
- const imageUrl = !window.SVGSVGElement
217
- ? "https://cdn.babylonjs.com/Assets/audio.png"
218
- : "data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2239%22%20height%3D%2232%22%20viewBox%3D%220%200%2039%2032%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M9.625%2018.938l-0.031%200.016h-4.953q-0.016%200-0.031-0.016v-12.453q0-0.016%200.031-0.016h4.953q0.031%200%200.031%200.016v12.453zM12.125%207.688l8.719-8.703v27.453l-8.719-8.719-0.016-0.047v-9.938zM23.359%207.875l1.406-1.406%204.219%204.203%204.203-4.203%201.422%201.406-4.219%204.219%204.219%204.203-1.484%201.359-4.141-4.156-4.219%204.219-1.406-1.422%204.219-4.203z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E";
219
- const css = ".babylonUnmuteIcon { position: absolute; left: 20px; top: 20px; height: 40px; width: 60px; background-color: rgba(51,51,51,0.7); background-image: url(" +
220
- imageUrl +
221
- "); background-size: 80%; background-repeat:no-repeat; background-position: center; background-position-y: 4px; border: none; outline: none; transition: transform 0.125s ease-out; cursor: pointer; z-index: 9999; } .babylonUnmuteIcon:hover { transform: scale(1.05) } .babylonUnmuteIcon:active { background-color: rgba(51,51,51,1) }";
222
- const style = document.createElement("style");
223
- style.appendChild(document.createTextNode(css));
224
- document.getElementsByTagName("head")[0].appendChild(style);
225
- document.body.appendChild(this._muteButton);
226
- this._moveButtonToTopLeft();
227
- this._muteButton.addEventListener("touchend", () => {
228
- this._triggerRunningState();
229
- }, true);
230
- this._muteButton.addEventListener("click", () => {
231
- this.unlock();
232
- }, true);
233
- window.addEventListener("resize", this._onResize);
234
- }
235
- _moveButtonToTopLeft() {
236
- if (this._hostElement && this._muteButton) {
237
- this._muteButton.style.top = this._hostElement.offsetTop + 20 + "px";
238
- this._muteButton.style.left = this._hostElement.offsetLeft + 20 + "px";
239
- }
240
- }
241
- _hideMuteButton() {
242
- if (this._muteButton) {
243
- document.body.removeChild(this._muteButton);
244
- this._muteButton = null;
245
- }
246
- }
247
- /**
248
- * Destroy and release the resources associated with the audio context.
249
- */
250
- dispose() {
251
- if (this.canUseWebAudio && this._audioContextInitialized) {
252
- if (this._connectedAnalyser && this._audioContext) {
253
- this._connectedAnalyser.stopDebugCanvas();
254
- this._connectedAnalyser.dispose();
255
- this.masterGain.disconnect();
256
- this.masterGain.connect(this._audioContext.destination);
257
- this._connectedAnalyser = null;
258
- }
259
- this.masterGain.gain.value = 1;
260
- }
261
- this.WarnedWebAudioUnsupported = false;
262
- this._hideMuteButton();
263
- window.removeEventListener("resize", this._onResize);
264
- this.onAudioUnlockedObservable.clear();
265
- this.onAudioLockedObservable.clear();
266
- }
267
- /**
268
- * Gets the global volume sets on the master gain.
269
- * @returns the global volume if set or -1 otherwise
270
- */
271
- getGlobalVolume() {
272
- if (this.canUseWebAudio && this._audioContextInitialized) {
273
- return this.masterGain.gain.value;
274
- }
275
- else {
276
- return -1;
277
- }
278
- }
279
- /**
280
- * Sets the global volume of your experience (sets on the master gain).
281
- * @param newVolume Defines the new global volume of the application
282
- */
283
- setGlobalVolume(newVolume) {
284
- if (this.canUseWebAudio && this._audioContextInitialized) {
285
- this.masterGain.gain.value = newVolume;
286
- }
287
- }
288
- /**
289
- * Connect the audio engine to an audio analyser allowing some amazing
290
- * synchronization between the sounds/music and your visualization (VuMeter for instance).
291
- * @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#using-the-analyser
292
- * @param analyser The analyser to connect to the engine
293
- */
294
- connectToAnalyser(analyser) {
295
- if (this._connectedAnalyser) {
296
- this._connectedAnalyser.stopDebugCanvas();
297
- }
298
- if (this.canUseWebAudio && this._audioContextInitialized && this._audioContext) {
299
- this._connectedAnalyser = analyser;
300
- this.masterGain.disconnect();
301
- this._connectedAnalyser.connectAudioNodes(this.masterGain, this._audioContext.destination);
302
- }
303
- }
304
- }
305
- //# sourceMappingURL=audioEngine-CICNJdfP.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audioEngine-CICNJdfP.esm.js","sources":["../../../../../dev/core/dist/Audio/audioEngine.js"],"sourcesContent":["import { Observable } from \"../Misc/observable\";\nimport { Logger } from \"../Misc/logger\";\nimport { AbstractEngine } from \"../Engines/abstractEngine\";\nimport { IsWindowObjectExist } from \"../Misc/domManagement\";\n// Sets the default audio engine to Babylon.js\nAbstractEngine.AudioEngineFactory = (hostElement, audioContext, audioDestination) => {\n return new AudioEngine(hostElement, audioContext, audioDestination);\n};\n/**\n * This represents the default audio engine used in babylon.\n * It is responsible to play, synchronize and analyse sounds throughout the application.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic\n */\nexport class AudioEngine {\n /**\n * Gets the current AudioContext if available.\n */\n get audioContext() {\n if (!this._audioContextInitialized) {\n this._initializeAudioContext();\n }\n return this._audioContext;\n }\n /**\n * Instantiates a new audio engine.\n *\n * There should be only one per page as some browsers restrict the number\n * of audio contexts you can create.\n * @param hostElement defines the host element where to display the mute icon if necessary\n * @param audioContext defines the audio context to be used by the audio engine\n * @param audioDestination defines the audio destination node to be used by audio engine\n */\n constructor(hostElement = null, audioContext = null, audioDestination = null) {\n this._audioContext = null;\n this._audioContextInitialized = false;\n this._muteButton = null;\n this._audioDestination = null;\n /**\n * Gets whether the current host supports Web Audio and thus could create AudioContexts.\n */\n this.canUseWebAudio = false;\n /**\n * Defines if Babylon should emit a warning if WebAudio is not supported.\n * @ignoreNaming\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n this.WarnedWebAudioUnsupported = false;\n /**\n * Gets whether or not mp3 are supported by your browser.\n */\n this.isMP3supported = false;\n /**\n * Gets whether or not ogg are supported by your browser.\n */\n this.isOGGsupported = false;\n /**\n * Gets whether audio has been unlocked on the device.\n * Some Browsers have strong restrictions about Audio and won't autoplay unless\n * a user interaction has happened.\n */\n this.unlocked = false;\n /**\n * Defines if the audio engine relies on a custom unlocked button.\n * In this case, the embedded button will not be displayed.\n */\n this.useCustomUnlockedButton = false;\n /**\n * Event raised when audio has been unlocked on the browser.\n */\n this.onAudioUnlockedObservable = new Observable();\n /**\n * Event raised when audio has been locked on the browser.\n */\n this.onAudioLockedObservable = new Observable();\n this._tryToRun = false;\n this._onResize = () => {\n this._moveButtonToTopLeft();\n };\n if (!IsWindowObjectExist()) {\n return;\n }\n if (typeof window.AudioContext !== \"undefined\") {\n this.canUseWebAudio = true;\n }\n const audioElem = document.createElement(\"audio\");\n this._hostElement = hostElement;\n this._audioContext = audioContext;\n this._audioDestination = audioDestination;\n try {\n if (audioElem &&\n !!audioElem.canPlayType &&\n (audioElem.canPlayType('audio/mpeg; codecs=\"mp3\"').replace(/^no$/, \"\") || audioElem.canPlayType(\"audio/mp3\").replace(/^no$/, \"\"))) {\n this.isMP3supported = true;\n }\n }\n catch (e) {\n // protect error during capability check.\n }\n try {\n if (audioElem && !!audioElem.canPlayType && audioElem.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, \"\")) {\n this.isOGGsupported = true;\n }\n }\n catch (e) {\n // protect error during capability check.\n }\n }\n /**\n * Flags the audio engine in Locked state.\n * This happens due to new browser policies preventing audio to autoplay.\n */\n lock() {\n this._triggerSuspendedState();\n }\n /**\n * Unlocks the audio engine once a user action has been done on the dom.\n * This is helpful to resume play once browser policies have been satisfied.\n */\n unlock() {\n if (this._audioContext?.state === \"running\") {\n this._hideMuteButton();\n if (!this.unlocked) {\n // Notify users that the audio stack is unlocked/unmuted\n this.unlocked = true;\n this.onAudioUnlockedObservable.notifyObservers(this);\n }\n return;\n }\n // On iOS, if the audio context resume request was sent from an event other than a `click` event, then\n // the resume promise will never resolve and the only way to get the audio context unstuck is to\n // suspend it and make another resume request.\n if (this._tryToRun) {\n this._audioContext?.suspend().then(() => {\n this._tryToRun = false;\n this._triggerRunningState();\n });\n }\n else {\n this._triggerRunningState();\n }\n }\n /** @internal */\n _resumeAudioContextOnStateChange() {\n this._audioContext?.addEventListener(\"statechange\", () => {\n if (this.unlocked && this._audioContext?.state !== \"running\") {\n this._resumeAudioContext();\n }\n }, {\n once: true,\n passive: true,\n signal: AbortSignal.timeout(3000),\n });\n }\n _resumeAudioContext() {\n if (this._audioContext?.resume) {\n return this._audioContext.resume();\n }\n return Promise.resolve();\n }\n _initializeAudioContext() {\n try {\n if (this.canUseWebAudio) {\n if (!this._audioContext) {\n this._audioContext = new AudioContext();\n }\n // create a global volume gain node\n this.masterGain = this._audioContext.createGain();\n this.masterGain.gain.value = 1;\n if (!this._audioDestination) {\n this._audioDestination = this._audioContext.destination;\n }\n this.masterGain.connect(this._audioDestination);\n this._audioContextInitialized = true;\n if (this._audioContext.state === \"running\") {\n // Do not wait for the promise to unlock.\n this._triggerRunningState();\n }\n }\n }\n catch (e) {\n this.canUseWebAudio = false;\n Logger.Error(\"Web Audio: \" + e.message);\n }\n }\n _triggerRunningState() {\n if (this._tryToRun) {\n return;\n }\n this._tryToRun = true;\n this._resumeAudioContext()\n .then(() => {\n this._tryToRun = false;\n if (this._muteButton) {\n this._hideMuteButton();\n }\n // Notify users that the audio stack is unlocked/unmuted\n this.unlocked = true;\n this.onAudioUnlockedObservable.notifyObservers(this);\n })\n .catch(() => {\n this._tryToRun = false;\n this.unlocked = false;\n });\n }\n _triggerSuspendedState() {\n this.unlocked = false;\n this.onAudioLockedObservable.notifyObservers(this);\n this._displayMuteButton();\n }\n _displayMuteButton() {\n if (this.useCustomUnlockedButton || this._muteButton) {\n return;\n }\n this._muteButton = document.createElement(\"BUTTON\");\n this._muteButton.className = \"babylonUnmuteIcon\";\n this._muteButton.id = \"babylonUnmuteIconBtn\";\n this._muteButton.title = \"Unmute\";\n const imageUrl = !window.SVGSVGElement\n ? \"https://cdn.babylonjs.com/Assets/audio.png\"\n : \"data:image/svg+xml;charset=UTF-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2239%22%20height%3D%2232%22%20viewBox%3D%220%200%2039%2032%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M9.625%2018.938l-0.031%200.016h-4.953q-0.016%200-0.031-0.016v-12.453q0-0.016%200.031-0.016h4.953q0.031%200%200.031%200.016v12.453zM12.125%207.688l8.719-8.703v27.453l-8.719-8.719-0.016-0.047v-9.938zM23.359%207.875l1.406-1.406%204.219%204.203%204.203-4.203%201.422%201.406-4.219%204.219%204.219%204.203-1.484%201.359-4.141-4.156-4.219%204.219-1.406-1.422%204.219-4.203z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\";\n const css = \".babylonUnmuteIcon { position: absolute; left: 20px; top: 20px; height: 40px; width: 60px; background-color: rgba(51,51,51,0.7); background-image: url(\" +\n imageUrl +\n \"); background-size: 80%; background-repeat:no-repeat; background-position: center; background-position-y: 4px; border: none; outline: none; transition: transform 0.125s ease-out; cursor: pointer; z-index: 9999; } .babylonUnmuteIcon:hover { transform: scale(1.05) } .babylonUnmuteIcon:active { background-color: rgba(51,51,51,1) }\";\n const style = document.createElement(\"style\");\n style.appendChild(document.createTextNode(css));\n document.getElementsByTagName(\"head\")[0].appendChild(style);\n document.body.appendChild(this._muteButton);\n this._moveButtonToTopLeft();\n this._muteButton.addEventListener(\"touchend\", () => {\n this._triggerRunningState();\n }, true);\n this._muteButton.addEventListener(\"click\", () => {\n this.unlock();\n }, true);\n window.addEventListener(\"resize\", this._onResize);\n }\n _moveButtonToTopLeft() {\n if (this._hostElement && this._muteButton) {\n this._muteButton.style.top = this._hostElement.offsetTop + 20 + \"px\";\n this._muteButton.style.left = this._hostElement.offsetLeft + 20 + \"px\";\n }\n }\n _hideMuteButton() {\n if (this._muteButton) {\n document.body.removeChild(this._muteButton);\n this._muteButton = null;\n }\n }\n /**\n * Destroy and release the resources associated with the audio context.\n */\n dispose() {\n if (this.canUseWebAudio && this._audioContextInitialized) {\n if (this._connectedAnalyser && this._audioContext) {\n this._connectedAnalyser.stopDebugCanvas();\n this._connectedAnalyser.dispose();\n this.masterGain.disconnect();\n this.masterGain.connect(this._audioContext.destination);\n this._connectedAnalyser = null;\n }\n this.masterGain.gain.value = 1;\n }\n this.WarnedWebAudioUnsupported = false;\n this._hideMuteButton();\n window.removeEventListener(\"resize\", this._onResize);\n this.onAudioUnlockedObservable.clear();\n this.onAudioLockedObservable.clear();\n }\n /**\n * Gets the global volume sets on the master gain.\n * @returns the global volume if set or -1 otherwise\n */\n getGlobalVolume() {\n if (this.canUseWebAudio && this._audioContextInitialized) {\n return this.masterGain.gain.value;\n }\n else {\n return -1;\n }\n }\n /**\n * Sets the global volume of your experience (sets on the master gain).\n * @param newVolume Defines the new global volume of the application\n */\n setGlobalVolume(newVolume) {\n if (this.canUseWebAudio && this._audioContextInitialized) {\n this.masterGain.gain.value = newVolume;\n }\n }\n /**\n * Connect the audio engine to an audio analyser allowing some amazing\n * synchronization between the sounds/music and your visualization (VuMeter for instance).\n * @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic#using-the-analyser\n * @param analyser The analyser to connect to the engine\n */\n connectToAnalyser(analyser) {\n if (this._connectedAnalyser) {\n this._connectedAnalyser.stopDebugCanvas();\n }\n if (this.canUseWebAudio && this._audioContextInitialized && this._audioContext) {\n this._connectedAnalyser = analyser;\n this.masterGain.disconnect();\n this._connectedAnalyser.connectAudioNodes(this.masterGain, this._audioContext.destination);\n }\n }\n}\n//# sourceMappingURL=audioEngine.js.map"],"names":[],"mappings":"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"}