@babylonjs/core 6.22.0 → 6.23.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 (98) hide show
  1. package/Animations/animationGroup.d.ts +1 -0
  2. package/Animations/animationGroup.js +5 -1
  3. package/Animations/animationGroup.js.map +1 -1
  4. package/Behaviors/Meshes/pointerDragBehavior.d.ts +4 -3
  5. package/Behaviors/Meshes/pointerDragBehavior.js +4 -3
  6. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  7. package/Cameras/arcRotateCamera.js +8 -2
  8. package/Cameras/arcRotateCamera.js.map +1 -1
  9. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +2 -2
  10. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  11. package/Engines/WebGPU/webgpuConstants.d.ts +5 -4
  12. package/Engines/WebGPU/webgpuConstants.js +15 -15
  13. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  14. package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -0
  15. package/Engines/WebGPU/webgpuTextureHelper.js +27 -31
  16. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  17. package/Engines/engine.d.ts +32 -32
  18. package/Engines/thinEngine.js +2 -2
  19. package/Engines/thinEngine.js.map +1 -1
  20. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +2 -2
  21. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
  22. package/FlowGraph/Blocks/Execution/ControlFlow/{flowGraphConditionalBlock.js → flowGraphBranchBlock.js} +1 -1
  23. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js.map +1 -0
  24. package/FlowGraph/Blocks/Execution/ControlFlow/index.d.ts +1 -1
  25. package/FlowGraph/Blocks/Execution/ControlFlow/index.js +1 -1
  26. package/FlowGraph/Blocks/Execution/ControlFlow/index.js.map +1 -1
  27. package/FlowGraph/Blocks/Execution/flowGraphCustomFunctionBlock.d.ts +23 -0
  28. package/FlowGraph/Blocks/Execution/flowGraphCustomFunctionBlock.js +18 -0
  29. package/FlowGraph/Blocks/Execution/flowGraphCustomFunctionBlock.js.map +1 -0
  30. package/Gizmos/boundingBoxGizmo.js +13 -11
  31. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  32. package/Gizmos/gizmo.js +3 -1
  33. package/Gizmos/gizmo.js.map +1 -1
  34. package/Gizmos/planeRotationGizmo.js +5 -0
  35. package/Gizmos/planeRotationGizmo.js.map +1 -1
  36. package/Gizmos/positionGizmo.d.ts +4 -0
  37. package/Gizmos/positionGizmo.js +6 -0
  38. package/Gizmos/positionGizmo.js.map +1 -1
  39. package/Gizmos/rotationGizmo.d.ts +4 -0
  40. package/Gizmos/rotationGizmo.js +6 -0
  41. package/Gizmos/rotationGizmo.js.map +1 -1
  42. package/Gizmos/scaleGizmo.d.ts +4 -0
  43. package/Gizmos/scaleGizmo.js +6 -0
  44. package/Gizmos/scaleGizmo.js.map +1 -1
  45. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +4 -1
  46. package/Materials/Textures/Procedurals/proceduralTexture.js +10 -8
  47. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  48. package/Materials/uniformBuffer.js +1 -1
  49. package/Materials/uniformBuffer.js.map +1 -1
  50. package/Maths/math.vector.js +3 -3
  51. package/Maths/math.vector.js.map +1 -1
  52. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.d.ts +4 -4
  53. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.js +4 -4
  54. package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.js.map +1 -1
  55. package/Meshes/Node/Blocks/Sources/meshBlock.d.ts +4 -0
  56. package/Meshes/Node/Blocks/Sources/meshBlock.js +18 -0
  57. package/Meshes/Node/Blocks/Sources/meshBlock.js.map +1 -1
  58. package/Meshes/Node/Blocks/booleanGeometryBlock.d.ts +58 -0
  59. package/Meshes/Node/Blocks/booleanGeometryBlock.js +155 -0
  60. package/Meshes/Node/Blocks/booleanGeometryBlock.js.map +1 -0
  61. package/Meshes/Node/Blocks/mergeGeometryBlock.js +0 -2
  62. package/Meshes/Node/Blocks/mergeGeometryBlock.js.map +1 -1
  63. package/Meshes/Node/index.d.ts +1 -0
  64. package/Meshes/Node/index.js +1 -0
  65. package/Meshes/Node/index.js.map +1 -1
  66. package/Meshes/csg.d.ts +169 -1
  67. package/Meshes/csg.js +107 -43
  68. package/Meshes/csg.js.map +1 -1
  69. package/Meshes/mesh.d.ts +10 -0
  70. package/Meshes/mesh.js +33 -0
  71. package/Meshes/mesh.js.map +1 -1
  72. package/Misc/tools.d.ts +0 -1
  73. package/Misc/tools.js +1 -5
  74. package/Misc/tools.js.map +1 -1
  75. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +7 -0
  76. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  77. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.js +6 -0
  78. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.js.map +1 -1
  79. package/PostProcesses/screenSpaceCurvaturePostProcess.js +3 -0
  80. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  81. package/PostProcesses/screenSpaceReflectionPostProcess.js +6 -0
  82. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  83. package/Rendering/depthPeelingRenderer.js +6 -0
  84. package/Rendering/depthPeelingRenderer.js.map +1 -1
  85. package/Rendering/geometryBufferRenderer.d.ts +4 -0
  86. package/Rendering/geometryBufferRenderer.js +7 -0
  87. package/Rendering/geometryBufferRenderer.js.map +1 -1
  88. package/Shaders/ShadersInclude/lightFragment.js +4 -4
  89. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  90. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +41 -42
  91. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  92. package/Shaders/geometry.fragment.js +4 -0
  93. package/Shaders/geometry.fragment.js.map +1 -1
  94. package/Shaders/geometry.vertex.js +4 -0
  95. package/Shaders/geometry.vertex.js.map +1 -1
  96. package/package.json +1 -1
  97. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphConditionalBlock.js.map +0 -1
  98. /package/FlowGraph/Blocks/Execution/ControlFlow/{flowGraphConditionalBlock.d.ts → flowGraphBranchBlock.d.ts} +0 -0
@@ -1217,6 +1217,7 @@ interface GPUSupportedLimits {
1217
1217
  readonly maxTextureDimension3D: number;
1218
1218
  readonly maxTextureArrayLayers: number;
1219
1219
  readonly maxBindGroups: number;
1220
+ readonly maxBindGroupsPlusVertexBuffers: number;
1220
1221
  readonly maxBindingsPerBindGroup: number;
1221
1222
  readonly maxDynamicUniformBuffersPerPipelineLayout: number;
1222
1223
  readonly maxDynamicStorageBuffersPerPipelineLayout: number;
@@ -1225,7 +1226,6 @@ interface GPUSupportedLimits {
1225
1226
  readonly maxStorageBuffersPerShaderStage: number;
1226
1227
  readonly maxStorageTexturesPerShaderStage: number;
1227
1228
  readonly maxUniformBuffersPerShaderStage: number;
1228
- readonly maxFragmentCombinedOutputResources: number;
1229
1229
  readonly maxUniformBufferBindingSize: number;
1230
1230
  readonly maxStorageBufferBindingSize: number;
1231
1231
  readonly minUniformBufferOffsetAlignment: number;
@@ -1248,6 +1248,8 @@ interface GPUSupportedLimits {
1248
1248
 
1249
1249
  type GPUSupportedFeatures = ReadonlySet<string>;
1250
1250
 
1251
+ type WGSLLanguageFeatures = ReadonlySet<string>;
1252
+
1251
1253
  interface GPUAdapterInfo {
1252
1254
  readonly vendor: string;
1253
1255
  readonly architecture: string;
@@ -1266,6 +1268,8 @@ interface WorkerNavigator {
1266
1268
  class GPU {
1267
1269
  requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | undefined>;
1268
1270
  getPreferredCanvasFormat(): GPUTextureFormat;
1271
+
1272
+ readonly WGSLLanguageFeatures: wgslLanguageFeatures;
1269
1273
  }
1270
1274
 
1271
1275
  interface GPURequestAdapterOptions {
@@ -1345,8 +1349,8 @@ class GPUDevice extends EventTarget implements GPUObjectBase {
1345
1349
  class GPUBuffer implements GPUObjectBase {
1346
1350
  label: string | undefined;
1347
1351
 
1348
- readonly size: GPUSize64;
1349
- readonly usage: GPUBufferUsageFlags;
1352
+ readonly size: GPUSize64Out;
1353
+ readonly usage: GPUFlagsConstant;
1350
1354
  readonly mapState: GPUBufferMapState;
1351
1355
 
1352
1356
  mapAsync(mode: GPUMapModeFlags, offset?: GPUSize64 /*default=0*/, size?: GPUSize64): Promise<void>;
@@ -1374,14 +1378,14 @@ class GPUTexture implements GPUObjectBase {
1374
1378
  createView(descriptor?: GPUTextureViewDescriptor): GPUTextureView;
1375
1379
  destroy(): void;
1376
1380
 
1377
- readonly width: GPUIntegerCoordinate;
1378
- readonly height: GPUIntegerCoordinate;
1379
- readonly depthOrArrayLayers: GPUIntegerCoordinate;
1380
- readonly mipLevelCount: GPUIntegerCoordinate;
1381
- readonly sampleCount: GPUSize32;
1381
+ readonly width: GPUIntegerCoordinateOut;
1382
+ readonly height: GPUIntegerCoordinateOut;
1383
+ readonly depthOrArrayLayers: GPUIntegerCoordinateOut;
1384
+ readonly mipLevelCount: GPUIntegerCoordinateOut;
1385
+ readonly sampleCount: GPUSize32Out;
1382
1386
  readonly dimension: GPUTextureDimension;
1383
1387
  readonly format: GPUTextureFormat;
1384
- readonly usage: GPUTextureUsageFlags;
1388
+ readonly usage: GPUFlagsConstant;
1385
1389
  }
1386
1390
 
1387
1391
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
@@ -1448,6 +1452,7 @@ type GPUTextureFormat =
1448
1452
  | "bgra8unorm-srgb"
1449
1453
  // Packed 32-bit formats
1450
1454
  | "rgb9e5ufloat"
1455
+ | "rgb10a2uint"
1451
1456
  | "rgb10a2unorm"
1452
1457
  | "rg11b10ufloat"
1453
1458
 
@@ -1471,9 +1476,6 @@ type GPUTextureFormat =
1471
1476
  | "depth24plus-stencil8"
1472
1477
  | "depth32float"
1473
1478
 
1474
- // "depth24unorm-stencil8" feature
1475
- | "depth24unorm-stencil8"
1476
-
1477
1479
  // "depth32float-stencil8" feature
1478
1480
  | "depth32float-stencil8"
1479
1481
 
@@ -1543,7 +1545,7 @@ class GPUExternalTexture implements GPUObjectBase {
1543
1545
  }
1544
1546
 
1545
1547
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
1546
- source: HTMLVideoElement;
1548
+ source: HTMLVideoElement | VideoFrame;
1547
1549
  colorSpace?: PredefinedColorSpace /* default="srgb" */;
1548
1550
  }
1549
1551
 
@@ -1700,7 +1702,7 @@ type GPUPipelineErrorReason = "validation" | "internal";
1700
1702
  type GPUAutoLayoutMode = "auto";
1701
1703
 
1702
1704
  interface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase {
1703
- layout?: GPUPipelineLayout | GPUAutoLayoutMode;
1705
+ layout: GPUPipelineLayout | GPUAutoLayoutMode;
1704
1706
  }
1705
1707
 
1706
1708
  interface GPUPipelineBase {
@@ -1902,8 +1904,10 @@ interface GPUImageCopyTextureTagged extends GPUImageCopyTexture {
1902
1904
  premultipliedAlpha?: boolean /* default=false */;
1903
1905
  }
1904
1906
 
1907
+ type GPUImageCopyExternalImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLVideoElement | VideoFrame | HTMLCanvasElement | OffscreenCanvas;
1908
+
1905
1909
  interface GPUImageCopyExternalImage {
1906
- source: ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas;
1910
+ source: GPUImageCopyExternalImageSource;
1907
1911
  origin?: GPUOrigin2D /* default={} */;
1908
1912
  flipY?: boolean /* default=false */;
1909
1913
  }
@@ -1969,18 +1973,14 @@ class GPUComputePassEncoder implements GPUObjectBase, GPUCommandsMixin, GPUDebug
1969
1973
  end(): void;
1970
1974
  }
1971
1975
 
1972
- type GPUComputePassTimestampLocation = "beginning" | "end";
1973
-
1974
- interface GPUComputePassTimestampWrite {
1976
+ interface GPUComputePassTimestampWrites {
1975
1977
  querySet: GPUQuerySet;
1976
- queryIndex: GPUSize32;
1977
- location: GPUComputePassTimestampLocation;
1978
+ beginningOfPassWriteIndex: GPUSize32;
1979
+ endOfPassWriteIndex: GPUSize32;
1978
1980
  }
1979
1981
 
1980
- type GPUComputePassTimestampWrites = Array<GPUComputePassTimestampWrite>;
1981
-
1982
1982
  interface GPUComputePassDescriptor extends GPUObjectDescriptorBase {
1983
- timestampWrites?: GPUComputePassTimestampWrites /* default=[] */;
1983
+ timestampWrites?: GPUComputePassTimestampWrites;
1984
1984
  }
1985
1985
 
1986
1986
  class GPURenderPassEncoder implements GPUObjectBase, GPUCommandsMixin, GPUDebugCommandsMixin, GPUBindingCommandsMixin, GPURenderCommandsMixin {
@@ -2024,21 +2024,17 @@ class GPURenderPassEncoder implements GPUObjectBase, GPUCommandsMixin, GPUDebugC
2024
2024
  end(): void;
2025
2025
  }
2026
2026
 
2027
- type GPURenderPassTimestampLocation = "beginning" | "end";
2028
-
2029
- interface GPURenderPassTimestampWrite {
2027
+ interface GPURenderPassTimestampWrites {
2030
2028
  querySet: GPUQuerySet;
2031
- queryIndex: GPUSize32;
2032
- location: GPURenderPassTimestampLocation;
2029
+ beginningOfPassWriteIndex: GPUSize32;
2030
+ endOfPassWriteIndex: GPUSize32;
2033
2031
  }
2034
2032
 
2035
- type GPURenderPassTimestampWrites = Array<GPURenderPassTimestampWrite>;
2036
-
2037
2033
  interface GPURenderPassDescriptor extends GPUObjectDescriptorBase {
2038
2034
  colorAttachments: (GPURenderPassColorAttachment | null)[];
2039
2035
  depthStencilAttachment?: GPURenderPassDepthStencilAttachment;
2040
2036
  occlusionQuerySet?: GPUQuerySet;
2041
- timestampWrites?: GPURenderPassTimestampWrites /* default=[] */;
2037
+ timestampWrites?: GPURenderPassTimestampWrites;
2042
2038
  maxDrawCount?: GPUSize64 /* default=50000000 */;
2043
2039
  }
2044
2040
 
@@ -2157,7 +2153,7 @@ class GPUQuerySet implements GPUObjectBase {
2157
2153
  destroy(): void;
2158
2154
 
2159
2155
  readonly type: GPUQueryType;
2160
- readonly count: GPUSize32;
2156
+ readonly count: GPUSize32Out;
2161
2157
  }
2162
2158
 
2163
2159
  interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
@@ -2235,6 +2231,10 @@ type GPUIndex32 = number; /* unsigned long */
2235
2231
  type GPUSize32 = number; /* unsigned long */
2236
2232
  type GPUSignedOffset32 = number; /* long */
2237
2233
 
2234
+ type GPUSize64Out = number; /* unsigned long long */
2235
+ type GPUIntegerCoordinateOut = number; /* unsigned long */
2236
+ type GPUSize32Out = number; /* unsigned long */
2237
+
2238
2238
  type GPUFlagsConstant = number; /* unsigned long */
2239
2239
 
2240
2240
  interface GPUColorDict {
@@ -34,13 +34,13 @@ export class ThinEngine {
34
34
  */
35
35
  // Not mixed with Version for tooling purpose.
36
36
  static get NpmPackage() {
37
- return "babylonjs@6.22.0";
37
+ return "babylonjs@6.23.0";
38
38
  }
39
39
  /**
40
40
  * Returns the current version of the framework
41
41
  */
42
42
  static get Version() {
43
- return "6.22.0";
43
+ return "6.23.0";
44
44
  }
45
45
  /**
46
46
  * Returns a string describing the current engine