@babylonjs/core 5.0.0-beta.7 → 5.0.0-rc.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 (189) hide show
  1. package/Animations/animation.d.ts +6 -6
  2. package/Animations/animation.js +9 -5
  3. package/Animations/animation.js.map +1 -1
  4. package/Audio/sound.js +9 -3
  5. package/Audio/sound.js.map +1 -1
  6. package/Bones/skeleton.d.ts +0 -6
  7. package/Bones/skeleton.js +2 -14
  8. package/Bones/skeleton.js.map +1 -1
  9. package/Compat/compatibilityOptions.d.ts +9 -0
  10. package/Compat/compatibilityOptions.js +14 -0
  11. package/Compat/compatibilityOptions.js.map +1 -0
  12. package/Compat/index.d.ts +1 -0
  13. package/Compat/index.js +2 -0
  14. package/Compat/index.js.map +1 -0
  15. package/Culling/ray.js +2 -2
  16. package/Culling/ray.js.map +1 -1
  17. package/Debug/skeletonViewer.js +3 -4
  18. package/Debug/skeletonViewer.js.map +1 -1
  19. package/DeviceInput/Helpers/eventFactory.js +8 -1
  20. package/DeviceInput/Helpers/eventFactory.js.map +1 -1
  21. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +20 -5
  22. package/DeviceInput/InputDevices/deviceSourceManager.js +68 -7
  23. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  24. package/DeviceInput/InputDevices/internalDeviceSourceManager.d.ts +15 -10
  25. package/DeviceInput/InputDevices/internalDeviceSourceManager.js +25 -31
  26. package/DeviceInput/InputDevices/internalDeviceSourceManager.js.map +1 -1
  27. package/DeviceInput/InputDevices/webDeviceInputSystem.d.ts +8 -6
  28. package/DeviceInput/InputDevices/webDeviceInputSystem.js +113 -42
  29. package/DeviceInput/InputDevices/webDeviceInputSystem.js.map +1 -1
  30. package/Engines/Extensions/engine.multiview.js +0 -1
  31. package/Engines/Extensions/engine.multiview.js.map +1 -1
  32. package/Engines/Extensions/engine.query.d.ts +7 -0
  33. package/Engines/Extensions/engine.query.js +12 -0
  34. package/Engines/Extensions/engine.query.js.map +1 -1
  35. package/Engines/Extensions/engine.renderTarget.d.ts +5 -0
  36. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  37. package/Engines/Extensions/engine.views.d.ts +7 -0
  38. package/Engines/Extensions/engine.views.js +12 -0
  39. package/Engines/Extensions/engine.views.js.map +1 -1
  40. package/Engines/WebGPU/Extensions/engine.computeShader.js +1 -1
  41. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  42. package/Engines/WebGPU/webgpuConstants.d.ts +2 -1
  43. package/Engines/WebGPU/webgpuConstants.js +1 -0
  44. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  45. package/Engines/WebGPU/webgpuTextureHelper.js +5 -5
  46. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  47. package/Engines/engine.d.ts +45 -26
  48. package/Engines/index.d.ts +1 -0
  49. package/Engines/index.js +1 -0
  50. package/Engines/index.js.map +1 -1
  51. package/Engines/nativeEngine.js +12 -11
  52. package/Engines/nativeEngine.js.map +1 -1
  53. package/Engines/thinEngine.js +2 -2
  54. package/Engines/thinEngine.js.map +1 -1
  55. package/Engines/webgpuEngine.js +33 -22
  56. package/Engines/webgpuEngine.js.map +1 -1
  57. package/Events/keyboardEvents.d.ts +7 -1
  58. package/Events/keyboardEvents.js +11 -1
  59. package/Events/keyboardEvents.js.map +1 -1
  60. package/Gizmos/boundingBoxGizmo.js +0 -10
  61. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  62. package/Gizmos/gizmo.js +1 -1
  63. package/Gizmos/gizmo.js.map +1 -1
  64. package/Helpers/environmentHelper.js +2 -2
  65. package/Helpers/environmentHelper.js.map +1 -1
  66. package/Inputs/scene.inputManager.d.ts +0 -1
  67. package/Inputs/scene.inputManager.js +7 -7
  68. package/Inputs/scene.inputManager.js.map +1 -1
  69. package/Layers/effectLayer.d.ts +1 -0
  70. package/Layers/effectLayer.js +24 -0
  71. package/Layers/effectLayer.js.map +1 -1
  72. package/Lights/Shadows/shadowGenerator.js +5 -5
  73. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  74. package/Loading/Plugins/babylonFileLoader.js +0 -8
  75. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  76. package/Loading/sceneLoader.js +4 -3
  77. package/Loading/sceneLoader.js.map +1 -1
  78. package/Materials/PBR/pbrBaseMaterial.js +1 -0
  79. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  80. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  81. package/Materials/Textures/dynamicTexture.js.map +1 -1
  82. package/Materials/Textures/texture.js +5 -5
  83. package/Materials/Textures/texture.js.map +1 -1
  84. package/Materials/materialPluginBase.d.ts +5 -0
  85. package/Materials/materialPluginBase.js +5 -0
  86. package/Materials/materialPluginBase.js.map +1 -1
  87. package/Materials/materialPluginEvent.d.ts +1 -0
  88. package/Materials/materialPluginEvent.js.map +1 -1
  89. package/Materials/materialPluginManager.d.ts +1 -0
  90. package/Materials/materialPluginManager.js +20 -15
  91. package/Materials/materialPluginManager.js.map +1 -1
  92. package/Materials/standardMaterial.js +1 -0
  93. package/Materials/standardMaterial.js.map +1 -1
  94. package/Maths/math.vector.d.ts +5 -0
  95. package/Maths/math.vector.js +11 -0
  96. package/Maths/math.vector.js.map +1 -1
  97. package/Meshes/Builders/boxBuilder.js +5 -4
  98. package/Meshes/Builders/boxBuilder.js.map +1 -1
  99. package/Meshes/Builders/capsuleBuilder.js +4 -3
  100. package/Meshes/Builders/capsuleBuilder.js.map +1 -1
  101. package/Meshes/Builders/cylinderBuilder.js +10 -7
  102. package/Meshes/Builders/cylinderBuilder.js.map +1 -1
  103. package/Meshes/Builders/decalBuilder.js +5 -2
  104. package/Meshes/Builders/decalBuilder.js.map +1 -1
  105. package/Meshes/Builders/discBuilder.js +3 -2
  106. package/Meshes/Builders/discBuilder.js.map +1 -1
  107. package/Meshes/Builders/goldbergBuilder.js +10 -1
  108. package/Meshes/Builders/goldbergBuilder.js.map +1 -1
  109. package/Meshes/Builders/groundBuilder.js +2 -1
  110. package/Meshes/Builders/groundBuilder.js.map +1 -1
  111. package/Meshes/Builders/icoSphereBuilder.js +2 -1
  112. package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
  113. package/Meshes/Builders/planeBuilder.js +5 -4
  114. package/Meshes/Builders/planeBuilder.js.map +1 -1
  115. package/Meshes/Builders/polygonBuilder.js +8 -3
  116. package/Meshes/Builders/polygonBuilder.js.map +1 -1
  117. package/Meshes/Builders/polyhedronBuilder.js +3 -2
  118. package/Meshes/Builders/polyhedronBuilder.js.map +1 -1
  119. package/Meshes/Builders/ribbonBuilder.js +4 -3
  120. package/Meshes/Builders/ribbonBuilder.js.map +1 -1
  121. package/Meshes/Builders/sphereBuilder.js +2 -1
  122. package/Meshes/Builders/sphereBuilder.js.map +1 -1
  123. package/Meshes/Builders/tiledBoxBuilder.js +4 -0
  124. package/Meshes/Builders/tiledBoxBuilder.js.map +1 -1
  125. package/Meshes/Builders/torusBuilder.js +2 -1
  126. package/Meshes/Builders/torusBuilder.js.map +1 -1
  127. package/Meshes/Builders/torusKnotBuilder.js +2 -1
  128. package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
  129. package/Meshes/abstractMesh.d.ts +9 -3
  130. package/Meshes/abstractMesh.js +33 -31
  131. package/Meshes/abstractMesh.js.map +1 -1
  132. package/Meshes/geometry.js +31 -0
  133. package/Meshes/geometry.js.map +1 -1
  134. package/Meshes/instancedMesh.js +12 -10
  135. package/Meshes/instancedMesh.js.map +1 -1
  136. package/Meshes/mesh.d.ts +1 -1
  137. package/Meshes/mesh.js +52 -51
  138. package/Meshes/mesh.js.map +1 -1
  139. package/Meshes/mesh.vertexData.d.ts +2 -2
  140. package/Meshes/mesh.vertexData.js +100 -76
  141. package/Meshes/mesh.vertexData.js.map +1 -1
  142. package/Meshes/transformNode.d.ts +0 -2
  143. package/Meshes/transformNode.js +6 -5
  144. package/Meshes/transformNode.js.map +1 -1
  145. package/Misc/decorators.d.ts +1 -1
  146. package/Misc/decorators.js +8 -1
  147. package/Misc/decorators.js.map +1 -1
  148. package/Misc/deepCopier.js +3 -3
  149. package/Misc/deepCopier.js.map +1 -1
  150. package/Misc/error.d.ts +51 -0
  151. package/Misc/error.js +66 -0
  152. package/Misc/error.js.map +1 -0
  153. package/Misc/fileTools.d.ts +4 -4
  154. package/Misc/fileTools.js +7 -7
  155. package/Misc/fileTools.js.map +1 -1
  156. package/Misc/index.d.ts +1 -0
  157. package/Misc/index.js +1 -0
  158. package/Misc/index.js.map +1 -1
  159. package/Particles/particleSystem.d.ts +13 -1
  160. package/Particles/particleSystem.js +27 -1
  161. package/Particles/particleSystem.js.map +1 -1
  162. package/Rendering/prePassRenderer.js +12 -2
  163. package/Rendering/prePassRenderer.js.map +1 -1
  164. package/Rendering/subSurfaceConfiguration.js +1 -1
  165. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  166. package/Rendering/utilityLayerRenderer.js +2 -0
  167. package/Rendering/utilityLayerRenderer.js.map +1 -1
  168. package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
  169. package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
  170. package/Shaders/background.vertex.js +1 -1
  171. package/Shaders/background.vertex.js.map +1 -1
  172. package/Shaders/pbr.vertex.js +1 -1
  173. package/Shaders/pbr.vertex.js.map +1 -1
  174. package/XR/features/WebXRNearInteraction.js +4 -2
  175. package/XR/features/WebXRNearInteraction.js.map +1 -1
  176. package/assetContainer.js +1 -4
  177. package/assetContainer.js.map +1 -1
  178. package/index.d.ts +1 -0
  179. package/index.js +1 -0
  180. package/index.js.map +1 -1
  181. package/package.json +10 -4
  182. package/scene.d.ts +1 -10
  183. package/scene.js +23 -43
  184. package/scene.js.map +1 -1
  185. package/types.d.ts +1 -1
  186. package/types.js.map +1 -1
  187. package/Misc/baseError.d.ts +0 -7
  188. package/Misc/baseError.js +0 -18
  189. package/Misc/baseError.js.map +0 -1
@@ -526,11 +526,11 @@ var WebGPUEngine = /** @class */ (function (_super) {
526
526
  maxFragmentUniformVectors: 1024,
527
527
  maxVertexUniformVectors: 1024,
528
528
  standardDerivatives: true,
529
- astc: null,
529
+ astc: (this._deviceEnabledExtensions.indexOf(WebGPUConstants.FeatureName.TextureCompressionASTC) >= 0 ? true : undefined),
530
530
  s3tc: (this._deviceEnabledExtensions.indexOf(WebGPUConstants.FeatureName.TextureCompressionBC) >= 0 ? true : undefined),
531
531
  pvrtc: null,
532
532
  etc1: null,
533
- etc2: null,
533
+ etc2: (this._deviceEnabledExtensions.indexOf(WebGPUConstants.FeatureName.TextureCompressionETC2) >= 0 ? true : undefined),
534
534
  bptc: this._deviceEnabledExtensions.indexOf(WebGPUConstants.FeatureName.TextureCompressionBC) >= 0 ? true : undefined,
535
535
  maxAnisotropy: 4,
536
536
  uintIndices: true,
@@ -622,14 +622,16 @@ var WebGPUEngine = /** @class */ (function (_super) {
622
622
  this._mainTexture = this._device.createTexture(mainTextureDescriptor);
623
623
  mainColorAttachments = [{
624
624
  view: this._mainTexture.createView(),
625
- loadValue: new Color4(0, 0, 0, 1),
626
- storeOp: WebGPUConstants.StoreOp.Store // don't use StoreOp.Clear, else using several cameras with different viewports or using scissors will fail because we call beginRenderPass / endPass several times for the same color attachment!
625
+ clearValue: new Color4(0, 0, 0, 1),
626
+ loadOp: WebGPUConstants.LoadOp.Clear,
627
+ storeOp: WebGPUConstants.StoreOp.Store // don't use StoreOp.Discard, else using several cameras with different viewports or using scissors will fail because we call beginRenderPass / endPass several times for the same color attachment!
627
628
  }];
628
629
  }
629
630
  else {
630
631
  mainColorAttachments = [{
631
632
  view: undefined,
632
- loadValue: new Color4(0, 0, 0, 1),
633
+ clearValue: new Color4(0, 0, 0, 1),
634
+ loadOp: WebGPUConstants.LoadOp.Clear,
633
635
  storeOp: WebGPUConstants.StoreOp.Store
634
636
  }];
635
637
  }
@@ -649,9 +651,11 @@ var WebGPUEngine = /** @class */ (function (_super) {
649
651
  this._depthTexture = this._device.createTexture(depthTextureDescriptor);
650
652
  var mainDepthAttachment = {
651
653
  view: this._depthTexture.createView(),
652
- depthLoadValue: this._clearDepthValue,
654
+ depthClearValue: this._clearDepthValue,
655
+ depthLoadOp: WebGPUConstants.LoadOp.Clear,
653
656
  depthStoreOp: WebGPUConstants.StoreOp.Store,
654
- stencilLoadValue: this._clearStencilValue,
657
+ stencilClearValue: this._clearStencilValue,
658
+ stencilLoadOp: WebGPUConstants.LoadOp.Clear,
655
659
  stencilStoreOp: WebGPUConstants.StoreOp.Store,
656
660
  };
657
661
  this._mainRenderPassWrapper.renderPassDescriptor = {
@@ -1949,9 +1953,9 @@ var WebGPUEngine = /** @class */ (function (_super) {
1949
1953
  if (this.useReverseDepthBuffer) {
1950
1954
  this.setDepthFunctionToGreaterOrEqual();
1951
1955
  }
1952
- var colorClearValue = !setClearStates ? WebGPUConstants.LoadOp.Load : clearColor ? clearColor : WebGPUConstants.LoadOp.Load;
1953
- var depthClearValue = !setClearStates ? WebGPUConstants.LoadOp.Load : clearDepth ? (this.useReverseDepthBuffer ? this._clearReverseDepthValue : this._clearDepthValue) : WebGPUConstants.LoadOp.Load;
1954
- var stencilClearValue = !setClearStates ? WebGPUConstants.LoadOp.Load : clearStencil ? this._clearStencilValue : WebGPUConstants.LoadOp.Load;
1956
+ var mustClearColor = setClearStates && clearColor;
1957
+ var mustClearDepth = setClearStates && clearDepth;
1958
+ var mustClearStencil = setClearStates && clearStencil;
1955
1959
  if (rtWrapper._attachments && rtWrapper.isMulti) {
1956
1960
  // multi render targets
1957
1961
  if (!this._mrtAttachments || this._mrtAttachments.length === 0) {
@@ -1970,7 +1974,8 @@ var WebGPUEngine = /** @class */ (function (_super) {
1970
1974
  colorAttachments.push({
1971
1975
  view: colorMSAATextureView ? colorMSAATextureView : colorTextureView,
1972
1976
  resolveTarget: gpuMSAATexture ? colorTextureView : undefined,
1973
- loadValue: index !== 0 ? colorClearValue : WebGPUConstants.LoadOp.Load,
1977
+ clearValue: index !== 0 && mustClearColor ? clearColor : undefined,
1978
+ loadOp: index !== 0 && mustClearColor ? WebGPUConstants.LoadOp.Clear : WebGPUConstants.LoadOp.Load,
1974
1979
  storeOp: WebGPUConstants.StoreOp.Store,
1975
1980
  });
1976
1981
  }
@@ -1989,7 +1994,8 @@ var WebGPUEngine = /** @class */ (function (_super) {
1989
1994
  colorAttachments.push({
1990
1995
  view: colorMSAATextureView ? colorMSAATextureView : colorTextureView,
1991
1996
  resolveTarget: gpuMSAATexture ? colorTextureView : undefined,
1992
- loadValue: colorClearValue,
1997
+ clearValue: mustClearColor ? clearColor : undefined,
1998
+ loadOp: mustClearColor ? WebGPUConstants.LoadOp.Clear : WebGPUConstants.LoadOp.Load,
1993
1999
  storeOp: WebGPUConstants.StoreOp.Store,
1994
2000
  });
1995
2001
  }
@@ -1998,9 +2004,11 @@ var WebGPUEngine = /** @class */ (function (_super) {
1998
2004
  colorAttachments: colorAttachments,
1999
2005
  depthStencilAttachment: depthStencilTexture && gpuDepthStencilTexture ? {
2000
2006
  view: depthMSAATextureView ? depthMSAATextureView : depthTextureView,
2001
- depthLoadValue: true /* depth always generated for the depth/stencil texture */ ? depthClearValue : WebGPUConstants.LoadOp.Load,
2007
+ depthClearValue: mustClearDepth ? (this.useReverseDepthBuffer ? this._clearReverseDepthValue : this._clearDepthValue) : undefined,
2008
+ depthLoadOp: mustClearDepth ? WebGPUConstants.LoadOp.Clear : WebGPUConstants.LoadOp.Load,
2002
2009
  depthStoreOp: WebGPUConstants.StoreOp.Store,
2003
- stencilLoadValue: rtWrapper._depthStencilTextureWithStencil ? stencilClearValue : WebGPUConstants.LoadOp.Load,
2010
+ stencilClearValue: rtWrapper._depthStencilTextureWithStencil && mustClearStencil ? this._clearStencilValue : undefined,
2011
+ stencilLoadOp: rtWrapper._depthStencilTextureWithStencil && mustClearStencil ? WebGPUConstants.LoadOp.Clear : WebGPUConstants.LoadOp.Load,
2004
2012
  stencilStoreOp: WebGPUConstants.StoreOp.Store,
2005
2013
  } : undefined,
2006
2014
  occlusionQuerySet: ((_b = this._occlusionQuery) === null || _b === void 0 ? void 0 : _b.hasQueries) ? this._occlusionQuery.querySet : undefined,
@@ -2034,7 +2042,7 @@ var WebGPUEngine = /** @class */ (function (_super) {
2034
2042
  this._bundleListRenderTarget.run(this._currentRenderPass);
2035
2043
  this._bundleListRenderTarget.reset();
2036
2044
  }
2037
- this._currentRenderPass.endPass();
2045
+ this._currentRenderPass.end();
2038
2046
  if (this.dbgVerboseLogsForFirstFrames) {
2039
2047
  if (this._count === undefined) {
2040
2048
  this._count = 0;
@@ -2074,12 +2082,15 @@ var WebGPUEngine = /** @class */ (function (_super) {
2074
2082
  if (this.useReverseDepthBuffer) {
2075
2083
  this.setDepthFunctionToGreaterOrEqual();
2076
2084
  }
2077
- var colorClearValue = !setClearStates ? WebGPUConstants.LoadOp.Load : clearColor ? clearColor : WebGPUConstants.LoadOp.Load;
2078
- var depthClearValue = !setClearStates ? WebGPUConstants.LoadOp.Load : clearDepth ? (this.useReverseDepthBuffer ? this._clearReverseDepthValue : this._clearDepthValue) : WebGPUConstants.LoadOp.Load;
2079
- var stencilClearValue = !setClearStates ? WebGPUConstants.LoadOp.Load : clearStencil ? this._clearStencilValue : WebGPUConstants.LoadOp.Load;
2080
- this._mainRenderPassWrapper.renderPassDescriptor.colorAttachments[0].loadValue = colorClearValue;
2081
- this._mainRenderPassWrapper.renderPassDescriptor.depthStencilAttachment.depthLoadValue = depthClearValue;
2082
- this._mainRenderPassWrapper.renderPassDescriptor.depthStencilAttachment.stencilLoadValue = stencilClearValue;
2085
+ var mustClearColor = setClearStates && clearColor;
2086
+ var mustClearDepth = setClearStates && clearDepth;
2087
+ var mustClearStencil = setClearStates && clearStencil;
2088
+ this._mainRenderPassWrapper.renderPassDescriptor.colorAttachments[0].clearValue = mustClearColor ? clearColor : undefined;
2089
+ this._mainRenderPassWrapper.renderPassDescriptor.colorAttachments[0].loadOp = mustClearColor ? WebGPUConstants.LoadOp.Clear : WebGPUConstants.LoadOp.Load;
2090
+ this._mainRenderPassWrapper.renderPassDescriptor.depthStencilAttachment.depthClearValue = mustClearDepth ? (this.useReverseDepthBuffer ? this._clearReverseDepthValue : this._clearDepthValue) : undefined;
2091
+ this._mainRenderPassWrapper.renderPassDescriptor.depthStencilAttachment.depthLoadOp = mustClearDepth ? WebGPUConstants.LoadOp.Clear : WebGPUConstants.LoadOp.Load;
2092
+ this._mainRenderPassWrapper.renderPassDescriptor.depthStencilAttachment.stencilClearValue = mustClearStencil ? this._clearStencilValue : undefined;
2093
+ this._mainRenderPassWrapper.renderPassDescriptor.depthStencilAttachment.stencilLoadOp = mustClearStencil ? WebGPUConstants.LoadOp.Clear : WebGPUConstants.LoadOp.Load;
2083
2094
  this._mainRenderPassWrapper.renderPassDescriptor.occlusionQuerySet = ((_a = this._occlusionQuery) === null || _a === void 0 ? void 0 : _a.hasQueries) ? this._occlusionQuery.querySet : undefined;
2084
2095
  this._swapChainTexture = this._context.getCurrentTexture();
2085
2096
  this._mainRenderPassWrapper.colorAttachmentGPUTextures[0].set(this._swapChainTexture);
@@ -2118,7 +2129,7 @@ var WebGPUEngine = /** @class */ (function (_super) {
2118
2129
  this._bundleList.run(this._mainRenderPassWrapper.renderPass);
2119
2130
  this._bundleList.reset();
2120
2131
  }
2121
- this._mainRenderPassWrapper.renderPass.endPass();
2132
+ this._mainRenderPassWrapper.renderPass.end();
2122
2133
  if (this.dbgVerboseLogsForFirstFrames) {
2123
2134
  if (this._count === undefined) {
2124
2135
  this._count = 0;