@babylonjs/core 5.0.0-alpha.63 → 5.0.0-alpha.64

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 (384) hide show
  1. package/Animations/animation.js +42 -2
  2. package/Animations/animation.js.map +1 -1
  3. package/Animations/animationGroup.d.ts +1 -1
  4. package/Animations/animationGroup.js +1 -1
  5. package/Animations/animationGroup.js.map +1 -1
  6. package/Audio/sound.js +14 -0
  7. package/Audio/sound.js.map +1 -1
  8. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js +1 -1
  9. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js.map +1 -1
  10. package/Cameras/VR/vrExperienceHelper.d.ts +1 -1
  11. package/Cameras/VR/vrExperienceHelper.js +1 -1
  12. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  13. package/DeviceInput/Implementations/{nativeDeviceInputWrapper.d.ts → nativeDeviceInputSystem.d.ts} +5 -21
  14. package/DeviceInput/Implementations/{nativeDeviceInputWrapper.js → nativeDeviceInputSystem.js} +19 -20
  15. package/DeviceInput/Implementations/nativeDeviceInputSystem.js.map +1 -0
  16. package/DeviceInput/Implementations/webDeviceInputSystem.d.ts +7 -20
  17. package/DeviceInput/Implementations/webDeviceInputSystem.js +70 -62
  18. package/DeviceInput/Implementations/webDeviceInputSystem.js.map +1 -1
  19. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -2
  20. package/DeviceInput/InputDevices/deviceSourceManager.js +5 -1
  21. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  22. package/DeviceInput/Interfaces/inputInterfaces.d.ts +6 -13
  23. package/DeviceInput/Interfaces/inputInterfaces.js.map +1 -1
  24. package/DeviceInput/deviceInputSystem.d.ts +49 -5
  25. package/DeviceInput/deviceInputSystem.js +62 -10
  26. package/DeviceInput/deviceInputSystem.js.map +1 -1
  27. package/DeviceInput/index.d.ts +1 -1
  28. package/DeviceInput/index.js +1 -1
  29. package/DeviceInput/index.js.map +1 -1
  30. package/Engines/Extensions/engine.views.d.ts +1 -1
  31. package/Engines/Extensions/engine.views.js +1 -1
  32. package/Engines/Extensions/engine.views.js.map +1 -1
  33. package/Engines/Processors/iShaderProcessor.d.ts +1 -1
  34. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  35. package/Engines/Processors/shaderProcessingOptions.d.ts +5 -0
  36. package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
  37. package/Engines/Processors/shaderProcessor.js +8 -2
  38. package/Engines/Processors/shaderProcessor.js.map +1 -1
  39. package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
  40. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  41. package/Engines/WebGPU/webgpuCacheBindGroups.js +3 -3
  42. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  43. package/Engines/WebGPU/webgpuClearQuad.js +17 -8
  44. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  45. package/Engines/WebGPU/webgpuComputeContext.js +2 -2
  46. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  47. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +2 -1
  48. package/Engines/WebGPU/webgpuHardwareTexture.js +10 -1
  49. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  50. package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -0
  51. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  52. package/Engines/WebGPU/webgpuShaderProcessor.d.ts +2 -0
  53. package/Engines/WebGPU/webgpuShaderProcessor.js +23 -0
  54. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  55. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -0
  56. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +17 -1
  57. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  58. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -2
  59. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +10 -29
  60. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  61. package/Engines/WebGPU/webgpuTextureHelper.js +4 -3
  62. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  63. package/Engines/engine.d.ts +63 -6
  64. package/Engines/engine.js.map +1 -1
  65. package/Engines/nativeEngine.js +3 -7
  66. package/Engines/nativeEngine.js.map +1 -1
  67. package/Engines/thinEngine.js +2 -2
  68. package/Engines/thinEngine.js.map +1 -1
  69. package/Engines/webgpuEngine.d.ts +5 -13
  70. package/Engines/webgpuEngine.js +18 -55
  71. package/Engines/webgpuEngine.js.map +1 -1
  72. package/Gizmos/positionGizmo.js +1 -1
  73. package/Gizmos/positionGizmo.js.map +1 -1
  74. package/Inputs/scene.inputManager.js +1 -1
  75. package/Inputs/scene.inputManager.js.map +1 -1
  76. package/Layers/highlightLayer.js +2 -0
  77. package/Layers/highlightLayer.js.map +1 -1
  78. package/Loading/Plugins/babylonFileLoader.js +3 -0
  79. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  80. package/Materials/Node/Blocks/customBlock.js +3 -3
  81. package/Materials/Node/Blocks/customBlock.js.map +1 -1
  82. package/Materials/Node/nodeMaterial.js +8 -0
  83. package/Materials/Node/nodeMaterial.js.map +1 -1
  84. package/Materials/Node/nodeMaterialBlock.js +1 -1
  85. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  86. package/Materials/PBR/index.d.ts +4 -0
  87. package/Materials/PBR/index.js +4 -0
  88. package/Materials/PBR/index.js.map +1 -1
  89. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +28 -96
  90. package/Materials/PBR/pbrAnisotropicConfiguration.js +50 -111
  91. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  92. package/Materials/PBR/pbrBRDFConfiguration.d.ts +11 -37
  93. package/Materials/PBR/pbrBRDFConfiguration.js +39 -52
  94. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  95. package/Materials/PBR/pbrBaseMaterial.d.ts +15 -74
  96. package/Materials/PBR/pbrBaseMaterial.js +66 -181
  97. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  98. package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
  99. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +23 -98
  100. package/Materials/PBR/pbrClearCoatConfiguration.js +91 -143
  101. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  102. package/Materials/PBR/pbrSheenConfiguration.d.ts +25 -93
  103. package/Materials/PBR/pbrSheenConfiguration.js +71 -126
  104. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  105. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +28 -114
  106. package/Materials/PBR/pbrSubSurfaceConfiguration.js +150 -211
  107. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  108. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  109. package/Materials/Textures/dynamicTexture.js +1 -1
  110. package/Materials/Textures/dynamicTexture.js.map +1 -1
  111. package/Materials/Textures/videoTexture.d.ts +1 -1
  112. package/Materials/Textures/videoTexture.js +1 -1
  113. package/Materials/Textures/videoTexture.js.map +1 -1
  114. package/Materials/effect.d.ts +6 -1
  115. package/Materials/effect.js +4 -1
  116. package/Materials/effect.js.map +1 -1
  117. package/Materials/fresnelParameters.d.ts +1 -1
  118. package/Materials/fresnelParameters.js +1 -1
  119. package/Materials/fresnelParameters.js.map +1 -1
  120. package/Materials/index.d.ts +4 -0
  121. package/Materials/index.js +4 -0
  122. package/Materials/index.js.map +1 -1
  123. package/Materials/material.d.ts +43 -2
  124. package/Materials/material.detailMapConfiguration.d.ts +29 -87
  125. package/Materials/material.detailMapConfiguration.js +50 -106
  126. package/Materials/material.detailMapConfiguration.js.map +1 -1
  127. package/Materials/material.js +99 -8
  128. package/Materials/material.js.map +1 -1
  129. package/Materials/materialDefines.d.ts +16 -0
  130. package/Materials/materialDefines.js +17 -5
  131. package/Materials/materialDefines.js.map +1 -1
  132. package/Materials/materialPluginBase.d.ts +182 -0
  133. package/Materials/materialPluginBase.js +209 -0
  134. package/Materials/materialPluginBase.js.map +1 -0
  135. package/Materials/materialPluginEvent.d.ts +98 -0
  136. package/Materials/materialPluginEvent.js +21 -0
  137. package/Materials/materialPluginEvent.js.map +1 -0
  138. package/Materials/materialPluginFactoryExport.d.ts +40 -0
  139. package/Materials/materialPluginFactoryExport.js +75 -0
  140. package/Materials/materialPluginFactoryExport.js.map +1 -0
  141. package/Materials/materialPluginManager.d.ts +90 -0
  142. package/Materials/materialPluginManager.js +323 -0
  143. package/Materials/materialPluginManager.js.map +1 -0
  144. package/Materials/shaderMaterial.d.ts +1 -1
  145. package/Materials/shaderMaterial.js +1 -1
  146. package/Materials/shaderMaterial.js.map +1 -1
  147. package/Materials/standardMaterial.d.ts +13 -10
  148. package/Materials/standardMaterial.js +44 -50
  149. package/Materials/standardMaterial.js.map +1 -1
  150. package/Meshes/Builders/capsuleBuilder.d.ts +1 -1
  151. package/Meshes/Builders/capsuleBuilder.js +1 -1
  152. package/Meshes/Builders/capsuleBuilder.js.map +1 -1
  153. package/Meshes/abstractMesh.d.ts +1 -1
  154. package/Meshes/abstractMesh.js +1 -1
  155. package/Meshes/abstractMesh.js.map +1 -1
  156. package/Meshes/linesMesh.d.ts +1 -1
  157. package/Meshes/linesMesh.js +3 -2
  158. package/Meshes/linesMesh.js.map +1 -1
  159. package/Meshes/mesh.lts.d.ts +8 -8
  160. package/Meshes/mesh.lts.js.map +1 -1
  161. package/Meshes/mesh.vertexData.js.map +1 -1
  162. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.d.ts +1 -1
  163. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +25 -25
  164. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
  165. package/Misc/PerformanceViewer/performanceViewerCollector.d.ts +11 -1
  166. package/Misc/PerformanceViewer/performanceViewerCollector.js +30 -8
  167. package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
  168. package/Misc/coroutine.d.ts +2 -6
  169. package/Misc/coroutine.js.map +1 -1
  170. package/Misc/sceneSerializer.js +1 -0
  171. package/Misc/sceneSerializer.js.map +1 -1
  172. package/Particles/particleSystem.js +3 -0
  173. package/Particles/particleSystem.js.map +1 -1
  174. package/Rendering/depthPeelingRenderer.d.ts +4 -1
  175. package/Rendering/depthPeelingRenderer.js +34 -9
  176. package/Rendering/depthPeelingRenderer.js.map +1 -1
  177. package/Rendering/renderingGroup.js +5 -1
  178. package/Rendering/renderingGroup.js.map +1 -1
  179. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
  180. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
  181. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  182. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  183. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
  184. package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
  185. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
  186. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  187. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  188. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  189. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  190. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  191. package/Shaders/anaglyph.fragment.js +1 -1
  192. package/Shaders/anaglyph.fragment.js.map +1 -1
  193. package/Shaders/background.fragment.js +1 -1
  194. package/Shaders/background.fragment.js.map +1 -1
  195. package/Shaders/background.vertex.js +1 -1
  196. package/Shaders/background.vertex.js.map +1 -1
  197. package/Shaders/blackAndWhite.fragment.js +1 -1
  198. package/Shaders/blackAndWhite.fragment.js.map +1 -1
  199. package/Shaders/bloomMerge.fragment.js +1 -1
  200. package/Shaders/bloomMerge.fragment.js.map +1 -1
  201. package/Shaders/blur.fragment.js +1 -1
  202. package/Shaders/blur.fragment.js.map +1 -1
  203. package/Shaders/boundingBoxRenderer.fragment.js +1 -1
  204. package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
  205. package/Shaders/boundingBoxRenderer.vertex.js +1 -1
  206. package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
  207. package/Shaders/chromaticAberration.fragment.js +1 -1
  208. package/Shaders/chromaticAberration.fragment.js.map +1 -1
  209. package/Shaders/circleOfConfusion.fragment.js +1 -1
  210. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  211. package/Shaders/clearQuad.vertex.js +1 -1
  212. package/Shaders/clearQuad.vertex.js.map +1 -1
  213. package/Shaders/color.fragment.js +1 -1
  214. package/Shaders/color.fragment.js.map +1 -1
  215. package/Shaders/color.vertex.js +1 -1
  216. package/Shaders/color.vertex.js.map +1 -1
  217. package/Shaders/colorCorrection.fragment.js +1 -1
  218. package/Shaders/colorCorrection.fragment.js.map +1 -1
  219. package/Shaders/convolution.fragment.js +1 -1
  220. package/Shaders/convolution.fragment.js.map +1 -1
  221. package/Shaders/default.fragment.js +1 -1
  222. package/Shaders/default.fragment.js.map +1 -1
  223. package/Shaders/depth.fragment.js +1 -1
  224. package/Shaders/depth.fragment.js.map +1 -1
  225. package/Shaders/depth.vertex.js +1 -1
  226. package/Shaders/depth.vertex.js.map +1 -1
  227. package/Shaders/depthBoxBlur.fragment.js +1 -1
  228. package/Shaders/depthBoxBlur.fragment.js.map +1 -1
  229. package/Shaders/depthOfField.fragment.js +1 -1
  230. package/Shaders/depthOfField.fragment.js.map +1 -1
  231. package/Shaders/depthOfFieldMerge.fragment.js +1 -1
  232. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  233. package/Shaders/displayPass.fragment.js +1 -1
  234. package/Shaders/displayPass.fragment.js.map +1 -1
  235. package/Shaders/extractHighlights.fragment.js +1 -1
  236. package/Shaders/extractHighlights.fragment.js.map +1 -1
  237. package/Shaders/filter.fragment.js +1 -1
  238. package/Shaders/filter.fragment.js.map +1 -1
  239. package/Shaders/fxaa.vertex.js +1 -1
  240. package/Shaders/fxaa.vertex.js.map +1 -1
  241. package/Shaders/geometry.vertex.js +1 -1
  242. package/Shaders/geometry.vertex.js.map +1 -1
  243. package/Shaders/glowBlurPostProcess.fragment.js +1 -1
  244. package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
  245. package/Shaders/glowMapGeneration.fragment.js +1 -1
  246. package/Shaders/glowMapGeneration.fragment.js.map +1 -1
  247. package/Shaders/glowMapGeneration.vertex.js +1 -1
  248. package/Shaders/glowMapGeneration.vertex.js.map +1 -1
  249. package/Shaders/glowMapMerge.fragment.js +1 -1
  250. package/Shaders/glowMapMerge.fragment.js.map +1 -1
  251. package/Shaders/glowMapMerge.vertex.js +1 -1
  252. package/Shaders/glowMapMerge.vertex.js.map +1 -1
  253. package/Shaders/grain.fragment.js +1 -1
  254. package/Shaders/grain.fragment.js.map +1 -1
  255. package/Shaders/hdrFiltering.vertex.js +1 -1
  256. package/Shaders/hdrFiltering.vertex.js.map +1 -1
  257. package/Shaders/highlights.fragment.js +1 -1
  258. package/Shaders/highlights.fragment.js.map +1 -1
  259. package/Shaders/imageProcessing.fragment.js +1 -1
  260. package/Shaders/imageProcessing.fragment.js.map +1 -1
  261. package/Shaders/kernelBlur.fragment.js +1 -1
  262. package/Shaders/kernelBlur.fragment.js.map +1 -1
  263. package/Shaders/kernelBlur.vertex.js +1 -1
  264. package/Shaders/kernelBlur.vertex.js.map +1 -1
  265. package/Shaders/layer.fragment.js +1 -1
  266. package/Shaders/layer.fragment.js.map +1 -1
  267. package/Shaders/layer.vertex.js +1 -1
  268. package/Shaders/layer.vertex.js.map +1 -1
  269. package/Shaders/lensFlare.fragment.js +1 -1
  270. package/Shaders/lensFlare.fragment.js.map +1 -1
  271. package/Shaders/lensFlare.vertex.js +1 -1
  272. package/Shaders/lensFlare.vertex.js.map +1 -1
  273. package/Shaders/lensHighlights.fragment.js +1 -1
  274. package/Shaders/lensHighlights.fragment.js.map +1 -1
  275. package/Shaders/line.fragment.js +1 -1
  276. package/Shaders/line.fragment.js.map +1 -1
  277. package/Shaders/line.vertex.js +1 -1
  278. package/Shaders/line.vertex.js.map +1 -1
  279. package/Shaders/minmaxRedux.fragment.js +1 -1
  280. package/Shaders/minmaxRedux.fragment.js.map +1 -1
  281. package/Shaders/motionBlur.fragment.js +1 -1
  282. package/Shaders/motionBlur.fragment.js.map +1 -1
  283. package/Shaders/noise.fragment.js +1 -1
  284. package/Shaders/noise.fragment.js.map +1 -1
  285. package/Shaders/outline.fragment.js +1 -1
  286. package/Shaders/outline.fragment.js.map +1 -1
  287. package/Shaders/outline.vertex.js +1 -1
  288. package/Shaders/outline.vertex.js.map +1 -1
  289. package/Shaders/particles.fragment.js +1 -1
  290. package/Shaders/particles.fragment.js.map +1 -1
  291. package/Shaders/particles.vertex.js +1 -1
  292. package/Shaders/particles.vertex.js.map +1 -1
  293. package/Shaders/pass.fragment.js +1 -1
  294. package/Shaders/pass.fragment.js.map +1 -1
  295. package/Shaders/passCube.fragment.js +1 -1
  296. package/Shaders/passCube.fragment.js.map +1 -1
  297. package/Shaders/pbr.fragment.js +1 -1
  298. package/Shaders/pbr.fragment.js.map +1 -1
  299. package/Shaders/postprocess.vertex.js +1 -1
  300. package/Shaders/postprocess.vertex.js.map +1 -1
  301. package/Shaders/procedural.vertex.js +1 -1
  302. package/Shaders/procedural.vertex.js.map +1 -1
  303. package/Shaders/rgbdDecode.fragment.js +1 -1
  304. package/Shaders/rgbdDecode.fragment.js.map +1 -1
  305. package/Shaders/rgbdEncode.fragment.js +1 -1
  306. package/Shaders/rgbdEncode.fragment.js.map +1 -1
  307. package/Shaders/screenSpaceCurvature.fragment.js +1 -1
  308. package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
  309. package/Shaders/shadowMap.fragment.js +1 -1
  310. package/Shaders/shadowMap.fragment.js.map +1 -1
  311. package/Shaders/shadowMap.vertex.js +1 -1
  312. package/Shaders/shadowMap.vertex.js.map +1 -1
  313. package/Shaders/sharpen.fragment.js +1 -1
  314. package/Shaders/sharpen.fragment.js.map +1 -1
  315. package/Shaders/sprites.fragment.js +1 -1
  316. package/Shaders/sprites.fragment.js.map +1 -1
  317. package/Shaders/sprites.vertex.js +1 -1
  318. package/Shaders/sprites.vertex.js.map +1 -1
  319. package/Shaders/ssaoCombine.fragment.js +1 -1
  320. package/Shaders/ssaoCombine.fragment.js.map +1 -1
  321. package/Shaders/standard.fragment.js +1 -1
  322. package/Shaders/standard.fragment.js.map +1 -1
  323. package/Shaders/stereoscopicInterlace.fragment.js +1 -1
  324. package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
  325. package/Shaders/subSurfaceScattering.fragment.js +1 -1
  326. package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
  327. package/Shaders/tonemap.fragment.js +1 -1
  328. package/Shaders/tonemap.fragment.js.map +1 -1
  329. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  330. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  331. package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
  332. package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
  333. package/Shaders/volumetricLightScatteringPass.vertex.js +1 -1
  334. package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
  335. package/Shaders/vrDistortionCorrection.fragment.js +1 -1
  336. package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
  337. package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
  338. package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
  339. package/XR/features/WebXRHandTracking.d.ts +2 -0
  340. package/XR/features/WebXRHandTracking.js +34 -14
  341. package/XR/features/WebXRHandTracking.js.map +1 -1
  342. package/XR/features/WebXRLayers.d.ts +78 -0
  343. package/XR/features/WebXRLayers.js +243 -0
  344. package/XR/features/WebXRLayers.js.map +1 -0
  345. package/XR/features/WebXRPlaneDetector.js +8 -12
  346. package/XR/features/WebXRPlaneDetector.js.map +1 -1
  347. package/XR/features/index.d.ts +1 -0
  348. package/XR/features/index.js +1 -0
  349. package/XR/features/index.js.map +1 -1
  350. package/XR/native/index.d.ts +1 -0
  351. package/XR/native/index.js +2 -0
  352. package/XR/native/index.js.map +1 -0
  353. package/XR/native/nativeXRRenderTarget.d.ts +44 -0
  354. package/XR/native/nativeXRRenderTarget.js +81 -0
  355. package/XR/native/nativeXRRenderTarget.js.map +1 -0
  356. package/XR/webXRCamera.js +2 -10
  357. package/XR/webXRCamera.js.map +1 -1
  358. package/XR/webXRExperienceHelper.js +15 -13
  359. package/XR/webXRExperienceHelper.js.map +1 -1
  360. package/XR/webXRFeaturesManager.d.ts +4 -0
  361. package/XR/webXRFeaturesManager.js +4 -0
  362. package/XR/webXRFeaturesManager.js.map +1 -1
  363. package/XR/webXRLayerWrapper.d.ts +48 -0
  364. package/XR/webXRLayerWrapper.js +60 -0
  365. package/XR/webXRLayerWrapper.js.map +1 -0
  366. package/XR/webXRManagedOutputCanvas.d.ts +2 -1
  367. package/XR/webXRManagedOutputCanvas.js +36 -29
  368. package/XR/webXRManagedOutputCanvas.js.map +1 -1
  369. package/XR/webXRRenderTargetTextureProvider.d.ts +55 -0
  370. package/XR/webXRRenderTargetTextureProvider.js +63 -0
  371. package/XR/webXRRenderTargetTextureProvider.js.map +1 -0
  372. package/XR/webXRSessionManager.d.ts +30 -7
  373. package/XR/webXRSessionManager.js +62 -64
  374. package/XR/webXRSessionManager.js.map +1 -1
  375. package/XR/webXRTypes.d.ts +1 -1
  376. package/XR/webXRTypes.js.map +1 -1
  377. package/XR/webXRWebGLLayer.d.ts +36 -0
  378. package/XR/webXRWebGLLayer.js +69 -0
  379. package/XR/webXRWebGLLayer.js.map +1 -0
  380. package/abstractScene.d.ts +1 -1
  381. package/abstractScene.js +1 -1
  382. package/abstractScene.js.map +1 -1
  383. package/package.json +35 -5
  384. package/DeviceInput/Implementations/nativeDeviceInputWrapper.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ import { RenderTargetTexture } from "../Materials/Textures/renderTargetTexture";
2
+ import { Viewport } from "../Maths/math.viewport";
3
+ import { Scene } from "../scene";
4
+ import { Nullable } from "../types";
5
+ import { WebXRLayerWrapper } from "./webXRLayerWrapper";
6
+ import { WebXRLayerRenderTargetTextureProvider } from "./webXRRenderTargetTextureProvider";
7
+ /**
8
+ * Wraps xr webgl layers.
9
+ * @hidden
10
+ */
11
+ export declare class WebXRWebGLLayerWrapper extends WebXRLayerWrapper {
12
+ readonly layer: XRWebGLLayer;
13
+ /**
14
+ * @param layer is the layer to be wrapped.
15
+ * @returns a new WebXRLayerWrapper wrapping the provided XRWebGLLayer.
16
+ */
17
+ constructor(layer: XRWebGLLayer);
18
+ }
19
+ /**
20
+ * Provides render target textures and other important rendering information for a given XRWebGLLayer.
21
+ * @hidden
22
+ */
23
+ export declare class WebXRWebGLLayerRenderTargetTextureProvider extends WebXRLayerRenderTargetTextureProvider {
24
+ readonly layerWrapper: WebXRWebGLLayerWrapper;
25
+ protected _framebufferDimensions: {
26
+ framebufferWidth: number;
27
+ framebufferHeight: number;
28
+ };
29
+ private _rtt;
30
+ private _framebuffer;
31
+ private _layer;
32
+ constructor(scene: Scene, layerWrapper: WebXRWebGLLayerWrapper);
33
+ trySetViewportForView(viewport: Viewport, view: XRView): boolean;
34
+ getRenderTargetTextureForEye(eye: XREye): Nullable<RenderTargetTexture>;
35
+ getRenderTargetTextureForView(view: XRView): Nullable<RenderTargetTexture>;
36
+ }
@@ -0,0 +1,69 @@
1
+ import { __extends } from "tslib";
2
+ import { WebXRLayerWrapper } from "./webXRLayerWrapper.js";
3
+ import { WebXRLayerRenderTargetTextureProvider } from "./webXRRenderTargetTextureProvider.js";
4
+ /**
5
+ * Wraps xr webgl layers.
6
+ * @hidden
7
+ */
8
+ var WebXRWebGLLayerWrapper = /** @class */ (function (_super) {
9
+ __extends(WebXRWebGLLayerWrapper, _super);
10
+ /**
11
+ * @param layer is the layer to be wrapped.
12
+ * @returns a new WebXRLayerWrapper wrapping the provided XRWebGLLayer.
13
+ */
14
+ function WebXRWebGLLayerWrapper(layer) {
15
+ var _this = _super.call(this, function () { return layer.framebufferWidth; }, function () { return layer.framebufferHeight; }, layer, 'XRWebGLLayer', function (sessionManager) { return new WebXRWebGLLayerRenderTargetTextureProvider(sessionManager.scene, _this); }) || this;
16
+ _this.layer = layer;
17
+ return _this;
18
+ }
19
+ return WebXRWebGLLayerWrapper;
20
+ }(WebXRLayerWrapper));
21
+ export { WebXRWebGLLayerWrapper };
22
+ /**
23
+ * Provides render target textures and other important rendering information for a given XRWebGLLayer.
24
+ * @hidden
25
+ */
26
+ var WebXRWebGLLayerRenderTargetTextureProvider = /** @class */ (function (_super) {
27
+ __extends(WebXRWebGLLayerRenderTargetTextureProvider, _super);
28
+ function WebXRWebGLLayerRenderTargetTextureProvider(scene, layerWrapper) {
29
+ var _this = _super.call(this, scene, layerWrapper) || this;
30
+ _this.layerWrapper = layerWrapper;
31
+ _this._layer = layerWrapper.layer;
32
+ _this._framebufferDimensions = {
33
+ framebufferWidth: _this._layer.framebufferWidth,
34
+ framebufferHeight: _this._layer.framebufferHeight
35
+ };
36
+ return _this;
37
+ }
38
+ WebXRWebGLLayerRenderTargetTextureProvider.prototype.trySetViewportForView = function (viewport, view) {
39
+ var xrViewport = this._layer.getViewport(view);
40
+ var framebufferWidth = this._framebufferDimensions.framebufferWidth;
41
+ var framebufferHeight = this._framebufferDimensions.framebufferHeight;
42
+ viewport.x = xrViewport.x / framebufferWidth;
43
+ viewport.y = xrViewport.y / framebufferHeight;
44
+ viewport.width = xrViewport.width / framebufferWidth;
45
+ viewport.height = xrViewport.height / framebufferHeight;
46
+ return true;
47
+ };
48
+ WebXRWebGLLayerRenderTargetTextureProvider.prototype.getRenderTargetTextureForEye = function (eye) {
49
+ var layerWidth = this._layer.framebufferWidth;
50
+ var layerHeight = this._layer.framebufferHeight;
51
+ var framebuffer = this._layer.framebuffer;
52
+ if (!this._rtt ||
53
+ layerWidth !== this._framebufferDimensions.framebufferWidth ||
54
+ layerHeight !== this._framebufferDimensions.framebufferHeight ||
55
+ framebuffer !== this._framebuffer) {
56
+ this._rtt = this._createRenderTargetTexture(layerWidth, layerHeight, framebuffer);
57
+ this._framebufferDimensions.framebufferWidth = layerWidth;
58
+ this._framebufferDimensions.framebufferHeight = layerHeight;
59
+ this._framebuffer = framebuffer;
60
+ }
61
+ return this._rtt;
62
+ };
63
+ WebXRWebGLLayerRenderTargetTextureProvider.prototype.getRenderTargetTextureForView = function (view) {
64
+ return this.getRenderTargetTextureForEye(view.eye);
65
+ };
66
+ return WebXRWebGLLayerRenderTargetTextureProvider;
67
+ }(WebXRLayerRenderTargetTextureProvider));
68
+ export { WebXRWebGLLayerRenderTargetTextureProvider };
69
+ //# sourceMappingURL=webXRWebGLLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webXRWebGLLayer.js","sourceRoot":"","sources":["../../../sourceES6/core/XR/webXRWebGLLayer.ts"],"names":[],"mappings":"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","sourcesContent":["import { RenderTargetTexture } from \"../Materials/Textures/renderTargetTexture\";\r\nimport { Viewport } from \"../Maths/math.viewport\";\r\nimport { Scene } from \"../scene\";\r\nimport { Nullable } from \"../types\";\r\nimport { WebXRLayerWrapper } from \"./webXRLayerWrapper\";\r\nimport { WebXRLayerRenderTargetTextureProvider } from \"./webXRRenderTargetTextureProvider\";\r\n\r\n/**\r\n * Wraps xr webgl layers.\r\n * @hidden\r\n */\r\n export class WebXRWebGLLayerWrapper extends WebXRLayerWrapper {\r\n /**\r\n * @param layer is the layer to be wrapped.\r\n * @returns a new WebXRLayerWrapper wrapping the provided XRWebGLLayer.\r\n */\r\n constructor(public readonly layer: XRWebGLLayer) {\r\n super(\r\n () => layer.framebufferWidth,\r\n () => layer.framebufferHeight,\r\n layer,\r\n 'XRWebGLLayer',\r\n (sessionManager) => new WebXRWebGLLayerRenderTargetTextureProvider(sessionManager.scene, this));\r\n }\r\n}\r\n\r\n/**\r\n * Provides render target textures and other important rendering information for a given XRWebGLLayer.\r\n * @hidden\r\n */\r\nexport class WebXRWebGLLayerRenderTargetTextureProvider extends WebXRLayerRenderTargetTextureProvider {\r\n // The dimensions will always be defined in this class.\r\n protected _framebufferDimensions: { framebufferWidth: number, framebufferHeight: number };\r\n private _rtt: Nullable<RenderTargetTexture>;\r\n private _framebuffer: WebGLFramebuffer;\r\n private _layer: XRWebGLLayer;\r\n\r\n constructor(scene: Scene, public readonly layerWrapper: WebXRWebGLLayerWrapper) {\r\n super(scene, layerWrapper);\r\n this._layer = layerWrapper.layer;\r\n this._framebufferDimensions = {\r\n framebufferWidth: this._layer.framebufferWidth,\r\n framebufferHeight: this._layer.framebufferHeight\r\n };\r\n }\r\n\r\n public trySetViewportForView(viewport: Viewport, view: XRView): boolean {\r\n const xrViewport = this._layer.getViewport(view);\r\n const framebufferWidth = this._framebufferDimensions.framebufferWidth;\r\n const framebufferHeight = this._framebufferDimensions.framebufferHeight;\r\n viewport.x = xrViewport.x / framebufferWidth;\r\n viewport.y = xrViewport.y / framebufferHeight;\r\n viewport.width = xrViewport.width / framebufferWidth;\r\n viewport.height = xrViewport.height / framebufferHeight;\r\n return true;\r\n }\r\n\r\n public getRenderTargetTextureForEye(eye: XREye): Nullable<RenderTargetTexture> {\r\n const layerWidth = this._layer.framebufferWidth;\r\n const layerHeight = this._layer.framebufferHeight;\r\n const framebuffer = this._layer.framebuffer;\r\n\r\n if (!this._rtt ||\r\n layerWidth !== this._framebufferDimensions.framebufferWidth ||\r\n layerHeight !== this._framebufferDimensions.framebufferHeight ||\r\n framebuffer !== this._framebuffer) {\r\n this._rtt = this._createRenderTargetTexture(layerWidth, layerHeight, framebuffer);\r\n this._framebufferDimensions.framebufferWidth = layerWidth;\r\n this._framebufferDimensions.framebufferHeight = layerHeight;\r\n this._framebuffer = framebuffer;\r\n }\r\n\r\n return this._rtt;\r\n }\r\n\r\n public getRenderTargetTextureForView(view: XRView): Nullable<RenderTargetTexture> {\r\n return this.getRenderTargetTextureForEye(view.eye);\r\n }\r\n}"]}
@@ -105,7 +105,7 @@ export declare abstract class AbstractScene {
105
105
  animations: Animation[];
106
106
  /**
107
107
  * All of the animation groups added to this scene
108
- * @see https://doc.babylonjs.com/how_to/group
108
+ * @see https://doc.babylonjs.com/divingDeeper/animation/groupAnimations
109
109
  */
110
110
  animationGroups: AnimationGroup[];
111
111
  /**
package/abstractScene.js CHANGED
@@ -38,7 +38,7 @@ var AbstractScene = /** @class */ (function () {
38
38
  this.animations = [];
39
39
  /**
40
40
  * All of the animation groups added to this scene
41
- * @see https://doc.babylonjs.com/how_to/group
41
+ * @see https://doc.babylonjs.com/divingDeeper/animation/groupAnimations
42
42
  */
43
43
  this.animationGroups = new Array();
44
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"abstractScene.js","sourceRoot":"","sources":["../../sourceES6/core/abstractScene.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scene } from \"./scene\";\r\nimport { Nullable } from \"./types\";\r\nimport { AbstractMesh } from \"./Meshes/abstractMesh\";\r\nimport { TransformNode } from \"./Meshes/transformNode\";\r\nimport { Geometry } from \"./Meshes/geometry\";\r\nimport { Skeleton } from \"./Bones/skeleton\";\r\nimport { MorphTargetManager } from \"./Morph/morphTargetManager\";\r\nimport { AssetContainer } from \"./assetContainer\";\r\nimport { IParticleSystem } from \"./Particles/IParticleSystem\";\r\nimport { AnimationGroup } from \"./Animations/animationGroup\";\r\nimport { BaseTexture } from \"./Materials/Textures/baseTexture\";\r\nimport { Material } from \"./Materials/material\";\r\nimport { MultiMaterial } from \"./Materials/multiMaterial\";\r\nimport { AbstractActionManager } from \"./Actions/abstractActionManager\";\r\nimport { Camera } from \"./Cameras/camera\";\r\nimport { Light } from \"./Lights/light\";\r\nimport { Node } from \"./node\";\r\n\r\ndeclare type Animation = import(\"./Animations/animation\").Animation;\r\ndeclare type PostProcess = import(\"./PostProcesses/postProcess\").PostProcess;\r\n\r\n/**\r\n * Defines how the parser contract is defined.\r\n * These parsers are used to parse a list of specific assets (like particle systems, etc..)\r\n */\r\nexport type BabylonFileParser = (parsedData: any, scene: Scene, container: AssetContainer, rootUrl: string) => void;\r\n\r\n/**\r\n * Defines how the individual parser contract is defined.\r\n * These parser can parse an individual asset\r\n */\r\nexport type IndividualBabylonFileParser = (parsedData: any, scene: Scene, rootUrl: string) => any;\r\n\r\n/**\r\n * Base class of the scene acting as a container for the different elements composing a scene.\r\n * This class is dynamically extended by the different components of the scene increasing\r\n * flexibility and reducing coupling\r\n */\r\nexport abstract class AbstractScene {\r\n /**\r\n * Stores the list of available parsers in the application.\r\n */\r\n private static _BabylonFileParsers: { [key: string]: BabylonFileParser } = {};\r\n\r\n /**\r\n * Stores the list of available individual parsers in the application.\r\n */\r\n private static _IndividualBabylonFileParsers: { [key: string]: IndividualBabylonFileParser } = {};\r\n\r\n /**\r\n * Adds a parser in the list of available ones\r\n * @param name Defines the name of the parser\r\n * @param parser Defines the parser to add\r\n */\r\n public static AddParser(name: string, parser: BabylonFileParser): void {\r\n this._BabylonFileParsers[name] = parser;\r\n }\r\n\r\n /**\r\n * Gets a general parser from the list of avaialble ones\r\n * @param name Defines the name of the parser\r\n * @returns the requested parser or null\r\n */\r\n public static GetParser(name: string): Nullable<BabylonFileParser> {\r\n if (this._BabylonFileParsers[name]) {\r\n return this._BabylonFileParsers[name];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Adds n individual parser in the list of available ones\r\n * @param name Defines the name of the parser\r\n * @param parser Defines the parser to add\r\n */\r\n public static AddIndividualParser(name: string, parser: IndividualBabylonFileParser): void {\r\n this._IndividualBabylonFileParsers[name] = parser;\r\n }\r\n\r\n /**\r\n * Gets an individual parser from the list of avaialble ones\r\n * @param name Defines the name of the parser\r\n * @returns the requested parser or null\r\n */\r\n public static GetIndividualParser(name: string): Nullable<IndividualBabylonFileParser> {\r\n if (this._IndividualBabylonFileParsers[name]) {\r\n return this._IndividualBabylonFileParsers[name];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Parser json data and populate both a scene and its associated container object\r\n * @param jsonData Defines the data to parse\r\n * @param scene Defines the scene to parse the data for\r\n * @param container Defines the container attached to the parsing sequence\r\n * @param rootUrl Defines the root url of the data\r\n */\r\n public static Parse(jsonData: any, scene: Scene, container: AssetContainer, rootUrl: string): void {\r\n for (let parserName in this._BabylonFileParsers) {\r\n if (this._BabylonFileParsers.hasOwnProperty(parserName)) {\r\n this._BabylonFileParsers[parserName](jsonData, scene, container, rootUrl);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets the list of root nodes (ie. nodes with no parent)\r\n */\r\n public rootNodes = new Array<Node>();\r\n\r\n /** All of the cameras added to this scene\r\n * @see https://doc.babylonjs.com/babylon101/cameras\r\n */\r\n public cameras = new Array<Camera>();\r\n\r\n /**\r\n * All of the lights added to this scene\r\n * @see https://doc.babylonjs.com/babylon101/lights\r\n */\r\n public lights = new Array<Light>();\r\n\r\n /**\r\n * All of the (abstract) meshes added to this scene\r\n */\r\n public meshes = new Array<AbstractMesh>();\r\n\r\n /**\r\n * The list of skeletons added to the scene\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_bones_and_skeletons\r\n */\r\n public skeletons = new Array<Skeleton>();\r\n\r\n /**\r\n * All of the particle systems added to this scene\r\n * @see https://doc.babylonjs.com/babylon101/particles\r\n */\r\n public particleSystems = new Array<IParticleSystem>();\r\n\r\n /**\r\n * Gets a list of Animations associated with the scene\r\n */\r\n public animations: Animation[] = [];\r\n\r\n /**\r\n * All of the animation groups added to this scene\r\n * @see https://doc.babylonjs.com/how_to/group\r\n */\r\n public animationGroups = new Array<AnimationGroup>();\r\n\r\n /**\r\n * All of the multi-materials added to this scene\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n */\r\n public multiMaterials = new Array<MultiMaterial>();\r\n\r\n /**\r\n * All of the materials added to this scene\r\n * In the context of a Scene, it is not supposed to be modified manually.\r\n * Any addition or removal should be done using the addMaterial and removeMaterial Scene methods.\r\n * Note also that the order of the Material within the array is not significant and might change.\r\n * @see https://doc.babylonjs.com/babylon101/materials\r\n */\r\n public materials = new Array<Material>();\r\n\r\n /**\r\n * The list of morph target managers added to the scene\r\n * @see https://doc.babylonjs.com/how_to/how_to_dynamically_morph_a_mesh\r\n */\r\n public morphTargetManagers = new Array<MorphTargetManager>();\r\n\r\n /**\r\n * The list of geometries used in the scene.\r\n */\r\n public geometries = new Array<Geometry>();\r\n\r\n /**\r\n * All of the tranform nodes added to this scene\r\n * In the context of a Scene, it is not supposed to be modified manually.\r\n * Any addition or removal should be done using the addTransformNode and removeTransformNode Scene methods.\r\n * Note also that the order of the TransformNode wihin the array is not significant and might change.\r\n * @see https://doc.babylonjs.com/how_to/transformnode\r\n */\r\n public transformNodes = new Array<TransformNode>();\r\n\r\n /**\r\n * ActionManagers available on the scene.\r\n */\r\n public actionManagers = new Array<AbstractActionManager>();\r\n\r\n /**\r\n * Textures to keep.\r\n */\r\n public textures = new Array<BaseTexture>();\r\n\r\n /** @hidden */\r\n protected _environmentTexture: Nullable<BaseTexture> = null;\r\n /**\r\n * Texture used in all pbr material as the reflection texture.\r\n * As in the majority of the scene they are the same (exception for multi room and so on),\r\n * this is easier to reference from here than from all the materials.\r\n */\r\n public get environmentTexture(): Nullable<BaseTexture> {\r\n return this._environmentTexture;\r\n }\r\n\r\n public set environmentTexture(value: Nullable<BaseTexture>) {\r\n this._environmentTexture = value;\r\n }\r\n\r\n /**\r\n * The list of postprocesses added to the scene\r\n */\r\n public postProcesses = new Array<PostProcess>();\r\n\r\n /**\r\n * @returns all meshes, lights, cameras, transformNodes and bones\r\n */\r\n public getNodes(): Array<Node> {\r\n let nodes = new Array<Node>();\r\n nodes = nodes.concat(this.meshes);\r\n nodes = nodes.concat(this.lights);\r\n nodes = nodes.concat(this.cameras);\r\n nodes = nodes.concat(this.transformNodes); // dummies\r\n this.skeletons.forEach((skeleton) => nodes = nodes.concat(skeleton.bones));\r\n return nodes;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"abstractScene.js","sourceRoot":"","sources":["../../sourceES6/core/abstractScene.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scene } from \"./scene\";\r\nimport { Nullable } from \"./types\";\r\nimport { AbstractMesh } from \"./Meshes/abstractMesh\";\r\nimport { TransformNode } from \"./Meshes/transformNode\";\r\nimport { Geometry } from \"./Meshes/geometry\";\r\nimport { Skeleton } from \"./Bones/skeleton\";\r\nimport { MorphTargetManager } from \"./Morph/morphTargetManager\";\r\nimport { AssetContainer } from \"./assetContainer\";\r\nimport { IParticleSystem } from \"./Particles/IParticleSystem\";\r\nimport { AnimationGroup } from \"./Animations/animationGroup\";\r\nimport { BaseTexture } from \"./Materials/Textures/baseTexture\";\r\nimport { Material } from \"./Materials/material\";\r\nimport { MultiMaterial } from \"./Materials/multiMaterial\";\r\nimport { AbstractActionManager } from \"./Actions/abstractActionManager\";\r\nimport { Camera } from \"./Cameras/camera\";\r\nimport { Light } from \"./Lights/light\";\r\nimport { Node } from \"./node\";\r\n\r\ndeclare type Animation = import(\"./Animations/animation\").Animation;\r\ndeclare type PostProcess = import(\"./PostProcesses/postProcess\").PostProcess;\r\n\r\n/**\r\n * Defines how the parser contract is defined.\r\n * These parsers are used to parse a list of specific assets (like particle systems, etc..)\r\n */\r\nexport type BabylonFileParser = (parsedData: any, scene: Scene, container: AssetContainer, rootUrl: string) => void;\r\n\r\n/**\r\n * Defines how the individual parser contract is defined.\r\n * These parser can parse an individual asset\r\n */\r\nexport type IndividualBabylonFileParser = (parsedData: any, scene: Scene, rootUrl: string) => any;\r\n\r\n/**\r\n * Base class of the scene acting as a container for the different elements composing a scene.\r\n * This class is dynamically extended by the different components of the scene increasing\r\n * flexibility and reducing coupling\r\n */\r\nexport abstract class AbstractScene {\r\n /**\r\n * Stores the list of available parsers in the application.\r\n */\r\n private static _BabylonFileParsers: { [key: string]: BabylonFileParser } = {};\r\n\r\n /**\r\n * Stores the list of available individual parsers in the application.\r\n */\r\n private static _IndividualBabylonFileParsers: { [key: string]: IndividualBabylonFileParser } = {};\r\n\r\n /**\r\n * Adds a parser in the list of available ones\r\n * @param name Defines the name of the parser\r\n * @param parser Defines the parser to add\r\n */\r\n public static AddParser(name: string, parser: BabylonFileParser): void {\r\n this._BabylonFileParsers[name] = parser;\r\n }\r\n\r\n /**\r\n * Gets a general parser from the list of avaialble ones\r\n * @param name Defines the name of the parser\r\n * @returns the requested parser or null\r\n */\r\n public static GetParser(name: string): Nullable<BabylonFileParser> {\r\n if (this._BabylonFileParsers[name]) {\r\n return this._BabylonFileParsers[name];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Adds n individual parser in the list of available ones\r\n * @param name Defines the name of the parser\r\n * @param parser Defines the parser to add\r\n */\r\n public static AddIndividualParser(name: string, parser: IndividualBabylonFileParser): void {\r\n this._IndividualBabylonFileParsers[name] = parser;\r\n }\r\n\r\n /**\r\n * Gets an individual parser from the list of avaialble ones\r\n * @param name Defines the name of the parser\r\n * @returns the requested parser or null\r\n */\r\n public static GetIndividualParser(name: string): Nullable<IndividualBabylonFileParser> {\r\n if (this._IndividualBabylonFileParsers[name]) {\r\n return this._IndividualBabylonFileParsers[name];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Parser json data and populate both a scene and its associated container object\r\n * @param jsonData Defines the data to parse\r\n * @param scene Defines the scene to parse the data for\r\n * @param container Defines the container attached to the parsing sequence\r\n * @param rootUrl Defines the root url of the data\r\n */\r\n public static Parse(jsonData: any, scene: Scene, container: AssetContainer, rootUrl: string): void {\r\n for (let parserName in this._BabylonFileParsers) {\r\n if (this._BabylonFileParsers.hasOwnProperty(parserName)) {\r\n this._BabylonFileParsers[parserName](jsonData, scene, container, rootUrl);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets the list of root nodes (ie. nodes with no parent)\r\n */\r\n public rootNodes = new Array<Node>();\r\n\r\n /** All of the cameras added to this scene\r\n * @see https://doc.babylonjs.com/babylon101/cameras\r\n */\r\n public cameras = new Array<Camera>();\r\n\r\n /**\r\n * All of the lights added to this scene\r\n * @see https://doc.babylonjs.com/babylon101/lights\r\n */\r\n public lights = new Array<Light>();\r\n\r\n /**\r\n * All of the (abstract) meshes added to this scene\r\n */\r\n public meshes = new Array<AbstractMesh>();\r\n\r\n /**\r\n * The list of skeletons added to the scene\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_bones_and_skeletons\r\n */\r\n public skeletons = new Array<Skeleton>();\r\n\r\n /**\r\n * All of the particle systems added to this scene\r\n * @see https://doc.babylonjs.com/babylon101/particles\r\n */\r\n public particleSystems = new Array<IParticleSystem>();\r\n\r\n /**\r\n * Gets a list of Animations associated with the scene\r\n */\r\n public animations: Animation[] = [];\r\n\r\n /**\r\n * All of the animation groups added to this scene\r\n * @see https://doc.babylonjs.com/divingDeeper/animation/groupAnimations\r\n */\r\n public animationGroups = new Array<AnimationGroup>();\r\n\r\n /**\r\n * All of the multi-materials added to this scene\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n */\r\n public multiMaterials = new Array<MultiMaterial>();\r\n\r\n /**\r\n * All of the materials added to this scene\r\n * In the context of a Scene, it is not supposed to be modified manually.\r\n * Any addition or removal should be done using the addMaterial and removeMaterial Scene methods.\r\n * Note also that the order of the Material within the array is not significant and might change.\r\n * @see https://doc.babylonjs.com/babylon101/materials\r\n */\r\n public materials = new Array<Material>();\r\n\r\n /**\r\n * The list of morph target managers added to the scene\r\n * @see https://doc.babylonjs.com/how_to/how_to_dynamically_morph_a_mesh\r\n */\r\n public morphTargetManagers = new Array<MorphTargetManager>();\r\n\r\n /**\r\n * The list of geometries used in the scene.\r\n */\r\n public geometries = new Array<Geometry>();\r\n\r\n /**\r\n * All of the tranform nodes added to this scene\r\n * In the context of a Scene, it is not supposed to be modified manually.\r\n * Any addition or removal should be done using the addTransformNode and removeTransformNode Scene methods.\r\n * Note also that the order of the TransformNode wihin the array is not significant and might change.\r\n * @see https://doc.babylonjs.com/how_to/transformnode\r\n */\r\n public transformNodes = new Array<TransformNode>();\r\n\r\n /**\r\n * ActionManagers available on the scene.\r\n */\r\n public actionManagers = new Array<AbstractActionManager>();\r\n\r\n /**\r\n * Textures to keep.\r\n */\r\n public textures = new Array<BaseTexture>();\r\n\r\n /** @hidden */\r\n protected _environmentTexture: Nullable<BaseTexture> = null;\r\n /**\r\n * Texture used in all pbr material as the reflection texture.\r\n * As in the majority of the scene they are the same (exception for multi room and so on),\r\n * this is easier to reference from here than from all the materials.\r\n */\r\n public get environmentTexture(): Nullable<BaseTexture> {\r\n return this._environmentTexture;\r\n }\r\n\r\n public set environmentTexture(value: Nullable<BaseTexture>) {\r\n this._environmentTexture = value;\r\n }\r\n\r\n /**\r\n * The list of postprocesses added to the scene\r\n */\r\n public postProcesses = new Array<PostProcess>();\r\n\r\n /**\r\n * @returns all meshes, lights, cameras, transformNodes and bones\r\n */\r\n public getNodes(): Array<Node> {\r\n let nodes = new Array<Node>();\r\n nodes = nodes.concat(this.meshes);\r\n nodes = nodes.concat(this.lights);\r\n nodes = nodes.concat(this.cameras);\r\n nodes = nodes.concat(this.transformNodes); // dummies\r\n this.skeletons.forEach((skeleton) => nodes = nodes.concat(skeleton.bones));\r\n return nodes;\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  ],
8
8
  "name": "@babylonjs/core",
9
9
  "description": "Babylon.js is a JavaScript 3D engine based on webgl.",
10
- "version": "5.0.0-alpha.63",
10
+ "version": "5.0.0-alpha.64",
11
11
  "repository": {
12
12
  "type": "git",
13
13
  "url": "https://github.com/BabylonJS/Babylon.js.git"
@@ -467,9 +467,9 @@
467
467
  "DeviceInput/Helpers/eventFactory.d.ts",
468
468
  "DeviceInput/Helpers/eventFactory.js",
469
469
  "DeviceInput/Helpers/eventFactory.js.map",
470
- "DeviceInput/Implementations/nativeDeviceInputWrapper.d.ts",
471
- "DeviceInput/Implementations/nativeDeviceInputWrapper.js",
472
- "DeviceInput/Implementations/nativeDeviceInputWrapper.js.map",
470
+ "DeviceInput/Implementations/nativeDeviceInputSystem.d.ts",
471
+ "DeviceInput/Implementations/nativeDeviceInputSystem.js",
472
+ "DeviceInput/Implementations/nativeDeviceInputSystem.js.map",
473
473
  "DeviceInput/Implementations/webDeviceInputSystem.d.ts",
474
474
  "DeviceInput/Implementations/webDeviceInputSystem.js",
475
475
  "DeviceInput/Implementations/webDeviceInputSystem.js.map",
@@ -1104,6 +1104,18 @@
1104
1104
  "Materials/materialHelper.d.ts",
1105
1105
  "Materials/materialHelper.js",
1106
1106
  "Materials/materialHelper.js.map",
1107
+ "Materials/materialPluginBase.d.ts",
1108
+ "Materials/materialPluginBase.js",
1109
+ "Materials/materialPluginBase.js.map",
1110
+ "Materials/materialPluginEvent.d.ts",
1111
+ "Materials/materialPluginEvent.js",
1112
+ "Materials/materialPluginEvent.js.map",
1113
+ "Materials/materialPluginFactoryExport.d.ts",
1114
+ "Materials/materialPluginFactoryExport.js",
1115
+ "Materials/materialPluginFactoryExport.js.map",
1116
+ "Materials/materialPluginManager.d.ts",
1117
+ "Materials/materialPluginManager.js",
1118
+ "Materials/materialPluginManager.js.map",
1107
1119
  "Materials/materialStencilState.d.ts",
1108
1120
  "Materials/materialStencilState.js",
1109
1121
  "Materials/materialStencilState.js.map",
@@ -3241,6 +3253,9 @@
3241
3253
  "XR/features/WebXRImageTracking.d.ts",
3242
3254
  "XR/features/WebXRImageTracking.js",
3243
3255
  "XR/features/WebXRImageTracking.js.map",
3256
+ "XR/features/WebXRLayers.d.ts",
3257
+ "XR/features/WebXRLayers.js",
3258
+ "XR/features/WebXRLayers.js.map",
3244
3259
  "XR/features/WebXRLightEstimation.d.ts",
3245
3260
  "XR/features/WebXRLightEstimation.js",
3246
3261
  "XR/features/WebXRLightEstimation.js.map",
@@ -3289,6 +3304,12 @@
3289
3304
  "XR/motionController/webXRProfiledMotionController.d.ts",
3290
3305
  "XR/motionController/webXRProfiledMotionController.js",
3291
3306
  "XR/motionController/webXRProfiledMotionController.js.map",
3307
+ "XR/native/index.d.ts",
3308
+ "XR/native/index.js",
3309
+ "XR/native/index.js.map",
3310
+ "XR/native/nativeXRRenderTarget.d.ts",
3311
+ "XR/native/nativeXRRenderTarget.js",
3312
+ "XR/native/nativeXRRenderTarget.js.map",
3292
3313
  "XR/webXRCamera.d.ts",
3293
3314
  "XR/webXRCamera.js",
3294
3315
  "XR/webXRCamera.js.map",
@@ -3310,15 +3331,24 @@
3310
3331
  "XR/webXRInputSource.d.ts",
3311
3332
  "XR/webXRInputSource.js",
3312
3333
  "XR/webXRInputSource.js.map",
3334
+ "XR/webXRLayerWrapper.d.ts",
3335
+ "XR/webXRLayerWrapper.js",
3336
+ "XR/webXRLayerWrapper.js.map",
3313
3337
  "XR/webXRManagedOutputCanvas.d.ts",
3314
3338
  "XR/webXRManagedOutputCanvas.js",
3315
3339
  "XR/webXRManagedOutputCanvas.js.map",
3340
+ "XR/webXRRenderTargetTextureProvider.d.ts",
3341
+ "XR/webXRRenderTargetTextureProvider.js",
3342
+ "XR/webXRRenderTargetTextureProvider.js.map",
3316
3343
  "XR/webXRSessionManager.d.ts",
3317
3344
  "XR/webXRSessionManager.js",
3318
3345
  "XR/webXRSessionManager.js.map",
3319
3346
  "XR/webXRTypes.d.ts",
3320
3347
  "XR/webXRTypes.js",
3321
- "XR/webXRTypes.js.map"
3348
+ "XR/webXRTypes.js.map",
3349
+ "XR/webXRWebGLLayer.d.ts",
3350
+ "XR/webXRWebGLLayer.js",
3351
+ "XR/webXRWebGLLayer.js.map"
3322
3352
  ],
3323
3353
  "typings": "index.d.ts",
3324
3354
  "keywords": [
@@ -1 +0,0 @@
1
- {"version":3,"file":"nativeDeviceInputWrapper.js","sourceRoot":"","sources":["../../../../sourceES6/core/DeviceInput/Implementations/nativeDeviceInputWrapper.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"../../Misc/observable\";\r\nimport { Nullable } from \"../../types\";\r\nimport { DeviceEventFactory } from \"../Helpers/eventFactory\";\r\nimport { DeviceType } from \"../InputDevices/deviceEnums\";\r\nimport { IDeviceEvent, IDeviceInputSystem, INativeInput } from \"../Interfaces/inputInterfaces\";\r\n\r\n/** @hidden */\r\nexport class NativeDeviceInputWrapper implements IDeviceInputSystem {\r\n /**\r\n * Observable for devices being connected\r\n */\r\n public readonly onDeviceConnectedObservable: Observable<{ deviceType: DeviceType; deviceSlot: number; }>;\r\n /**\r\n * Observable for devices being disconnected\r\n */\r\n public readonly onDeviceDisconnectedObservable: Observable<{ deviceType: DeviceType; deviceSlot: number; }>;\r\n /**\r\n * Observable for changes to device input\r\n */\r\n public readonly onInputChangedObservable: Observable<IDeviceEvent>;\r\n\r\n private _nativeInput: INativeInput;\r\n\r\n public constructor(nativeInput?: INativeInput) {\r\n this._nativeInput = nativeInput || this._createDummyNativeInput();\r\n this.onDeviceConnectedObservable = new Observable<{ deviceType: DeviceType; deviceSlot: number; }>();\r\n this.onDeviceDisconnectedObservable = new Observable<{ deviceType: DeviceType; deviceSlot: number; }>();\r\n this.onInputChangedObservable = new Observable<IDeviceEvent>();\r\n\r\n this._nativeInput.onDeviceConnected = (deviceType, deviceSlot) => {\r\n this.onDeviceConnectedObservable.notifyObservers({ deviceType, deviceSlot });\r\n };\r\n\r\n this._nativeInput.onDeviceDisconnected = (deviceType, deviceSlot) => {\r\n this.onDeviceDisconnectedObservable.notifyObservers({ deviceType, deviceSlot });\r\n };\r\n\r\n this._nativeInput.onInputChanged = (deviceType, deviceSlot, inputIndex, previousState, currentState, eventData) => {\r\n const evt = DeviceEventFactory.CreateDeviceEvent(deviceType, deviceSlot, inputIndex, currentState, this);\r\n\r\n let deviceEvent = evt as IDeviceEvent;\r\n deviceEvent.deviceType = deviceType;\r\n deviceEvent.deviceSlot = deviceSlot;\r\n deviceEvent.inputIndex = inputIndex;\r\n deviceEvent.previousState = previousState;\r\n deviceEvent.currentState = currentState;\r\n\r\n this.onInputChangedObservable.notifyObservers(deviceEvent);\r\n };\r\n }\r\n\r\n /**\r\n * Configures events to work with an engine's active element\r\n */\r\n public configureEvents(): void {\r\n // Do nothing\r\n }\r\n\r\n // Public functions\r\n /**\r\n * Checks for current device input value, given an id and input index. Throws exception if requested device not initialized.\r\n * @param deviceType Enum specifiying device type\r\n * @param deviceSlot \"Slot\" or index that device is referenced in\r\n * @param inputIndex Id of input to be checked\r\n * @returns Current value of input\r\n */\r\n public pollInput(deviceType: DeviceType, deviceSlot: number, inputIndex: number): number {\r\n return this._nativeInput.pollInput(deviceType, deviceSlot, inputIndex);\r\n }\r\n\r\n /**\r\n * Check for a specific device in the DeviceInputSystem\r\n * @param deviceType Type of device to check for\r\n * @returns bool with status of device's existence\r\n */\r\n public isDeviceAvailable(deviceType: DeviceType) {\r\n //TODO: FIx native side first\r\n return (deviceType === DeviceType.Mouse || deviceType === DeviceType.Touch);\r\n }\r\n\r\n /**\r\n * Dispose of all the observables\r\n */\r\n public dispose(): void {\r\n this.onDeviceConnectedObservable.clear();\r\n this.onDeviceDisconnectedObservable.clear();\r\n this.onInputChangedObservable.clear();\r\n }\r\n\r\n /**\r\n * For versions of BabylonNative that don't have the NativeInput plugin initialized, create a dummy version\r\n * @returns Object with dummy functions\r\n */\r\n private _createDummyNativeInput() {\r\n let nativeInput = {\r\n onDeviceConnected: (deviceType: DeviceType, deviceSlot: number) => { },\r\n onDeviceDisconnected: (deviceType: DeviceType, deviceSlot: number) => { },\r\n onInputChanged: (deviceType: DeviceType, deviceSlot: number, inputIndex: number, previousState: Nullable<number>, currentState: Nullable<number>, eventData?: any) => { },\r\n pollInput: () => { return 0; },\r\n isDeviceAvailable: () => { return false; },\r\n dispose: () => { },\r\n };\r\n\r\n return nativeInput;\r\n }\r\n}"]}