@babylonjs/core 8.15.1 → 8.16.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 (157) hide show
  1. package/Animations/animationGroup.d.ts +13 -1
  2. package/Animations/animationGroup.js +16 -3
  3. package/Animations/animationGroup.js.map +1 -1
  4. package/AudioV2/webAudio/components/webAudioParameterComponent.d.ts +8 -0
  5. package/AudioV2/webAudio/components/webAudioParameterComponent.js +36 -3
  6. package/AudioV2/webAudio/components/webAudioParameterComponent.js.map +1 -1
  7. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js +10 -0
  8. package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js.map +1 -1
  9. package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js +11 -0
  10. package/AudioV2/webAudio/subProperties/spatialWebAudioListener.js.map +1 -1
  11. package/AudioV2/webAudio/webAudioEngine.d.ts +7 -0
  12. package/AudioV2/webAudio/webAudioEngine.js +45 -0
  13. package/AudioV2/webAudio/webAudioEngine.js.map +1 -1
  14. package/Behaviors/Cameras/framingBehavior.js +3 -3
  15. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  16. package/Debug/directionalLightFrustumViewer.d.ts +6 -0
  17. package/Debug/directionalLightFrustumViewer.js +39 -1
  18. package/Debug/directionalLightFrustumViewer.js.map +1 -1
  19. package/Engines/AbstractEngine/abstractEngine.alpha.d.ts +2 -1
  20. package/Engines/AbstractEngine/abstractEngine.alpha.js +9 -9
  21. package/Engines/AbstractEngine/abstractEngine.alpha.js.map +1 -1
  22. package/Engines/AbstractEngine/abstractEngine.states.d.ts +4 -104
  23. package/Engines/AbstractEngine/abstractEngine.states.js +4 -70
  24. package/Engines/AbstractEngine/abstractEngine.states.js.map +1 -1
  25. package/Engines/AbstractEngine/abstractEngine.stencil.d.ts +147 -0
  26. package/Engines/AbstractEngine/abstractEngine.stencil.js +93 -0
  27. package/Engines/AbstractEngine/abstractEngine.stencil.js.map +1 -0
  28. package/Engines/AbstractEngine/index.d.ts +1 -0
  29. package/Engines/AbstractEngine/index.js +1 -0
  30. package/Engines/AbstractEngine/index.js.map +1 -1
  31. package/Engines/Extensions/engine.alpha.d.ts +2 -1
  32. package/Engines/Extensions/engine.alpha.js +7 -78
  33. package/Engines/Extensions/engine.alpha.js.map +1 -1
  34. package/Engines/WebGL/webGL2ShaderProcessors.js +8 -1
  35. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  36. package/Engines/WebGPU/Extensions/engine.alpha.d.ts +2 -1
  37. package/Engines/WebGPU/Extensions/engine.alpha.js +12 -82
  38. package/Engines/WebGPU/Extensions/engine.alpha.js.map +1 -1
  39. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +12 -5
  40. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +139 -72
  41. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  42. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +13 -1
  43. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  44. package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +8 -0
  45. package/Engines/WebGPU/webgpuStencilStateComposer.js +40 -0
  46. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  47. package/Engines/abstractEngine.d.ts +7 -3
  48. package/Engines/abstractEngine.js +12 -5
  49. package/Engines/abstractEngine.js.map +1 -1
  50. package/Engines/constants.d.ts +30 -28
  51. package/Engines/constants.js +30 -28
  52. package/Engines/constants.js.map +1 -1
  53. package/Engines/engine.d.ts +10 -0
  54. package/Engines/engine.js +1 -0
  55. package/Engines/engine.js.map +1 -1
  56. package/Engines/engineCapabilities.d.ts +4 -0
  57. package/Engines/engineCapabilities.js.map +1 -1
  58. package/Engines/nativeEngine.d.ts +2 -1
  59. package/Engines/nativeEngine.js +6 -3
  60. package/Engines/nativeEngine.js.map +1 -1
  61. package/Engines/nullEngine.d.ts +2 -1
  62. package/Engines/nullEngine.js +7 -4
  63. package/Engines/nullEngine.js.map +1 -1
  64. package/Engines/thinEngine.js +16 -3
  65. package/Engines/thinEngine.js.map +1 -1
  66. package/Engines/webgpuEngine.d.ts +1 -0
  67. package/Engines/webgpuEngine.js +6 -4
  68. package/Engines/webgpuEngine.js.map +1 -1
  69. package/FrameGraph/Tasks/PostProcesses/passTask.d.ts +1 -1
  70. package/FrameGraph/Tasks/PostProcesses/passTask.js.map +1 -1
  71. package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +8 -1
  72. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +14 -6
  73. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  74. package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js +3 -0
  75. package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js.map +1 -1
  76. package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js +6 -5
  77. package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js.map +1 -1
  78. package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +1 -1
  79. package/FrameGraph/Tasks/Texture/clearTextureTask.js +7 -5
  80. package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
  81. package/FrameGraph/frameGraph.d.ts +10 -0
  82. package/FrameGraph/frameGraph.js +15 -5
  83. package/FrameGraph/frameGraph.js.map +1 -1
  84. package/FrameGraph/frameGraphContext.d.ts +16 -0
  85. package/FrameGraph/frameGraphContext.js +23 -0
  86. package/FrameGraph/frameGraphContext.js.map +1 -1
  87. package/FrameGraph/frameGraphRenderContext.d.ts +9 -16
  88. package/FrameGraph/frameGraphRenderContext.js +15 -23
  89. package/FrameGraph/frameGraphRenderContext.js.map +1 -1
  90. package/FrameGraph/frameGraphUtils.d.ts +52 -0
  91. package/FrameGraph/frameGraphUtils.js +99 -0
  92. package/FrameGraph/frameGraphUtils.js.map +1 -0
  93. package/FrameGraph/index.d.ts +1 -0
  94. package/FrameGraph/index.js +1 -0
  95. package/FrameGraph/index.js.map +1 -1
  96. package/Loading/Plugins/babylonFileLoader.js +35 -2
  97. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  98. package/Materials/material.d.ts +32 -12
  99. package/Materials/material.js +49 -17
  100. package/Materials/material.js.map +1 -1
  101. package/Materials/materialStencilState.d.ts +24 -0
  102. package/Materials/materialStencilState.js +53 -1
  103. package/Materials/materialStencilState.js.map +1 -1
  104. package/Meshes/geometry.js +1 -1
  105. package/Meshes/geometry.js.map +1 -1
  106. package/Meshes/instancedMesh.d.ts +5 -0
  107. package/Meshes/instancedMesh.js +3 -3
  108. package/Meshes/instancedMesh.js.map +1 -1
  109. package/Meshes/mesh.d.ts +28 -5
  110. package/Meshes/mesh.js +127 -57
  111. package/Meshes/mesh.js.map +1 -1
  112. package/Meshes/thinInstanceMesh.js +4 -0
  113. package/Meshes/thinInstanceMesh.js.map +1 -1
  114. package/Misc/snapshotRenderingHelper.js +2 -1
  115. package/Misc/snapshotRenderingHelper.js.map +1 -1
  116. package/Particles/IParticleSystem.d.ts +4 -0
  117. package/Particles/IParticleSystem.js.map +1 -1
  118. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.d.ts +1 -0
  119. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.js +32 -10
  120. package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.js.map +1 -1
  121. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +4 -0
  122. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +5 -0
  123. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  124. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +12 -3
  125. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +22 -1
  126. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
  127. package/PostProcesses/thinPassPostProcess.js +7 -3
  128. package/PostProcesses/thinPassPostProcess.js.map +1 -1
  129. package/Rendering/edgesRenderer.js +3 -2
  130. package/Rendering/edgesRenderer.js.map +1 -1
  131. package/Rendering/geometryBufferRenderer.js +1 -1
  132. package/Rendering/geometryBufferRenderer.js.map +1 -1
  133. package/Rendering/outlineRenderer.js +1 -1
  134. package/Rendering/outlineRenderer.js.map +1 -1
  135. package/Shaders/lod.fragment.js +2 -3
  136. package/Shaders/lod.fragment.js.map +1 -1
  137. package/ShadersWGSL/lod.fragment.js +2 -2
  138. package/ShadersWGSL/lod.fragment.js.map +1 -1
  139. package/Sprites/spriteManager.d.ts +1 -1
  140. package/Sprites/spriteManager.js.map +1 -1
  141. package/States/IStencilState.d.ts +6 -2
  142. package/States/IStencilState.js.map +1 -1
  143. package/States/alphaCullingState.d.ts +7 -5
  144. package/States/alphaCullingState.js +144 -33
  145. package/States/alphaCullingState.js.map +1 -1
  146. package/States/stencilState.d.ts +12 -0
  147. package/States/stencilState.js +29 -1
  148. package/States/stencilState.js.map +1 -1
  149. package/States/stencilStateComposer.d.ts +12 -0
  150. package/States/stencilStateComposer.js +48 -2
  151. package/States/stencilStateComposer.js.map +1 -1
  152. package/assetContainer.js +29 -8
  153. package/assetContainer.js.map +1 -1
  154. package/package.json +1 -1
  155. package/scene.d.ts +37 -1
  156. package/scene.js +56 -0
  157. package/scene.js.map +1 -1
package/scene.js CHANGED
@@ -983,6 +983,22 @@ export class Scene {
983
983
  * An event triggered when a skeleton is removed
984
984
  */
985
985
  this.onSkeletonRemovedObservable = new Observable();
986
+ /**
987
+ * An event triggered when a particle system is created
988
+ */
989
+ this.onNewParticleSystemAddedObservable = new Observable();
990
+ /**
991
+ * An event triggered when a particle system is removed
992
+ */
993
+ this.onParticleSystemRemovedObservable = new Observable();
994
+ /**
995
+ * An event triggered when an animation group is created
996
+ */
997
+ this.onNewAnimationGroupAddedObservable = new Observable();
998
+ /**
999
+ * An event triggered when an animation group is removed
1000
+ */
1001
+ this.onAnimationGroupRemovedObservable = new Observable();
986
1002
  /**
987
1003
  * An event triggered when a material is created
988
1004
  */
@@ -1007,6 +1023,14 @@ export class Scene {
1007
1023
  * An event triggered when a texture is removed
1008
1024
  */
1009
1025
  this.onTextureRemovedObservable = new Observable();
1026
+ /**
1027
+ * An event triggered when a frame graph is created
1028
+ */
1029
+ this.onNewFrameGraphAddedObservable = new Observable();
1030
+ /**
1031
+ * An event triggered when a frame graph is removed
1032
+ */
1033
+ this.onFrameGraphRemovedObservable = new Observable();
1010
1034
  /**
1011
1035
  * An event triggered when render targets are about to be rendered
1012
1036
  * Can happen multiple times per frame.
@@ -1218,6 +1242,7 @@ export class Scene {
1218
1242
  this._renderId = 0;
1219
1243
  this._frameId = 0;
1220
1244
  this._executeWhenReadyTimeoutId = null;
1245
+ /** @internal */
1221
1246
  this._intermediateRendering = false;
1222
1247
  this._defaultFrameBufferCleared = false;
1223
1248
  this._viewUpdateFlag = -1;
@@ -2273,6 +2298,7 @@ export class Scene {
2273
2298
  // Clean active container
2274
2299
  this._executeActiveContainerCleanup(this._activeParticleSystems);
2275
2300
  }
2301
+ this.onParticleSystemRemovedObservable.notifyObservers(toRemove);
2276
2302
  return index;
2277
2303
  }
2278
2304
  /**
@@ -2306,6 +2332,7 @@ export class Scene {
2306
2332
  if (index !== -1) {
2307
2333
  this.animationGroups.splice(index, 1);
2308
2334
  }
2335
+ this.onAnimationGroupRemovedObservable.notifyObservers(toRemove);
2309
2336
  return index;
2310
2337
  }
2311
2338
  /**
@@ -2366,6 +2393,19 @@ export class Scene {
2366
2393
  this.onTextureRemovedObservable.notifyObservers(toRemove);
2367
2394
  return index;
2368
2395
  }
2396
+ /**
2397
+ * Removes the given frame graph from this scene.
2398
+ * @param toRemove The frame graph to remove
2399
+ * @returns The index of the removed frame graph
2400
+ */
2401
+ removeFrameGraph(toRemove) {
2402
+ const index = this.frameGraphs.indexOf(toRemove);
2403
+ if (index !== -1) {
2404
+ this.frameGraphs.splice(index, 1);
2405
+ }
2406
+ this.onFrameGraphRemovedObservable.notifyObservers(toRemove);
2407
+ return index;
2408
+ }
2369
2409
  /**
2370
2410
  * Adds the given light to this scene
2371
2411
  * @param newLight The light to add
@@ -2436,6 +2476,9 @@ export class Scene {
2436
2476
  return;
2437
2477
  }
2438
2478
  this.particleSystems.push(newParticleSystem);
2479
+ Tools.SetImmediate(() => {
2480
+ this.onNewParticleSystemAddedObservable.notifyObservers(newParticleSystem);
2481
+ });
2439
2482
  }
2440
2483
  /**
2441
2484
  * Adds the given animation to this scene
@@ -2456,6 +2499,9 @@ export class Scene {
2456
2499
  return;
2457
2500
  }
2458
2501
  this.animationGroups.push(newAnimationGroup);
2502
+ Tools.SetImmediate(() => {
2503
+ this.onNewAnimationGroupAddedObservable.notifyObservers(newAnimationGroup);
2504
+ });
2459
2505
  }
2460
2506
  /**
2461
2507
  * Adds the given multi-material to this scene
@@ -2530,6 +2576,16 @@ export class Scene {
2530
2576
  this.textures.push(newTexture);
2531
2577
  this.onNewTextureAddedObservable.notifyObservers(newTexture);
2532
2578
  }
2579
+ /**
2580
+ * Adds the given frame graph to this scene.
2581
+ * @param newFrameGraph The frame graph to add
2582
+ */
2583
+ addFrameGraph(newFrameGraph) {
2584
+ this.frameGraphs.push(newFrameGraph);
2585
+ Tools.SetImmediate(() => {
2586
+ this.onNewFrameGraphAddedObservable.notifyObservers(newFrameGraph);
2587
+ });
2588
+ }
2533
2589
  /**
2534
2590
  * Switch active camera
2535
2591
  * @param newCamera defines the new active camera