@babylonjs/core 5.27.0 → 5.28.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 (432) hide show
  1. package/Animations/animatable.js +2 -1
  2. package/Animations/animatable.js.map +1 -1
  3. package/Animations/runtimeAnimation.js +1 -1
  4. package/Animations/runtimeAnimation.js.map +1 -1
  5. package/Audio/audioSceneComponent.js +2 -1
  6. package/Audio/audioSceneComponent.js.map +1 -1
  7. package/Audio/sound.js +70 -45
  8. package/Audio/sound.js.map +1 -1
  9. package/Audio/soundTrack.js +12 -6
  10. package/Audio/soundTrack.js.map +1 -1
  11. package/BakedVertexAnimation/bakedVertexAnimationManager.js +2 -1
  12. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  13. package/Behaviors/Cameras/autoRotationBehavior.js +1 -1
  14. package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
  15. package/Behaviors/Meshes/followBehavior.js +2 -1
  16. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  17. package/Behaviors/Meshes/handConstraintBehavior.js +6 -6
  18. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  19. package/Bones/bone.js +2 -1
  20. package/Bones/bone.js.map +1 -1
  21. package/Bones/skeleton.js +3 -2
  22. package/Bones/skeleton.js.map +1 -1
  23. package/Cameras/Inputs/BaseCameraPointersInput.js +2 -2
  24. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  25. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +5 -3
  26. package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
  27. package/Cameras/Inputs/flyCameraMouseInput.js +2 -2
  28. package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
  29. package/Cameras/Inputs/freeCameraMouseInput.js +2 -2
  30. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  31. package/Cameras/arcRotateCamera.js +2 -1
  32. package/Cameras/arcRotateCamera.js.map +1 -1
  33. package/Cameras/camera.js +6 -4
  34. package/Cameras/camera.js.map +1 -1
  35. package/Compute/computeEffect.js +8 -5
  36. package/Compute/computeEffect.js.map +1 -1
  37. package/Compute/computeShader.js +12 -11
  38. package/Compute/computeShader.js.map +1 -1
  39. package/Culling/Octrees/octreeSceneComponent.js +2 -1
  40. package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
  41. package/Culling/boundingBox.js +3 -2
  42. package/Culling/boundingBox.js.map +1 -1
  43. package/Culling/ray.js +2 -1
  44. package/Culling/ray.js.map +1 -1
  45. package/Debug/directionalLightFrustumViewer.js +9 -7
  46. package/Debug/directionalLightFrustumViewer.js.map +1 -1
  47. package/Debug/rayHelper.js +2 -1
  48. package/Debug/rayHelper.js.map +1 -1
  49. package/Debug/skeletonViewer.js +29 -24
  50. package/Debug/skeletonViewer.js.map +1 -1
  51. package/DeviceInput/InputDevices/deviceSourceManager.js +5 -3
  52. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  53. package/DeviceInput/internalDeviceSourceManager.js +2 -1
  54. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  55. package/DeviceInput/webDeviceInputSystem.js +12 -9
  56. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  57. package/Engines/Extensions/engine.rawTexture.js +4 -4
  58. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  59. package/Engines/Extensions/engine.readTexture.js +3 -2
  60. package/Engines/Extensions/engine.readTexture.js.map +1 -1
  61. package/Engines/Extensions/engine.views.js +2 -1
  62. package/Engines/Extensions/engine.views.js.map +1 -1
  63. package/Engines/Processors/shaderProcessor.js +11 -6
  64. package/Engines/Processors/shaderProcessor.js.map +1 -1
  65. package/Engines/WebGPU/Extensions/engine.cubeTexture.js +1 -1
  66. package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
  67. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +2 -1
  68. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
  69. package/Engines/WebGPU/Extensions/engine.multiRender.js +2 -1
  70. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  71. package/Engines/WebGPU/Extensions/engine.query.js +4 -2
  72. package/Engines/WebGPU/Extensions/engine.query.js.map +1 -1
  73. package/Engines/WebGPU/Extensions/engine.rawTexture.js +4 -4
  74. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  75. package/Engines/WebGPU/Extensions/engine.renderTarget.js +2 -1
  76. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  77. package/Engines/WebGPU/Extensions/engine.storageBuffer.js +3 -2
  78. package/Engines/WebGPU/Extensions/engine.storageBuffer.js.map +1 -1
  79. package/Engines/WebGPU/Extensions/engine.textureSampler.js +2 -1
  80. package/Engines/WebGPU/Extensions/engine.textureSampler.js.map +1 -1
  81. package/Engines/WebGPU/Extensions/engine.videoTexture.js +2 -1
  82. package/Engines/WebGPU/Extensions/engine.videoTexture.js.map +1 -1
  83. package/Engines/WebGPU/webgpuCacheBindGroups.js +7 -6
  84. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  85. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +18 -14
  86. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  87. package/Engines/WebGPU/webgpuCacheSampler.js +4 -3
  88. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  89. package/Engines/WebGPU/webgpuClearQuad.js +3 -2
  90. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  91. package/Engines/WebGPU/webgpuComputePipelineContext.js +2 -1
  92. package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
  93. package/Engines/WebGPU/webgpuDepthCullingState.js +2 -2
  94. package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
  95. package/Engines/WebGPU/webgpuDrawContext.js +2 -1
  96. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  97. package/Engines/WebGPU/webgpuHardwareTexture.js +4 -3
  98. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  99. package/Engines/WebGPU/webgpuMaterialContext.js +5 -4
  100. package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
  101. package/Engines/WebGPU/webgpuOcclusionQuery.js +5 -3
  102. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  103. package/Engines/WebGPU/webgpuPipelineContext.js +4 -2
  104. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  105. package/Engines/WebGPU/webgpuShaderProcessingContext.js +4 -2
  106. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  107. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +2 -1
  108. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  109. package/Engines/WebGPU/webgpuSnapshotRendering.js +3 -2
  110. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  111. package/Engines/WebGPU/webgpuStencilStateComposer.js +2 -1
  112. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  113. package/Engines/WebGPU/webgpuTextureHelper.js +40 -38
  114. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  115. package/Engines/engine.d.ts +898 -273
  116. package/Engines/engine.js +5 -3
  117. package/Engines/engine.js.map +1 -1
  118. package/Engines/nativeEngine.js +7 -5
  119. package/Engines/nativeEngine.js.map +1 -1
  120. package/Engines/nullEngine.d.ts +7 -0
  121. package/Engines/nullEngine.js +42 -0
  122. package/Engines/nullEngine.js.map +1 -1
  123. package/Engines/renderTargetWrapper.js +14 -9
  124. package/Engines/renderTargetWrapper.js.map +1 -1
  125. package/Engines/thinEngine.js +25 -16
  126. package/Engines/thinEngine.js.map +1 -1
  127. package/Engines/webgpuEngine.js +87 -61
  128. package/Engines/webgpuEngine.js.map +1 -1
  129. package/Gamepads/gamepadManager.js +1 -1
  130. package/Gamepads/gamepadManager.js.map +1 -1
  131. package/Gizmos/axisDragGizmo.js +4 -2
  132. package/Gizmos/axisDragGizmo.js.map +1 -1
  133. package/Gizmos/axisScaleGizmo.js +6 -4
  134. package/Gizmos/axisScaleGizmo.js.map +1 -1
  135. package/Gizmos/gizmo.js +21 -6
  136. package/Gizmos/gizmo.js.map +1 -1
  137. package/Gizmos/gizmoManager.js +3 -2
  138. package/Gizmos/gizmoManager.js.map +1 -1
  139. package/Gizmos/planeDragGizmo.js +4 -2
  140. package/Gizmos/planeDragGizmo.js.map +1 -1
  141. package/Gizmos/planeRotationGizmo.js +4 -2
  142. package/Gizmos/planeRotationGizmo.js.map +1 -1
  143. package/Helpers/videoDome.js +2 -1
  144. package/Helpers/videoDome.js.map +1 -1
  145. package/Layers/effectLayer.js +5 -3
  146. package/Layers/effectLayer.js.map +1 -1
  147. package/Layers/glowLayer.js +4 -3
  148. package/Layers/glowLayer.js.map +1 -1
  149. package/Layers/highlightLayer.js +2 -1
  150. package/Layers/highlightLayer.js.map +1 -1
  151. package/LensFlares/lensFlareSystem.js +2 -1
  152. package/LensFlares/lensFlareSystem.js.map +1 -1
  153. package/Lights/Shadows/cascadedShadowGenerator.js +25 -21
  154. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  155. package/Lights/Shadows/shadowGenerator.js +13 -8
  156. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  157. package/Loading/Plugins/babylonFileLoader.js +2 -1
  158. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  159. package/Loading/sceneLoader.d.ts +1 -1
  160. package/Loading/sceneLoader.js +3 -3
  161. package/Loading/sceneLoader.js.map +1 -1
  162. package/Materials/Node/Blocks/Dual/imageSourceBlock.js +2 -1
  163. package/Materials/Node/Blocks/Dual/imageSourceBlock.js.map +1 -1
  164. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +2 -1
  165. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  166. package/Materials/Node/Blocks/Dual/textureBlock.js +10 -6
  167. package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
  168. package/Materials/Node/Blocks/Fragment/TBNBlock.js +3 -2
  169. package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
  170. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +2 -1
  171. package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
  172. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +2 -1
  173. package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
  174. package/Materials/Node/Blocks/Input/inputBlock.js +2 -1
  175. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  176. package/Materials/Node/Blocks/PBR/clearCoatBlock.js +26 -24
  177. package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
  178. package/Materials/Node/Blocks/PBR/iridescenceBlock.js +3 -3
  179. package/Materials/Node/Blocks/PBR/iridescenceBlock.js.map +1 -1
  180. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +48 -44
  181. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  182. package/Materials/Node/Blocks/PBR/reflectionBlock.js +2 -1
  183. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  184. package/Materials/Node/Blocks/PBR/refractionBlock.js +2 -1
  185. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  186. package/Materials/Node/Blocks/PBR/sheenBlock.js +13 -13
  187. package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
  188. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +27 -26
  189. package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
  190. package/Materials/Node/Blocks/Vertex/instancesBlock.js +2 -2
  191. package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
  192. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +6 -6
  193. package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
  194. package/Materials/Node/Blocks/cloudBlock.js +3 -2
  195. package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
  196. package/Materials/Node/Blocks/colorMergerBlock.js +5 -4
  197. package/Materials/Node/Blocks/colorMergerBlock.js.map +1 -1
  198. package/Materials/Node/Blocks/customBlock.js +4 -3
  199. package/Materials/Node/Blocks/customBlock.js.map +1 -1
  200. package/Materials/Node/Blocks/vectorMergerBlock.js +5 -4
  201. package/Materials/Node/Blocks/vectorMergerBlock.js.map +1 -1
  202. package/Materials/Node/nodeMaterial.js +7 -6
  203. package/Materials/Node/nodeMaterial.js.map +1 -1
  204. package/Materials/Node/nodeMaterialBlock.js +4 -3
  205. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  206. package/Materials/Node/nodeMaterialDecorator.js +1 -1
  207. package/Materials/Node/nodeMaterialDecorator.js.map +1 -1
  208. package/Materials/PBR/pbrBaseMaterial.js +25 -19
  209. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  210. package/Materials/PBR/pbrClearCoatConfiguration.js +9 -6
  211. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  212. package/Materials/PBR/pbrIridescenceConfiguration.js +7 -4
  213. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  214. package/Materials/PBR/pbrSheenConfiguration.js +7 -4
  215. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  216. package/Materials/Textures/Loaders/envTextureLoader.js +2 -2
  217. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  218. package/Materials/Textures/Packer/packer.js +14 -13
  219. package/Materials/Textures/Packer/packer.js.map +1 -1
  220. package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +2 -1
  221. package/Materials/Textures/Procedurals/customProceduralTexture.js.map +1 -1
  222. package/Materials/Textures/Procedurals/noiseProceduralTexture.js +2 -1
  223. package/Materials/Textures/Procedurals/noiseProceduralTexture.js.map +1 -1
  224. package/Materials/Textures/Procedurals/proceduralTexture.js +7 -4
  225. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  226. package/Materials/Textures/baseTexture.d.ts +5 -4
  227. package/Materials/Textures/baseTexture.js +1 -0
  228. package/Materials/Textures/baseTexture.js.map +1 -1
  229. package/Materials/Textures/cubeTexture.js +8 -4
  230. package/Materials/Textures/cubeTexture.js.map +1 -1
  231. package/Materials/Textures/hdrCubeTexture.js +4 -2
  232. package/Materials/Textures/hdrCubeTexture.js.map +1 -1
  233. package/Materials/Textures/internalTexture.js +4 -2
  234. package/Materials/Textures/internalTexture.js.map +1 -1
  235. package/Materials/Textures/mirrorTexture.js +6 -3
  236. package/Materials/Textures/mirrorTexture.js.map +1 -1
  237. package/Materials/Textures/multiRenderTarget.js +6 -4
  238. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  239. package/Materials/Textures/rawTexture.js +1 -1
  240. package/Materials/Textures/rawTexture.js.map +1 -1
  241. package/Materials/Textures/renderTargetTexture.js +26 -15
  242. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  243. package/Materials/Textures/texture.js +16 -13
  244. package/Materials/Textures/texture.js.map +1 -1
  245. package/Materials/Textures/thinRenderTargetTexture.js +4 -2
  246. package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
  247. package/Materials/Textures/thinTexture.d.ts +3 -3
  248. package/Materials/Textures/thinTexture.js.map +1 -1
  249. package/Materials/Textures/videoTexture.js +3 -3
  250. package/Materials/Textures/videoTexture.js.map +1 -1
  251. package/Materials/drawWrapper.js +4 -2
  252. package/Materials/drawWrapper.js.map +1 -1
  253. package/Materials/effect.js +15 -10
  254. package/Materials/effect.js.map +1 -1
  255. package/Materials/material.d.ts +14 -0
  256. package/Materials/material.detailMapConfiguration.js +2 -1
  257. package/Materials/material.detailMapConfiguration.js.map +1 -1
  258. package/Materials/material.js +35 -3
  259. package/Materials/material.js.map +1 -1
  260. package/Materials/materialDefines.js +6 -5
  261. package/Materials/materialDefines.js.map +1 -1
  262. package/Materials/materialHelper.js +1 -1
  263. package/Materials/materialHelper.js.map +1 -1
  264. package/Materials/materialPluginManager.js +3 -2
  265. package/Materials/materialPluginManager.js.map +1 -1
  266. package/Materials/multiMaterial.js +2 -1
  267. package/Materials/multiMaterial.js.map +1 -1
  268. package/Materials/shaderMaterial.js +12 -9
  269. package/Materials/shaderMaterial.js.map +1 -1
  270. package/Materials/shadowDepthWrapper.js +13 -8
  271. package/Materials/shadowDepthWrapper.js.map +1 -1
  272. package/Materials/standardMaterial.js +12 -10
  273. package/Materials/standardMaterial.js.map +1 -1
  274. package/Materials/uniformBuffer.js +1 -1
  275. package/Materials/uniformBuffer.js.map +1 -1
  276. package/Maths/math.vector.d.ts +7 -6
  277. package/Maths/math.vector.js +10 -8
  278. package/Maths/math.vector.js.map +1 -1
  279. package/Meshes/Builders/groundBuilder.js +1 -1
  280. package/Meshes/Builders/groundBuilder.js.map +1 -1
  281. package/Meshes/abstractMesh.js +8 -5
  282. package/Meshes/abstractMesh.js.map +1 -1
  283. package/Meshes/csg.js +2 -1
  284. package/Meshes/csg.js.map +1 -1
  285. package/Meshes/instancedMesh.js +2 -1
  286. package/Meshes/instancedMesh.js.map +1 -1
  287. package/Meshes/mesh.d.ts +1 -1
  288. package/Meshes/mesh.js +23 -13
  289. package/Meshes/mesh.js.map +1 -1
  290. package/Meshes/mesh.vertexData.js +4 -3
  291. package/Meshes/mesh.vertexData.js.map +1 -1
  292. package/Meshes/subMesh.js +14 -8
  293. package/Meshes/subMesh.js.map +1 -1
  294. package/Meshes/thinInstanceMesh.js +18 -12
  295. package/Meshes/thinInstanceMesh.js.map +1 -1
  296. package/Meshes/transformNode.d.ts +7 -1
  297. package/Meshes/transformNode.js +15 -4
  298. package/Meshes/transformNode.js.map +1 -1
  299. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +2 -1
  300. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
  301. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js +12 -8
  302. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
  303. package/Misc/PerformanceViewer/performanceViewerCollector.js +3 -2
  304. package/Misc/PerformanceViewer/performanceViewerCollector.js.map +1 -1
  305. package/Misc/arrayTools.js +1 -1
  306. package/Misc/arrayTools.js.map +1 -1
  307. package/Misc/assetsManager.d.ts +22 -4
  308. package/Misc/assetsManager.js +20 -8
  309. package/Misc/assetsManager.js.map +1 -1
  310. package/Misc/computePressure.js +9 -6
  311. package/Misc/computePressure.js.map +1 -1
  312. package/Misc/dataStorage.js +1 -1
  313. package/Misc/dataStorage.js.map +1 -1
  314. package/Misc/dds.js +1 -1
  315. package/Misc/dds.js.map +1 -1
  316. package/Misc/environmentTextureTools.js +3 -2
  317. package/Misc/environmentTextureTools.js.map +1 -1
  318. package/Misc/fileTools.js +31 -8
  319. package/Misc/fileTools.js.map +1 -1
  320. package/Misc/logger.js +2 -1
  321. package/Misc/logger.js.map +1 -1
  322. package/Misc/minMaxReducer.js +3 -2
  323. package/Misc/minMaxReducer.js.map +1 -1
  324. package/Misc/sceneRecorder.js +1 -1
  325. package/Misc/sceneRecorder.js.map +1 -1
  326. package/Misc/textureTools.js +3 -3
  327. package/Misc/textureTools.js.map +1 -1
  328. package/Misc/timer.js +5 -3
  329. package/Misc/timer.js.map +1 -1
  330. package/Misc/tools.js +4 -4
  331. package/Misc/tools.js.map +1 -1
  332. package/Misc/trajectoryClassifier.js +3 -3
  333. package/Misc/trajectoryClassifier.js.map +1 -1
  334. package/Particles/EmitterTypes/meshParticleEmitter.js +2 -1
  335. package/Particles/EmitterTypes/meshParticleEmitter.js.map +1 -1
  336. package/Particles/computeShaderParticleSystem.js +6 -3
  337. package/Particles/computeShaderParticleSystem.js.map +1 -1
  338. package/Particles/gpuParticleSystem.js +13 -8
  339. package/Particles/gpuParticleSystem.js.map +1 -1
  340. package/Particles/particleSystem.js +22 -14
  341. package/Particles/particleSystem.js.map +1 -1
  342. package/Particles/particleSystemComponent.js +2 -1
  343. package/Particles/particleSystemComponent.js.map +1 -1
  344. package/Particles/pointsCloudSystem.js +7 -4
  345. package/Particles/pointsCloudSystem.js.map +1 -1
  346. package/Particles/solidParticleSystem.js +2 -2
  347. package/Particles/solidParticleSystem.js.map +1 -1
  348. package/Particles/webgl2ParticleSystem.js +2 -1
  349. package/Particles/webgl2ParticleSystem.js.map +1 -1
  350. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +5 -4
  351. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  352. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +4 -2
  353. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  354. package/PostProcesses/colorCorrectionPostProcess.js +1 -1
  355. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  356. package/PostProcesses/postProcess.js +8 -5
  357. package/PostProcesses/postProcess.js.map +1 -1
  358. package/PostProcesses/postProcessManager.js +6 -4
  359. package/PostProcesses/postProcessManager.js.map +1 -1
  360. package/PostProcesses/screenSpaceReflectionPostProcess.js +1 -1
  361. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  362. package/PostProcesses/volumetricLightScatteringPostProcess.js +7 -4
  363. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  364. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +1 -1
  365. package/PostProcesses/vrMultiviewToSingleviewPostProcess.js.map +1 -1
  366. package/Probes/reflectionProbe.js +4 -2
  367. package/Probes/reflectionProbe.js.map +1 -1
  368. package/Rendering/boundingBoxRenderer.js +3 -2
  369. package/Rendering/boundingBoxRenderer.js.map +1 -1
  370. package/Rendering/depthPeelingRenderer.d.ts +12 -0
  371. package/Rendering/depthPeelingRenderer.js +30 -6
  372. package/Rendering/depthPeelingRenderer.js.map +1 -1
  373. package/Rendering/depthPeelingSceneComponent.js +4 -2
  374. package/Rendering/depthPeelingSceneComponent.js.map +1 -1
  375. package/Rendering/depthRenderer.js +10 -6
  376. package/Rendering/depthRenderer.js.map +1 -1
  377. package/Rendering/edgesRenderer.js +11 -8
  378. package/Rendering/edgesRenderer.js.map +1 -1
  379. package/Rendering/outlineRenderer.js +2 -2
  380. package/Rendering/outlineRenderer.js.map +1 -1
  381. package/Rendering/prePassRenderer.js +4 -2
  382. package/Rendering/prePassRenderer.js.map +1 -1
  383. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +3 -3
  384. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  385. package/Shaders/pbr.fragment.js +4 -1
  386. package/Shaders/pbr.fragment.js.map +1 -1
  387. package/Sprites/spriteManager.js +2 -1
  388. package/Sprites/spriteManager.js.map +1 -1
  389. package/Sprites/spriteRenderer.js +2 -1
  390. package/Sprites/spriteRenderer.js.map +1 -1
  391. package/States/stencilStateComposer.js +4 -2
  392. package/States/stencilStateComposer.js.map +1 -1
  393. package/XR/features/WebXRAnchorSystem.js +2 -1
  394. package/XR/features/WebXRAnchorSystem.js.map +1 -1
  395. package/XR/features/WebXRControllerMovement.js +7 -6
  396. package/XR/features/WebXRControllerMovement.js.map +1 -1
  397. package/XR/features/WebXRControllerPhysics.js +6 -4
  398. package/XR/features/WebXRControllerPhysics.js.map +1 -1
  399. package/XR/features/WebXRControllerPointerSelection.js +2 -1
  400. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  401. package/XR/features/WebXRHandTracking.d.ts +3 -3
  402. package/XR/features/WebXRHandTracking.js +126 -118
  403. package/XR/features/WebXRHandTracking.js.map +1 -1
  404. package/XR/features/WebXRHitTest.js.map +1 -1
  405. package/XR/features/WebXRLayers.js +1 -1
  406. package/XR/features/WebXRLayers.js.map +1 -1
  407. package/XR/features/WebXRLightEstimation.js +7 -4
  408. package/XR/features/WebXRLightEstimation.js.map +1 -1
  409. package/XR/features/WebXRMeshDetector.js +2 -1
  410. package/XR/features/WebXRMeshDetector.js.map +1 -1
  411. package/XR/features/WebXRNearInteraction.js +7 -4
  412. package/XR/features/WebXRNearInteraction.js.map +1 -1
  413. package/XR/features/WebXRPlaneDetector.js +2 -1
  414. package/XR/features/WebXRPlaneDetector.js.map +1 -1
  415. package/XR/native/nativeXRFrame.js +2 -1
  416. package/XR/native/nativeXRFrame.js.map +1 -1
  417. package/XR/webXRCamera.js +2 -1
  418. package/XR/webXRCamera.js.map +1 -1
  419. package/XR/webXRExperienceHelper.js +7 -5
  420. package/XR/webXRExperienceHelper.js.map +1 -1
  421. package/XR/webXRInput.js.map +1 -1
  422. package/XR/webXRInputSource.js +2 -1
  423. package/XR/webXRInputSource.js.map +1 -1
  424. package/XR/webXRManagedOutputCanvas.js +0 -1
  425. package/XR/webXRManagedOutputCanvas.js.map +1 -1
  426. package/XR/webXRSessionManager.js +27 -14
  427. package/XR/webXRSessionManager.js.map +1 -1
  428. package/XR/webXRWebGLLayer.js +3 -0
  429. package/XR/webXRWebGLLayer.js.map +1 -1
  430. package/package.json +1 -1
  431. package/scene.js +17 -11
  432. package/scene.js.map +1 -1
@@ -46,116 +46,116 @@ export var HandPart;
46
46
  * Joints of the hand as defined by the WebXR specification.
47
47
  * https://immersive-web.github.io/webxr-hand-input/#skeleton-joints-section
48
48
  */
49
- export var XRHandJoint;
50
- (function (XRHandJoint) {
49
+ export var WebXRHandJoint;
50
+ (function (WebXRHandJoint) {
51
51
  /** Wrist */
52
- XRHandJoint["WRIST"] = "wrist";
52
+ WebXRHandJoint["WRIST"] = "wrist";
53
53
  /** Thumb near wrist */
54
- XRHandJoint["THUMB_METACARPAL"] = "thumb-metacarpal";
54
+ WebXRHandJoint["THUMB_METACARPAL"] = "thumb-metacarpal";
55
55
  /** Thumb first knuckle */
56
- XRHandJoint["THUMB_PHALANX_PROXIMAL"] = "thumb-phalanx-proximal";
56
+ WebXRHandJoint["THUMB_PHALANX_PROXIMAL"] = "thumb-phalanx-proximal";
57
57
  /** Thumb second knuckle */
58
- XRHandJoint["THUMB_PHALANX_DISTAL"] = "thumb-phalanx-distal";
58
+ WebXRHandJoint["THUMB_PHALANX_DISTAL"] = "thumb-phalanx-distal";
59
59
  /** Thumb tip */
60
- XRHandJoint["THUMB_TIP"] = "thumb-tip";
60
+ WebXRHandJoint["THUMB_TIP"] = "thumb-tip";
61
61
  /** Index finger near wrist */
62
- XRHandJoint["INDEX_FINGER_METACARPAL"] = "index-finger-metacarpal";
62
+ WebXRHandJoint["INDEX_FINGER_METACARPAL"] = "index-finger-metacarpal";
63
63
  /** Index finger first knuckle */
64
- XRHandJoint["INDEX_FINGER_PHALANX_PROXIMAL"] = "index-finger-phalanx-proximal";
64
+ WebXRHandJoint["INDEX_FINGER_PHALANX_PROXIMAL"] = "index-finger-phalanx-proximal";
65
65
  /** Index finger second knuckle */
66
- XRHandJoint["INDEX_FINGER_PHALANX_INTERMEDIATE"] = "index-finger-phalanx-intermediate";
66
+ WebXRHandJoint["INDEX_FINGER_PHALANX_INTERMEDIATE"] = "index-finger-phalanx-intermediate";
67
67
  /** Index finger third knuckle */
68
- XRHandJoint["INDEX_FINGER_PHALANX_DISTAL"] = "index-finger-phalanx-distal";
68
+ WebXRHandJoint["INDEX_FINGER_PHALANX_DISTAL"] = "index-finger-phalanx-distal";
69
69
  /** Index finger tip */
70
- XRHandJoint["INDEX_FINGER_TIP"] = "index-finger-tip";
70
+ WebXRHandJoint["INDEX_FINGER_TIP"] = "index-finger-tip";
71
71
  /** Middle finger near wrist */
72
- XRHandJoint["MIDDLE_FINGER_METACARPAL"] = "middle-finger-metacarpal";
72
+ WebXRHandJoint["MIDDLE_FINGER_METACARPAL"] = "middle-finger-metacarpal";
73
73
  /** Middle finger first knuckle */
74
- XRHandJoint["MIDDLE_FINGER_PHALANX_PROXIMAL"] = "middle-finger-phalanx-proximal";
74
+ WebXRHandJoint["MIDDLE_FINGER_PHALANX_PROXIMAL"] = "middle-finger-phalanx-proximal";
75
75
  /** Middle finger second knuckle */
76
- XRHandJoint["MIDDLE_FINGER_PHALANX_INTERMEDIATE"] = "middle-finger-phalanx-intermediate";
76
+ WebXRHandJoint["MIDDLE_FINGER_PHALANX_INTERMEDIATE"] = "middle-finger-phalanx-intermediate";
77
77
  /** Middle finger third knuckle */
78
- XRHandJoint["MIDDLE_FINGER_PHALANX_DISTAL"] = "middle-finger-phalanx-distal";
78
+ WebXRHandJoint["MIDDLE_FINGER_PHALANX_DISTAL"] = "middle-finger-phalanx-distal";
79
79
  /** Middle finger tip */
80
- XRHandJoint["MIDDLE_FINGER_TIP"] = "middle-finger-tip";
80
+ WebXRHandJoint["MIDDLE_FINGER_TIP"] = "middle-finger-tip";
81
81
  /** Ring finger near wrist */
82
- XRHandJoint["RING_FINGER_METACARPAL"] = "ring-finger-metacarpal";
82
+ WebXRHandJoint["RING_FINGER_METACARPAL"] = "ring-finger-metacarpal";
83
83
  /** Ring finger first knuckle */
84
- XRHandJoint["RING_FINGER_PHALANX_PROXIMAL"] = "ring-finger-phalanx-proximal";
84
+ WebXRHandJoint["RING_FINGER_PHALANX_PROXIMAL"] = "ring-finger-phalanx-proximal";
85
85
  /** Ring finger second knuckle */
86
- XRHandJoint["RING_FINGER_PHALANX_INTERMEDIATE"] = "ring-finger-phalanx-intermediate";
86
+ WebXRHandJoint["RING_FINGER_PHALANX_INTERMEDIATE"] = "ring-finger-phalanx-intermediate";
87
87
  /** Ring finger third knuckle */
88
- XRHandJoint["RING_FINGER_PHALANX_DISTAL"] = "ring-finger-phalanx-distal";
88
+ WebXRHandJoint["RING_FINGER_PHALANX_DISTAL"] = "ring-finger-phalanx-distal";
89
89
  /** Ring finger tip */
90
- XRHandJoint["RING_FINGER_TIP"] = "ring-finger-tip";
90
+ WebXRHandJoint["RING_FINGER_TIP"] = "ring-finger-tip";
91
91
  /** Pinky finger near wrist */
92
- XRHandJoint["PINKY_FINGER_METACARPAL"] = "pinky-finger-metacarpal";
92
+ WebXRHandJoint["PINKY_FINGER_METACARPAL"] = "pinky-finger-metacarpal";
93
93
  /** Pinky finger first knuckle */
94
- XRHandJoint["PINKY_FINGER_PHALANX_PROXIMAL"] = "pinky-finger-phalanx-proximal";
94
+ WebXRHandJoint["PINKY_FINGER_PHALANX_PROXIMAL"] = "pinky-finger-phalanx-proximal";
95
95
  /** Pinky finger second knuckle */
96
- XRHandJoint["PINKY_FINGER_PHALANX_INTERMEDIATE"] = "pinky-finger-phalanx-intermediate";
96
+ WebXRHandJoint["PINKY_FINGER_PHALANX_INTERMEDIATE"] = "pinky-finger-phalanx-intermediate";
97
97
  /** Pinky finger third knuckle */
98
- XRHandJoint["PINKY_FINGER_PHALANX_DISTAL"] = "pinky-finger-phalanx-distal";
98
+ WebXRHandJoint["PINKY_FINGER_PHALANX_DISTAL"] = "pinky-finger-phalanx-distal";
99
99
  /** Pinky finger tip */
100
- XRHandJoint["PINKY_FINGER_TIP"] = "pinky-finger-tip";
101
- })(XRHandJoint || (XRHandJoint = {}));
100
+ WebXRHandJoint["PINKY_FINGER_TIP"] = "pinky-finger-tip";
101
+ })(WebXRHandJoint || (WebXRHandJoint = {}));
102
102
  const handJointReferenceArray = [
103
- XRHandJoint.WRIST,
104
- XRHandJoint.THUMB_METACARPAL,
105
- XRHandJoint.THUMB_PHALANX_PROXIMAL,
106
- XRHandJoint.THUMB_PHALANX_DISTAL,
107
- XRHandJoint.THUMB_TIP,
108
- XRHandJoint.INDEX_FINGER_METACARPAL,
109
- XRHandJoint.INDEX_FINGER_PHALANX_PROXIMAL,
110
- XRHandJoint.INDEX_FINGER_PHALANX_INTERMEDIATE,
111
- XRHandJoint.INDEX_FINGER_PHALANX_DISTAL,
112
- XRHandJoint.INDEX_FINGER_TIP,
113
- XRHandJoint.MIDDLE_FINGER_METACARPAL,
114
- XRHandJoint.MIDDLE_FINGER_PHALANX_PROXIMAL,
115
- XRHandJoint.MIDDLE_FINGER_PHALANX_INTERMEDIATE,
116
- XRHandJoint.MIDDLE_FINGER_PHALANX_DISTAL,
117
- XRHandJoint.MIDDLE_FINGER_TIP,
118
- XRHandJoint.RING_FINGER_METACARPAL,
119
- XRHandJoint.RING_FINGER_PHALANX_PROXIMAL,
120
- XRHandJoint.RING_FINGER_PHALANX_INTERMEDIATE,
121
- XRHandJoint.RING_FINGER_PHALANX_DISTAL,
122
- XRHandJoint.RING_FINGER_TIP,
123
- XRHandJoint.PINKY_FINGER_METACARPAL,
124
- XRHandJoint.PINKY_FINGER_PHALANX_PROXIMAL,
125
- XRHandJoint.PINKY_FINGER_PHALANX_INTERMEDIATE,
126
- XRHandJoint.PINKY_FINGER_PHALANX_DISTAL,
127
- XRHandJoint.PINKY_FINGER_TIP,
103
+ WebXRHandJoint.WRIST,
104
+ WebXRHandJoint.THUMB_METACARPAL,
105
+ WebXRHandJoint.THUMB_PHALANX_PROXIMAL,
106
+ WebXRHandJoint.THUMB_PHALANX_DISTAL,
107
+ WebXRHandJoint.THUMB_TIP,
108
+ WebXRHandJoint.INDEX_FINGER_METACARPAL,
109
+ WebXRHandJoint.INDEX_FINGER_PHALANX_PROXIMAL,
110
+ WebXRHandJoint.INDEX_FINGER_PHALANX_INTERMEDIATE,
111
+ WebXRHandJoint.INDEX_FINGER_PHALANX_DISTAL,
112
+ WebXRHandJoint.INDEX_FINGER_TIP,
113
+ WebXRHandJoint.MIDDLE_FINGER_METACARPAL,
114
+ WebXRHandJoint.MIDDLE_FINGER_PHALANX_PROXIMAL,
115
+ WebXRHandJoint.MIDDLE_FINGER_PHALANX_INTERMEDIATE,
116
+ WebXRHandJoint.MIDDLE_FINGER_PHALANX_DISTAL,
117
+ WebXRHandJoint.MIDDLE_FINGER_TIP,
118
+ WebXRHandJoint.RING_FINGER_METACARPAL,
119
+ WebXRHandJoint.RING_FINGER_PHALANX_PROXIMAL,
120
+ WebXRHandJoint.RING_FINGER_PHALANX_INTERMEDIATE,
121
+ WebXRHandJoint.RING_FINGER_PHALANX_DISTAL,
122
+ WebXRHandJoint.RING_FINGER_TIP,
123
+ WebXRHandJoint.PINKY_FINGER_METACARPAL,
124
+ WebXRHandJoint.PINKY_FINGER_PHALANX_PROXIMAL,
125
+ WebXRHandJoint.PINKY_FINGER_PHALANX_INTERMEDIATE,
126
+ WebXRHandJoint.PINKY_FINGER_PHALANX_DISTAL,
127
+ WebXRHandJoint.PINKY_FINGER_TIP,
128
128
  ];
129
129
  const handPartsDefinition = {
130
- [HandPart.WRIST]: [XRHandJoint.WRIST],
131
- [HandPart.THUMB]: [XRHandJoint.THUMB_METACARPAL, XRHandJoint.THUMB_PHALANX_PROXIMAL, XRHandJoint.THUMB_PHALANX_DISTAL, XRHandJoint.THUMB_TIP],
130
+ [HandPart.WRIST]: [WebXRHandJoint.WRIST],
131
+ [HandPart.THUMB]: [WebXRHandJoint.THUMB_METACARPAL, WebXRHandJoint.THUMB_PHALANX_PROXIMAL, WebXRHandJoint.THUMB_PHALANX_DISTAL, WebXRHandJoint.THUMB_TIP],
132
132
  [HandPart.INDEX]: [
133
- XRHandJoint.INDEX_FINGER_METACARPAL,
134
- XRHandJoint.INDEX_FINGER_PHALANX_PROXIMAL,
135
- XRHandJoint.INDEX_FINGER_PHALANX_INTERMEDIATE,
136
- XRHandJoint.INDEX_FINGER_PHALANX_DISTAL,
137
- XRHandJoint.INDEX_FINGER_TIP,
133
+ WebXRHandJoint.INDEX_FINGER_METACARPAL,
134
+ WebXRHandJoint.INDEX_FINGER_PHALANX_PROXIMAL,
135
+ WebXRHandJoint.INDEX_FINGER_PHALANX_INTERMEDIATE,
136
+ WebXRHandJoint.INDEX_FINGER_PHALANX_DISTAL,
137
+ WebXRHandJoint.INDEX_FINGER_TIP,
138
138
  ],
139
139
  [HandPart.MIDDLE]: [
140
- XRHandJoint.MIDDLE_FINGER_METACARPAL,
141
- XRHandJoint.MIDDLE_FINGER_PHALANX_PROXIMAL,
142
- XRHandJoint.MIDDLE_FINGER_PHALANX_INTERMEDIATE,
143
- XRHandJoint.MIDDLE_FINGER_PHALANX_DISTAL,
144
- XRHandJoint.MIDDLE_FINGER_TIP,
140
+ WebXRHandJoint.MIDDLE_FINGER_METACARPAL,
141
+ WebXRHandJoint.MIDDLE_FINGER_PHALANX_PROXIMAL,
142
+ WebXRHandJoint.MIDDLE_FINGER_PHALANX_INTERMEDIATE,
143
+ WebXRHandJoint.MIDDLE_FINGER_PHALANX_DISTAL,
144
+ WebXRHandJoint.MIDDLE_FINGER_TIP,
145
145
  ],
146
146
  [HandPart.RING]: [
147
- XRHandJoint.RING_FINGER_METACARPAL,
148
- XRHandJoint.RING_FINGER_PHALANX_PROXIMAL,
149
- XRHandJoint.RING_FINGER_PHALANX_INTERMEDIATE,
150
- XRHandJoint.RING_FINGER_PHALANX_DISTAL,
151
- XRHandJoint.RING_FINGER_TIP,
147
+ WebXRHandJoint.RING_FINGER_METACARPAL,
148
+ WebXRHandJoint.RING_FINGER_PHALANX_PROXIMAL,
149
+ WebXRHandJoint.RING_FINGER_PHALANX_INTERMEDIATE,
150
+ WebXRHandJoint.RING_FINGER_PHALANX_DISTAL,
151
+ WebXRHandJoint.RING_FINGER_TIP,
152
152
  ],
153
153
  [HandPart.LITTLE]: [
154
- XRHandJoint.PINKY_FINGER_METACARPAL,
155
- XRHandJoint.PINKY_FINGER_PHALANX_PROXIMAL,
156
- XRHandJoint.PINKY_FINGER_PHALANX_INTERMEDIATE,
157
- XRHandJoint.PINKY_FINGER_PHALANX_DISTAL,
158
- XRHandJoint.PINKY_FINGER_TIP,
154
+ WebXRHandJoint.PINKY_FINGER_METACARPAL,
155
+ WebXRHandJoint.PINKY_FINGER_PHALANX_PROXIMAL,
156
+ WebXRHandJoint.PINKY_FINGER_PHALANX_INTERMEDIATE,
157
+ WebXRHandJoint.PINKY_FINGER_PHALANX_DISTAL,
158
+ WebXRHandJoint.PINKY_FINGER_TIP,
159
159
  ],
160
160
  };
161
161
  /**
@@ -377,11 +377,12 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
377
377
  */
378
378
  this.onHandRemovedObservable = new Observable();
379
379
  this._attachHand = (xrController) => {
380
+ var _a, _b, _c;
380
381
  if (!xrController.inputSource.hand || xrController.inputSource.handedness == "none" || !this._handResources.jointMeshes) {
381
382
  return;
382
383
  }
383
384
  const handedness = xrController.inputSource.handedness;
384
- const webxrHand = new WebXRHand(xrController, this._handResources.jointMeshes[handedness], this._handResources.handMeshes && this._handResources.handMeshes[handedness], this._handResources.rigMappings && this._handResources.rigMappings[handedness], this.options.handMeshes?.meshesUseLeftHandedCoordinates, this.options.jointMeshes?.invisible, this.options.jointMeshes?.scaleFactor);
385
+ const webxrHand = new WebXRHand(xrController, this._handResources.jointMeshes[handedness], this._handResources.handMeshes && this._handResources.handMeshes[handedness], this._handResources.rigMappings && this._handResources.rigMappings[handedness], (_a = this.options.handMeshes) === null || _a === void 0 ? void 0 : _a.meshesUseLeftHandedCoordinates, (_b = this.options.jointMeshes) === null || _b === void 0 ? void 0 : _b.invisible, (_c = this.options.jointMeshes) === null || _c === void 0 ? void 0 : _c.scaleFactor);
385
386
  this._attachedHands[xrController.uniqueId] = webxrHand;
386
387
  this._trackingHands[handedness] = webxrHand;
387
388
  this.onHandAddedObservable.notifyObservers(webxrHand);
@@ -430,12 +431,13 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
430
431
  static _GenerateTrackedJointMeshes(featureOptions) {
431
432
  const meshes = {};
432
433
  ["left", "right"].map((handedness) => {
434
+ var _a, _b, _c, _d, _e;
433
435
  const trackedMeshes = [];
434
- const originalMesh = featureOptions.jointMeshes?.sourceMesh || CreateIcoSphere("jointParent", WebXRHandTracking._ICOSPHERE_PARAMS);
435
- originalMesh.isVisible = !!featureOptions.jointMeshes?.keepOriginalVisible;
436
+ const originalMesh = ((_a = featureOptions.jointMeshes) === null || _a === void 0 ? void 0 : _a.sourceMesh) || CreateIcoSphere("jointParent", WebXRHandTracking._ICOSPHERE_PARAMS);
437
+ originalMesh.isVisible = !!((_b = featureOptions.jointMeshes) === null || _b === void 0 ? void 0 : _b.keepOriginalVisible);
436
438
  for (let i = 0; i < handJointReferenceArray.length; ++i) {
437
439
  let newInstance = originalMesh.createInstance(`${handedness}-handJoint-${i}`);
438
- if (featureOptions.jointMeshes?.onHandJointMeshGenerated) {
440
+ if ((_c = featureOptions.jointMeshes) === null || _c === void 0 ? void 0 : _c.onHandJointMeshGenerated) {
439
441
  const returnedMesh = featureOptions.jointMeshes.onHandJointMeshGenerated(newInstance, i, handedness);
440
442
  if (returnedMesh) {
441
443
  if (returnedMesh !== newInstance) {
@@ -445,8 +447,8 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
445
447
  }
446
448
  }
447
449
  newInstance.isPickable = false;
448
- if (featureOptions.jointMeshes?.enablePhysics) {
449
- const props = featureOptions.jointMeshes?.physicsProps || {};
450
+ if ((_d = featureOptions.jointMeshes) === null || _d === void 0 ? void 0 : _d.enablePhysics) {
451
+ const props = ((_e = featureOptions.jointMeshes) === null || _e === void 0 ? void 0 : _e.physicsProps) || {};
450
452
  // downscale the instances so that physics will be initialized correctly
451
453
  newInstance.scaling.setAll(0.02);
452
454
  const type = props.impostorType !== undefined ? props.impostorType : PhysicsImpostor.SphereImpostor;
@@ -463,12 +465,13 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
463
465
  static _GenerateDefaultHandMeshesAsync(scene, options) {
464
466
  // eslint-disable-next-line no-async-promise-executor
465
467
  return new Promise(async (resolve) => {
468
+ var _a, _b, _c, _d, _e;
466
469
  const riggedMeshes = {};
467
470
  // check the cache, defensive
468
- if (WebXRHandTracking._RightHandGLB?.meshes[1]?.isDisposed()) {
471
+ if ((_b = (_a = WebXRHandTracking._RightHandGLB) === null || _a === void 0 ? void 0 : _a.meshes[1]) === null || _b === void 0 ? void 0 : _b.isDisposed()) {
469
472
  WebXRHandTracking._RightHandGLB = null;
470
473
  }
471
- if (WebXRHandTracking._LeftHandGLB?.meshes[1]?.isDisposed()) {
474
+ if ((_d = (_c = WebXRHandTracking._LeftHandGLB) === null || _c === void 0 ? void 0 : _c.meshes[1]) === null || _d === void 0 ? void 0 : _d.isDisposed()) {
472
475
  WebXRHandTracking._LeftHandGLB = null;
473
476
  }
474
477
  const handsDefined = !!(WebXRHandTracking._RightHandGLB && WebXRHandTracking._LeftHandGLB);
@@ -495,7 +498,7 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
495
498
  fresnel: Color3.FromInts(149, 102, 229),
496
499
  fingerColor: Color3.FromInts(177, 130, 255),
497
500
  tipFresnel: Color3.FromInts(220, 200, 255),
498
- ...options?.handMeshes?.customColors,
501
+ ...(_e = options === null || options === void 0 ? void 0 : options.handMeshes) === null || _e === void 0 ? void 0 : _e.customColors,
499
502
  };
500
503
  const handNodes = {
501
504
  base: handShader.getBlockByName("baseColor"),
@@ -534,31 +537,31 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
534
537
  static _GenerateDefaultHandMeshRigMapping(handedness) {
535
538
  const H = handedness == "right" ? "R" : "L";
536
539
  return {
537
- [XRHandJoint.WRIST]: `wrist_${H}`,
538
- [XRHandJoint.THUMB_METACARPAL]: `thumb_metacarpal_${H}`,
539
- [XRHandJoint.THUMB_PHALANX_PROXIMAL]: `thumb_proxPhalanx_${H}`,
540
- [XRHandJoint.THUMB_PHALANX_DISTAL]: `thumb_distPhalanx_${H}`,
541
- [XRHandJoint.THUMB_TIP]: `thumb_tip_${H}`,
542
- [XRHandJoint.INDEX_FINGER_METACARPAL]: `index_metacarpal_${H}`,
543
- [XRHandJoint.INDEX_FINGER_PHALANX_PROXIMAL]: `index_proxPhalanx_${H}`,
544
- [XRHandJoint.INDEX_FINGER_PHALANX_INTERMEDIATE]: `index_intPhalanx_${H}`,
545
- [XRHandJoint.INDEX_FINGER_PHALANX_DISTAL]: `index_distPhalanx_${H}`,
546
- [XRHandJoint.INDEX_FINGER_TIP]: `index_tip_${H}`,
547
- [XRHandJoint.MIDDLE_FINGER_METACARPAL]: `middle_metacarpal_${H}`,
548
- [XRHandJoint.MIDDLE_FINGER_PHALANX_PROXIMAL]: `middle_proxPhalanx_${H}`,
549
- [XRHandJoint.MIDDLE_FINGER_PHALANX_INTERMEDIATE]: `middle_intPhalanx_${H}`,
550
- [XRHandJoint.MIDDLE_FINGER_PHALANX_DISTAL]: `middle_distPhalanx_${H}`,
551
- [XRHandJoint.MIDDLE_FINGER_TIP]: `middle_tip_${H}`,
552
- [XRHandJoint.RING_FINGER_METACARPAL]: `ring_metacarpal_${H}`,
553
- [XRHandJoint.RING_FINGER_PHALANX_PROXIMAL]: `ring_proxPhalanx_${H}`,
554
- [XRHandJoint.RING_FINGER_PHALANX_INTERMEDIATE]: `ring_intPhalanx_${H}`,
555
- [XRHandJoint.RING_FINGER_PHALANX_DISTAL]: `ring_distPhalanx_${H}`,
556
- [XRHandJoint.RING_FINGER_TIP]: `ring_tip_${H}`,
557
- [XRHandJoint.PINKY_FINGER_METACARPAL]: `little_metacarpal_${H}`,
558
- [XRHandJoint.PINKY_FINGER_PHALANX_PROXIMAL]: `little_proxPhalanx_${H}`,
559
- [XRHandJoint.PINKY_FINGER_PHALANX_INTERMEDIATE]: `little_intPhalanx_${H}`,
560
- [XRHandJoint.PINKY_FINGER_PHALANX_DISTAL]: `little_distPhalanx_${H}`,
561
- [XRHandJoint.PINKY_FINGER_TIP]: `little_tip_${H}`,
540
+ [WebXRHandJoint.WRIST]: `wrist_${H}`,
541
+ [WebXRHandJoint.THUMB_METACARPAL]: `thumb_metacarpal_${H}`,
542
+ [WebXRHandJoint.THUMB_PHALANX_PROXIMAL]: `thumb_proxPhalanx_${H}`,
543
+ [WebXRHandJoint.THUMB_PHALANX_DISTAL]: `thumb_distPhalanx_${H}`,
544
+ [WebXRHandJoint.THUMB_TIP]: `thumb_tip_${H}`,
545
+ [WebXRHandJoint.INDEX_FINGER_METACARPAL]: `index_metacarpal_${H}`,
546
+ [WebXRHandJoint.INDEX_FINGER_PHALANX_PROXIMAL]: `index_proxPhalanx_${H}`,
547
+ [WebXRHandJoint.INDEX_FINGER_PHALANX_INTERMEDIATE]: `index_intPhalanx_${H}`,
548
+ [WebXRHandJoint.INDEX_FINGER_PHALANX_DISTAL]: `index_distPhalanx_${H}`,
549
+ [WebXRHandJoint.INDEX_FINGER_TIP]: `index_tip_${H}`,
550
+ [WebXRHandJoint.MIDDLE_FINGER_METACARPAL]: `middle_metacarpal_${H}`,
551
+ [WebXRHandJoint.MIDDLE_FINGER_PHALANX_PROXIMAL]: `middle_proxPhalanx_${H}`,
552
+ [WebXRHandJoint.MIDDLE_FINGER_PHALANX_INTERMEDIATE]: `middle_intPhalanx_${H}`,
553
+ [WebXRHandJoint.MIDDLE_FINGER_PHALANX_DISTAL]: `middle_distPhalanx_${H}`,
554
+ [WebXRHandJoint.MIDDLE_FINGER_TIP]: `middle_tip_${H}`,
555
+ [WebXRHandJoint.RING_FINGER_METACARPAL]: `ring_metacarpal_${H}`,
556
+ [WebXRHandJoint.RING_FINGER_PHALANX_PROXIMAL]: `ring_proxPhalanx_${H}`,
557
+ [WebXRHandJoint.RING_FINGER_PHALANX_INTERMEDIATE]: `ring_intPhalanx_${H}`,
558
+ [WebXRHandJoint.RING_FINGER_PHALANX_DISTAL]: `ring_distPhalanx_${H}`,
559
+ [WebXRHandJoint.RING_FINGER_TIP]: `ring_tip_${H}`,
560
+ [WebXRHandJoint.PINKY_FINGER_METACARPAL]: `little_metacarpal_${H}`,
561
+ [WebXRHandJoint.PINKY_FINGER_PHALANX_PROXIMAL]: `little_proxPhalanx_${H}`,
562
+ [WebXRHandJoint.PINKY_FINGER_PHALANX_INTERMEDIATE]: `little_intPhalanx_${H}`,
563
+ [WebXRHandJoint.PINKY_FINGER_PHALANX_DISTAL]: `little_distPhalanx_${H}`,
564
+ [WebXRHandJoint.PINKY_FINGER_TIP]: `little_tip_${H}`,
562
565
  };
563
566
  }
564
567
  /**
@@ -594,25 +597,27 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
594
597
  * @returns true if successful.
595
598
  */
596
599
  attach() {
600
+ var _a, _b, _c, _d;
597
601
  if (!super.attach()) {
598
602
  return false;
599
603
  }
600
604
  this._handResources = {
601
605
  jointMeshes: WebXRHandTracking._GenerateTrackedJointMeshes(this.options),
602
- handMeshes: this.options.handMeshes?.customMeshes || null,
603
- rigMappings: this.options.handMeshes?.customRigMappings || null,
606
+ handMeshes: ((_a = this.options.handMeshes) === null || _a === void 0 ? void 0 : _a.customMeshes) || null,
607
+ rigMappings: ((_b = this.options.handMeshes) === null || _b === void 0 ? void 0 : _b.customRigMappings) || null,
604
608
  };
605
609
  // If they didn't supply custom meshes and are not disabling the default meshes...
606
- if (!this.options.handMeshes?.customMeshes && !this.options.handMeshes?.disableDefaultMeshes) {
610
+ if (!((_c = this.options.handMeshes) === null || _c === void 0 ? void 0 : _c.customMeshes) && !((_d = this.options.handMeshes) === null || _d === void 0 ? void 0 : _d.disableDefaultMeshes)) {
607
611
  WebXRHandTracking._GenerateDefaultHandMeshesAsync(EngineStore.LastCreatedScene, this.options).then((defaultHandMeshes) => {
612
+ var _a, _b;
608
613
  this._handResources.handMeshes = defaultHandMeshes;
609
614
  this._handResources.rigMappings = {
610
615
  left: WebXRHandTracking._GenerateDefaultHandMeshRigMapping("left"),
611
616
  right: WebXRHandTracking._GenerateDefaultHandMeshRigMapping("right"),
612
617
  };
613
618
  // Apply meshes to existing hands if already tracking.
614
- this._trackingHands.left?.setHandMesh(this._handResources.handMeshes.left, this._handResources.rigMappings.left);
615
- this._trackingHands.right?.setHandMesh(this._handResources.handMeshes.right, this._handResources.rigMappings.right);
619
+ (_a = this._trackingHands.left) === null || _a === void 0 ? void 0 : _a.setHandMesh(this._handResources.handMeshes.left, this._handResources.rigMappings.left);
620
+ (_b = this._trackingHands.right) === null || _b === void 0 ? void 0 : _b.setHandMesh(this._handResources.handMeshes.right, this._handResources.rigMappings.right);
616
621
  });
617
622
  }
618
623
  this.options.xrInput.controllers.forEach(this._attachHand);
@@ -621,14 +626,16 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
621
626
  return true;
622
627
  }
623
628
  _onXRFrame(_xrFrame) {
624
- this._trackingHands.left?.updateFromXRFrame(_xrFrame, this._xrSessionManager.referenceSpace);
625
- this._trackingHands.right?.updateFromXRFrame(_xrFrame, this._xrSessionManager.referenceSpace);
629
+ var _a, _b;
630
+ (_a = this._trackingHands.left) === null || _a === void 0 ? void 0 : _a.updateFromXRFrame(_xrFrame, this._xrSessionManager.referenceSpace);
631
+ (_b = this._trackingHands.right) === null || _b === void 0 ? void 0 : _b.updateFromXRFrame(_xrFrame, this._xrSessionManager.referenceSpace);
626
632
  }
627
633
  _detachHandById(controllerId) {
634
+ var _a;
628
635
  const hand = this.getHandByControllerId(controllerId);
629
636
  if (hand) {
630
637
  const handedness = hand.xrController.inputSource.handedness == "left" ? "left" : "right";
631
- if (this._trackingHands[handedness]?.xrController.uniqueId === controllerId) {
638
+ if (((_a = this._trackingHands[handedness]) === null || _a === void 0 ? void 0 : _a.xrController.uniqueId) === controllerId) {
632
639
  this._trackingHands[handedness] = null;
633
640
  }
634
641
  this.onHandRemovedObservable.notifyObservers(hand);
@@ -653,10 +660,11 @@ export class WebXRHandTracking extends WebXRAbstractFeature {
653
660
  * Dispose this feature and all of the resources attached.
654
661
  */
655
662
  dispose() {
663
+ var _a;
656
664
  super.dispose();
657
665
  this.onHandAddedObservable.clear();
658
666
  this.onHandRemovedObservable.clear();
659
- if (this._handResources.handMeshes && !this.options.handMeshes?.customMeshes) {
667
+ if (this._handResources.handMeshes && !((_a = this.options.handMeshes) === null || _a === void 0 ? void 0 : _a.customMeshes)) {
660
668
  // this will dispose the cached meshes
661
669
  this._handResources.handMeshes.left.dispose();
662
670
  this._handResources.handMeshes.right.dispose();