@babylonjs/core 8.37.3 → 8.39.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 (127) hide show
  1. package/Animations/animation.d.ts +3 -1
  2. package/Animations/animation.js +5 -4
  3. package/Animations/animation.js.map +1 -1
  4. package/Behaviors/Cameras/autoRotationBehavior.d.ts +4 -0
  5. package/Behaviors/Cameras/autoRotationBehavior.js +7 -0
  6. package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
  7. package/Behaviors/Cameras/bouncingBehavior.d.ts +5 -0
  8. package/Behaviors/Cameras/bouncingBehavior.js +8 -0
  9. package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
  10. package/Behaviors/Cameras/framingBehavior.d.ts +4 -0
  11. package/Behaviors/Cameras/framingBehavior.js +7 -0
  12. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  13. package/Behaviors/Cameras/interpolatingBehavior.d.ts +7 -1
  14. package/Behaviors/Cameras/interpolatingBehavior.js +21 -6
  15. package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
  16. package/Behaviors/Meshes/attachToBoxBehavior.d.ts +5 -0
  17. package/Behaviors/Meshes/attachToBoxBehavior.js +8 -1
  18. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  19. package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +5 -2
  20. package/Behaviors/Meshes/baseSixDofDragBehavior.js +8 -0
  21. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  22. package/Behaviors/Meshes/fadeInOutBehavior.d.ts +5 -0
  23. package/Behaviors/Meshes/fadeInOutBehavior.js +6 -0
  24. package/Behaviors/Meshes/fadeInOutBehavior.js.map +1 -1
  25. package/Behaviors/Meshes/handConstraintBehavior.d.ts +5 -0
  26. package/Behaviors/Meshes/handConstraintBehavior.js +8 -0
  27. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  28. package/Behaviors/Meshes/multiPointerScaleBehavior.d.ts +5 -0
  29. package/Behaviors/Meshes/multiPointerScaleBehavior.js +8 -0
  30. package/Behaviors/Meshes/multiPointerScaleBehavior.js.map +1 -1
  31. package/Behaviors/Meshes/sixDofDragBehavior.js +1 -1
  32. package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
  33. package/Behaviors/Meshes/surfaceMagnetismBehavior.d.ts +5 -0
  34. package/Behaviors/Meshes/surfaceMagnetismBehavior.js +7 -0
  35. package/Behaviors/Meshes/surfaceMagnetismBehavior.js.map +1 -1
  36. package/Behaviors/behavior.d.ts +4 -0
  37. package/Behaviors/behavior.js.map +1 -1
  38. package/Cameras/Inputs/geospatialCameraPointersInput.js +3 -5
  39. package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
  40. package/Cameras/geospatialCamera.d.ts +19 -1
  41. package/Cameras/geospatialCamera.js +117 -28
  42. package/Cameras/geospatialCamera.js.map +1 -1
  43. package/Cameras/geospatialCameraMovement.d.ts +7 -2
  44. package/Cameras/geospatialCameraMovement.js +46 -10
  45. package/Cameras/geospatialCameraMovement.js.map +1 -1
  46. package/Engines/WebGPU/Extensions/engine.multiRender.d.ts +2 -1
  47. package/Engines/WebGPU/Extensions/engine.multiRender.js +5 -2
  48. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  49. package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -0
  50. package/Engines/WebGPU/webgpuTextureHelper.js +11 -0
  51. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  52. package/Engines/WebGPU/webgpuTextureManager.d.ts +1 -0
  53. package/Engines/WebGPU/webgpuTextureManager.js +100 -9
  54. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  55. package/Engines/abstractEngine.js +2 -2
  56. package/Engines/abstractEngine.js.map +1 -1
  57. package/Engines/renderTargetWrapper.js +6 -1
  58. package/Engines/renderTargetWrapper.js.map +1 -1
  59. package/Engines/thinEngine.js +1 -1
  60. package/Engines/thinEngine.js.map +1 -1
  61. package/Engines/webgpuEngine.d.ts +7 -4
  62. package/Engines/webgpuEngine.js +45 -16
  63. package/Engines/webgpuEngine.js.map +1 -1
  64. package/FrameGraph/Node/nodeRenderGraph.d.ts +22 -5
  65. package/FrameGraph/Node/nodeRenderGraph.js +39 -18
  66. package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
  67. package/FrameGraph/Passes/pass.d.ts +2 -0
  68. package/FrameGraph/Passes/pass.js +2 -0
  69. package/FrameGraph/Passes/pass.js.map +1 -1
  70. package/FrameGraph/Passes/renderPass.d.ts +2 -0
  71. package/FrameGraph/Passes/renderPass.js +4 -0
  72. package/FrameGraph/Passes/renderPass.js.map +1 -1
  73. package/FrameGraph/frameGraph.d.ts +13 -4
  74. package/FrameGraph/frameGraph.js +45 -5
  75. package/FrameGraph/frameGraph.js.map +1 -1
  76. package/FrameGraph/frameGraphRenderTarget.d.ts +1 -0
  77. package/FrameGraph/frameGraphRenderTarget.js +3 -0
  78. package/FrameGraph/frameGraphRenderTarget.js.map +1 -1
  79. package/FrameGraph/frameGraphTask.d.ts +6 -0
  80. package/FrameGraph/frameGraphTask.js +15 -0
  81. package/FrameGraph/frameGraphTask.js.map +1 -1
  82. package/FrameGraph/frameGraphTypes.d.ts +2 -0
  83. package/FrameGraph/frameGraphTypes.js.map +1 -1
  84. package/Helpers/sceneHelpers.js +1 -1
  85. package/Helpers/sceneHelpers.js.map +1 -1
  86. package/Lights/index.d.ts +1 -0
  87. package/Lights/index.js +1 -0
  88. package/Lights/index.js.map +1 -1
  89. package/Lights/lightingVolume.d.ts +89 -0
  90. package/Lights/lightingVolume.js +426 -0
  91. package/Lights/lightingVolume.js.map +1 -0
  92. package/Materials/Node/nodeMaterial.js +8 -2
  93. package/Materials/Node/nodeMaterial.js.map +1 -1
  94. package/Materials/floatingOriginMatrixOverrides.js +6 -5
  95. package/Materials/floatingOriginMatrixOverrides.js.map +1 -1
  96. package/Meshes/mesh.js +1 -1
  97. package/Meshes/mesh.js.map +1 -1
  98. package/Misc/screenshotTools.js +2 -8
  99. package/Misc/screenshotTools.js.map +1 -1
  100. package/Particles/Node/Blocks/index.d.ts +1 -0
  101. package/Particles/Node/Blocks/index.js +1 -0
  102. package/Particles/Node/Blocks/index.js.map +1 -1
  103. package/Particles/Node/Blocks/particleFloatToIntBlock.d.ts +46 -0
  104. package/Particles/Node/Blocks/particleFloatToIntBlock.js +120 -0
  105. package/Particles/Node/Blocks/particleFloatToIntBlock.js.map +1 -0
  106. package/Particles/Node/Blocks/systemBlock.d.ts +4 -4
  107. package/Particles/Node/Blocks/systemBlock.js +22 -16
  108. package/Particles/Node/Blocks/systemBlock.js.map +1 -1
  109. package/Particles/Node/nodeParticleBuildState.js +1 -1
  110. package/Particles/Node/nodeParticleBuildState.js.map +1 -1
  111. package/Particles/Node/nodeParticleSystemSet.helper.js +61 -30
  112. package/Particles/Node/nodeParticleSystemSet.helper.js.map +1 -1
  113. package/Particles/solidParticle.d.ts +9 -0
  114. package/Particles/solidParticle.js +11 -0
  115. package/Particles/solidParticle.js.map +1 -1
  116. package/Particles/solidParticleSystem.d.ts +28 -0
  117. package/Particles/solidParticleSystem.js +75 -0
  118. package/Particles/solidParticleSystem.js.map +1 -1
  119. package/Particles/thinParticleSystem.d.ts +6 -0
  120. package/Particles/thinParticleSystem.js +21 -12
  121. package/Particles/thinParticleSystem.js.map +1 -1
  122. package/ShadersWGSL/lightingVolume.compute.d.ts +5 -0
  123. package/ShadersWGSL/lightingVolume.compute.js +27 -0
  124. package/ShadersWGSL/lightingVolume.compute.js.map +1 -0
  125. package/package.json +1 -1
  126. package/scene.js +6 -4
  127. package/scene.js.map +1 -1
@@ -558,6 +558,12 @@ export declare class ThinParticleSystem extends BaseParticleSystem implements ID
558
558
  * @param preWarmOnly will prevent the system from updating the vertex buffer (default is false)
559
559
  */
560
560
  animate(preWarmOnly?: boolean): void;
561
+ /**
562
+ * Internal only. Calculates the current emit rate based on the gradients if any.
563
+ * @returns The emit rate
564
+ * @internal
565
+ */
566
+ _calculateEmitRate(): number;
561
567
  private _appendParticleVertices;
562
568
  /**
563
569
  * Rebuilds the particle system.
@@ -1575,18 +1575,7 @@ export class ThinParticleSystem extends BaseParticleSystem {
1575
1575
  this.manualEmitCount = 0;
1576
1576
  }
1577
1577
  else {
1578
- let rate = this.emitRate;
1579
- if (this._emitRateGradients && this._emitRateGradients.length > 0 && this.targetStopDuration) {
1580
- const ratio = this._actualFrame / this.targetStopDuration;
1581
- GradientHelper.GetCurrentGradient(ratio, this._emitRateGradients, (currentGradient, nextGradient, scale) => {
1582
- if (currentGradient !== this._currentEmitRateGradient) {
1583
- this._currentEmitRate1 = this._currentEmitRate2;
1584
- this._currentEmitRate2 = nextGradient.getFactor();
1585
- this._currentEmitRateGradient = currentGradient;
1586
- }
1587
- rate = Lerp(this._currentEmitRate1, this._currentEmitRate2, scale);
1588
- });
1589
- }
1578
+ const rate = this._calculateEmitRate();
1590
1579
  newParticles = (rate * this._scaledUpdateSpeed) >> 0;
1591
1580
  this._newPartsExcess += rate * this._scaledUpdateSpeed - newParticles;
1592
1581
  }
@@ -1633,6 +1622,26 @@ export class ThinParticleSystem extends BaseParticleSystem {
1633
1622
  this.stop();
1634
1623
  }
1635
1624
  }
1625
+ /**
1626
+ * Internal only. Calculates the current emit rate based on the gradients if any.
1627
+ * @returns The emit rate
1628
+ * @internal
1629
+ */
1630
+ _calculateEmitRate() {
1631
+ let rate = this.emitRate;
1632
+ if (this._emitRateGradients && this._emitRateGradients.length > 0 && this.targetStopDuration) {
1633
+ const ratio = this._actualFrame / this.targetStopDuration;
1634
+ GradientHelper.GetCurrentGradient(ratio, this._emitRateGradients, (currentGradient, nextGradient, scale) => {
1635
+ if (currentGradient !== this._currentEmitRateGradient) {
1636
+ this._currentEmitRate1 = this._currentEmitRate2;
1637
+ this._currentEmitRate2 = nextGradient.getFactor();
1638
+ this._currentEmitRateGradient = currentGradient;
1639
+ }
1640
+ rate = Lerp(this._currentEmitRate1, this._currentEmitRate2, scale);
1641
+ });
1642
+ }
1643
+ return rate;
1644
+ }
1636
1645
  _appendParticleVertices(offset, particle) {
1637
1646
  this._appendParticleVertex(offset++, particle, 0, 0);
1638
1647
  if (!this._useInstancing) {