@babylonjs/core 5.52.0 → 5.53.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 (168) hide show
  1. package/Animations/animatable.js +1 -1
  2. package/Animations/animatable.js.map +1 -1
  3. package/Animations/animationGroup.js +8 -1
  4. package/Animations/animationGroup.js.map +1 -1
  5. package/Collisions/pickingInfo.d.ts +2 -1
  6. package/Collisions/pickingInfo.js +4 -3
  7. package/Collisions/pickingInfo.js.map +1 -1
  8. package/DeviceInput/eventFactory.js +4 -0
  9. package/DeviceInput/eventFactory.js.map +1 -1
  10. package/DeviceInput/webDeviceInputSystem.js +17 -9
  11. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  12. package/Engines/Extensions/engine.cubeTexture.js +3 -0
  13. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  14. package/Engines/Extensions/engine.multiRender.js +74 -19
  15. package/Engines/Extensions/engine.multiRender.js.map +1 -1
  16. package/Engines/Extensions/engine.renderTarget.js +2 -5
  17. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  18. package/Engines/WebGL/webGLHardwareTexture.d.ts +3 -1
  19. package/Engines/WebGL/webGLHardwareTexture.js +19 -7
  20. package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
  21. package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +14 -1
  22. package/Engines/WebGL/webGLRenderTargetWrapper.js +76 -6
  23. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  24. package/Engines/WebGPU/Extensions/engine.multiRender.js +20 -0
  25. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  26. package/Engines/WebGPU/Extensions/engine.renderTarget.js +3 -1
  27. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  28. package/Engines/WebGPU/webgpuConstants.d.ts +22 -7
  29. package/Engines/WebGPU/webgpuConstants.js +24 -8
  30. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  31. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +0 -3
  32. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +20 -53
  33. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  34. package/Engines/WebGPU/webgpuTextureHelper.d.ts +3 -2
  35. package/Engines/WebGPU/webgpuTextureHelper.js +33 -14
  36. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  37. package/Engines/WebGPU/webgpuTintWASM.d.ts +3 -2
  38. package/Engines/WebGPU/webgpuTintWASM.js +10 -8
  39. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  40. package/Engines/constants.d.ts +12 -0
  41. package/Engines/constants.js +12 -0
  42. package/Engines/constants.js.map +1 -1
  43. package/Engines/engine.d.ts +130 -72
  44. package/Engines/engine.js +5 -0
  45. package/Engines/engine.js.map +1 -1
  46. package/Engines/nativeEngine.d.ts +1 -0
  47. package/Engines/nativeEngine.js +16 -5
  48. package/Engines/nativeEngine.js.map +1 -1
  49. package/Engines/renderTargetWrapper.d.ts +28 -4
  50. package/Engines/renderTargetWrapper.js +107 -10
  51. package/Engines/renderTargetWrapper.js.map +1 -1
  52. package/Engines/thinEngine.d.ts +6 -6
  53. package/Engines/thinEngine.js +29 -21
  54. package/Engines/thinEngine.js.map +1 -1
  55. package/Engines/webgpuEngine.d.ts +25 -8
  56. package/Engines/webgpuEngine.js +112 -48
  57. package/Engines/webgpuEngine.js.map +1 -1
  58. package/Inputs/scene.inputManager.js +5 -12
  59. package/Inputs/scene.inputManager.js.map +1 -1
  60. package/Materials/PBR/pbrAnisotropicConfiguration.js +0 -1
  61. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  62. package/Materials/PBR/pbrBaseMaterial.js +3 -0
  63. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  64. package/Materials/Textures/Filtering/hdrFiltering.js +4 -0
  65. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  66. package/Materials/Textures/internalTexture.d.ts +4 -0
  67. package/Materials/Textures/internalTexture.js.map +1 -1
  68. package/Materials/Textures/multiRenderTarget.d.ts +40 -0
  69. package/Materials/Textures/multiRenderTarget.js +143 -4
  70. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  71. package/Materials/Textures/renderTargetTexture.d.ts +4 -0
  72. package/Materials/Textures/renderTargetTexture.js +10 -2
  73. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  74. package/Materials/Textures/texture.d.ts +4 -2
  75. package/Materials/Textures/texture.js +1 -0
  76. package/Materials/Textures/texture.js.map +1 -1
  77. package/Materials/Textures/textureCreationOptions.d.ts +4 -0
  78. package/Materials/Textures/textureCreationOptions.js.map +1 -1
  79. package/Materials/materialPluginBase.d.ts +3 -2
  80. package/Materials/materialPluginBase.js.map +1 -1
  81. package/Materials/materialPluginManager.js +13 -3
  82. package/Materials/materialPluginManager.js.map +1 -1
  83. package/Materials/uniformBuffer.d.ts +2 -0
  84. package/Materials/uniformBuffer.js +4 -0
  85. package/Materials/uniformBuffer.js.map +1 -1
  86. package/Maths/math.frustum.d.ts +8 -1
  87. package/Maths/math.frustum.js +14 -0
  88. package/Maths/math.frustum.js.map +1 -1
  89. package/Meshes/instancedMesh.d.ts +2 -1
  90. package/Meshes/instancedMesh.js +3 -2
  91. package/Meshes/instancedMesh.js.map +1 -1
  92. package/Meshes/mesh.d.ts +10 -5
  93. package/Meshes/mesh.js +40 -16
  94. package/Meshes/mesh.js.map +1 -1
  95. package/Misc/filesInput.d.ts +5 -2
  96. package/Misc/filesInput.js +39 -20
  97. package/Misc/filesInput.js.map +1 -1
  98. package/Misc/interfaces/screenshotSize.d.ts +17 -3
  99. package/Misc/interfaces/screenshotSize.js.map +1 -1
  100. package/Misc/sceneOptimizer.js +3 -0
  101. package/Misc/sceneOptimizer.js.map +1 -1
  102. package/Misc/screenshotTools.d.ts +2 -2
  103. package/Misc/screenshotTools.js +49 -9
  104. package/Misc/screenshotTools.js.map +1 -1
  105. package/Misc/textureTools.d.ts +1 -1
  106. package/Misc/textureTools.js +4 -2
  107. package/Misc/textureTools.js.map +1 -1
  108. package/Physics/v2/physicsAggregate.js +3 -3
  109. package/Physics/v2/physicsAggregate.js.map +1 -1
  110. package/Physics/v2/physicsBody.d.ts +27 -16
  111. package/Physics/v2/physicsBody.js +31 -16
  112. package/Physics/v2/physicsBody.js.map +1 -1
  113. package/Physics/v2/physicsConstraint.d.ts +6 -6
  114. package/Physics/v2/physicsConstraint.js +6 -6
  115. package/Physics/v2/physicsConstraint.js.map +1 -1
  116. package/Physics/v2/physicsShape.d.ts +7 -7
  117. package/Physics/v2/physicsShape.js +7 -7
  118. package/Physics/v2/physicsShape.js.map +1 -1
  119. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +1 -0
  120. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  121. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +5 -0
  122. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +7 -0
  123. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
  124. package/PostProcesses/depthOfFieldMergePostProcess.d.ts +0 -23
  125. package/PostProcesses/depthOfFieldMergePostProcess.js +0 -5
  126. package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
  127. package/PostProcesses/postProcess.js +1 -0
  128. package/PostProcesses/postProcess.js.map +1 -1
  129. package/Probes/reflectionProbe.js +1 -0
  130. package/Probes/reflectionProbe.js.map +1 -1
  131. package/Rendering/depthPeelingRenderer.js +3 -1
  132. package/Rendering/depthPeelingRenderer.js.map +1 -1
  133. package/Rendering/fluidRenderer/fluidRenderer.js +1 -1
  134. package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
  135. package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js +2 -1
  136. package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js.map +1 -1
  137. package/Rendering/fluidRenderer/fluidRenderingTextures.js +2 -0
  138. package/Rendering/fluidRenderer/fluidRenderingTextures.js.map +1 -1
  139. package/Shaders/default.fragment.js +1 -1
  140. package/Shaders/default.fragment.js.map +1 -1
  141. package/Shaders/depthOfFieldMerge.fragment.js +10 -5
  142. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  143. package/Shaders/fluidRenderingRender.fragment.js +3 -3
  144. package/Shaders/fluidRenderingRender.fragment.js.map +1 -1
  145. package/Shaders/motionBlur.fragment.js +8 -2
  146. package/Shaders/motionBlur.fragment.js.map +1 -1
  147. package/Shaders/screenSpaceReflection2.fragment.js +11 -4
  148. package/Shaders/screenSpaceReflection2.fragment.js.map +1 -1
  149. package/Shaders/screenSpaceReflection2Blur.fragment.js +6 -1
  150. package/Shaders/screenSpaceReflection2Blur.fragment.js.map +1 -1
  151. package/Shaders/ssao2.fragment.js +1 -0
  152. package/Shaders/ssao2.fragment.js.map +1 -1
  153. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +9 -9
  154. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  155. package/ShadersWGSL/ShadersInclude/bonesVertex.js +16 -16
  156. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  157. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +6 -6
  158. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
  159. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +6 -6
  160. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
  161. package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
  162. package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
  163. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +8 -8
  164. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
  165. package/XR/features/WebXRControllerTeleportation.d.ts +9 -0
  166. package/XR/features/WebXRControllerTeleportation.js +28 -4
  167. package/XR/features/WebXRControllerTeleportation.js.map +1 -1
  168. package/package.json +1 -1
@@ -430,6 +430,8 @@ export declare class Engine extends ThinEngine {
430
430
  * @param canvas The canvas associated with this instance of the engine.
431
431
  */
432
432
  protected _sharedInit(canvas: HTMLCanvasElement): void;
433
+ /** @internal */
434
+ _verifyPointerLock(): void;
433
435
  /**
434
436
  * Gets current aspect ratio
435
437
  * @param viewportOwner defines the camera to use to get the aspect ratio
@@ -1107,6 +1109,7 @@ interface WebGLUniformLocation {
1107
1109
  _currentState: any;
1108
1110
  }
1109
1111
 
1112
+ /* eslint-disable babylonjs/available */
1110
1113
  /* eslint-disable @typescript-eslint/naming-convention */
1111
1114
  interface GPUObjectBase {
1112
1115
  label: string | undefined;
@@ -1117,37 +1120,50 @@ interface GPUObjectDescriptorBase {
1117
1120
  }
1118
1121
 
1119
1122
  interface GPUSupportedLimits {
1120
- readonly maxTextureDimension1D: GPUSize32;
1121
- readonly maxTextureDimension2D: GPUSize32;
1122
- readonly maxTextureDimension3D: GPUSize32;
1123
- readonly maxTextureArrayLayers: GPUSize32;
1124
- readonly maxBindGroups: GPUSize32;
1125
- readonly maxDynamicUniformBuffersPerPipelineLayout: GPUSize32;
1126
- readonly maxDynamicStorageBuffersPerPipelineLayout: GPUSize32;
1127
- readonly maxSampledTexturesPerShaderStage: GPUSize32;
1128
- readonly maxSamplersPerShaderStage: GPUSize32;
1129
- readonly maxStorageBuffersPerShaderStage: GPUSize32;
1130
- readonly maxStorageTexturesPerShaderStage: GPUSize32;
1131
- readonly maxUniformBuffersPerShaderStage: GPUSize32;
1132
- readonly maxUniformBufferBindingSize: GPUSize64;
1133
- readonly maxStorageBufferBindingSize: GPUSize64;
1134
- readonly minUniformBufferOffsetAlignment: GPUSize32;
1135
- readonly minStorageBufferOffsetAlignment: GPUSize32;
1136
- readonly maxVertexBuffers: GPUSize32;
1137
- readonly maxVertexAttributes: GPUSize32;
1138
- readonly maxVertexBufferArrayStride: GPUSize32;
1139
- readonly maxInterStageShaderComponents: GPUSize32;
1140
- readonly maxComputeWorkgroupStorageSize: GPUSize32;
1141
- readonly maxComputeInvocationsPerWorkgroup: GPUSize32;
1142
- readonly maxComputeWorkgroupSizeX: GPUSize32;
1143
- readonly maxComputeWorkgroupSizeY: GPUSize32;
1144
- readonly maxComputeWorkgroupSizeZ: GPUSize32;
1145
- readonly maxComputeWorkgroupsPerDimension: GPUSize32;
1123
+ [name: string]: number;
1124
+
1125
+ readonly maxTextureDimension1D: number;
1126
+ readonly maxTextureDimension2D: number;
1127
+ readonly maxTextureDimension3D: number;
1128
+ readonly maxTextureArrayLayers: number;
1129
+ readonly maxBindGroups: number;
1130
+ readonly maxBindingsPerBindGroup: number;
1131
+ readonly maxDynamicUniformBuffersPerPipelineLayout: number;
1132
+ readonly maxDynamicStorageBuffersPerPipelineLayout: number;
1133
+ readonly maxSampledTexturesPerShaderStage: number;
1134
+ readonly maxSamplersPerShaderStage: number;
1135
+ readonly maxStorageBuffersPerShaderStage: number;
1136
+ readonly maxStorageTexturesPerShaderStage: number;
1137
+ readonly maxUniformBuffersPerShaderStage: number;
1138
+ readonly maxFragmentCombinedOutputResources: number;
1139
+ readonly maxUniformBufferBindingSize: number;
1140
+ readonly maxStorageBufferBindingSize: number;
1141
+ readonly minUniformBufferOffsetAlignment: number;
1142
+ readonly minStorageBufferOffsetAlignment: number;
1143
+ readonly maxVertexBuffers: number;
1144
+ readonly maxBufferSize: number;
1145
+ readonly maxVertexAttributes: number;
1146
+ readonly maxVertexBufferArrayStride: number;
1147
+ readonly maxInterStageShaderComponents: number;
1148
+ readonly maxInterStageShaderVariables: number;
1149
+ readonly maxColorAttachments: number;
1150
+ readonly maxColorAttachmentBytesPerSample: number;
1151
+ readonly maxComputeWorkgroupStorageSize: number;
1152
+ readonly maxComputeInvocationsPerWorkgroup: number;
1153
+ readonly maxComputeWorkgroupSizeX: number;
1154
+ readonly maxComputeWorkgroupSizeY: number;
1155
+ readonly maxComputeWorkgroupSizeZ: number;
1156
+ readonly maxComputeWorkgroupsPerDimension: number;
1146
1157
  }
1147
1158
 
1148
1159
  type GPUSupportedFeatures = ReadonlySet<string>;
1149
1160
 
1150
- type GPUPredefinedColorSpace = "srgb";
1161
+ interface GPUAdapterInfo {
1162
+ readonly vendor: string;
1163
+ readonly architecture: string;
1164
+ readonly device: string;
1165
+ readonly description: string;
1166
+ }
1151
1167
 
1152
1168
  interface Navigator {
1153
1169
  readonly gpu: GPU | undefined;
@@ -1158,7 +1174,7 @@ interface WorkerNavigator {
1158
1174
  }
1159
1175
 
1160
1176
  class GPU {
1161
- requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;
1177
+ requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | undefined>;
1162
1178
  getPreferredCanvasFormat(): GPUTextureFormat;
1163
1179
  }
1164
1180
 
@@ -1177,6 +1193,7 @@ class GPUAdapter {
1177
1193
  readonly isFallbackAdapter: boolean;
1178
1194
 
1179
1195
  requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
1196
+ requestAdapterInfo(unmaskHints?: string[]): Promise<GPUAdapterInfo>;
1180
1197
  }
1181
1198
 
1182
1199
  interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
@@ -1187,7 +1204,6 @@ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
1187
1204
 
1188
1205
  type GPUFeatureName =
1189
1206
  | "depth-clip-control"
1190
- | "depth24unorm-stencil8"
1191
1207
  | "depth32float-stencil8"
1192
1208
  | "texture-compression-bc"
1193
1209
  | "texture-compression-etc2"
@@ -1195,7 +1211,9 @@ type GPUFeatureName =
1195
1211
  | "timestamp-query"
1196
1212
  | "indirect-first-instance"
1197
1213
  | "shader-f16"
1198
- | "bgra8unorm-storage";
1214
+ | "rg11b10ufloat-renderable"
1215
+ | "bgra8unorm-storage"
1216
+ | "float32-filterable";
1199
1217
 
1200
1218
  class GPUDevice extends EventTarget implements GPUObjectBase {
1201
1219
  label: string | undefined;
@@ -1237,6 +1255,10 @@ class GPUDevice extends EventTarget implements GPUObjectBase {
1237
1255
  class GPUBuffer implements GPUObjectBase {
1238
1256
  label: string | undefined;
1239
1257
 
1258
+ readonly size: GPUSize64;
1259
+ readonly usage: GPUBufferUsageFlags;
1260
+ readonly mapState: GPUBufferMapState;
1261
+
1240
1262
  mapAsync(mode: GPUMapModeFlags, offset?: GPUSize64 /*default=0*/, size?: GPUSize64): Promise<void>;
1241
1263
  getMappedRange(offset?: GPUSize64 /*default=0*/, size?: GPUSize64): ArrayBuffer;
1242
1264
  unmap(): void;
@@ -1244,6 +1266,8 @@ class GPUBuffer implements GPUObjectBase {
1244
1266
  destroy(): void;
1245
1267
  }
1246
1268
 
1269
+ type GPUBufferMapState = "unmapped" | "pending" | "mapped";
1270
+
1247
1271
  interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
1248
1272
  size: GPUSize64;
1249
1273
  usage: GPUBufferUsageFlags;
@@ -1259,6 +1283,15 @@ class GPUTexture implements GPUObjectBase {
1259
1283
 
1260
1284
  createView(descriptor?: GPUTextureViewDescriptor): GPUTextureView;
1261
1285
  destroy(): void;
1286
+
1287
+ readonly width: GPUIntegerCoordinate;
1288
+ readonly height: GPUIntegerCoordinate;
1289
+ readonly depthOrArrayLayers: GPUIntegerCoordinate;
1290
+ readonly mipLevelCount: GPUIntegerCoordinate;
1291
+ readonly sampleCount: GPUSize32;
1292
+ readonly dimension: GPUTextureDimension;
1293
+ readonly format: GPUTextureFormat;
1294
+ readonly usage: GPUTextureUsageFlags;
1262
1295
  }
1263
1296
 
1264
1297
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
@@ -1421,7 +1454,7 @@ class GPUExternalTexture implements GPUObjectBase {
1421
1454
 
1422
1455
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
1423
1456
  source: HTMLVideoElement;
1424
- colorSpace?: GPUPredefinedColorSpace /* default="srgb" */;
1457
+ colorSpace?: PredefinedColorSpace /* default="srgb" */;
1425
1458
  }
1426
1459
 
1427
1460
  class GPUSampler implements GPUObjectBase {
@@ -1434,7 +1467,7 @@ interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
1434
1467
  addressModeW?: GPUAddressMode /* default="clamp-to-edge" */;
1435
1468
  magFilter?: GPUFilterMode /* default="nearest" */;
1436
1469
  minFilter?: GPUFilterMode /* default="nearest" */;
1437
- mipmapFilter?: GPUFilterMode /* default="nearest" */;
1470
+ mipmapFilter?: GPUMipmapFilterMode /* default="nearest" */;
1438
1471
  lodMinClamp?: number /* default=0 */;
1439
1472
  lodMaxClamp?: number /* default=32 */;
1440
1473
  compare?: GPUCompareFunction;
@@ -1445,6 +1478,8 @@ type GPUAddressMode = "clamp-to-edge" | "repeat" | "mirror-repeat";
1445
1478
 
1446
1479
  type GPUFilterMode = "nearest" | "linear";
1447
1480
 
1481
+ type GPUMipmapFilterMode = "nearest" | "linear";
1482
+
1448
1483
  type GPUCompareFunction = "never" | "less" | "equal" | "less-equal" | "greater" | "not-equal" | "greater-equal" | "always";
1449
1484
 
1450
1485
  class GPUBindGroupLayout implements GPUObjectBase {
@@ -1533,7 +1568,7 @@ interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {
1533
1568
  class GPUShaderModule implements GPUObjectBase {
1534
1569
  label: string | undefined;
1535
1570
 
1536
- compilationInfo(): Promise<GPUCompilationInfo>;
1571
+ getCompilationInfo(): Promise<GPUCompilationInfo>;
1537
1572
  }
1538
1573
 
1539
1574
  interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {
@@ -1561,6 +1596,17 @@ interface GPUCompilationInfo {
1561
1596
  readonly messages: readonly GPUCompilationMessage[];
1562
1597
  }
1563
1598
 
1599
+ class GPUPipelineError extends DOMException {
1600
+ constructor(message: DOMString | undefined, options: GPUPipelineErrorInit);
1601
+ readonly reason: GPUPipelineErrorReason;
1602
+ }
1603
+
1604
+ interface GPUPipelineErrorInit {
1605
+ reason: GPUPipelineErrorReason;
1606
+ }
1607
+
1608
+ type GPUPipelineErrorReason = "validation" | "internal";
1609
+
1564
1610
  type GPUAutoLayoutMode = "auto";
1565
1611
 
1566
1612
  interface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase {
@@ -1744,6 +1790,34 @@ interface GPUVertexAttribute {
1744
1790
  shaderLocation: GPUIndex32;
1745
1791
  }
1746
1792
 
1793
+ interface GPUImageDataLayout {
1794
+ offset?: GPUSize64 /* default=0 */;
1795
+ bytesPerRow: GPUSize32;
1796
+ rowsPerImage?: GPUSize32;
1797
+ }
1798
+
1799
+ interface GPUImageCopyBuffer extends GPUImageDataLayout {
1800
+ buffer: GPUBuffer;
1801
+ }
1802
+
1803
+ interface GPUImageCopyTexture {
1804
+ texture: GPUTexture;
1805
+ mipLevel?: GPUIntegerCoordinate /* default=0 */;
1806
+ origin?: GPUOrigin3D /* default={} */;
1807
+ aspect?: GPUTextureAspect /* default="all" */;
1808
+ }
1809
+
1810
+ interface GPUImageCopyTextureTagged extends GPUImageCopyTexture {
1811
+ colorSpace?: PredefinedColorSpace /* default="srgb" */;
1812
+ premultipliedAlpha?: boolean /* default=false */;
1813
+ }
1814
+
1815
+ interface GPUImageCopyExternalImage {
1816
+ source: ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas;
1817
+ origin?: GPUOrigin2D /* default={} */;
1818
+ flipY?: boolean /* default=false */;
1819
+ }
1820
+
1747
1821
  class GPUCommandBuffer implements GPUObjectBase {
1748
1822
  label: string | undefined;
1749
1823
  }
@@ -1764,46 +1838,18 @@ class GPUCommandEncoder implements GPUObjectBase, GPUCommandsMixin, GPUDebugComm
1764
1838
  copyTextureToTexture(source: GPUImageCopyTexture, destination: GPUImageCopyTexture, copySize: GPUExtent3D): void;
1765
1839
  clearBuffer(buffer: GPUBuffer, offset?: GPUSize64 /* default=0 */, size?: GPUSize64): void;
1766
1840
 
1767
- pushDebugGroup(groupLabel: string): void;
1768
- popDebugGroup(): void;
1769
- insertDebugMarker(markerLabel: string): void;
1770
-
1771
1841
  writeTimestamp(querySet: GPUQuerySet, queryIndex: GPUSize32): void;
1772
1842
 
1773
1843
  resolveQuerySet(querySet: GPUQuerySet, firstQuery: GPUSize32, queryCount: GPUSize32, destination: GPUBuffer, destinationOffset: GPUSize64): void;
1774
1844
 
1775
1845
  finish(descriptor?: GPUCommandBufferDescriptor): GPUCommandBuffer;
1776
- }
1777
1846
 
1778
- interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase {}
1779
-
1780
- interface GPUImageDataLayout {
1781
- offset?: GPUSize64 /* default=0 */;
1782
- bytesPerRow: GPUSize32;
1783
- rowsPerImage?: GPUSize32;
1784
- }
1785
-
1786
- interface GPUImageCopyBuffer extends GPUImageDataLayout {
1787
- buffer: GPUBuffer;
1788
- }
1789
-
1790
- interface GPUImageCopyTexture {
1791
- texture: GPUTexture;
1792
- mipLevel?: GPUIntegerCoordinate /* default=0 */;
1793
- origin?: GPUOrigin3D /* default={} */;
1794
- aspect?: GPUTextureAspect /* default="all" */;
1795
- }
1796
-
1797
- interface GPUImageCopyTextureTagged extends GPUImageCopyTexture {
1798
- colorSpace?: GPUPredefinedColorSpace /* default="srgb" */;
1799
- premultipliedAlpha?: boolean /* default=false */;
1847
+ pushDebugGroup(groupLabel: string): void;
1848
+ popDebugGroup(): void;
1849
+ insertDebugMarker(markerLabel: string): void;
1800
1850
  }
1801
1851
 
1802
- interface GPUImageCopyExternalImage {
1803
- source: ImageBitmap | HTMLCanvasElement | OffscreenCanvas;
1804
- origin?: GPUOrigin2D /* default={} */;
1805
- flipY?: boolean /* default=false */;
1806
- }
1852
+ interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase {}
1807
1853
 
1808
1854
  interface GPUBindingCommandsMixin {
1809
1855
  setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup, dynamicOffsets?: GPUBufferDynamicOffset[]): void;
@@ -1903,6 +1949,7 @@ interface GPURenderPassDescriptor extends GPUObjectDescriptorBase {
1903
1949
  depthStencilAttachment?: GPURenderPassDepthStencilAttachment;
1904
1950
  occlusionQuerySet?: GPUQuerySet;
1905
1951
  timestampWrites?: GPURenderPassTimestampWrites /* default=[] */;
1952
+ maxDrawCount?: GPUSize64 /* default=50000000 */;
1906
1953
  }
1907
1954
 
1908
1955
  interface GPURenderPassColorAttachment {
@@ -1942,7 +1989,7 @@ interface GPURenderCommandsMixin {
1942
1989
  setPipeline(pipeline: GPURenderPipeline): void;
1943
1990
 
1944
1991
  setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset?: GPUSize64 /* default=0 */, size?: GPUSize64 /* default=0 */): void;
1945
- setVertexBuffer(slot: GPUIndex32, buffer: GPUBuffer, offset?: GPUSize64 /* default=0 */, size?: GPUSize64 /* default=0 */): void;
1992
+ setVertexBuffer(slot: GPUIndex32, buffer: GPUBuffer, offset?: GPUSize64 /* default=0 */, size?: GPUSize64): void;
1946
1993
 
1947
1994
  draw(vertexCount: GPUSize32, instanceCount?: GPUSize32 /* default=1 */, firstVertex?: GPUSize32 /* default=0 */, firstInstance?: GPUSize32 /* default=0 */): void;
1948
1995
  drawIndexed(
@@ -2018,6 +2065,9 @@ class GPUQuerySet implements GPUObjectBase {
2018
2065
  label: string | undefined;
2019
2066
 
2020
2067
  destroy(): void;
2068
+
2069
+ readonly type: GPUQueryType;
2070
+ readonly count: GPUSize32;
2021
2071
  }
2022
2072
 
2023
2073
  interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
@@ -2043,33 +2093,38 @@ interface GPUCanvasConfiguration extends GPUObjectDescriptorBase {
2043
2093
  format: GPUTextureFormat;
2044
2094
  usage?: GPUTextureUsageFlags /* default=0x10 - GPUTextureUsage.RENDER_ATTACHMENT */;
2045
2095
  viewFormats?: GPUTextureFormat[] /* default=[] */;
2046
- colorSpace?: GPUPredefinedColorSpace /* default="srgb" */;
2096
+ colorSpace?: PredefinedColorSpace /* default="srgb" */;
2047
2097
  alphaMode?: GPUCanvasAlphaMode /* default="opaque" */;
2048
2098
  }
2049
2099
 
2050
- type GPUDeviceLostReason = "destroyed";
2100
+ type GPUDeviceLostReason = "unknown" | "destroyed";
2051
2101
 
2052
2102
  class GPUDeviceLostInfo {
2053
2103
  readonly reason?: GPUDeviceLostReason;
2054
2104
  readonly message: string;
2055
2105
  }
2056
2106
 
2057
- type GPUErrorFilter = "out-of-memory" | "validation";
2058
-
2059
2107
  class GPUError {
2060
2108
  readonly message: string;
2061
2109
  }
2062
2110
 
2111
+ class GPUValidationError extends GPUError {
2112
+ constructor(message: string);
2113
+ readonly message: string;
2114
+ }
2115
+
2063
2116
  class GPUOutOfMemoryError extends GPUError {
2064
- constructor();
2117
+ constructor(message: string);
2065
2118
  readonly message: string;
2066
2119
  }
2067
2120
 
2068
- class GPUValidationError extends GPUError {
2121
+ class GPUInternalError extends GPUError {
2069
2122
  constructor(message: string);
2070
2123
  readonly message: string;
2071
2124
  }
2072
2125
 
2126
+ type GPUErrorFilter = "validation" | "out-of-memory" | "internal";
2127
+
2073
2128
  class GPUUncapturedErrorEvent extends Event {
2074
2129
  constructor(type: string, gpuUncapturedErrorEventInitDict: GPUUncapturedErrorEventInit);
2075
2130
  readonly error: GPUError;
@@ -2083,12 +2138,15 @@ type GPUBufferDynamicOffset = number; /* unsigned long */
2083
2138
  type GPUStencilValue = number; /* unsigned long */
2084
2139
  type GPUSampleMask = number; /* unsigned long */
2085
2140
  type GPUDepthBias = number; /* long */
2141
+
2086
2142
  type GPUSize64 = number; /* unsigned long long */
2087
2143
  type GPUIntegerCoordinate = number; /* unsigned long */
2088
2144
  type GPUIndex32 = number; /* unsigned long */
2089
2145
  type GPUSize32 = number; /* unsigned long */
2090
2146
  type GPUSignedOffset32 = number; /* long */
2091
2147
 
2148
+ type GPUFlagsConstant = number; /* unsigned long */
2149
+
2092
2150
  interface GPUColorDict {
2093
2151
  r: number;
2094
2152
  g: number;
package/Engines/engine.js CHANGED
@@ -346,6 +346,11 @@ export class Engine extends ThinEngine {
346
346
  this._lockstepMaxSteps = this._creationOptions.lockstepMaxSteps || 0;
347
347
  this._timeStep = this._creationOptions.timeStep || 1 / 60;
348
348
  }
349
+ /** @internal */
350
+ _verifyPointerLock() {
351
+ var _a;
352
+ (_a = this._onPointerLockChange) === null || _a === void 0 ? void 0 : _a.call(this);
353
+ }
349
354
  /**
350
355
  * Gets current aspect ratio
351
356
  * @param viewportOwner defines the camera to use to get the aspect ratio