@babylonjs/core 6.23.0 → 6.24.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 (167) hide show
  1. package/Animations/animationGroup.d.ts +1 -1
  2. package/Animations/animationGroup.js.map +1 -1
  3. package/Behaviors/Cameras/framingBehavior.d.ts +0 -5
  4. package/Behaviors/Cameras/framingBehavior.js +2 -34
  5. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  6. package/Buffers/buffer.d.ts +64 -1
  7. package/Buffers/buffer.js +30 -23
  8. package/Buffers/buffer.js.map +1 -1
  9. package/Buffers/storageBuffer.d.ts +3 -1
  10. package/Buffers/storageBuffer.js +4 -2
  11. package/Buffers/storageBuffer.js.map +1 -1
  12. package/Cameras/Inputs/BaseCameraPointersInput.js +1 -1
  13. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  14. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +1 -1
  15. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js.map +1 -1
  16. package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
  17. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  18. package/Cameras/Stereoscopic/anaglyphArcRotateCamera.d.ts +1 -1
  19. package/Cameras/Stereoscopic/anaglyphArcRotateCamera.js +1 -1
  20. package/Cameras/Stereoscopic/anaglyphArcRotateCamera.js.map +1 -1
  21. package/Cameras/Stereoscopic/anaglyphFreeCamera.d.ts +1 -1
  22. package/Cameras/Stereoscopic/anaglyphFreeCamera.js +1 -1
  23. package/Cameras/Stereoscopic/anaglyphFreeCamera.js.map +1 -1
  24. package/Cameras/Stereoscopic/anaglyphGamepadCamera.d.ts +1 -1
  25. package/Cameras/Stereoscopic/anaglyphGamepadCamera.js +1 -1
  26. package/Cameras/Stereoscopic/anaglyphGamepadCamera.js.map +1 -1
  27. package/Cameras/Stereoscopic/anaglyphUniversalCamera.d.ts +1 -1
  28. package/Cameras/Stereoscopic/anaglyphUniversalCamera.js +1 -1
  29. package/Cameras/Stereoscopic/anaglyphUniversalCamera.js.map +1 -1
  30. package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.d.ts +1 -1
  31. package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.js +1 -1
  32. package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.js.map +1 -1
  33. package/Cameras/Stereoscopic/stereoscopicFreeCamera.d.ts +1 -1
  34. package/Cameras/Stereoscopic/stereoscopicFreeCamera.js +1 -1
  35. package/Cameras/Stereoscopic/stereoscopicFreeCamera.js.map +1 -1
  36. package/Cameras/Stereoscopic/stereoscopicGamepadCamera.d.ts +1 -1
  37. package/Cameras/Stereoscopic/stereoscopicGamepadCamera.js +1 -1
  38. package/Cameras/Stereoscopic/stereoscopicGamepadCamera.js.map +1 -1
  39. package/Cameras/Stereoscopic/stereoscopicUniversalCamera.d.ts +1 -1
  40. package/Cameras/Stereoscopic/stereoscopicUniversalCamera.js +1 -1
  41. package/Cameras/Stereoscopic/stereoscopicUniversalCamera.js.map +1 -1
  42. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.d.ts +1 -1
  43. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js +1 -1
  44. package/Cameras/VR/vrDeviceOrientationArcRotateCamera.js.map +1 -1
  45. package/Cameras/VR/vrDeviceOrientationFreeCamera.d.ts +1 -1
  46. package/Cameras/VR/vrDeviceOrientationFreeCamera.js +1 -1
  47. package/Cameras/VR/vrDeviceOrientationFreeCamera.js.map +1 -1
  48. package/Cameras/VR/vrDeviceOrientationGamepadCamera.d.ts +1 -1
  49. package/Cameras/VR/vrDeviceOrientationGamepadCamera.js +1 -1
  50. package/Cameras/VR/vrDeviceOrientationGamepadCamera.js.map +1 -1
  51. package/Cameras/arcRotateCamera.d.ts +4 -0
  52. package/Cameras/arcRotateCamera.js +22 -1
  53. package/Cameras/arcRotateCamera.js.map +1 -1
  54. package/Culling/Octrees/octreeSceneComponent.js +4 -4
  55. package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
  56. package/Debug/physicsViewer.js +4 -4
  57. package/Debug/physicsViewer.js.map +1 -1
  58. package/Debug/rayHelper.js +1 -1
  59. package/Debug/rayHelper.js.map +1 -1
  60. package/Engines/Extensions/engine.storageBuffer.d.ts +2 -1
  61. package/Engines/Extensions/engine.storageBuffer.js.map +1 -1
  62. package/Engines/Extensions/engine.uniformBuffer.d.ts +4 -2
  63. package/Engines/Extensions/engine.uniformBuffer.js +2 -2
  64. package/Engines/Extensions/engine.uniformBuffer.js.map +1 -1
  65. package/Engines/WebGPU/Extensions/engine.storageBuffer.d.ts +2 -1
  66. package/Engines/WebGPU/Extensions/engine.storageBuffer.js +3 -3
  67. package/Engines/WebGPU/Extensions/engine.storageBuffer.js.map +1 -1
  68. package/Engines/WebGPU/Extensions/engine.uniformBuffer.js +5 -5
  69. package/Engines/WebGPU/Extensions/engine.uniformBuffer.js.map +1 -1
  70. package/Engines/WebGPU/webgpuBufferManager.d.ts +3 -2
  71. package/Engines/WebGPU/webgpuBufferManager.js +16 -3
  72. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  73. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +2 -0
  74. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +61 -0
  75. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  76. package/Engines/WebGPU/webgpuDrawContext.js +1 -1
  77. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  78. package/Engines/WebGPU/webgpuPipelineContext.d.ts +3 -0
  79. package/Engines/WebGPU/webgpuPipelineContext.js +1 -0
  80. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  81. package/Engines/WebGPU/webgpuQuerySet.js +3 -3
  82. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  83. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  84. package/Engines/WebGPU/webgpuShaderProcessor.d.ts +3 -0
  85. package/Engines/WebGPU/webgpuShaderProcessor.js +5 -0
  86. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  87. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +11 -1
  88. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  89. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +3 -0
  90. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +32 -4
  91. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  92. package/Engines/WebGPU/webgpuTextureHelper.js +5 -3
  93. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  94. package/Engines/WebGPU/webgpuTintWASM.js +1 -1
  95. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  96. package/Engines/engine.d.ts +1 -1
  97. package/Engines/nativeEngine.d.ts +2 -2
  98. package/Engines/nativeEngine.js +5 -2
  99. package/Engines/nativeEngine.js.map +1 -1
  100. package/Engines/thinEngine.d.ts +7 -3
  101. package/Engines/thinEngine.js +11 -7
  102. package/Engines/thinEngine.js.map +1 -1
  103. package/Engines/webgpuEngine.d.ts +9 -4
  104. package/Engines/webgpuEngine.js +16 -11
  105. package/Engines/webgpuEngine.js.map +1 -1
  106. package/FlowGraph/flowGraph.js +1 -1
  107. package/FlowGraph/flowGraph.js.map +1 -1
  108. package/Lights/Shadows/cascadedShadowGenerator.js +1 -1
  109. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  110. package/Lights/Shadows/shadowGenerator.js +1 -1
  111. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  112. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.d.ts +4 -0
  113. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.js +21 -0
  114. package/Materials/Node/Blocks/Fragment/prePassOutputBlock.js.map +1 -1
  115. package/Materials/Textures/equiRectangularCubeTexture.js +1 -1
  116. package/Materials/Textures/equiRectangularCubeTexture.js.map +1 -1
  117. package/Materials/Textures/texture.d.ts +2 -0
  118. package/Materials/Textures/texture.js +8 -0
  119. package/Materials/Textures/texture.js.map +1 -1
  120. package/Materials/Textures/videoTexture.d.ts +4 -0
  121. package/Materials/Textures/videoTexture.js +21 -0
  122. package/Materials/Textures/videoTexture.js.map +1 -1
  123. package/Materials/effect.d.ts +8 -3
  124. package/Materials/effect.js +25 -19
  125. package/Materials/effect.js.map +1 -1
  126. package/Materials/material.js +8 -6
  127. package/Materials/material.js.map +1 -1
  128. package/Materials/meshDebugPluginMaterial.js +1 -1
  129. package/Materials/meshDebugPluginMaterial.js.map +1 -1
  130. package/Materials/uniformBuffer.d.ts +1 -0
  131. package/Materials/uniformBuffer.js +9 -2
  132. package/Materials/uniformBuffer.js.map +1 -1
  133. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.d.ts +66 -0
  134. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js +100 -0
  135. package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js.map +1 -0
  136. package/Meshes/Node/Blocks/Instances/instantiateBlock.d.ts +5 -30
  137. package/Meshes/Node/Blocks/Instances/instantiateBlock.js +2 -52
  138. package/Meshes/Node/Blocks/Instances/instantiateBlock.js.map +1 -1
  139. package/Meshes/Node/Blocks/Instances/instantiateLinearBlock.d.ts +31 -0
  140. package/Meshes/Node/Blocks/Instances/instantiateLinearBlock.js +101 -0
  141. package/Meshes/Node/Blocks/Instances/instantiateLinearBlock.js.map +1 -0
  142. package/Meshes/Node/Blocks/Instances/instantiateRadialBlock.d.ts +43 -0
  143. package/Meshes/Node/Blocks/Instances/instantiateRadialBlock.js +139 -0
  144. package/Meshes/Node/Blocks/Instances/instantiateRadialBlock.js.map +1 -0
  145. package/Meshes/Node/index.d.ts +2 -0
  146. package/Meshes/Node/index.js +2 -0
  147. package/Meshes/Node/index.js.map +1 -1
  148. package/Meshes/geometry.js +8 -2
  149. package/Meshes/geometry.js.map +1 -1
  150. package/Misc/videoRecorder.js +3 -3
  151. package/Misc/videoRecorder.js.map +1 -1
  152. package/Physics/physicsHelper.js +3 -3
  153. package/Physics/physicsHelper.js.map +1 -1
  154. package/Physics/v2/Plugins/havokPlugin.js +64 -56
  155. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  156. package/Rendering/fluidRenderer/fluidRenderer.js +4 -4
  157. package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
  158. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -0
  159. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  160. package/XR/features/WebXRSpaceWarp.d.ts +2 -0
  161. package/XR/features/WebXRSpaceWarp.js +6 -1
  162. package/XR/features/WebXRSpaceWarp.js.map +1 -1
  163. package/XR/webXRSessionManager.js +1 -1
  164. package/XR/webXRSessionManager.js.map +1 -1
  165. package/package.json +1 -1
  166. package/scene.js +4 -4
  167. package/scene.js.map +1 -1
@@ -411,25 +411,30 @@ export declare class WebGPUEngine extends Engine {
411
411
  /**
412
412
  * Creates a vertex buffer
413
413
  * @param data the data for the vertex buffer
414
+ * @param _updatable whether the buffer should be created as updatable
415
+ * @param label defines the label of the buffer (for debug purpose)
414
416
  * @returns the new buffer
415
417
  */
416
- createVertexBuffer(data: DataArray): DataBuffer;
418
+ createVertexBuffer(data: DataArray, _updatable?: boolean, label?: string): DataBuffer;
417
419
  /**
418
420
  * Creates a vertex buffer
419
421
  * @param data the data for the dynamic vertex buffer
422
+ * @param label defines the label of the buffer (for debug purpose)
420
423
  * @returns the new buffer
421
424
  */
422
- createDynamicVertexBuffer(data: DataArray): DataBuffer;
425
+ createDynamicVertexBuffer(data: DataArray, label?: string): DataBuffer;
423
426
  /**
424
427
  * Creates a new index buffer
425
428
  * @param indices defines the content of the index buffer
429
+ * @param updatable defines if the index buffer must be updatable
430
+ * @param label defines the label of the buffer (for debug purpose)
426
431
  * @returns a new buffer
427
432
  */
428
- createIndexBuffer(indices: IndicesArray): DataBuffer;
433
+ createIndexBuffer(indices: IndicesArray, _updatable?: boolean, label?: string): DataBuffer;
429
434
  /**
430
435
  * @internal
431
436
  */
432
- _createBuffer(data: DataArray | number, creationFlags: number): DataBuffer;
437
+ _createBuffer(data: DataArray | number, creationFlags: number, label?: string): DataBuffer;
433
438
  /**
434
439
  * @internal
435
440
  */
@@ -416,7 +416,7 @@ export class WebGPUEngine extends Engine {
416
416
  this._contextWasLost = true;
417
417
  Logger.Warn("WebGPU context lost. " + info);
418
418
  this.onContextLostObservable.notifyObservers(this);
419
- this._restoreEngineAfterContextLost(this.initAsync.bind(this));
419
+ this._restoreEngineAfterContextLost(() => this.initAsync());
420
420
  });
421
421
  }
422
422
  }, (e) => {
@@ -433,8 +433,8 @@ export class WebGPUEngine extends Engine {
433
433
  this._bundleList = new WebGPUBundleList(this._device);
434
434
  this._bundleListRenderTarget = new WebGPUBundleList(this._device);
435
435
  this._snapshotRendering = new WebGPUSnapshotRendering(this, this._snapshotRenderingMode, this._bundleList, this._bundleListRenderTarget);
436
- this._ubInvertY = this._bufferManager.createBuffer(new Float32Array([-1, 0]), WebGPUConstants.BufferUsage.Uniform | WebGPUConstants.BufferUsage.CopyDst);
437
- this._ubDontInvertY = this._bufferManager.createBuffer(new Float32Array([1, 0]), WebGPUConstants.BufferUsage.Uniform | WebGPUConstants.BufferUsage.CopyDst);
436
+ this._ubInvertY = this._bufferManager.createBuffer(new Float32Array([-1, 0]), WebGPUConstants.BufferUsage.Uniform | WebGPUConstants.BufferUsage.CopyDst, "UBInvertY");
437
+ this._ubDontInvertY = this._bufferManager.createBuffer(new Float32Array([1, 0]), WebGPUConstants.BufferUsage.Uniform | WebGPUConstants.BufferUsage.CopyDst, "UBDontInvertY");
438
438
  if (this.dbgVerboseLogsForFirstFrames) {
439
439
  if (this._count === undefined) {
440
440
  this._count = 0;
@@ -993,9 +993,11 @@ export class WebGPUEngine extends Engine {
993
993
  /**
994
994
  * Creates a vertex buffer
995
995
  * @param data the data for the vertex buffer
996
+ * @param _updatable whether the buffer should be created as updatable
997
+ * @param label defines the label of the buffer (for debug purpose)
996
998
  * @returns the new buffer
997
999
  */
998
- createVertexBuffer(data) {
1000
+ createVertexBuffer(data, _updatable, label) {
999
1001
  let view;
1000
1002
  if (data instanceof Array) {
1001
1003
  view = new Float32Array(data);
@@ -1006,23 +1008,26 @@ export class WebGPUEngine extends Engine {
1006
1008
  else {
1007
1009
  view = data;
1008
1010
  }
1009
- const dataBuffer = this._bufferManager.createBuffer(view, WebGPUConstants.BufferUsage.Vertex | WebGPUConstants.BufferUsage.CopyDst);
1011
+ const dataBuffer = this._bufferManager.createBuffer(view, WebGPUConstants.BufferUsage.Vertex | WebGPUConstants.BufferUsage.CopyDst, label);
1010
1012
  return dataBuffer;
1011
1013
  }
1012
1014
  /**
1013
1015
  * Creates a vertex buffer
1014
1016
  * @param data the data for the dynamic vertex buffer
1017
+ * @param label defines the label of the buffer (for debug purpose)
1015
1018
  * @returns the new buffer
1016
1019
  */
1017
- createDynamicVertexBuffer(data) {
1018
- return this.createVertexBuffer(data);
1020
+ createDynamicVertexBuffer(data, label) {
1021
+ return this.createVertexBuffer(data, undefined, label);
1019
1022
  }
1020
1023
  /**
1021
1024
  * Creates a new index buffer
1022
1025
  * @param indices defines the content of the index buffer
1026
+ * @param updatable defines if the index buffer must be updatable
1027
+ * @param label defines the label of the buffer (for debug purpose)
1023
1028
  * @returns a new buffer
1024
1029
  */
1025
- createIndexBuffer(indices) {
1030
+ createIndexBuffer(indices, _updatable, label) {
1026
1031
  let is32Bits = true;
1027
1032
  let view;
1028
1033
  if (indices instanceof Uint32Array || indices instanceof Int32Array) {
@@ -1041,14 +1046,14 @@ export class WebGPUEngine extends Engine {
1041
1046
  is32Bits = false;
1042
1047
  }
1043
1048
  }
1044
- const dataBuffer = this._bufferManager.createBuffer(view, WebGPUConstants.BufferUsage.Index | WebGPUConstants.BufferUsage.CopyDst);
1049
+ const dataBuffer = this._bufferManager.createBuffer(view, WebGPUConstants.BufferUsage.Index | WebGPUConstants.BufferUsage.CopyDst, label);
1045
1050
  dataBuffer.is32Bits = is32Bits;
1046
1051
  return dataBuffer;
1047
1052
  }
1048
1053
  /**
1049
1054
  * @internal
1050
1055
  */
1051
- _createBuffer(data, creationFlags) {
1056
+ _createBuffer(data, creationFlags, label) {
1052
1057
  let view;
1053
1058
  if (data instanceof Array) {
1054
1059
  view = new Float32Array(data);
@@ -1078,7 +1083,7 @@ export class WebGPUEngine extends Engine {
1078
1083
  if (creationFlags & 32) {
1079
1084
  flags |= WebGPUConstants.BufferUsage.Storage;
1080
1085
  }
1081
- return this._bufferManager.createBuffer(view, flags);
1086
+ return this._bufferManager.createBuffer(view, flags, label);
1082
1087
  }
1083
1088
  /**
1084
1089
  * @internal