@babylonjs/core 6.41.0 → 6.41.2

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 (650) hide show
  1. package/Animations/animatable.js +1 -2
  2. package/Animations/animatable.js.map +1 -1
  3. package/Animations/animation.js +4 -6
  4. package/Animations/animation.js.map +1 -1
  5. package/Animations/animationGroup.js +3 -3
  6. package/Animations/animationGroup.js.map +1 -1
  7. package/Animations/runtimeAnimation.js +1 -1
  8. package/Animations/runtimeAnimation.js.map +1 -1
  9. package/Audio/audioEngine.js +3 -5
  10. package/Audio/audioEngine.js.map +1 -1
  11. package/Audio/audioSceneComponent.js +1 -2
  12. package/Audio/audioSceneComponent.js.map +1 -1
  13. package/Audio/sound.js +48 -74
  14. package/Audio/sound.js.map +1 -1
  15. package/Audio/soundTrack.js +6 -12
  16. package/Audio/soundTrack.js.map +1 -1
  17. package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -2
  18. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  19. package/Behaviors/Cameras/autoRotationBehavior.js +1 -1
  20. package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
  21. package/Behaviors/Meshes/fadeInOutBehavior.js +2 -4
  22. package/Behaviors/Meshes/fadeInOutBehavior.js.map +1 -1
  23. package/Behaviors/Meshes/followBehavior.js +1 -2
  24. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  25. package/Behaviors/Meshes/handConstraintBehavior.js +2 -2
  26. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  27. package/Bones/bone.js +4 -6
  28. package/Bones/bone.js.map +1 -1
  29. package/Bones/skeleton.js +2 -3
  30. package/Bones/skeleton.js.map +1 -1
  31. package/Buffers/buffer.align.js +5 -8
  32. package/Buffers/buffer.align.js.map +1 -1
  33. package/Buffers/buffer.js +6 -8
  34. package/Buffers/buffer.js.map +1 -1
  35. package/Cameras/Inputs/BaseCameraPointersInput.js +3 -4
  36. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  37. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +3 -5
  38. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
  39. package/Cameras/Inputs/flyCameraMouseInput.js +2 -2
  40. package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
  41. package/Cameras/Inputs/freeCameraMouseInput.js +2 -2
  42. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  43. package/Cameras/arcRotateCamera.js +1 -2
  44. package/Cameras/arcRotateCamera.js.map +1 -1
  45. package/Cameras/camera.d.ts +5 -0
  46. package/Cameras/camera.js +18 -11
  47. package/Cameras/camera.js.map +1 -1
  48. package/Collisions/pickingInfo.js +1 -1
  49. package/Collisions/pickingInfo.js.map +1 -1
  50. package/Compute/computeEffect.js +5 -8
  51. package/Compute/computeEffect.js.map +1 -1
  52. package/Compute/computeShader.js +12 -9
  53. package/Compute/computeShader.js.map +1 -1
  54. package/Culling/Octrees/octreeSceneComponent.js +1 -2
  55. package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
  56. package/Culling/boundingBox.js +2 -3
  57. package/Culling/boundingBox.js.map +1 -1
  58. package/Culling/ray.d.ts +6 -1
  59. package/Culling/ray.js +9 -4
  60. package/Culling/ray.js.map +1 -1
  61. package/Debug/debugLayer.js +4 -1
  62. package/Debug/debugLayer.js.map +1 -1
  63. package/Debug/directionalLightFrustumViewer.js +7 -9
  64. package/Debug/directionalLightFrustumViewer.js.map +1 -1
  65. package/Debug/physicsViewer.js +5 -7
  66. package/Debug/physicsViewer.js.map +1 -1
  67. package/Debug/rayHelper.js +1 -2
  68. package/Debug/rayHelper.js.map +1 -1
  69. package/Debug/skeletonViewer.js +26 -31
  70. package/Debug/skeletonViewer.js.map +1 -1
  71. package/Decorators/nodeDecorator.js +1 -1
  72. package/Decorators/nodeDecorator.js.map +1 -1
  73. package/DeviceInput/InputDevices/deviceSourceManager.js +3 -5
  74. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  75. package/DeviceInput/eventFactory.js +1 -1
  76. package/DeviceInput/eventFactory.js.map +1 -1
  77. package/DeviceInput/internalDeviceSourceManager.js +1 -2
  78. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  79. package/DeviceInput/webDeviceInputSystem.js +9 -12
  80. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  81. package/Engines/Extensions/engine.cubeTexture.js +6 -1
  82. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  83. package/Engines/Extensions/engine.multiRender.js +3 -4
  84. package/Engines/Extensions/engine.multiRender.js.map +1 -1
  85. package/Engines/Extensions/engine.rawTexture.js +4 -4
  86. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  87. package/Engines/Extensions/engine.readTexture.js +2 -3
  88. package/Engines/Extensions/engine.readTexture.js.map +1 -1
  89. package/Engines/Extensions/engine.renderTarget.js +9 -5
  90. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  91. package/Engines/Extensions/engine.renderTargetCube.js +9 -1
  92. package/Engines/Extensions/engine.renderTargetCube.js.map +1 -1
  93. package/Engines/Extensions/engine.views.js +1 -2
  94. package/Engines/Extensions/engine.views.js.map +1 -1
  95. package/Engines/Processors/shaderCodeNode.js +6 -7
  96. package/Engines/Processors/shaderCodeNode.js.map +1 -1
  97. package/Engines/Processors/shaderProcessor.js +6 -11
  98. package/Engines/Processors/shaderProcessor.js.map +1 -1
  99. package/Engines/WebGL/webGLHardwareTexture.js +1 -2
  100. package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
  101. package/Engines/WebGL/webGLRenderTargetWrapper.js +3 -5
  102. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  103. package/Engines/WebGPU/Extensions/engine.cubeTexture.js +9 -2
  104. package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
  105. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +1 -2
  106. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
  107. package/Engines/WebGPU/Extensions/engine.multiRender.js +5 -6
  108. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  109. package/Engines/WebGPU/Extensions/engine.query.js +2 -4
  110. package/Engines/WebGPU/Extensions/engine.query.js.map +1 -1
  111. package/Engines/WebGPU/Extensions/engine.rawTexture.js +4 -4
  112. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  113. package/Engines/WebGPU/Extensions/engine.renderTarget.js +11 -5
  114. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  115. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js +11 -3
  116. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js.map +1 -1
  117. package/Engines/WebGPU/Extensions/engine.storageBuffer.js +2 -3
  118. package/Engines/WebGPU/Extensions/engine.storageBuffer.js.map +1 -1
  119. package/Engines/WebGPU/Extensions/engine.textureSampler.js +1 -2
  120. package/Engines/WebGPU/Extensions/engine.textureSampler.js.map +1 -1
  121. package/Engines/WebGPU/Extensions/engine.videoTexture.js +1 -2
  122. package/Engines/WebGPU/Extensions/engine.videoTexture.js.map +1 -1
  123. package/Engines/WebGPU/webgpuBufferManager.js +1 -1
  124. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  125. package/Engines/WebGPU/webgpuCacheBindGroups.js +6 -7
  126. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  127. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +15 -20
  128. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  129. package/Engines/WebGPU/webgpuCacheSampler.js +10 -5
  130. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  131. package/Engines/WebGPU/webgpuClearQuad.js +2 -3
  132. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  133. package/Engines/WebGPU/webgpuComputePipelineContext.js +1 -2
  134. package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
  135. package/Engines/WebGPU/webgpuDepthCullingState.js +2 -2
  136. package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
  137. package/Engines/WebGPU/webgpuDrawContext.js +1 -2
  138. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  139. package/Engines/WebGPU/webgpuHardwareTexture.js +4 -6
  140. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  141. package/Engines/WebGPU/webgpuMaterialContext.js +2 -3
  142. package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
  143. package/Engines/WebGPU/webgpuOcclusionQuery.js +3 -5
  144. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  145. package/Engines/WebGPU/webgpuPipelineContext.js +2 -4
  146. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  147. package/Engines/WebGPU/webgpuQuerySet.js +1 -1
  148. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  149. package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -4
  150. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  151. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +2 -4
  152. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  153. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +5 -4
  154. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  155. package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -2
  156. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  157. package/Engines/WebGPU/webgpuTextureManager.js +40 -43
  158. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  159. package/Engines/WebGPU/webgpuTimestampQuery.js +12 -7
  160. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  161. package/Engines/WebGPU/webgpuTintWASM.js +4 -1
  162. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  163. package/Engines/engine.js +4 -7
  164. package/Engines/engine.js.map +1 -1
  165. package/Engines/nativeEngine.js +16 -22
  166. package/Engines/nativeEngine.js.map +1 -1
  167. package/Engines/nullEngine.js +9 -1
  168. package/Engines/nullEngine.js.map +1 -1
  169. package/Engines/renderTargetWrapper.js +11 -16
  170. package/Engines/renderTargetWrapper.js.map +1 -1
  171. package/Engines/thinEngine.js +32 -44
  172. package/Engines/thinEngine.js.map +1 -1
  173. package/Engines/webgpuEngine.js +77 -95
  174. package/Engines/webgpuEngine.js.map +1 -1
  175. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js +2 -3
  176. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -1
  177. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +3 -6
  178. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
  179. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +1 -2
  180. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
  181. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js +1 -2
  182. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js.map +1 -1
  183. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +2 -4
  184. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
  185. package/FlowGraph/flowGraph.js +1 -2
  186. package/FlowGraph/flowGraph.js.map +1 -1
  187. package/FlowGraph/flowGraphBlock.js +2 -4
  188. package/FlowGraph/flowGraphBlock.js.map +1 -1
  189. package/FlowGraph/flowGraphContext.js +1 -2
  190. package/FlowGraph/flowGraphContext.js.map +1 -1
  191. package/FlowGraph/flowGraphCoordinator.js +4 -7
  192. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  193. package/FlowGraph/flowGraphSignalConnection.js +1 -2
  194. package/FlowGraph/flowGraphSignalConnection.js.map +1 -1
  195. package/FlowGraph/serialization.js +2 -3
  196. package/FlowGraph/serialization.js.map +1 -1
  197. package/Gamepads/gamepadManager.js +1 -1
  198. package/Gamepads/gamepadManager.js.map +1 -1
  199. package/Gizmos/axisDragGizmo.js +2 -4
  200. package/Gizmos/axisDragGizmo.js.map +1 -1
  201. package/Gizmos/axisScaleGizmo.js +5 -8
  202. package/Gizmos/axisScaleGizmo.js.map +1 -1
  203. package/Gizmos/boundingBoxGizmo.js +1 -1
  204. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  205. package/Gizmos/cameraGizmo.js +2 -3
  206. package/Gizmos/cameraGizmo.js.map +1 -1
  207. package/Gizmos/gizmo.js +4 -7
  208. package/Gizmos/gizmo.js.map +1 -1
  209. package/Gizmos/gizmoManager.js +3 -4
  210. package/Gizmos/gizmoManager.js.map +1 -1
  211. package/Gizmos/planeDragGizmo.js +2 -4
  212. package/Gizmos/planeDragGizmo.js.map +1 -1
  213. package/Gizmos/planeRotationGizmo.js +2 -4
  214. package/Gizmos/planeRotationGizmo.js.map +1 -1
  215. package/Helpers/environmentHelper.js +8 -2
  216. package/Helpers/environmentHelper.js.map +1 -1
  217. package/Helpers/videoDome.js +1 -2
  218. package/Helpers/videoDome.js.map +1 -1
  219. package/Inputs/scene.inputManager.js +8 -10
  220. package/Inputs/scene.inputManager.js.map +1 -1
  221. package/Layers/effectLayer.js +16 -10
  222. package/Layers/effectLayer.js.map +1 -1
  223. package/Layers/glowLayer.js +16 -6
  224. package/Layers/glowLayer.js.map +1 -1
  225. package/Layers/highlightLayer.js +12 -3
  226. package/Layers/highlightLayer.js.map +1 -1
  227. package/Layers/layer.js +1 -2
  228. package/Layers/layer.js.map +1 -1
  229. package/LensFlares/lensFlareSystem.js +1 -2
  230. package/LensFlares/lensFlareSystem.js.map +1 -1
  231. package/Lights/Shadows/cascadedShadowGenerator.js +21 -25
  232. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  233. package/Lights/Shadows/shadowGenerator.js +18 -21
  234. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  235. package/Lights/light.js +2 -4
  236. package/Lights/light.js.map +1 -1
  237. package/Lights/shadowLight.js +1 -1
  238. package/Lights/shadowLight.js.map +1 -1
  239. package/Loading/Plugins/babylonFileLoader.js +1 -2
  240. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  241. package/Loading/sceneLoader.js +1 -1
  242. package/Loading/sceneLoader.js.map +1 -1
  243. package/Materials/GreasedLine/greasedLinePluginMaterial.js +26 -32
  244. package/Materials/GreasedLine/greasedLinePluginMaterial.js.map +1 -1
  245. package/Materials/GreasedLine/greasedLineSimpleMaterial.js +22 -27
  246. package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -1
  247. package/Materials/Node/Blocks/Dual/clipPlanesBlock.js +6 -7
  248. package/Materials/Node/Blocks/Dual/clipPlanesBlock.js.map +1 -1
  249. package/Materials/Node/Blocks/Dual/imageSourceBlock.js +1 -2
  250. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  251. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +1 -2
  252. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  253. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js +1 -1
  254. package/Materials/Node/Blocks/Dual/sceneDepthBlock.js.map +1 -1
  255. package/Materials/Node/Blocks/Dual/textureBlock.js +10 -16
  256. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  257. package/Materials/Node/Blocks/Fragment/TBNBlock.js +2 -3
  258. package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
  259. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +1 -2
  260. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
  261. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +2 -4
  262. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
  263. package/Materials/Node/Blocks/Input/inputBlock.js +1 -2
  264. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  265. package/Materials/Node/Blocks/PBR/clearCoatBlock.js +24 -26
  266. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  267. package/Materials/Node/Blocks/PBR/iridescenceBlock.js +3 -3
  268. package/Materials/Node/Blocks/PBR/iridescenceBlock.js.map +1 -1
  269. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +45 -49
  270. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  271. package/Materials/Node/Blocks/PBR/reflectionBlock.js +1 -2
  272. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  273. package/Materials/Node/Blocks/PBR/refractionBlock.js +1 -2
  274. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  275. package/Materials/Node/Blocks/PBR/sheenBlock.js +13 -13
  276. package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
  277. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +27 -28
  278. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
  279. package/Materials/Node/Blocks/Teleport/teleportOutBlock.js +1 -2
  280. package/Materials/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -1
  281. package/Materials/Node/Blocks/Vertex/instancesBlock.js +2 -2
  282. package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
  283. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +43 -33
  284. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
  285. package/Materials/Node/Blocks/biPlanarBlock.js +1 -2
  286. package/Materials/Node/Blocks/biPlanarBlock.js.map +1 -1
  287. package/Materials/Node/Blocks/cloudBlock.js +2 -3
  288. package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
  289. package/Materials/Node/Blocks/colorMergerBlock.js +4 -5
  290. package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
  291. package/Materials/Node/Blocks/customBlock.js +4 -6
  292. package/Materials/Node/Blocks/customBlock.js.map +1 -1
  293. package/Materials/Node/Blocks/meshAttributeExistsBlock.js +2 -4
  294. package/Materials/Node/Blocks/meshAttributeExistsBlock.js.map +1 -1
  295. package/Materials/Node/Blocks/triPlanarBlock.js +14 -23
  296. package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
  297. package/Materials/Node/Blocks/vectorMergerBlock.js +4 -5
  298. package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
  299. package/Materials/Node/nodeMaterial.js +16 -11
  300. package/Materials/Node/nodeMaterial.js.map +1 -1
  301. package/Materials/Node/nodeMaterialBlock.js +3 -4
  302. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  303. package/Materials/Node/nodeMaterialBuildState.js +1 -1
  304. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  305. package/Materials/PBR/pbrBaseMaterial.js +25 -28
  306. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  307. package/Materials/PBR/pbrClearCoatConfiguration.js +6 -9
  308. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  309. package/Materials/PBR/pbrIridescenceConfiguration.js +4 -7
  310. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  311. package/Materials/PBR/pbrSheenConfiguration.js +4 -7
  312. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  313. package/Materials/Textures/Loaders/envTextureLoader.js +2 -2
  314. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  315. package/Materials/Textures/Packer/packer.js +13 -14
  316. package/Materials/Textures/Packer/packer.js.map +1 -1
  317. package/Materials/Textures/Procedurals/noiseProceduralTexture.js +1 -2
  318. package/Materials/Textures/Procedurals/noiseProceduralTexture.js.map +1 -1
  319. package/Materials/Textures/Procedurals/proceduralTexture.js +19 -11
  320. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  321. package/Materials/Textures/baseTexture.js +2 -4
  322. package/Materials/Textures/baseTexture.js.map +1 -1
  323. package/Materials/Textures/cubeTexture.js +7 -13
  324. package/Materials/Textures/cubeTexture.js.map +1 -1
  325. package/Materials/Textures/dynamicTexture.js +1 -2
  326. package/Materials/Textures/dynamicTexture.js.map +1 -1
  327. package/Materials/Textures/hdrCubeTexture.js +2 -4
  328. package/Materials/Textures/hdrCubeTexture.js.map +1 -1
  329. package/Materials/Textures/htmlElementTexture.js +5 -3
  330. package/Materials/Textures/htmlElementTexture.js.map +1 -1
  331. package/Materials/Textures/internalTexture.js +3 -5
  332. package/Materials/Textures/internalTexture.js.map +1 -1
  333. package/Materials/Textures/mirrorTexture.js +3 -6
  334. package/Materials/Textures/mirrorTexture.js.map +1 -1
  335. package/Materials/Textures/multiRenderTarget.js +5 -8
  336. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  337. package/Materials/Textures/rawTexture.js +1 -1
  338. package/Materials/Textures/rawTexture.js.map +1 -1
  339. package/Materials/Textures/renderTargetTexture.js +22 -34
  340. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  341. package/Materials/Textures/texture.js +16 -21
  342. package/Materials/Textures/texture.js.map +1 -1
  343. package/Materials/Textures/thinRenderTargetTexture.js +2 -4
  344. package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
  345. package/Materials/Textures/thinTexture.js +1 -1
  346. package/Materials/Textures/thinTexture.js.map +1 -1
  347. package/Materials/Textures/videoTexture.js +12 -10
  348. package/Materials/Textures/videoTexture.js.map +1 -1
  349. package/Materials/clipPlaneMaterialHelper.js +18 -21
  350. package/Materials/clipPlaneMaterialHelper.js.map +1 -1
  351. package/Materials/drawWrapper.js +2 -4
  352. package/Materials/drawWrapper.js.map +1 -1
  353. package/Materials/effect.d.ts +4 -0
  354. package/Materials/effect.js +18 -18
  355. package/Materials/effect.js.map +1 -1
  356. package/Materials/effectRenderer.js +2 -3
  357. package/Materials/effectRenderer.js.map +1 -1
  358. package/Materials/material.decalMapConfiguration.js +3 -3
  359. package/Materials/material.decalMapConfiguration.js.map +1 -1
  360. package/Materials/material.detailMapConfiguration.js +1 -2
  361. package/Materials/material.detailMapConfiguration.js.map +1 -1
  362. package/Materials/material.js +7 -4
  363. package/Materials/material.js.map +1 -1
  364. package/Materials/materialDefines.js +5 -6
  365. package/Materials/materialDefines.js.map +1 -1
  366. package/Materials/materialHelper.d.ts +1 -1
  367. package/Materials/materialHelper.js +3 -4
  368. package/Materials/materialHelper.js.map +1 -1
  369. package/Materials/materialPluginManager.js +3 -5
  370. package/Materials/materialPluginManager.js.map +1 -1
  371. package/Materials/meshDebugPluginMaterial.js +13 -14
  372. package/Materials/meshDebugPluginMaterial.js.map +1 -1
  373. package/Materials/multiMaterial.js +1 -2
  374. package/Materials/multiMaterial.js.map +1 -1
  375. package/Materials/shaderMaterial.d.ts +1 -1
  376. package/Materials/shaderMaterial.js +64 -32
  377. package/Materials/shaderMaterial.js.map +1 -1
  378. package/Materials/shadowDepthWrapper.js +24 -23
  379. package/Materials/shadowDepthWrapper.js.map +1 -1
  380. package/Materials/standardMaterial.js +10 -12
  381. package/Materials/standardMaterial.js.map +1 -1
  382. package/Materials/uniformBuffer.js +1 -1
  383. package/Materials/uniformBuffer.js.map +1 -1
  384. package/Maths/math.vector.js +1 -2
  385. package/Maths/math.vector.js.map +1 -1
  386. package/Meshes/Builders/decalBuilder.js +26 -29
  387. package/Meshes/Builders/decalBuilder.js.map +1 -1
  388. package/Meshes/Builders/greasedLineBuilder.js +16 -16
  389. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  390. package/Meshes/Builders/groundBuilder.d.ts +5 -1
  391. package/Meshes/Builders/groundBuilder.js +13 -2
  392. package/Meshes/Builders/groundBuilder.js.map +1 -1
  393. package/Meshes/Builders/textBuilder.js +2 -3
  394. package/Meshes/Builders/textBuilder.js.map +1 -1
  395. package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +9 -1
  396. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +141 -12
  397. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  398. package/Meshes/GreasedLine/greasedLineBaseMesh.js +8 -11
  399. package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
  400. package/Meshes/GreasedLine/greasedLineMesh.js +3 -5
  401. package/Meshes/GreasedLine/greasedLineMesh.js.map +1 -1
  402. package/Meshes/GreasedLine/greasedLineRibbonMesh.js +13 -18
  403. package/Meshes/GreasedLine/greasedLineRibbonMesh.js.map +1 -1
  404. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.js +1 -2
  405. package/Meshes/Node/Blocks/Teleport/teleportOutBlock.js.map +1 -1
  406. package/Meshes/Node/Blocks/geometryTrigonometryBlock.d.ts +18 -18
  407. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js +18 -18
  408. package/Meshes/Node/Blocks/geometryTrigonometryBlock.js.map +1 -1
  409. package/Meshes/Node/nodeGeometry.js +6 -3
  410. package/Meshes/Node/nodeGeometry.js.map +1 -1
  411. package/Meshes/Node/nodeGeometryBlock.js +1 -1
  412. package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
  413. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js +1 -2
  414. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js.map +1 -1
  415. package/Meshes/Node/nodeGeometryBuildState.js +1 -2
  416. package/Meshes/Node/nodeGeometryBuildState.js.map +1 -1
  417. package/Meshes/abstractMesh.js +6 -10
  418. package/Meshes/abstractMesh.js.map +1 -1
  419. package/Meshes/csg.js +1 -2
  420. package/Meshes/csg.js.map +1 -1
  421. package/Meshes/geometry.js +1 -1
  422. package/Meshes/geometry.js.map +1 -1
  423. package/Meshes/instancedMesh.js +5 -10
  424. package/Meshes/instancedMesh.js.map +1 -1
  425. package/Meshes/mesh.js +13 -22
  426. package/Meshes/mesh.js.map +1 -1
  427. package/Meshes/mesh.vertexData.js +3 -4
  428. package/Meshes/mesh.vertexData.js.map +1 -1
  429. package/Meshes/meshUVSpaceRenderer.js +18 -15
  430. package/Meshes/meshUVSpaceRenderer.js.map +1 -1
  431. package/Meshes/subMesh.js +8 -14
  432. package/Meshes/subMesh.js.map +1 -1
  433. package/Meshes/thinInstanceMesh.js +12 -18
  434. package/Meshes/thinInstanceMesh.js.map +1 -1
  435. package/Meshes/trailMesh.js +2 -3
  436. package/Meshes/trailMesh.js.map +1 -1
  437. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +1 -2
  438. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
  439. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +9 -14
  440. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
  441. package/Misc/PerformanceViewer/performanceViewerCollector.js +2 -3
  442. package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
  443. package/Misc/arrayTools.js +1 -1
  444. package/Misc/arrayTools.js.map +1 -1
  445. package/Misc/basis.js +2 -3
  446. package/Misc/basis.js.map +1 -1
  447. package/Misc/dataStorage.js +1 -1
  448. package/Misc/dataStorage.js.map +1 -1
  449. package/Misc/deepCopier.js +1 -1
  450. package/Misc/deepCopier.js.map +1 -1
  451. package/Misc/environmentTextureTools.js +3 -4
  452. package/Misc/environmentTextureTools.js.map +1 -1
  453. package/Misc/equirectangularCapture.js +2 -3
  454. package/Misc/equirectangularCapture.js.map +1 -1
  455. package/Misc/fileTools.js +4 -4
  456. package/Misc/fileTools.js.map +1 -1
  457. package/Misc/greasedLineTools.js +3 -5
  458. package/Misc/greasedLineTools.js.map +1 -1
  459. package/Misc/logger.js +1 -2
  460. package/Misc/logger.js.map +1 -1
  461. package/Misc/minMaxReducer.js +2 -3
  462. package/Misc/minMaxReducer.js.map +1 -1
  463. package/Misc/pressureObserverWrapper.js +5 -8
  464. package/Misc/pressureObserverWrapper.js.map +1 -1
  465. package/Misc/sceneRecorder.js +1 -1
  466. package/Misc/sceneRecorder.js.map +1 -1
  467. package/Misc/screenshotTools.js +1 -1
  468. package/Misc/screenshotTools.js.map +1 -1
  469. package/Misc/textureTools.js +5 -5
  470. package/Misc/textureTools.js.map +1 -1
  471. package/Misc/timer.js +3 -5
  472. package/Misc/timer.js.map +1 -1
  473. package/Misc/tools.d.ts +3 -2
  474. package/Misc/tools.js +6 -5
  475. package/Misc/tools.js.map +1 -1
  476. package/Misc/trajectoryClassifier.js +3 -3
  477. package/Misc/trajectoryClassifier.js.map +1 -1
  478. package/Misc/videoRecorder.js +6 -4
  479. package/Misc/videoRecorder.js.map +1 -1
  480. package/Misc/virtualJoystick.js +4 -1
  481. package/Misc/virtualJoystick.js.map +1 -1
  482. package/Morph/morphTargetManager.js +1 -2
  483. package/Morph/morphTargetManager.js.map +1 -1
  484. package/Particles/EmitterTypes/meshParticleEmitter.js +1 -2
  485. package/Particles/EmitterTypes/meshParticleEmitter.js.map +1 -1
  486. package/Particles/baseParticleSystem.d.ts +4 -0
  487. package/Particles/baseParticleSystem.js +4 -0
  488. package/Particles/baseParticleSystem.js.map +1 -1
  489. package/Particles/computeShaderParticleSystem.js +3 -6
  490. package/Particles/computeShaderParticleSystem.js.map +1 -1
  491. package/Particles/gpuParticleSystem.d.ts +2 -2
  492. package/Particles/gpuParticleSystem.js +30 -20
  493. package/Particles/gpuParticleSystem.js.map +1 -1
  494. package/Particles/particleSystem.d.ts +3 -2
  495. package/Particles/particleSystem.js +33 -30
  496. package/Particles/particleSystem.js.map +1 -1
  497. package/Particles/particleSystemComponent.js +2 -3
  498. package/Particles/particleSystemComponent.js.map +1 -1
  499. package/Particles/pointsCloudSystem.js +5 -8
  500. package/Particles/pointsCloudSystem.js.map +1 -1
  501. package/Particles/solidParticleSystem.js +5 -7
  502. package/Particles/solidParticleSystem.js.map +1 -1
  503. package/Particles/webgl2ParticleSystem.js +1 -2
  504. package/Particles/webgl2ParticleSystem.js.map +1 -1
  505. package/Physics/castingResult.js +1 -1
  506. package/Physics/castingResult.js.map +1 -1
  507. package/Physics/joinedPhysicsEngineComponent.js +2 -2
  508. package/Physics/joinedPhysicsEngineComponent.js.map +1 -1
  509. package/Physics/physicsHelper.js +19 -21
  510. package/Physics/physicsHelper.js.map +1 -1
  511. package/Physics/v2/IPhysicsEnginePlugin.d.ts +20 -0
  512. package/Physics/v2/IPhysicsEnginePlugin.js.map +1 -1
  513. package/Physics/v2/Plugins/havokPlugin.js +48 -35
  514. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  515. package/Physics/v2/physicsAggregate.js +10 -12
  516. package/Physics/v2/physicsAggregate.js.map +1 -1
  517. package/Physics/v2/physicsBody.js +2 -4
  518. package/Physics/v2/physicsBody.js.map +1 -1
  519. package/Physics/v2/physicsShape.js +1 -2
  520. package/Physics/v2/physicsShape.js.map +1 -1
  521. package/Physics/v2/ragdoll.js +6 -8
  522. package/Physics/v2/ragdoll.js.map +1 -1
  523. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +6 -8
  524. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  525. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.js +14 -22
  526. package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.js.map +1 -1
  527. package/PostProcesses/colorCorrectionPostProcess.js +1 -1
  528. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  529. package/PostProcesses/postProcess.js +28 -34
  530. package/PostProcesses/postProcess.js.map +1 -1
  531. package/PostProcesses/postProcessManager.js +4 -6
  532. package/PostProcesses/postProcessManager.js.map +1 -1
  533. package/PostProcesses/screenSpaceReflectionPostProcess.js +2 -2
  534. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  535. package/PostProcesses/volumetricLightScatteringPostProcess.js +4 -7
  536. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  537. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +1 -1
  538. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js.map +1 -1
  539. package/Probes/reflectionProbe.js +2 -4
  540. package/Probes/reflectionProbe.js.map +1 -1
  541. package/Rendering/GlobalIllumination/giRSMManager.js +22 -19
  542. package/Rendering/GlobalIllumination/giRSMManager.js.map +1 -1
  543. package/Rendering/boundingBoxRenderer.js +2 -3
  544. package/Rendering/boundingBoxRenderer.js.map +1 -1
  545. package/Rendering/depthPeelingRenderer.js +2 -4
  546. package/Rendering/depthPeelingRenderer.js.map +1 -1
  547. package/Rendering/depthPeelingSceneComponent.js +2 -4
  548. package/Rendering/depthPeelingSceneComponent.js.map +1 -1
  549. package/Rendering/depthRenderer.js +10 -13
  550. package/Rendering/depthRenderer.js.map +1 -1
  551. package/Rendering/edgesRenderer.js +8 -11
  552. package/Rendering/edgesRenderer.js.map +1 -1
  553. package/Rendering/fluidRenderer/fluidRenderer.js +6 -11
  554. package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
  555. package/Rendering/fluidRenderer/fluidRenderingObject.js +3 -5
  556. package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
  557. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js +2 -4
  558. package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.js.map +1 -1
  559. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js +30 -36
  560. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
  561. package/Rendering/fluidRenderer/fluidRenderingTextures.js +5 -7
  562. package/Rendering/fluidRenderer/fluidRenderingTextures.js.map +1 -1
  563. package/Rendering/geometryBufferRenderer.js +3 -2
  564. package/Rendering/geometryBufferRenderer.js.map +1 -1
  565. package/Rendering/outlineRenderer.js +5 -4
  566. package/Rendering/outlineRenderer.js.map +1 -1
  567. package/Rendering/prePassRenderer.js +3 -6
  568. package/Rendering/prePassRenderer.js.map +1 -1
  569. package/Rendering/reflectiveShadowMap.d.ts +1 -0
  570. package/Rendering/reflectiveShadowMap.js +5 -5
  571. package/Rendering/reflectiveShadowMap.js.map +1 -1
  572. package/Shaders/color.fragment.d.ts +2 -0
  573. package/Shaders/color.fragment.js +4 -0
  574. package/Shaders/color.fragment.js.map +1 -1
  575. package/Shaders/color.vertex.d.ts +2 -0
  576. package/Shaders/color.vertex.js +7 -0
  577. package/Shaders/color.vertex.js.map +1 -1
  578. package/Shaders/gpuRenderParticles.fragment.d.ts +2 -0
  579. package/Shaders/gpuRenderParticles.fragment.js +4 -0
  580. package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
  581. package/Shaders/gpuRenderParticles.vertex.d.ts +2 -0
  582. package/Shaders/gpuRenderParticles.vertex.js +5 -1
  583. package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
  584. package/Shaders/particles.fragment.d.ts +2 -0
  585. package/Shaders/particles.fragment.js +4 -0
  586. package/Shaders/particles.fragment.js.map +1 -1
  587. package/Shaders/particles.vertex.d.ts +2 -0
  588. package/Shaders/particles.vertex.js +5 -1
  589. package/Shaders/particles.vertex.js.map +1 -1
  590. package/Sprites/spriteManager.js +1 -2
  591. package/Sprites/spriteManager.js.map +1 -1
  592. package/Sprites/spriteRenderer.js +5 -7
  593. package/Sprites/spriteRenderer.js.map +1 -1
  594. package/States/stencilStateComposer.js +2 -4
  595. package/States/stencilStateComposer.js.map +1 -1
  596. package/XR/features/WebXRAbstractFeature.js +6 -2
  597. package/XR/features/WebXRAbstractFeature.js.map +1 -1
  598. package/XR/features/WebXRAnchorSystem.js +1 -2
  599. package/XR/features/WebXRAnchorSystem.js.map +1 -1
  600. package/XR/features/WebXRControllerMovement.js +6 -7
  601. package/XR/features/WebXRControllerMovement.js.map +1 -1
  602. package/XR/features/WebXRControllerPhysics.js +17 -10
  603. package/XR/features/WebXRControllerPhysics.js.map +1 -1
  604. package/XR/features/WebXRControllerPointerSelection.js +1 -2
  605. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  606. package/XR/features/WebXRControllerTeleportation.d.ts +1 -0
  607. package/XR/features/WebXRControllerTeleportation.js +6 -3
  608. package/XR/features/WebXRControllerTeleportation.js.map +1 -1
  609. package/XR/features/WebXRDepthSensing.js +3 -5
  610. package/XR/features/WebXRDepthSensing.js.map +1 -1
  611. package/XR/features/WebXRHandTracking.d.ts +1 -0
  612. package/XR/features/WebXRHandTracking.js +31 -28
  613. package/XR/features/WebXRHandTracking.js.map +1 -1
  614. package/XR/features/WebXRLayers.js +9 -11
  615. package/XR/features/WebXRLayers.js.map +1 -1
  616. package/XR/features/WebXRLightEstimation.js +3 -6
  617. package/XR/features/WebXRLightEstimation.js.map +1 -1
  618. package/XR/features/WebXRMeshDetector.js +2 -4
  619. package/XR/features/WebXRMeshDetector.js.map +1 -1
  620. package/XR/features/WebXRNearInteraction.js +21 -18
  621. package/XR/features/WebXRNearInteraction.js.map +1 -1
  622. package/XR/features/WebXRPlaneDetector.js +1 -2
  623. package/XR/features/WebXRPlaneDetector.js.map +1 -1
  624. package/XR/features/WebXRRawCameraAccess.js +2 -3
  625. package/XR/features/WebXRRawCameraAccess.js.map +1 -1
  626. package/XR/features/WebXRSpaceWarp.js +1 -1
  627. package/XR/features/WebXRSpaceWarp.js.map +1 -1
  628. package/XR/motionController/webXRAbstractMotionController.js +4 -1
  629. package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
  630. package/XR/native/nativeXRFrame.js +1 -2
  631. package/XR/native/nativeXRFrame.js.map +1 -1
  632. package/XR/webXRCamera.js +1 -2
  633. package/XR/webXRCamera.js.map +1 -1
  634. package/XR/webXRDefaultExperience.js +28 -6
  635. package/XR/webXRDefaultExperience.js.map +1 -1
  636. package/XR/webXRExperienceHelper.js +5 -7
  637. package/XR/webXRExperienceHelper.js.map +1 -1
  638. package/XR/webXRFeaturesManager.js +4 -1
  639. package/XR/webXRFeaturesManager.js.map +1 -1
  640. package/XR/webXRInput.js +6 -1
  641. package/XR/webXRInput.js.map +1 -1
  642. package/XR/webXRInputSource.js +1 -2
  643. package/XR/webXRInputSource.js.map +1 -1
  644. package/XR/webXRSessionManager.js +16 -29
  645. package/XR/webXRSessionManager.js.map +1 -1
  646. package/assetContainer.js +4 -1
  647. package/assetContainer.js.map +1 -1
  648. package/package.json +1 -1
  649. package/scene.js +18 -17
  650. package/scene.js.map +1 -1
@@ -228,8 +228,7 @@ export class WebGPUEngine extends Engine {
228
228
  * @param options Defines the options passed to the engine to create the GPU context dependencies
229
229
  */
230
230
  constructor(canvas, options = {}) {
231
- var _a, _b;
232
- super(null, (_a = options.antialias) !== null && _a !== void 0 ? _a : true, options);
231
+ super(null, options.antialias ?? true, options);
233
232
  /** A unique id to identify this instance */
234
233
  this.uniqueId = -1;
235
234
  // Page Life cycle and constants
@@ -330,7 +329,7 @@ export class WebGPUEngine extends Engine {
330
329
  this._blendColorsCurrent = [null, null, null, null];
331
330
  this._name = "WebGPU";
332
331
  options.deviceDescriptor = options.deviceDescriptor || {};
333
- options.enableGPUDebugMarkers = (_b = options.enableGPUDebugMarkers) !== null && _b !== void 0 ? _b : false;
332
+ options.enableGPUDebugMarkers = options.enableGPUDebugMarkers ?? false;
334
333
  Logger.Log(`Babylon.js v${Engine.Version} - ${this.description} engine`);
335
334
  if (!navigator.gpu) {
336
335
  Logger.Error("WebGPU is not supported by your browser.");
@@ -357,17 +356,15 @@ export class WebGPUEngine extends Engine {
357
356
  * @returns a promise notifying the readiness of the engine.
358
357
  */
359
358
  initAsync(glslangOptions, twgslOptions) {
360
- var _a;
361
359
  this.uniqueId = WebGPUEngine._InstanceId++;
362
360
  this._glslangOptions = glslangOptions;
363
361
  this._twgslOptions = twgslOptions;
364
- return this._initGlslang(glslangOptions !== null && glslangOptions !== void 0 ? glslangOptions : (_a = this._options) === null || _a === void 0 ? void 0 : _a.glslangOptions)
362
+ return this._initGlslang(glslangOptions ?? this._options?.glslangOptions)
365
363
  .then((glslang) => {
366
- var _a;
367
364
  this._glslang = glslang;
368
365
  this._tintWASM = WebGPUEngine.UseTWGSL ? new WebGPUTintWASM() : null;
369
366
  return this._tintWASM
370
- ? this._tintWASM.initTwgsl(twgslOptions !== null && twgslOptions !== void 0 ? twgslOptions : (_a = this._options) === null || _a === void 0 ? void 0 : _a.twgslOptions).then(() => {
367
+ ? this._tintWASM.initTwgsl(twgslOptions ?? this._options?.twgslOptions).then(() => {
371
368
  return navigator.gpu.requestAdapter(this._options);
372
369
  }, (msg) => {
373
370
  Logger.Error("Can not initialize twgsl!");
@@ -381,7 +378,6 @@ export class WebGPUEngine extends Engine {
381
378
  throw Error("WebGPU initializations stopped.");
382
379
  })
383
380
  .then((adapter) => {
384
- var _a, _b, _c;
385
381
  if (!adapter) {
386
382
  // eslint-disable-next-line no-throw-literal
387
383
  throw "Could not retrieve a WebGPU adapter (adapter is null).";
@@ -389,13 +385,13 @@ export class WebGPUEngine extends Engine {
389
385
  else {
390
386
  this._adapter = adapter;
391
387
  this._adapterSupportedExtensions = [];
392
- (_a = this._adapter.features) === null || _a === void 0 ? void 0 : _a.forEach((feature) => this._adapterSupportedExtensions.push(feature));
388
+ this._adapter.features?.forEach((feature) => this._adapterSupportedExtensions.push(feature));
393
389
  this._adapterSupportedLimits = this._adapter.limits;
394
390
  this._adapter.requestAdapterInfo().then((adapterInfo) => {
395
391
  this._adapterInfo = adapterInfo;
396
392
  });
397
- const deviceDescriptor = (_b = this._options.deviceDescriptor) !== null && _b !== void 0 ? _b : {};
398
- const requiredFeatures = (_c = deviceDescriptor === null || deviceDescriptor === void 0 ? void 0 : deviceDescriptor.requiredFeatures) !== null && _c !== void 0 ? _c : (this._options.enableAllFeatures ? this._adapterSupportedExtensions : undefined);
393
+ const deviceDescriptor = this._options.deviceDescriptor ?? {};
394
+ const requiredFeatures = deviceDescriptor?.requiredFeatures ?? (this._options.enableAllFeatures ? this._adapterSupportedExtensions : undefined);
399
395
  if (requiredFeatures) {
400
396
  const requestedExtensions = requiredFeatures;
401
397
  const validExtensions = [];
@@ -421,10 +417,9 @@ export class WebGPUEngine extends Engine {
421
417
  }
422
418
  })
423
419
  .then((device) => {
424
- var _a, _b;
425
420
  this._device = device;
426
421
  this._deviceEnabledExtensions = [];
427
- (_a = this._device.features) === null || _a === void 0 ? void 0 : _a.forEach((feature) => this._deviceEnabledExtensions.push(feature));
422
+ this._device.features?.forEach((feature) => this._deviceEnabledExtensions.push(feature));
428
423
  this._deviceLimits = device.limits;
429
424
  let numUncapturedErrors = -1;
430
425
  this._device.addEventListener("uncapturederror", (event) => {
@@ -436,7 +431,7 @@ export class WebGPUEngine extends Engine {
436
431
  }
437
432
  });
438
433
  if (!this._doNotHandleContextLost) {
439
- (_b = this._device.lost) === null || _b === void 0 ? void 0 : _b.then((info) => {
434
+ this._device.lost?.then((info) => {
440
435
  if (this._isDisposed) {
441
436
  return;
442
437
  }
@@ -444,14 +439,13 @@ export class WebGPUEngine extends Engine {
444
439
  Logger.Warn("WebGPU context lost. " + info);
445
440
  this.onContextLostObservable.notifyObservers(this);
446
441
  this._restoreEngineAfterContextLost(async () => {
447
- var _a, _b, _c, _d;
448
442
  const snapshotRenderingMode = this.snapshotRenderingMode;
449
443
  const snapshotRendering = this.snapshotRendering;
450
444
  const disableCacheSamplers = this.disableCacheSamplers;
451
445
  const disableCacheRenderPipelines = this.disableCacheRenderPipelines;
452
446
  const disableCacheBindGroups = this.disableCacheBindGroups;
453
447
  const enableGPUTimingMeasurements = this.enableGPUTimingMeasurements;
454
- await this.initAsync((_a = this._glslangOptions) !== null && _a !== void 0 ? _a : (_b = this._options) === null || _b === void 0 ? void 0 : _b.glslangOptions, (_c = this._twgslOptions) !== null && _c !== void 0 ? _c : (_d = this._options) === null || _d === void 0 ? void 0 : _d.twgslOptions);
448
+ await this.initAsync(this._glslangOptions ?? this._options?.glslangOptions, this._twgslOptions ?? this._options?.twgslOptions);
455
449
  this.snapshotRenderingMode = snapshotRenderingMode;
456
450
  this.snapshotRendering = snapshotRendering;
457
451
  this.disableCacheSamplers = disableCacheSamplers;
@@ -510,16 +504,18 @@ export class WebGPUEngine extends Engine {
510
504
  this.resize();
511
505
  })
512
506
  .catch((e) => {
513
- var _a;
514
507
  Logger.Error("Can not create WebGPU Device and/or context.");
515
508
  Logger.Error(e);
516
509
  // eslint-disable-next-line no-console
517
- (_a = console === null || console === void 0 ? void 0 : console.trace) === null || _a === void 0 ? void 0 : _a.call(console);
510
+ console?.trace?.();
518
511
  });
519
512
  }
520
513
  _initGlslang(glslangOptions) {
521
514
  glslangOptions = glslangOptions || {};
522
- glslangOptions = Object.assign(Object.assign({}, WebGPUEngine._GLSLslangDefaultOptions), glslangOptions);
515
+ glslangOptions = {
516
+ ...WebGPUEngine._GLSLslangDefaultOptions,
517
+ ...glslangOptions,
518
+ };
523
519
  if (glslangOptions.glslang) {
524
520
  return Promise.resolve(glslangOptions.glslang);
525
521
  }
@@ -743,7 +739,6 @@ export class WebGPUEngine extends Engine {
743
739
  WebGPUCacheBindGroups.ResetCache();
744
740
  // Clear the draw wrappers and material contexts
745
741
  const cleanScenes = (scenes) => {
746
- var _a;
747
742
  for (const scene of scenes) {
748
743
  for (const mesh of scene.meshes) {
749
744
  const subMeshes = mesh.subMeshes;
@@ -755,7 +750,7 @@ export class WebGPUEngine extends Engine {
755
750
  }
756
751
  }
757
752
  for (const material of scene.materials) {
758
- (_a = material._materialContext) === null || _a === void 0 ? void 0 : _a.reset();
753
+ material._materialContext?.reset();
759
754
  }
760
755
  }
761
756
  };
@@ -988,12 +983,11 @@ export class WebGPUEngine extends Engine {
988
983
  return update;
989
984
  }
990
985
  _applyStencilRef(bundleList) {
991
- var _a, _b;
992
986
  if (bundleList) {
993
- bundleList.addItem(new WebGPURenderItemStencilRef((_a = this._stencilStateComposer.funcRef) !== null && _a !== void 0 ? _a : 0));
987
+ bundleList.addItem(new WebGPURenderItemStencilRef(this._stencilStateComposer.funcRef ?? 0));
994
988
  }
995
989
  else {
996
- this._getCurrentRenderPass().setStencilReference((_b = this._stencilStateComposer.funcRef) !== null && _b !== void 0 ? _b : 0);
990
+ this._getCurrentRenderPass().setStencilReference(this._stencilStateComposer.funcRef ?? 0);
997
991
  }
998
992
  }
999
993
  _mustUpdateBlendColor() {
@@ -1072,11 +1066,10 @@ export class WebGPUEngine extends Engine {
1072
1066
  }
1073
1067
  }
1074
1068
  _clearFullQuad(clearColor, clearDepth, clearStencil) {
1075
- var _a, _b;
1076
1069
  const renderPass = !this.compatibilityMode ? null : this._getCurrentRenderPass();
1077
1070
  this._clearQuad.setColorFormat(this._colorFormat);
1078
1071
  this._clearQuad.setDepthStencilFormat(this._depthTextureFormat);
1079
- this._clearQuad.setMRTAttachments((_a = this._cacheRenderPipeline.mrtAttachments) !== null && _a !== void 0 ? _a : [], (_b = this._cacheRenderPipeline.mrtTextureArray) !== null && _b !== void 0 ? _b : [], this._cacheRenderPipeline.mrtTextureCount);
1072
+ this._clearQuad.setMRTAttachments(this._cacheRenderPipeline.mrtAttachments ?? [], this._cacheRenderPipeline.mrtTextureArray ?? [], this._cacheRenderPipeline.mrtTextureCount);
1080
1073
  if (!this.compatibilityMode) {
1081
1074
  this._bundleList.addItem(new WebGPURenderItemStencilRef(this._clearStencilValue));
1082
1075
  }
@@ -1269,7 +1262,7 @@ export class WebGPUEngine extends Engine {
1269
1262
  */
1270
1263
  bindBuffers(vertexBuffers, indexBuffer, effect, overrideVertexBuffers) {
1271
1264
  this._currentIndexBuffer = indexBuffer;
1272
- this._currentOverrideVertexBuffers = overrideVertexBuffers !== null && overrideVertexBuffers !== void 0 ? overrideVertexBuffers : null;
1265
+ this._currentOverrideVertexBuffers = overrideVertexBuffers ?? null;
1273
1266
  this._cacheRenderPipeline.setBuffers(vertexBuffers, indexBuffer, this._currentOverrideVertexBuffers);
1274
1267
  }
1275
1268
  /**
@@ -1373,11 +1366,10 @@ export class WebGPUEngine extends Engine {
1373
1366
  * @returns the new Effect
1374
1367
  */
1375
1368
  createEffect(baseName, attributesNamesOrOptions, uniformsNamesOrEngine, samplers, defines, fallbacks, onCompiled, onError, indexParameters, shaderLanguage = ShaderLanguage.GLSL) {
1376
- var _a;
1377
1369
  const vertex = baseName.vertexElement || baseName.vertex || baseName.vertexToken || baseName.vertexSource || baseName;
1378
1370
  const fragment = baseName.fragmentElement || baseName.fragment || baseName.fragmentToken || baseName.fragmentSource || baseName;
1379
1371
  const globalDefines = this._getGlobalDefines();
1380
- let fullDefines = (_a = defines !== null && defines !== void 0 ? defines : attributesNamesOrOptions.defines) !== null && _a !== void 0 ? _a : "";
1372
+ let fullDefines = defines ?? attributesNamesOrOptions.defines ?? "";
1381
1373
  if (globalDefines) {
1382
1374
  fullDefines += "\n" + globalDefines;
1383
1375
  }
@@ -1656,16 +1648,15 @@ export class WebGPUEngine extends Engine {
1656
1648
  * @returns a new internal texture
1657
1649
  */
1658
1650
  _createInternalTexture(size, options, delayGPUTextureCreation = true, source = InternalTextureSource.Unknown) {
1659
- var _a, _b, _c;
1660
1651
  const fullOptions = {};
1661
1652
  if (options !== undefined && typeof options === "object") {
1662
1653
  fullOptions.generateMipMaps = options.generateMipMaps;
1663
1654
  fullOptions.type = options.type === undefined ? 0 : options.type;
1664
1655
  fullOptions.samplingMode = options.samplingMode === undefined ? 3 : options.samplingMode;
1665
1656
  fullOptions.format = options.format === undefined ? 5 : options.format;
1666
- fullOptions.samples = (_a = options.samples) !== null && _a !== void 0 ? _a : 1;
1667
- fullOptions.creationFlags = (_b = options.creationFlags) !== null && _b !== void 0 ? _b : 0;
1668
- fullOptions.useSRGBBuffer = (_c = options.useSRGBBuffer) !== null && _c !== void 0 ? _c : false;
1657
+ fullOptions.samples = options.samples ?? 1;
1658
+ fullOptions.creationFlags = options.creationFlags ?? 0;
1659
+ fullOptions.useSRGBBuffer = options.useSRGBBuffer ?? false;
1669
1660
  fullOptions.label = options.label;
1670
1661
  }
1671
1662
  else {
@@ -1738,17 +1729,16 @@ export class WebGPUEngine extends Engine {
1738
1729
  */
1739
1730
  createTexture(url, noMipmap, invertY, scene, samplingMode = 3, onLoad = null, onError = null, buffer = null, fallback = null, format = null, forcedExtension = null, mimeType, loaderOptions, creationFlags, useSRGBBuffer) {
1740
1731
  return this._createTextureBase(url, noMipmap, invertY, scene, samplingMode, onLoad, onError, (texture, extension, scene, img, invertY, noMipmap, isCompressed, processFunction) => {
1741
- var _a;
1742
1732
  const imageBitmap = img; // we will never get an HTMLImageElement in WebGPU
1743
1733
  texture.baseWidth = imageBitmap.width;
1744
1734
  texture.baseHeight = imageBitmap.height;
1745
1735
  texture.width = imageBitmap.width;
1746
1736
  texture.height = imageBitmap.height;
1747
- texture.format = texture.format !== -1 ? texture.format : format !== null && format !== void 0 ? format : 5;
1737
+ texture.format = texture.format !== -1 ? texture.format : format ?? 5;
1748
1738
  texture.type = texture.type !== -1 ? texture.type : 0;
1749
- texture._creationFlags = creationFlags !== null && creationFlags !== void 0 ? creationFlags : 0;
1739
+ texture._creationFlags = creationFlags ?? 0;
1750
1740
  processFunction(texture.width, texture.height, imageBitmap, extension, texture, () => { });
1751
- if (!((_a = texture._hardwareTexture) === null || _a === void 0 ? void 0 : _a.underlyingResource)) {
1741
+ if (!texture._hardwareTexture?.underlyingResource) {
1752
1742
  // the texture could have been created before reaching this point so don't recreate it if already existing
1753
1743
  const gpuTextureWrapper = this._textureHelper.createGPUTextureForInternalTexture(texture, imageBitmap.width, imageBitmap.height, undefined, creationFlags);
1754
1744
  if (WebGPUTextureHelper.IsImageBitmap(imageBitmap)) {
@@ -1790,9 +1780,8 @@ export class WebGPUEngine extends Engine {
1790
1780
  throw new Error("wrapWebGLTexture is not supported, use wrapWebGPUTexture instead.");
1791
1781
  }
1792
1782
  generateMipMapsForCubemap(texture) {
1793
- var _a;
1794
1783
  if (texture.generateMipMaps) {
1795
- const gpuTexture = (_a = texture._hardwareTexture) === null || _a === void 0 ? void 0 : _a.underlyingResource;
1784
+ const gpuTexture = texture._hardwareTexture?.underlyingResource;
1796
1785
  if (!gpuTexture) {
1797
1786
  this._textureHelper.createGPUTextureForInternalTexture(texture);
1798
1787
  }
@@ -1853,7 +1842,7 @@ export class WebGPUEngine extends Engine {
1853
1842
  * @internal
1854
1843
  */
1855
1844
  _setInternalTexture(name, texture, baseName) {
1856
- baseName = baseName !== null && baseName !== void 0 ? baseName : name;
1845
+ baseName = baseName ?? name;
1857
1846
  if (this._currentEffect) {
1858
1847
  const webgpuPipelineContext = this._currentEffect._pipelineContext;
1859
1848
  const availableTexture = webgpuPipelineContext.shaderProcessingContext.availableTextures[baseName];
@@ -1893,7 +1882,7 @@ export class WebGPUEngine extends Engine {
1893
1882
  // Else, name is something like 'myTexture0' / 'myTexture1' / ... and baseName is 'myTexture'
1894
1883
  // baseName is used to look up the texture in the shaderProcessingContext.availableTextures map
1895
1884
  // name is used to look up the texture in the _currentMaterialContext.textures map
1896
- baseName = baseName !== null && baseName !== void 0 ? baseName : name;
1885
+ baseName = baseName ?? name;
1897
1886
  if (this._currentEffect) {
1898
1887
  if (!texture) {
1899
1888
  this._currentMaterialContext.setTexture(name, null);
@@ -1986,7 +1975,7 @@ export class WebGPUEngine extends Engine {
1986
1975
  * @internal
1987
1976
  */
1988
1977
  _generateMipmaps(texture, commandEncoder) {
1989
- commandEncoder = commandEncoder !== null && commandEncoder !== void 0 ? commandEncoder : this._renderEncoder;
1978
+ commandEncoder = commandEncoder ?? this._renderEncoder;
1990
1979
  const gpuHardwareTexture = texture._hardwareTexture;
1991
1980
  if (!gpuHardwareTexture) {
1992
1981
  return;
@@ -2034,9 +2023,8 @@ export class WebGPUEngine extends Engine {
2034
2023
  * @param generateMipMaps defines whether to generate mipmaps or not
2035
2024
  */
2036
2025
  updateTextureData(texture, imageData, xOffset, yOffset, width, height, faceIndex = 0, lod = 0, generateMipMaps = false) {
2037
- var _a;
2038
2026
  let gpuTextureWrapper = texture._hardwareTexture;
2039
- if (!((_a = texture._hardwareTexture) === null || _a === void 0 ? void 0 : _a.underlyingResource)) {
2027
+ if (!texture._hardwareTexture?.underlyingResource) {
2040
2028
  gpuTextureWrapper = this._textureHelper.createGPUTextureForInternalTexture(texture);
2041
2029
  }
2042
2030
  const data = new Uint8Array(imageData.buffer, imageData.byteOffset, imageData.byteLength);
@@ -2049,9 +2037,8 @@ export class WebGPUEngine extends Engine {
2049
2037
  * @internal
2050
2038
  */
2051
2039
  _uploadCompressedDataToTextureDirectly(texture, internalFormat, width, height, imageData, faceIndex = 0, lod = 0) {
2052
- var _a;
2053
2040
  let gpuTextureWrapper = texture._hardwareTexture;
2054
- if (!((_a = texture._hardwareTexture) === null || _a === void 0 ? void 0 : _a.underlyingResource)) {
2041
+ if (!texture._hardwareTexture?.underlyingResource) {
2055
2042
  texture.format = internalFormat;
2056
2043
  gpuTextureWrapper = this._textureHelper.createGPUTextureForInternalTexture(texture, width, height);
2057
2044
  }
@@ -2062,13 +2049,12 @@ export class WebGPUEngine extends Engine {
2062
2049
  * @internal
2063
2050
  */
2064
2051
  _uploadDataToTextureDirectly(texture, imageData, faceIndex = 0, lod = 0, babylonInternalFormat, useTextureWidthAndHeight = false) {
2065
- var _a;
2066
2052
  const lodMaxWidth = Math.round(Math.log(texture.width) * Math.LOG2E);
2067
2053
  const lodMaxHeight = Math.round(Math.log(texture.height) * Math.LOG2E);
2068
2054
  const width = useTextureWidthAndHeight ? texture.width : Math.pow(2, Math.max(lodMaxWidth - lod, 0));
2069
2055
  const height = useTextureWidthAndHeight ? texture.height : Math.pow(2, Math.max(lodMaxHeight - lod, 0));
2070
2056
  let gpuTextureWrapper = texture._hardwareTexture;
2071
- if (!((_a = texture._hardwareTexture) === null || _a === void 0 ? void 0 : _a.underlyingResource)) {
2057
+ if (!texture._hardwareTexture?.underlyingResource) {
2072
2058
  gpuTextureWrapper = this._textureHelper.createGPUTextureForInternalTexture(texture, width, height);
2073
2059
  }
2074
2060
  const data = new Uint8Array(imageData.buffer, imageData.byteOffset, imageData.byteLength);
@@ -2084,9 +2070,8 @@ export class WebGPUEngine extends Engine {
2084
2070
  * @internal
2085
2071
  */
2086
2072
  _uploadImageToTexture(texture, image, faceIndex = 0, lod = 0) {
2087
- var _a;
2088
2073
  let gpuTextureWrapper = texture._hardwareTexture;
2089
- if (!((_a = texture._hardwareTexture) === null || _a === void 0 ? void 0 : _a.underlyingResource)) {
2074
+ if (!texture._hardwareTexture?.underlyingResource) {
2090
2075
  gpuTextureWrapper = this._textureHelper.createGPUTextureForInternalTexture(texture);
2091
2076
  }
2092
2077
  if (image instanceof HTMLImageElement) {
@@ -2212,15 +2197,14 @@ export class WebGPUEngine extends Engine {
2212
2197
  // Render Pass
2213
2198
  //------------------------------------------------------------------------------
2214
2199
  _startRenderTargetRenderPass(renderTargetWrapper, setClearStates, clearColor, clearDepth, clearStencil) {
2215
- var _a, _b, _c, _d, _e, _f, _g, _h;
2216
2200
  this._endCurrentRenderPass();
2217
2201
  const rtWrapper = renderTargetWrapper;
2218
2202
  const depthStencilTexture = rtWrapper._depthStencilTexture;
2219
- const gpuDepthStencilWrapper = depthStencilTexture === null || depthStencilTexture === void 0 ? void 0 : depthStencilTexture._hardwareTexture;
2220
- const gpuDepthStencilTexture = gpuDepthStencilWrapper === null || gpuDepthStencilWrapper === void 0 ? void 0 : gpuDepthStencilWrapper.underlyingResource;
2221
- const gpuDepthStencilMSAATexture = gpuDepthStencilWrapper === null || gpuDepthStencilWrapper === void 0 ? void 0 : gpuDepthStencilWrapper.getMSAATexture();
2222
- const depthTextureView = gpuDepthStencilTexture === null || gpuDepthStencilTexture === void 0 ? void 0 : gpuDepthStencilTexture.createView(this._rttRenderPassWrapper.depthAttachmentViewDescriptor);
2223
- const depthMSAATextureView = gpuDepthStencilMSAATexture === null || gpuDepthStencilMSAATexture === void 0 ? void 0 : gpuDepthStencilMSAATexture.createView(this._rttRenderPassWrapper.depthAttachmentViewDescriptor);
2203
+ const gpuDepthStencilWrapper = depthStencilTexture?._hardwareTexture;
2204
+ const gpuDepthStencilTexture = gpuDepthStencilWrapper?.underlyingResource;
2205
+ const gpuDepthStencilMSAATexture = gpuDepthStencilWrapper?.getMSAATexture();
2206
+ const depthTextureView = gpuDepthStencilTexture?.createView(this._rttRenderPassWrapper.depthAttachmentViewDescriptor);
2207
+ const depthMSAATextureView = gpuDepthStencilMSAATexture?.createView(this._rttRenderPassWrapper.depthAttachmentViewDescriptor);
2224
2208
  const depthTextureHasStencil = gpuDepthStencilWrapper ? WebGPUTextureHelper.HasStencilAspect(gpuDepthStencilWrapper.format) : false;
2225
2209
  const colorAttachments = [];
2226
2210
  if (this.useReverseDepthBuffer) {
@@ -2244,17 +2228,25 @@ export class WebGPUEngine extends Engine {
2244
2228
  for (let i = 0; i < this._mrtAttachments.length; ++i) {
2245
2229
  const index = this._mrtAttachments[i]; // if index == 0 it means the texture should not be written to => at render pass creation time, it means we should not clear it
2246
2230
  const mrtTexture = rtWrapper.textures[i];
2247
- const gpuMRTWrapper = mrtTexture === null || mrtTexture === void 0 ? void 0 : mrtTexture._hardwareTexture;
2248
- const gpuMRTTexture = gpuMRTWrapper === null || gpuMRTWrapper === void 0 ? void 0 : gpuMRTWrapper.underlyingResource;
2231
+ const gpuMRTWrapper = mrtTexture?._hardwareTexture;
2232
+ const gpuMRTTexture = gpuMRTWrapper?.underlyingResource;
2249
2233
  if (gpuMRTWrapper && gpuMRTTexture) {
2250
2234
  const gpuMSAATexture = gpuMRTWrapper.getMSAATexture(i);
2251
- const layerIndex = (_b = (_a = rtWrapper.layerIndices) === null || _a === void 0 ? void 0 : _a[i]) !== null && _b !== void 0 ? _b : 0;
2252
- const faceIndex = (_d = (_c = rtWrapper.faceIndices) === null || _c === void 0 ? void 0 : _c[i]) !== null && _d !== void 0 ? _d : 0;
2253
- const viewDescriptor = Object.assign(Object.assign({}, this._rttRenderPassWrapper.colorAttachmentViewDescriptor), { format: gpuMRTWrapper.format, baseArrayLayer: mrtTexture.isCube ? layerIndex * 6 + faceIndex : layerIndex });
2254
- const msaaViewDescriptor = Object.assign(Object.assign({}, this._rttRenderPassWrapper.colorAttachmentViewDescriptor), { format: gpuMRTWrapper.format, baseArrayLayer: 0 });
2235
+ const layerIndex = rtWrapper.layerIndices?.[i] ?? 0;
2236
+ const faceIndex = rtWrapper.faceIndices?.[i] ?? 0;
2237
+ const viewDescriptor = {
2238
+ ...this._rttRenderPassWrapper.colorAttachmentViewDescriptor,
2239
+ format: gpuMRTWrapper.format,
2240
+ baseArrayLayer: mrtTexture.isCube ? layerIndex * 6 + faceIndex : layerIndex,
2241
+ };
2242
+ const msaaViewDescriptor = {
2243
+ ...this._rttRenderPassWrapper.colorAttachmentViewDescriptor,
2244
+ format: gpuMRTWrapper.format,
2245
+ baseArrayLayer: 0,
2246
+ };
2255
2247
  const isRTInteger = mrtTexture.type === 7 || mrtTexture.type === 5;
2256
2248
  const colorTextureView = gpuMRTTexture.createView(viewDescriptor);
2257
- const colorMSAATextureView = gpuMSAATexture === null || gpuMSAATexture === void 0 ? void 0 : gpuMSAATexture.createView(msaaViewDescriptor);
2249
+ const colorMSAATextureView = gpuMSAATexture?.createView(msaaViewDescriptor);
2258
2250
  colorAttachments.push({
2259
2251
  view: colorMSAATextureView ? colorMSAATextureView : colorTextureView,
2260
2252
  resolveTarget: gpuMSAATexture ? colorTextureView : undefined,
@@ -2275,7 +2267,7 @@ export class WebGPUEngine extends Engine {
2275
2267
  const gpuTexture = gpuWrapper.underlyingResource;
2276
2268
  const gpuMSAATexture = gpuWrapper.getMSAATexture();
2277
2269
  const colorTextureView = gpuTexture.createView(this._rttRenderPassWrapper.colorAttachmentViewDescriptor);
2278
- const colorMSAATextureView = gpuMSAATexture === null || gpuMSAATexture === void 0 ? void 0 : gpuMSAATexture.createView(this._rttRenderPassWrapper.colorAttachmentViewDescriptor);
2270
+ const colorMSAATextureView = gpuMSAATexture?.createView(this._rttRenderPassWrapper.colorAttachmentViewDescriptor);
2279
2271
  const isRTInteger = internalTexture.type === 7 || internalTexture.type === 5;
2280
2272
  colorAttachments.push({
2281
2273
  view: colorMSAATextureView ? colorMSAATextureView : colorTextureView,
@@ -2289,9 +2281,9 @@ export class WebGPUEngine extends Engine {
2289
2281
  colorAttachments.push(null);
2290
2282
  }
2291
2283
  }
2292
- (_e = this._debugPushGroup) === null || _e === void 0 ? void 0 : _e.call(this, "render target pass" + (renderTargetWrapper.label ? " (" + renderTargetWrapper.label + ")" : ""), 1);
2284
+ this._debugPushGroup?.("render target pass" + (renderTargetWrapper.label ? " (" + renderTargetWrapper.label + ")" : ""), 1);
2293
2285
  this._rttRenderPassWrapper.renderPassDescriptor = {
2294
- label: ((_f = renderTargetWrapper.label) !== null && _f !== void 0 ? _f : "RTT") + "RenderPass",
2286
+ label: (renderTargetWrapper.label ?? "RTT") + "RenderPass",
2295
2287
  colorAttachments,
2296
2288
  depthStencilAttachment: depthStencilTexture && gpuDepthStencilTexture
2297
2289
  ? {
@@ -2308,7 +2300,7 @@ export class WebGPUEngine extends Engine {
2308
2300
  stencilStoreOp: !depthTextureHasStencil ? undefined : WebGPUConstants.StoreOp.Store,
2309
2301
  }
2310
2302
  : undefined,
2311
- occlusionQuerySet: ((_g = this._occlusionQuery) === null || _g === void 0 ? void 0 : _g.hasQueries) ? this._occlusionQuery.querySet : undefined,
2303
+ occlusionQuerySet: this._occlusionQuery?.hasQueries ? this._occlusionQuery.querySet : undefined,
2312
2304
  };
2313
2305
  this._timestampQuery.startPass(this._rttRenderPassWrapper.renderPassDescriptor, this._timestampIndex);
2314
2306
  this._currentRenderPass = this._renderEncoder.beginRenderPass(this._rttRenderPassWrapper.renderPassDescriptor);
@@ -2336,14 +2328,13 @@ export class WebGPUEngine extends Engine {
2336
2328
  ]);
2337
2329
  }
2338
2330
  }
2339
- (_h = this._debugFlushPendingCommands) === null || _h === void 0 ? void 0 : _h.call(this);
2331
+ this._debugFlushPendingCommands?.();
2340
2332
  this._resetRenderPassStates();
2341
2333
  if (!gpuDepthStencilWrapper || !WebGPUTextureHelper.HasStencilAspect(gpuDepthStencilWrapper.format)) {
2342
2334
  this._stencilStateComposer.enabled = false;
2343
2335
  }
2344
2336
  }
2345
2337
  _startMainRenderPass(setClearStates, clearColor, clearDepth, clearStencil) {
2346
- var _a, _b, _c;
2347
2338
  this._endCurrentRenderPass();
2348
2339
  if (this.useReverseDepthBuffer) {
2349
2340
  this.setDepthFunctionToGreaterOrEqual();
@@ -2365,7 +2356,7 @@ export class WebGPUEngine extends Engine {
2365
2356
  : mustClearStencil
2366
2357
  ? WebGPUConstants.LoadOp.Clear
2367
2358
  : WebGPUConstants.LoadOp.Load;
2368
- this._mainRenderPassWrapper.renderPassDescriptor.occlusionQuerySet = ((_a = this._occlusionQuery) === null || _a === void 0 ? void 0 : _a.hasQueries) ? this._occlusionQuery.querySet : undefined;
2359
+ this._mainRenderPassWrapper.renderPassDescriptor.occlusionQuerySet = this._occlusionQuery?.hasQueries ? this._occlusionQuery.querySet : undefined;
2369
2360
  const swapChainTexture = this._context.getCurrentTexture();
2370
2361
  this._mainRenderPassWrapper.colorAttachmentGPUTextures[0].set(swapChainTexture);
2371
2362
  // Resolve in case of MSAA
@@ -2390,12 +2381,12 @@ export class WebGPUEngine extends Engine {
2390
2381
  ]);
2391
2382
  }
2392
2383
  }
2393
- (_b = this._debugPushGroup) === null || _b === void 0 ? void 0 : _b.call(this, "main pass", 0);
2384
+ this._debugPushGroup?.("main pass", 0);
2394
2385
  this._timestampQuery.startPass(this._mainRenderPassWrapper.renderPassDescriptor, this._timestampIndex);
2395
2386
  this._currentRenderPass = this._renderEncoder.beginRenderPass(this._mainRenderPassWrapper.renderPassDescriptor);
2396
2387
  this._setDepthTextureFormat(this._mainRenderPassWrapper);
2397
2388
  this._setColorFormat(this._mainRenderPassWrapper);
2398
- (_c = this._debugFlushPendingCommands) === null || _c === void 0 ? void 0 : _c.call(this);
2389
+ this._debugFlushPendingCommands?.();
2399
2390
  this._resetRenderPassStates();
2400
2391
  if (!this._isStencilEnable) {
2401
2392
  this._stencilStateComposer.enabled = false;
@@ -2403,7 +2394,6 @@ export class WebGPUEngine extends Engine {
2403
2394
  }
2404
2395
  /** @internal */
2405
2396
  _endCurrentRenderPass() {
2406
- var _a, _b, _c;
2407
2397
  if (!this._currentRenderPass) {
2408
2398
  return 0;
2409
2399
  }
@@ -2427,10 +2417,10 @@ export class WebGPUEngine extends Engine {
2427
2417
  " - " +
2428
2418
  (currentPassIndex === 2 ? "main" : "render target") +
2429
2419
  " end pass" +
2430
- (currentPassIndex === 1 ? " - internalTexture.uniqueId=" + ((_b = (_a = this._currentRenderTarget) === null || _a === void 0 ? void 0 : _a.texture) === null || _b === void 0 ? void 0 : _b.uniqueId) : ""));
2420
+ (currentPassIndex === 1 ? " - internalTexture.uniqueId=" + this._currentRenderTarget?.texture?.uniqueId : ""));
2431
2421
  }
2432
2422
  }
2433
- (_c = this._debugPopGroup) === null || _c === void 0 ? void 0 : _c.call(this, 0);
2423
+ this._debugPopGroup?.(0);
2434
2424
  this._currentRenderPass = null;
2435
2425
  return currentPassIndex;
2436
2426
  }
@@ -2445,8 +2435,7 @@ export class WebGPUEngine extends Engine {
2445
2435
  * @param layer defines the 2d array index to bind to frame buffer to
2446
2436
  */
2447
2437
  bindFramebuffer(texture, faceIndex = 0, requiredWidth, requiredHeight, forceFullscreenViewport, lodLevel = 0, layer = 0) {
2448
- var _a, _b;
2449
- const hardwareTexture = (_a = texture.texture) === null || _a === void 0 ? void 0 : _a._hardwareTexture;
2438
+ const hardwareTexture = texture.texture?._hardwareTexture;
2450
2439
  if (this._currentRenderTarget) {
2451
2440
  this.unBindFramebuffer(this._currentRenderTarget);
2452
2441
  }
@@ -2489,7 +2478,7 @@ export class WebGPUEngine extends Engine {
2489
2478
  " - bindFramebuffer - rtt name=" +
2490
2479
  texture.label +
2491
2480
  ", internalTexture.uniqueId=" +
2492
- ((_b = texture.texture) === null || _b === void 0 ? void 0 : _b.uniqueId) +
2481
+ texture.texture?.uniqueId +
2493
2482
  ", face=" +
2494
2483
  faceIndex +
2495
2484
  ", lodLevel=" +
@@ -2531,7 +2520,6 @@ export class WebGPUEngine extends Engine {
2531
2520
  * @param onBeforeUnbind defines a function which will be called before the effective unbind
2532
2521
  */
2533
2522
  unBindFramebuffer(texture, disableGenerateMipMaps = false, onBeforeUnbind) {
2534
- var _a, _b;
2535
2523
  const saveCRT = this._currentRenderTarget;
2536
2524
  this._currentRenderTarget = null; // to be iso with thinEngine, this._currentRenderTarget must be null when onBeforeUnbind is called
2537
2525
  if (onBeforeUnbind) {
@@ -2539,7 +2527,7 @@ export class WebGPUEngine extends Engine {
2539
2527
  }
2540
2528
  this._currentRenderTarget = saveCRT;
2541
2529
  this._endCurrentRenderPass();
2542
- if (((_a = texture.texture) === null || _a === void 0 ? void 0 : _a.generateMipMaps) && !disableGenerateMipMaps && !texture.isCube) {
2530
+ if (texture.texture?.generateMipMaps && !disableGenerateMipMaps && !texture.isCube) {
2543
2531
  this._generateMipmaps(texture.texture);
2544
2532
  }
2545
2533
  this._currentRenderTarget = null;
@@ -2548,7 +2536,7 @@ export class WebGPUEngine extends Engine {
2548
2536
  this._count = 0;
2549
2537
  }
2550
2538
  if (!this._count || this._count < this.dbgVerboseLogsNumFrames) {
2551
- Logger.Log("frame #" + this._count + " - unBindFramebuffer - rtt name=" + texture.label + ", internalTexture.uniqueId=", (_b = texture.texture) === null || _b === void 0 ? void 0 : _b.uniqueId);
2539
+ Logger.Log("frame #" + this._count + " - unBindFramebuffer - rtt name=" + texture.label + ", internalTexture.uniqueId=", texture.texture?.uniqueId);
2552
2540
  }
2553
2541
  }
2554
2542
  this._mrtAttachments = [];
@@ -2577,8 +2565,7 @@ export class WebGPUEngine extends Engine {
2577
2565
  * @internal
2578
2566
  */
2579
2567
  _setColorFormat(wrapper) {
2580
- var _a, _b;
2581
- const format = (_b = (_a = wrapper.colorAttachmentGPUTextures[0]) === null || _a === void 0 ? void 0 : _a.format) !== null && _b !== void 0 ? _b : null;
2568
+ const format = wrapper.colorAttachmentGPUTextures[0]?.format ?? null;
2582
2569
  this._cacheRenderPipeline.setColorFormat(format);
2583
2570
  if (this._colorFormat === format) {
2584
2571
  return;
@@ -2612,13 +2599,12 @@ export class WebGPUEngine extends Engine {
2612
2599
  * @param zOffsetUnits defines the value to apply to zOffsetUnits (0 by default)
2613
2600
  */
2614
2601
  setState(culling, zOffset = 0, force, reverseSide = false, cullBackFaces, stencil, zOffsetUnits = 0) {
2615
- var _a, _b;
2616
2602
  // Culling
2617
2603
  if (this._depthCullingState.cull !== culling || force) {
2618
2604
  this._depthCullingState.cull = culling;
2619
2605
  }
2620
2606
  // Cull face
2621
- const cullFace = ((_b = (_a = this.cullBackFaces) !== null && _a !== void 0 ? _a : cullBackFaces) !== null && _b !== void 0 ? _b : true) ? 1 : 2;
2607
+ const cullFace = this.cullBackFaces ?? cullBackFaces ?? true ? 1 : 2;
2622
2608
  if (this._depthCullingState.cullFace !== cullFace || force) {
2623
2609
  this._depthCullingState.cullFace = cullFace;
2624
2610
  }
@@ -2649,7 +2635,6 @@ export class WebGPUEngine extends Engine {
2649
2635
  }
2650
2636
  }
2651
2637
  _draw(drawType, fillMode, start, count, instancesCount) {
2652
- var _a;
2653
2638
  const renderPass = this._getCurrentRenderPass();
2654
2639
  const bundleList = this._bundleList;
2655
2640
  this.applyStates();
@@ -2688,9 +2673,9 @@ export class WebGPUEngine extends Engine {
2688
2673
  let bitVal = 1;
2689
2674
  for (let i = 0; i < webgpuPipelineContext.shaderProcessingContext.textureNames.length; ++i) {
2690
2675
  const textureName = webgpuPipelineContext.shaderProcessingContext.textureNames[i];
2691
- const texture = (_a = this._currentMaterialContext.textures[textureName]) === null || _a === void 0 ? void 0 : _a.texture;
2676
+ const texture = this._currentMaterialContext.textures[textureName]?.texture;
2692
2677
  const textureIsDepth = texture && texture.format >= 13 && texture.format <= 18;
2693
- if (((texture === null || texture === void 0 ? void 0 : texture.type) === 1 && !this._caps.textureFloatLinearFiltering) || textureIsDepth) {
2678
+ if ((texture?.type === 1 && !this._caps.textureFloatLinearFiltering) || textureIsDepth) {
2694
2679
  textureState |= bitVal;
2695
2680
  }
2696
2681
  bitVal = bitVal << 1;
@@ -2779,11 +2764,10 @@ export class WebGPUEngine extends Engine {
2779
2764
  * Dispose and release all associated resources
2780
2765
  */
2781
2766
  dispose() {
2782
- var _a, _b;
2783
2767
  this._isDisposed = true;
2784
2768
  this._timestampQuery.dispose();
2785
- (_a = this._mainTexture) === null || _a === void 0 ? void 0 : _a.destroy();
2786
- (_b = this._depthTexture) === null || _b === void 0 ? void 0 : _b.destroy();
2769
+ this._mainTexture?.destroy();
2770
+ this._depthTexture?.destroy();
2787
2771
  this._textureHelper.destroyDeferredTextures();
2788
2772
  this._bufferManager.destroyDeferredBuffers();
2789
2773
  this._device.destroy();
@@ -2798,11 +2782,10 @@ export class WebGPUEngine extends Engine {
2798
2782
  * @returns a number defining the current render width
2799
2783
  */
2800
2784
  getRenderWidth(useScreen = false) {
2801
- var _a, _b;
2802
2785
  if (!useScreen && this._currentRenderTarget) {
2803
2786
  return this._currentRenderTarget.width;
2804
2787
  }
2805
- return (_b = (_a = this._renderingCanvas) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 0;
2788
+ return this._renderingCanvas?.width ?? 0;
2806
2789
  }
2807
2790
  /**
2808
2791
  * Gets the current render height
@@ -2810,11 +2793,10 @@ export class WebGPUEngine extends Engine {
2810
2793
  * @returns a number defining the current render height
2811
2794
  */
2812
2795
  getRenderHeight(useScreen = false) {
2813
- var _a, _b;
2814
2796
  if (!useScreen && this._currentRenderTarget) {
2815
2797
  return this._currentRenderTarget.height;
2816
2798
  }
2817
- return (_b = (_a = this._renderingCanvas) === null || _a === void 0 ? void 0 : _a.height) !== null && _b !== void 0 ? _b : 0;
2799
+ return this._renderingCanvas?.height ?? 0;
2818
2800
  }
2819
2801
  //------------------------------------------------------------------------------
2820
2802
  // Errors