@babylonjs/core 5.16.0 → 5.17.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 (108) hide show
  1. package/Animations/animatable.js +1 -1
  2. package/Animations/animatable.js.map +1 -1
  3. package/Animations/animation.d.ts +8 -1
  4. package/Animations/animation.js +8 -1
  5. package/Animations/animation.js.map +1 -1
  6. package/Animations/animationGroup.js +5 -4
  7. package/Animations/animationGroup.js.map +1 -1
  8. package/Bones/skeleton.js +1 -1
  9. package/Bones/skeleton.js.map +1 -1
  10. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +2 -2
  11. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
  12. package/Cameras/Inputs/flyCameraKeyboardInput.js +3 -3
  13. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  14. package/Cameras/Inputs/followCameraKeyboardMoveInput.js +2 -2
  15. package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
  16. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +3 -3
  17. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  18. package/Cameras/Inputs/freeCameraTouchInput.js +1 -1
  19. package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
  20. package/Cameras/VR/vrExperienceHelper.js +1 -1
  21. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  22. package/Cameras/VR/webVRCamera.js +1 -1
  23. package/Cameras/VR/webVRCamera.js.map +1 -1
  24. package/Cameras/camera.js +3 -3
  25. package/Cameras/camera.js.map +1 -1
  26. package/Engines/Processors/shaderCodeCursor.js +2 -1
  27. package/Engines/Processors/shaderCodeCursor.js.map +1 -1
  28. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
  29. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  30. package/Engines/engine.d.ts +0 -10
  31. package/Engines/engine.js +0 -14
  32. package/Engines/engine.js.map +1 -1
  33. package/Engines/nativeEngine.d.ts +6 -2
  34. package/Engines/nativeEngine.js +12 -6
  35. package/Engines/nativeEngine.js.map +1 -1
  36. package/Engines/thinEngine.d.ts +10 -0
  37. package/Engines/thinEngine.js +19 -5
  38. package/Engines/thinEngine.js.map +1 -1
  39. package/Gizmos/boundingBoxGizmo.d.ts +4 -0
  40. package/Gizmos/boundingBoxGizmo.js +6 -0
  41. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  42. package/Inputs/scene.inputManager.js +0 -3
  43. package/Inputs/scene.inputManager.js.map +1 -1
  44. package/Loading/sceneLoader.js +5 -5
  45. package/Loading/sceneLoader.js.map +1 -1
  46. package/Materials/Node/Blocks/Fragment/TBNBlock.d.ts +12 -0
  47. package/Materials/Node/Blocks/Fragment/TBNBlock.js +50 -0
  48. package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
  49. package/Materials/Node/Blocks/gradientBlock.js +1 -1
  50. package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
  51. package/Materials/Node/nodeMaterial.d.ts +10 -1
  52. package/Materials/Node/nodeMaterial.js +43 -26
  53. package/Materials/Node/nodeMaterial.js.map +1 -1
  54. package/Materials/Textures/prePassRenderTarget.js +1 -1
  55. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  56. package/Materials/Textures/renderTargetTexture.js +11 -3
  57. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  58. package/Materials/materialDefines.js +3 -1
  59. package/Materials/materialDefines.js.map +1 -1
  60. package/Materials/shaderMaterial.d.ts +10 -1
  61. package/Materials/shaderMaterial.js +10 -1
  62. package/Materials/shaderMaterial.js.map +1 -1
  63. package/Maths/math.color.d.ts +9 -1
  64. package/Maths/math.color.js +13 -1
  65. package/Maths/math.color.js.map +1 -1
  66. package/Meshes/Builders/icoSphereBuilder.js +2 -2
  67. package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
  68. package/Meshes/abstractMesh.js +1 -1
  69. package/Meshes/abstractMesh.js.map +1 -1
  70. package/Meshes/geometry.js +1 -2
  71. package/Meshes/geometry.js.map +1 -1
  72. package/Meshes/thinInstanceMesh.js +5 -0
  73. package/Meshes/thinInstanceMesh.js.map +1 -1
  74. package/Misc/smartArray.js +0 -1
  75. package/Misc/smartArray.js.map +1 -1
  76. package/Particles/computeShaderParticleSystem.js +2 -2
  77. package/Particles/computeShaderParticleSystem.js.map +1 -1
  78. package/Particles/particleHelper.d.ts +12 -1
  79. package/Particles/particleHelper.js +12 -1
  80. package/Particles/particleHelper.js.map +1 -1
  81. package/Particles/particleSystem.js +2 -2
  82. package/Particles/particleSystem.js.map +1 -1
  83. package/Particles/particleSystemSet.js +1 -1
  84. package/Particles/particleSystemSet.js.map +1 -1
  85. package/Particles/solidParticleSystem.d.ts +3 -0
  86. package/Particles/solidParticleSystem.js +3 -0
  87. package/Particles/solidParticleSystem.js.map +1 -1
  88. package/Particles/webgl2ParticleSystem.js +2 -2
  89. package/Particles/webgl2ParticleSystem.js.map +1 -1
  90. package/Physics/Plugins/cannonJSPlugin.js +1 -1
  91. package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
  92. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js +3 -3
  93. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
  94. package/Rendering/utilityLayerRenderer.js +1 -1
  95. package/Rendering/utilityLayerRenderer.js.map +1 -1
  96. package/Sprites/spriteManager.d.ts +10 -1
  97. package/Sprites/spriteManager.js +10 -1
  98. package/Sprites/spriteManager.js.map +1 -1
  99. package/XR/features/WebXRLayers.js +1 -1
  100. package/XR/features/WebXRLayers.js.map +1 -1
  101. package/assetContainer.js +12 -12
  102. package/assetContainer.js.map +1 -1
  103. package/node.js +1 -1
  104. package/node.js.map +1 -1
  105. package/package.json +1 -1
  106. package/scene.d.ts +2 -0
  107. package/scene.js +15 -8
  108. package/scene.js.map +1 -1
package/scene.js CHANGED
@@ -140,6 +140,7 @@ var Scene = /** @class */ (function (_super) {
140
140
  _this.onAfterRenderObservable = new Observable();
141
141
  /**
142
142
  * An event triggered after rendering the scene for an active camera (When scene.render is called this will be called after each camera)
143
+ * This is triggered for each "sub" camera in a Camera Rig unlike onAfterCameraRenderObservable
143
144
  */
144
145
  _this.onAfterRenderCameraObservable = new Observable();
145
146
  _this._onAfterRenderObserver = null;
@@ -170,6 +171,7 @@ var Scene = /** @class */ (function (_super) {
170
171
  _this._onBeforeCameraRenderObserver = null;
171
172
  /**
172
173
  * An event triggered after rendering a camera
174
+ * This is triggered for the full rig Camera only unlike onAfterRenderCameraObservable
173
175
  */
174
176
  _this.onAfterCameraRenderObservable = new Observable();
175
177
  _this._onAfterCameraRenderObserver = null;
@@ -1206,7 +1208,7 @@ var Scene = /** @class */ (function (_super) {
1206
1208
  var component = _a[_i];
1207
1209
  component.register();
1208
1210
  }
1209
- this._transientComponents = [];
1211
+ this._transientComponents.length = 0;
1210
1212
  }
1211
1213
  };
1212
1214
  /**
@@ -3403,7 +3405,9 @@ var Scene = /** @class */ (function (_super) {
3403
3405
  rtt.onClearObservable.notifyObservers(this._engine);
3404
3406
  }
3405
3407
  else if (!rtt.skipInitialClear) {
3406
- this._engine.clear(rtt.clearColor || this.clearColor, !rtt._cleared, true, true);
3408
+ if (this.autoClear) {
3409
+ this._engine.clear(rtt.clearColor || this.clearColor, !rtt._cleared, true, true);
3410
+ }
3407
3411
  rtt._cleared = true;
3408
3412
  }
3409
3413
  }
@@ -3804,6 +3808,8 @@ var Scene = /** @class */ (function (_super) {
3804
3808
  step.action(this._renderTargets);
3805
3809
  }
3806
3810
  // Multi-cameras?
3811
+ // save current active camera, following calls will change it, discarding user settings
3812
+ var activeCamera = this._activeCamera;
3807
3813
  if (this.activeCameras && this.activeCameras.length > 0) {
3808
3814
  for (var cameraIndex = 0; cameraIndex < this.activeCameras.length; cameraIndex++) {
3809
3815
  this._processSubCameras(this.activeCameras[cameraIndex], cameraIndex > 0);
@@ -3815,6 +3821,7 @@ var Scene = /** @class */ (function (_super) {
3815
3821
  }
3816
3822
  this._processSubCameras(this.activeCamera, !!this.activeCamera.outputRenderTarget);
3817
3823
  }
3824
+ this._activeCamera = activeCamera;
3818
3825
  // Intersection checks
3819
3826
  this._checkIntersections();
3820
3827
  // Executes the after render stage actions.
@@ -3835,7 +3842,7 @@ var Scene = /** @class */ (function (_super) {
3835
3842
  data.dispose();
3836
3843
  }
3837
3844
  }
3838
- this._toBeDisposed = [];
3845
+ this._toBeDisposed.length = 0;
3839
3846
  }
3840
3847
  if (this.dumpNextRenderTargets) {
3841
3848
  this.dumpNextRenderTargets = false;
@@ -3874,9 +3881,9 @@ var Scene = /** @class */ (function (_super) {
3874
3881
  this.beforeRender = null;
3875
3882
  this.afterRender = null;
3876
3883
  this.metadata = null;
3877
- this.skeletons = [];
3878
- this.morphTargetManagers = [];
3879
- this._transientComponents = [];
3884
+ this.skeletons.length = 0;
3885
+ this.morphTargetManagers.length = 0;
3886
+ this._transientComponents.length = 0;
3880
3887
  this._isReadyForMeshStage.clear();
3881
3888
  this._beforeEvaluateActiveMeshStage.clear();
3882
3889
  this._evaluateSubMeshStage.clear();
@@ -3918,14 +3925,14 @@ var Scene = /** @class */ (function (_super) {
3918
3925
  this._materialsRenderTargets.dispose();
3919
3926
  this._registeredForLateAnimationBindings.dispose();
3920
3927
  this._meshesForIntersections.dispose();
3921
- this._toBeDisposed = [];
3928
+ this._toBeDisposed.length = 0;
3922
3929
  // Abort active requests
3923
3930
  var activeRequests = this._activeRequests.slice();
3924
3931
  for (var _i = 0, activeRequests_1 = activeRequests; _i < activeRequests_1.length; _i++) {
3925
3932
  var request = activeRequests_1[_i];
3926
3933
  request.abort();
3927
3934
  }
3928
- this._activeRequests = [];
3935
+ this._activeRequests.length = 0;
3929
3936
  // Events
3930
3937
  this.onDisposeObservable.notifyObservers(this);
3931
3938
  this.onDisposeObservable.clear();