@babylonjs/core 9.13.0 → 9.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/Animations/animationGroup.d.ts +0 -1
  2. package/Animations/animationGroup.js +0 -1
  3. package/Animations/animationGroup.js.map +1 -1
  4. package/Animations/animationGroup.pure.js +2 -0
  5. package/Animations/animationGroup.pure.js.map +1 -1
  6. package/Animations/runtimeAnimation.js +11 -0
  7. package/Animations/runtimeAnimation.js.map +1 -1
  8. package/AudioV2/abstractAudio/abstractSound.d.ts +2 -1
  9. package/AudioV2/abstractAudio/abstractSound.js +3 -2
  10. package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
  11. package/AudioV2/abstractAudio/abstractSoundInstance.d.ts +1 -1
  12. package/AudioV2/abstractAudio/abstractSoundInstance.js.map +1 -1
  13. package/AudioV2/abstractAudio/staticSound.d.ts +6 -0
  14. package/AudioV2/abstractAudio/staticSound.js +9 -1
  15. package/AudioV2/abstractAudio/staticSound.js.map +1 -1
  16. package/AudioV2/abstractAudio/streamingSound.d.ts +6 -0
  17. package/AudioV2/abstractAudio/streamingSound.js +9 -1
  18. package/AudioV2/abstractAudio/streamingSound.js.map +1 -1
  19. package/AudioV2/webAudio/webAudioStaticSound.d.ts +1 -1
  20. package/AudioV2/webAudio/webAudioStaticSound.js +6 -3
  21. package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
  22. package/AudioV2/webAudio/webAudioStreamingSound.d.ts +1 -1
  23. package/AudioV2/webAudio/webAudioStreamingSound.js +7 -4
  24. package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
  25. package/Cameras/Inputs/BaseCameraPointersInput.d.ts +2 -1
  26. package/Cameras/Inputs/BaseCameraPointersInput.js +3 -2
  27. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  28. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.d.ts +3 -0
  29. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +37 -10
  30. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
  31. package/Cameras/Inputs/flyCameraKeyboardInput.js +19 -9
  32. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  33. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +21 -18
  34. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  35. package/Cameras/Inputs/geospatialCameraKeyboardInput.d.ts +2 -0
  36. package/Cameras/Inputs/geospatialCameraKeyboardInput.js +31 -12
  37. package/Cameras/Inputs/geospatialCameraKeyboardInput.js.map +1 -1
  38. package/Cameras/Inputs/geospatialCameraPointersInput.d.ts +11 -1
  39. package/Cameras/Inputs/geospatialCameraPointersInput.js +18 -2
  40. package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
  41. package/Cameras/VR/vrExperienceHelper.d.ts +0 -2
  42. package/Cameras/VR/vrExperienceHelper.js +0 -2
  43. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  44. package/Cameras/VR/vrExperienceHelper.pure.js +5 -0
  45. package/Cameras/VR/vrExperienceHelper.pure.js.map +1 -1
  46. package/Cameras/arcRotateCamera.pure.js +9 -3
  47. package/Cameras/arcRotateCamera.pure.js.map +1 -1
  48. package/Cameras/targetCamera.pure.js +18 -18
  49. package/Cameras/targetCamera.pure.js.map +1 -1
  50. package/Collisions/gpuPicker.js +23 -13
  51. package/Collisions/gpuPicker.js.map +1 -1
  52. package/Engines/Native/nativeInterfaces.d.ts +3 -2
  53. package/Engines/Native/nativeInterfaces.js.map +1 -1
  54. package/Engines/Native/nativeRenderTargetWrapper.d.ts +3 -0
  55. package/Engines/Native/nativeRenderTargetWrapper.js +24 -1
  56. package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
  57. package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js +16 -3
  58. package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js.map +1 -1
  59. package/Engines/WebGPU/webgpuClearQuad.pure.js +7 -1
  60. package/Engines/WebGPU/webgpuClearQuad.pure.js.map +1 -1
  61. package/Engines/abstractEngine.pure.d.ts +8 -1
  62. package/Engines/abstractEngine.pure.js +4 -3
  63. package/Engines/abstractEngine.pure.js.map +1 -1
  64. package/Engines/engine.d.ts +113 -0
  65. package/Engines/thinNativeEngine.pure.d.ts +2 -0
  66. package/Engines/thinNativeEngine.pure.js +115 -9
  67. package/Engines/thinNativeEngine.pure.js.map +1 -1
  68. package/FlowGraph/flowGraph.js +9 -0
  69. package/FlowGraph/flowGraph.js.map +1 -1
  70. package/FlowGraph/flowGraphDataConnection.pure.d.ts +14 -0
  71. package/FlowGraph/flowGraphDataConnection.pure.js +38 -1
  72. package/FlowGraph/flowGraphDataConnection.pure.js.map +1 -1
  73. package/FlowGraph/serialization.d.ts +11 -0
  74. package/FlowGraph/serialization.js +11 -1
  75. package/FlowGraph/serialization.js.map +1 -1
  76. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.d.ts +2 -2
  77. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js +43 -51
  78. package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js.map +1 -1
  79. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.d.ts +0 -1
  80. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js +0 -1
  81. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js.map +1 -1
  82. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.d.ts +0 -1
  83. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js +66 -35
  84. package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js.map +1 -1
  85. package/Helpers/environmentHelper.js +2 -2
  86. package/Helpers/environmentHelper.js.map +1 -1
  87. package/Lights/Clustered/clusteredLightContainer.pure.d.ts +1 -1
  88. package/Lights/Clustered/clusteredLightContainer.pure.js +15 -2
  89. package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
  90. package/Lights/areaLight.pure.js +5 -0
  91. package/Lights/areaLight.pure.js.map +1 -1
  92. package/Lights/light.d.ts +4 -2
  93. package/Lights/light.js +10 -4
  94. package/Lights/light.js.map +1 -1
  95. package/Lights/rectAreaLight.pure.d.ts +17 -0
  96. package/Lights/rectAreaLight.pure.js +67 -0
  97. package/Lights/rectAreaLight.pure.js.map +1 -1
  98. package/Loading/Plugins/babylonFileLoader.pure.js +4 -4
  99. package/Loading/Plugins/babylonFileLoader.pure.js.map +1 -1
  100. package/Materials/Background/backgroundMaterial.pure.js +3 -1
  101. package/Materials/Background/backgroundMaterial.pure.js.map +1 -1
  102. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js +2 -2
  103. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js.map +1 -1
  104. package/Materials/Node/Blocks/PBR/refractionBlock.pure.js +2 -2
  105. package/Materials/Node/Blocks/PBR/refractionBlock.pure.js.map +1 -1
  106. package/Materials/Node/nodeMaterial.pure.js +3 -0
  107. package/Materials/Node/nodeMaterial.pure.js.map +1 -1
  108. package/Materials/Node/nodeMaterialBuildState.d.ts +3 -3
  109. package/Materials/PBR/openpbrMaterial.pure.js +3 -1
  110. package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
  111. package/Materials/PBR/pbrMaterial.pure.js +3 -0
  112. package/Materials/PBR/pbrMaterial.pure.js.map +1 -1
  113. package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js +3 -0
  114. package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js.map +1 -1
  115. package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js +3 -0
  116. package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js.map +1 -1
  117. package/Materials/Textures/HTML/htmlInCanvasPolyfill.d.ts +43 -0
  118. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js +64 -0
  119. package/Materials/Textures/HTML/htmlInCanvasPolyfill.js.map +1 -0
  120. package/Materials/Textures/HTML/htmlInteractionManager.d.ts +69 -0
  121. package/Materials/Textures/HTML/htmlInteractionManager.js +130 -0
  122. package/Materials/Textures/HTML/htmlInteractionManager.js.map +1 -0
  123. package/Materials/Textures/HTML/htmlRaycastInteractionManager.d.ts +84 -0
  124. package/Materials/Textures/HTML/htmlRaycastInteractionManager.js +246 -0
  125. package/Materials/Textures/HTML/htmlRaycastInteractionManager.js.map +1 -0
  126. package/Materials/Textures/HTML/htmlTexture.d.ts +148 -0
  127. package/Materials/Textures/HTML/htmlTexture.js +455 -0
  128. package/Materials/Textures/HTML/htmlTexture.js.map +1 -0
  129. package/Materials/Textures/HTML/index.d.ts +4 -0
  130. package/Materials/Textures/HTML/index.js +5 -0
  131. package/Materials/Textures/HTML/index.js.map +1 -0
  132. package/Materials/Textures/HTML/pure.d.ts +5 -0
  133. package/Materials/Textures/HTML/pure.js +6 -0
  134. package/Materials/Textures/HTML/pure.js.map +1 -0
  135. package/Materials/Textures/cubeTexture.d.ts +0 -1
  136. package/Materials/Textures/cubeTexture.js +0 -1
  137. package/Materials/Textures/cubeTexture.js.map +1 -1
  138. package/Materials/Textures/cubeTexture.pure.js +2 -0
  139. package/Materials/Textures/cubeTexture.pure.js.map +1 -1
  140. package/Materials/Textures/dynamicTexture.d.ts +0 -1
  141. package/Materials/Textures/dynamicTexture.js +0 -1
  142. package/Materials/Textures/dynamicTexture.js.map +1 -1
  143. package/Materials/Textures/dynamicTexture.pure.js +2 -0
  144. package/Materials/Textures/dynamicTexture.pure.js.map +1 -1
  145. package/Materials/Textures/htmlElementTexture.d.ts +0 -2
  146. package/Materials/Textures/htmlElementTexture.js +0 -2
  147. package/Materials/Textures/htmlElementTexture.js.map +1 -1
  148. package/Materials/Textures/htmlElementTexture.pure.js +4 -0
  149. package/Materials/Textures/htmlElementTexture.pure.js.map +1 -1
  150. package/Materials/Textures/index.d.ts +1 -0
  151. package/Materials/Textures/index.js +1 -1
  152. package/Materials/Textures/index.js.map +1 -1
  153. package/Materials/Textures/multiRenderTarget.d.ts +0 -1
  154. package/Materials/Textures/multiRenderTarget.js +0 -1
  155. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  156. package/Materials/Textures/multiRenderTarget.pure.js +2 -0
  157. package/Materials/Textures/multiRenderTarget.pure.js.map +1 -1
  158. package/Materials/Textures/pure.d.ts +1 -0
  159. package/Materials/Textures/pure.js +1 -0
  160. package/Materials/Textures/pure.js.map +1 -1
  161. package/Materials/Textures/videoTexture.pure.d.ts +3 -0
  162. package/Materials/Textures/videoTexture.pure.js +30 -0
  163. package/Materials/Textures/videoTexture.pure.js.map +1 -1
  164. package/Materials/standardMaterial.pure.js +3 -1
  165. package/Materials/standardMaterial.pure.js.map +1 -1
  166. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +9 -0
  167. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +12 -0
  168. package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
  169. package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.d.ts +1 -1
  170. package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js +20 -6
  171. package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js.map +1 -1
  172. package/Misc/decorators.functions.d.ts +7 -0
  173. package/Misc/decorators.functions.js +86 -35
  174. package/Misc/decorators.functions.js.map +1 -1
  175. package/Misc/snapshotRenderingHelper.d.ts +4 -1
  176. package/Misc/snapshotRenderingHelper.js.map +1 -1
  177. package/Misc/symbolMetadataPolyfill.d.ts +11 -0
  178. package/Misc/symbolMetadataPolyfill.js +22 -0
  179. package/Misc/symbolMetadataPolyfill.js.map +1 -0
  180. package/Misc/tools.pure.js +1 -1
  181. package/Misc/tools.pure.js.map +1 -1
  182. package/Particles/gpuParticleSystem.d.ts +0 -1
  183. package/Particles/gpuParticleSystem.js +0 -1
  184. package/Particles/gpuParticleSystem.js.map +1 -1
  185. package/Particles/thinParticleSystem.d.ts +0 -1
  186. package/Particles/thinParticleSystem.js +0 -1
  187. package/Particles/thinParticleSystem.js.map +1 -1
  188. package/Particles/thinParticleSystem.pure.js +2 -0
  189. package/Particles/thinParticleSystem.pure.js.map +1 -1
  190. package/Particles/webgl2ParticleSystem.pure.js +2 -0
  191. package/Particles/webgl2ParticleSystem.pure.js.map +1 -1
  192. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.d.ts +0 -1
  193. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js +0 -1
  194. package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js.map +1 -1
  195. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js +7 -0
  196. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js.map +1 -1
  197. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +0 -1
  198. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +0 -1
  199. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  200. package/PostProcesses/postProcess.pure.js +5 -0
  201. package/PostProcesses/postProcess.pure.js.map +1 -1
  202. package/PostProcesses/vrMultiviewToSingleviewPostProcess.d.ts +0 -1
  203. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +0 -1
  204. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js.map +1 -1
  205. package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js +2 -0
  206. package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js.map +1 -1
  207. package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +0 -2
  208. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +0 -2
  209. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
  210. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js +5 -0
  211. package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js.map +1 -1
  212. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.d.ts +0 -1
  213. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js +0 -1
  214. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js.map +1 -1
  215. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.d.ts +1 -0
  216. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js +34 -0
  217. package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js.map +1 -1
  218. package/Rendering/prePassRenderer.d.ts +0 -2
  219. package/Rendering/prePassRenderer.js +0 -2
  220. package/Rendering/prePassRenderer.js.map +1 -1
  221. package/Rendering/prePassRenderer.pure.js +2 -0
  222. package/Rendering/prePassRenderer.pure.js.map +1 -1
  223. package/Rendering/thinDepthPeelingRenderer.d.ts +0 -1
  224. package/Rendering/thinDepthPeelingRenderer.js +0 -1
  225. package/Rendering/thinDepthPeelingRenderer.js.map +1 -1
  226. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +35 -5
  227. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  228. package/ShadersWGSL/ShadersInclude/helperFunctions.js +2 -2
  229. package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
  230. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +39 -7
  231. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
  232. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +4 -3
  233. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -1
  234. package/index.d.ts +1 -0
  235. package/index.js +1 -0
  236. package/index.js.map +1 -1
  237. package/package.json +3 -11
@@ -387,6 +387,15 @@ export declare class GaussianSplattingMeshBase extends Mesh {
387
387
  */
388
388
  setSplatIndexRanges(ranges: Nullable<readonly IGaussianSplattingSplatRange[]>): void;
389
389
  private _setSplatIndexRanges;
390
+ /**
391
+ * Whether the depth sort is settled: a sort computed for the current active ranges and camera has been
392
+ * applied to the rendered index buffer, and no further sort is pending or in flight. For a static camera
393
+ * and a fixed active set this becomes true once the final sort completes. Used by streaming subclasses to
394
+ * detect when rendering is fully up to date (e.g. for deterministic screenshots) and by IBL shadows to
395
+ * avoid voxelizing against an index buffer the worker has not finished (re)building yet.
396
+ * @internal
397
+ */
398
+ get _isDepthSortSettled(): boolean;
390
399
  private _ensureDepthMixSize;
391
400
  /**
392
401
  * Sends the active source-splat intervals to the sort worker. When no range filter is active,
@@ -391,6 +391,17 @@ export class GaussianSplattingMeshBase extends Mesh {
391
391
  this._postToWorker(true);
392
392
  }
393
393
  }
394
+ /**
395
+ * Whether the depth sort is settled: a sort computed for the current active ranges and camera has been
396
+ * applied to the rendered index buffer, and no further sort is pending or in flight. For a static camera
397
+ * and a fixed active set this becomes true once the final sort completes. Used by streaming subclasses to
398
+ * detect when rendering is fully up to date (e.g. for deterministic screenshots) and by IBL shadows to
399
+ * avoid voxelizing against an index buffer the worker has not finished (re)building yet.
400
+ * @internal
401
+ */
402
+ get _isDepthSortSettled() {
403
+ return this._readyToDisplay && !this._sortIsDirty && this._canPostToWorker;
404
+ }
394
405
  // (Re)allocates the worker depth buffer to the given padded size. A fresh array is allocated when the
395
406
  // size differs or the current buffer is detached (in-flight in the worker), so a queued sort can be
396
407
  // re-posted with a correctly-sized buffer without disturbing the in-flight one.
@@ -1053,6 +1064,7 @@ export class GaussianSplattingMeshBase extends Mesh {
1053
1064
  sortRequestId: cameraViewInfos.sortRequestId,
1054
1065
  rangeVersion: this._activeRangeVersion,
1055
1066
  useCountingSort: GaussianSplattingMeshBase.UseCountingSort,
1067
+ rightHanded: this._scene.useRightHandedSystem,
1056
1068
  logSortPerformance: GaussianSplattingMeshBase.LogSortPerformance,
1057
1069
  }, [this._depthMix.buffer]);
1058
1070
  }