@babylonjs/core 5.24.0 → 5.26.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 (1729) hide show
  1. package/Actions/action.d.ts +12 -21
  2. package/Actions/action.js +8 -17
  3. package/Actions/action.js.map +1 -1
  4. package/Actions/actionManager.d.ts +2 -5
  5. package/Actions/actionManager.js +2 -5
  6. package/Actions/actionManager.js.map +1 -1
  7. package/Actions/condition.d.ts +9 -50
  8. package/Actions/condition.js +3 -26
  9. package/Actions/condition.js.map +1 -1
  10. package/Actions/directActions.d.ts +7 -7
  11. package/Actions/directActions.js +7 -7
  12. package/Actions/directActions.js.map +1 -1
  13. package/Actions/directAudioActions.d.ts +2 -2
  14. package/Actions/directAudioActions.js +2 -2
  15. package/Actions/directAudioActions.js.map +1 -1
  16. package/Actions/interpolateValueAction.d.ts +1 -1
  17. package/Actions/interpolateValueAction.js +1 -1
  18. package/Actions/interpolateValueAction.js.map +1 -1
  19. package/Animations/animatable.d.ts +5 -6
  20. package/Animations/animatable.js +1 -2
  21. package/Animations/animatable.js.map +1 -1
  22. package/Animations/animation.d.ts +6 -20
  23. package/Animations/animation.js +6 -20
  24. package/Animations/animation.js.map +1 -1
  25. package/Animations/animationEvent.d.ts +1 -1
  26. package/Animations/animationEvent.js +1 -1
  27. package/Animations/animationEvent.js.map +1 -1
  28. package/Animations/animationGroup.d.ts +1 -1
  29. package/Animations/animationGroup.js +1 -1
  30. package/Animations/animationGroup.js.map +1 -1
  31. package/Animations/easing.d.ts +13 -26
  32. package/Animations/easing.js +13 -26
  33. package/Animations/easing.js.map +1 -1
  34. package/Animations/runtimeAnimation.d.ts +3 -4
  35. package/Animations/runtimeAnimation.js +1 -2
  36. package/Animations/runtimeAnimation.js.map +1 -1
  37. package/Audio/audioEngine.js +1 -2
  38. package/Audio/audioEngine.js.map +1 -1
  39. package/Audio/audioSceneComponent.d.ts +1 -1
  40. package/Audio/audioSceneComponent.js.map +1 -1
  41. package/Audio/sound.d.ts +3 -4
  42. package/Audio/sound.js +2 -3
  43. package/Audio/sound.js.map +1 -1
  44. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
  45. package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -1
  46. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  47. package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
  48. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  49. package/Behaviors/Meshes/baseSixDofDragBehavior.js +5 -5
  50. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  51. package/Behaviors/Meshes/followBehavior.d.ts +1 -1
  52. package/Behaviors/Meshes/followBehavior.js +1 -1
  53. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  54. package/Behaviors/Meshes/pointerDragBehavior.d.ts +1 -1
  55. package/Behaviors/Meshes/pointerDragBehavior.js +1 -1
  56. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  57. package/Bones/bone.d.ts +7 -9
  58. package/Bones/bone.js +7 -9
  59. package/Bones/bone.js.map +1 -1
  60. package/Bones/skeleton.d.ts +6 -8
  61. package/Bones/skeleton.js +6 -8
  62. package/Bones/skeleton.js.map +1 -1
  63. package/Buffers/buffer.d.ts +6 -6
  64. package/Buffers/buffer.js +14 -16
  65. package/Buffers/buffer.js.map +1 -1
  66. package/Buffers/storageBuffer.d.ts +1 -1
  67. package/Buffers/storageBuffer.js +1 -1
  68. package/Buffers/storageBuffer.js.map +1 -1
  69. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.d.ts +1 -2
  70. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +1 -2
  71. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js.map +1 -1
  72. package/Cameras/Inputs/flyCameraKeyboardInput.d.ts +1 -1
  73. package/Cameras/Inputs/flyCameraKeyboardInput.js +1 -1
  74. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  75. package/Cameras/Inputs/freeCameraDeviceOrientationInput.d.ts +6 -3
  76. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +18 -5
  77. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js.map +1 -1
  78. package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +1 -1
  79. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +1 -1
  80. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  81. package/Cameras/Inputs/freeCameraMouseInput.d.ts +1 -1
  82. package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
  83. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  84. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.d.ts +1 -2
  85. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +1 -2
  86. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js.map +1 -1
  87. package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -2
  88. package/Cameras/RigModes/stereoscopicRigMode.js +1 -2
  89. package/Cameras/RigModes/stereoscopicRigMode.js.map +1 -1
  90. package/Cameras/RigModes/vrRigMode.d.ts +1 -3
  91. package/Cameras/RigModes/vrRigMode.js +1 -3
  92. package/Cameras/RigModes/vrRigMode.js.map +1 -1
  93. package/Cameras/RigModes/webVRRigMode.d.ts +1 -3
  94. package/Cameras/RigModes/webVRRigMode.js +1 -3
  95. package/Cameras/RigModes/webVRRigMode.js.map +1 -1
  96. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +2 -3
  97. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +2 -3
  98. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  99. package/Cameras/VR/vrCameraMetrics.d.ts +4 -4
  100. package/Cameras/VR/vrCameraMetrics.js +4 -4
  101. package/Cameras/VR/vrCameraMetrics.js.map +1 -1
  102. package/Cameras/VR/vrExperienceHelper.js +20 -48
  103. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  104. package/Cameras/VR/webVRCamera.d.ts +9 -9
  105. package/Cameras/VR/webVRCamera.js +9 -9
  106. package/Cameras/VR/webVRCamera.js.map +1 -1
  107. package/Cameras/arcRotateCamera.d.ts +11 -12
  108. package/Cameras/arcRotateCamera.js +8 -9
  109. package/Cameras/arcRotateCamera.js.map +1 -1
  110. package/Cameras/camera.d.ts +29 -38
  111. package/Cameras/camera.js +27 -36
  112. package/Cameras/camera.js.map +1 -1
  113. package/Cameras/deviceOrientationCamera.d.ts +1 -1
  114. package/Cameras/deviceOrientationCamera.js +1 -1
  115. package/Cameras/deviceOrientationCamera.js.map +1 -1
  116. package/Cameras/flyCamera.d.ts +8 -12
  117. package/Cameras/flyCamera.js +6 -10
  118. package/Cameras/flyCamera.js.map +1 -1
  119. package/Cameras/followCamera.d.ts +2 -2
  120. package/Cameras/followCamera.js +2 -2
  121. package/Cameras/followCamera.js.map +1 -1
  122. package/Cameras/freeCamera.d.ts +6 -7
  123. package/Cameras/freeCamera.js +4 -5
  124. package/Cameras/freeCamera.js.map +1 -1
  125. package/Cameras/freeCameraInputsManager.d.ts +2 -2
  126. package/Cameras/freeCameraInputsManager.js +2 -2
  127. package/Cameras/freeCameraInputsManager.js.map +1 -1
  128. package/Cameras/targetCamera.d.ts +21 -24
  129. package/Cameras/targetCamera.js +20 -23
  130. package/Cameras/targetCamera.js.map +1 -1
  131. package/Cameras/touchCamera.d.ts +1 -1
  132. package/Cameras/touchCamera.js +1 -1
  133. package/Cameras/touchCamera.js.map +1 -1
  134. package/Collisions/collider.d.ts +13 -44
  135. package/Collisions/collider.js +10 -41
  136. package/Collisions/collider.js.map +1 -1
  137. package/Collisions/collisionCoordinator.d.ts +2 -2
  138. package/Collisions/collisionCoordinator.js +1 -1
  139. package/Collisions/collisionCoordinator.js.map +1 -1
  140. package/Collisions/intersectionInfo.d.ts +1 -1
  141. package/Collisions/intersectionInfo.js +1 -1
  142. package/Collisions/intersectionInfo.js.map +1 -1
  143. package/Collisions/meshCollisionData.d.ts +1 -1
  144. package/Collisions/meshCollisionData.js +1 -1
  145. package/Collisions/meshCollisionData.js.map +1 -1
  146. package/Collisions/pickingInfo.d.ts +1 -1
  147. package/Collisions/pickingInfo.js +1 -1
  148. package/Collisions/pickingInfo.js.map +1 -1
  149. package/Compute/IComputeContext.d.ts +1 -1
  150. package/Compute/IComputeContext.js.map +1 -1
  151. package/Compute/IComputePipelineContext.d.ts +2 -2
  152. package/Compute/IComputePipelineContext.js.map +1 -1
  153. package/Compute/computeEffect.d.ts +5 -5
  154. package/Compute/computeEffect.js +5 -5
  155. package/Compute/computeEffect.js.map +1 -1
  156. package/Culling/Octrees/octreeBlock.d.ts +1 -9
  157. package/Culling/Octrees/octreeBlock.js +1 -9
  158. package/Culling/Octrees/octreeBlock.js.map +1 -1
  159. package/Culling/Octrees/octreeSceneComponent.d.ts +2 -2
  160. package/Culling/Octrees/octreeSceneComponent.js +1 -5
  161. package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
  162. package/Culling/boundingBox.d.ts +4 -5
  163. package/Culling/boundingBox.js +3 -4
  164. package/Culling/boundingBox.js.map +1 -1
  165. package/Culling/boundingInfo.d.ts +1 -2
  166. package/Culling/boundingInfo.js +1 -2
  167. package/Culling/boundingInfo.js.map +1 -1
  168. package/Culling/boundingSphere.d.ts +1 -2
  169. package/Culling/boundingSphere.js +1 -2
  170. package/Culling/boundingSphere.js.map +1 -1
  171. package/Culling/ray.d.ts +6 -6
  172. package/Culling/ray.js.map +1 -1
  173. package/Debug/debugLayer.d.ts +1 -1
  174. package/Debug/debugLayer.js.map +1 -1
  175. package/Debug/physicsViewer.d.ts +6 -6
  176. package/Debug/physicsViewer.js +4 -4
  177. package/Debug/physicsViewer.js.map +1 -1
  178. package/DeviceInput/InputDevices/deviceEnums.d.ts +1 -1
  179. package/DeviceInput/InputDevices/deviceEnums.js +1 -1
  180. package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
  181. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -3
  182. package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
  183. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  184. package/DeviceInput/internalDeviceSourceManager.d.ts +3 -3
  185. package/DeviceInput/internalDeviceSourceManager.js +1 -1
  186. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  187. package/DeviceInput/nativeDeviceInputSystem.d.ts +1 -1
  188. package/DeviceInput/nativeDeviceInputSystem.js +1 -1
  189. package/DeviceInput/nativeDeviceInputSystem.js.map +1 -1
  190. package/DeviceInput/webDeviceInputSystem.d.ts +1 -1
  191. package/DeviceInput/webDeviceInputSystem.js +1 -19
  192. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  193. package/Engines/Extensions/engine.computeShader.d.ts +7 -7
  194. package/Engines/Extensions/engine.computeShader.js +1 -1
  195. package/Engines/Extensions/engine.computeShader.js.map +1 -1
  196. package/Engines/Extensions/engine.cubeTexture.d.ts +6 -6
  197. package/Engines/Extensions/engine.cubeTexture.js +3 -2
  198. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  199. package/Engines/Extensions/engine.debugging.d.ts +4 -4
  200. package/Engines/Extensions/engine.debugging.js.map +1 -1
  201. package/Engines/Extensions/engine.multiview.d.ts +9 -9
  202. package/Engines/Extensions/engine.multiview.js.map +1 -1
  203. package/Engines/Extensions/engine.query.d.ts +22 -22
  204. package/Engines/Extensions/engine.query.js +8 -8
  205. package/Engines/Extensions/engine.query.js.map +1 -1
  206. package/Engines/Extensions/engine.rawTexture.js +3 -7
  207. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  208. package/Engines/Extensions/engine.readTexture.d.ts +2 -2
  209. package/Engines/Extensions/engine.readTexture.js.map +1 -1
  210. package/Engines/Extensions/engine.renderTarget.d.ts +2 -2
  211. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  212. package/Engines/Extensions/engine.textureSelector.d.ts +2 -2
  213. package/Engines/Extensions/engine.textureSelector.js.map +1 -1
  214. package/Engines/Extensions/engine.transformFeedback.d.ts +1 -1
  215. package/Engines/Extensions/engine.transformFeedback.js +1 -1
  216. package/Engines/Extensions/engine.transformFeedback.js.map +1 -1
  217. package/Engines/Extensions/engine.views.d.ts +2 -2
  218. package/Engines/Extensions/engine.views.js.map +1 -1
  219. package/Engines/Extensions/engine.webVR.d.ts +13 -13
  220. package/Engines/Extensions/engine.webVR.js.map +1 -1
  221. package/Engines/IDrawContext.d.ts +1 -1
  222. package/Engines/IDrawContext.js.map +1 -1
  223. package/Engines/IMaterialContext.d.ts +1 -1
  224. package/Engines/IMaterialContext.js.map +1 -1
  225. package/Engines/IPipelineContext.d.ts +5 -5
  226. package/Engines/IPipelineContext.js.map +1 -1
  227. package/Engines/Native/nativeDataStream.d.ts +2 -2
  228. package/Engines/Native/nativeDataStream.js +1 -1
  229. package/Engines/Native/nativeDataStream.js.map +1 -1
  230. package/Engines/Native/nativeInterfaces.d.ts +10 -10
  231. package/Engines/Native/nativeInterfaces.js.map +1 -1
  232. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.d.ts +1 -1
  233. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
  234. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js.map +1 -1
  235. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -1
  236. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
  237. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
  238. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.d.ts +1 -1
  239. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
  240. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js.map +1 -1
  241. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.d.ts +1 -1
  242. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
  243. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js.map +1 -1
  244. package/Engines/Processors/Expressions/shaderDefineExpression.d.ts +1 -1
  245. package/Engines/Processors/Expressions/shaderDefineExpression.js +1 -1
  246. package/Engines/Processors/Expressions/shaderDefineExpression.js.map +1 -1
  247. package/Engines/Processors/iShaderProcessor.d.ts +1 -1
  248. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  249. package/Engines/Processors/shaderCodeConditionNode.d.ts +1 -1
  250. package/Engines/Processors/shaderCodeConditionNode.js +1 -1
  251. package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
  252. package/Engines/Processors/shaderCodeCursor.d.ts +1 -1
  253. package/Engines/Processors/shaderCodeCursor.js +1 -1
  254. package/Engines/Processors/shaderCodeCursor.js.map +1 -1
  255. package/Engines/Processors/shaderCodeNode.d.ts +1 -1
  256. package/Engines/Processors/shaderCodeNode.js +1 -1
  257. package/Engines/Processors/shaderCodeNode.js.map +1 -1
  258. package/Engines/Processors/shaderCodeTestNode.d.ts +1 -1
  259. package/Engines/Processors/shaderCodeTestNode.js +1 -1
  260. package/Engines/Processors/shaderCodeTestNode.js.map +1 -1
  261. package/Engines/Processors/shaderProcessingOptions.d.ts +2 -2
  262. package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
  263. package/Engines/Processors/shaderProcessor.d.ts +2 -2
  264. package/Engines/Processors/shaderProcessor.js +2 -2
  265. package/Engines/Processors/shaderProcessor.js.map +1 -1
  266. package/Engines/WebGL/webGL2ShaderProcessors.d.ts +1 -1
  267. package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
  268. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  269. package/Engines/WebGL/webGLHardwareTexture.d.ts +1 -1
  270. package/Engines/WebGL/webGLHardwareTexture.js +1 -1
  271. package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
  272. package/Engines/WebGL/webGLPipelineContext.d.ts +6 -25
  273. package/Engines/WebGL/webGLPipelineContext.js +6 -25
  274. package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
  275. package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +2 -2
  276. package/Engines/WebGL/webGLRenderTargetWrapper.js +2 -2
  277. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  278. package/Engines/WebGL/webGLShaderProcessors.d.ts +1 -1
  279. package/Engines/WebGL/webGLShaderProcessors.js +1 -1
  280. package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
  281. package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +1 -1
  282. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  283. package/Engines/WebGPU/Extensions/engine.rawTexture.js +1 -5
  284. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  285. package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
  286. package/Engines/WebGPU/webgpuBufferManager.js +1 -1
  287. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  288. package/Engines/WebGPU/webgpuBundleList.d.ts +8 -8
  289. package/Engines/WebGPU/webgpuBundleList.js +7 -7
  290. package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
  291. package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +1 -1
  292. package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
  293. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  294. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
  295. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +1 -1
  296. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  297. package/Engines/WebGPU/webgpuCacheRenderPipelineString.d.ts +1 -1
  298. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
  299. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js.map +1 -1
  300. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
  301. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +2 -2
  302. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
  303. package/Engines/WebGPU/webgpuCacheSampler.d.ts +1 -1
  304. package/Engines/WebGPU/webgpuCacheSampler.js +1 -1
  305. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  306. package/Engines/WebGPU/webgpuClearQuad.d.ts +1 -1
  307. package/Engines/WebGPU/webgpuClearQuad.js +1 -1
  308. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  309. package/Engines/WebGPU/webgpuComputeContext.d.ts +1 -1
  310. package/Engines/WebGPU/webgpuComputeContext.js +1 -1
  311. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  312. package/Engines/WebGPU/webgpuComputePipelineContext.d.ts +2 -2
  313. package/Engines/WebGPU/webgpuComputePipelineContext.js +1 -1
  314. package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
  315. package/Engines/WebGPU/webgpuConstants.d.ts +38 -38
  316. package/Engines/WebGPU/webgpuConstants.js +38 -38
  317. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  318. package/Engines/WebGPU/webgpuDepthCullingState.d.ts +1 -1
  319. package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
  320. package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
  321. package/Engines/WebGPU/webgpuDrawContext.d.ts +1 -1
  322. package/Engines/WebGPU/webgpuDrawContext.js +1 -1
  323. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  324. package/Engines/WebGPU/webgpuExternalTexture.d.ts +1 -1
  325. package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
  326. package/Engines/WebGPU/webgpuExternalTexture.js.map +1 -1
  327. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +9 -9
  328. package/Engines/WebGPU/webgpuHardwareTexture.js +1 -1
  329. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  330. package/Engines/WebGPU/webgpuMaterialContext.d.ts +3 -3
  331. package/Engines/WebGPU/webgpuMaterialContext.js +1 -1
  332. package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
  333. package/Engines/WebGPU/webgpuOcclusionQuery.d.ts +1 -1
  334. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
  335. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  336. package/Engines/WebGPU/webgpuPipelineContext.d.ts +4 -4
  337. package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
  338. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  339. package/Engines/WebGPU/webgpuQuerySet.d.ts +1 -1
  340. package/Engines/WebGPU/webgpuQuerySet.js +1 -1
  341. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  342. package/Engines/WebGPU/webgpuRenderPassWrapper.d.ts +1 -1
  343. package/Engines/WebGPU/webgpuRenderPassWrapper.js +1 -1
  344. package/Engines/WebGPU/webgpuRenderPassWrapper.js.map +1 -1
  345. package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +2 -2
  346. package/Engines/WebGPU/webgpuRenderTargetWrapper.js +1 -1
  347. package/Engines/WebGPU/webgpuRenderTargetWrapper.js.map +1 -1
  348. package/Engines/WebGPU/webgpuShaderProcessingContext.d.ts +7 -7
  349. package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -2
  350. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  351. package/Engines/WebGPU/webgpuShaderProcessor.d.ts +1 -1
  352. package/Engines/WebGPU/webgpuShaderProcessor.js +1 -1
  353. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  354. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -1
  355. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +1 -1
  356. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  357. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -1
  358. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +1 -1
  359. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  360. package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +1 -1
  361. package/Engines/WebGPU/webgpuSnapshotRendering.js +1 -1
  362. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  363. package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +1 -1
  364. package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
  365. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  366. package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -1
  367. package/Engines/WebGPU/webgpuTextureHelper.js +1 -1
  368. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  369. package/Engines/WebGPU/webgpuTimestampQuery.d.ts +2 -2
  370. package/Engines/WebGPU/webgpuTimestampQuery.js +2 -2
  371. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  372. package/Engines/WebGPU/webgpuTintWASM.d.ts +1 -1
  373. package/Engines/WebGPU/webgpuTintWASM.js +1 -1
  374. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  375. package/Engines/constants.d.ts +1 -1
  376. package/Engines/constants.js +1 -1
  377. package/Engines/constants.js.map +1 -1
  378. package/Engines/engine.d.ts +16 -35
  379. package/Engines/engine.js +19 -69
  380. package/Engines/engine.js.map +1 -1
  381. package/Engines/engineFeatures.d.ts +2 -2
  382. package/Engines/engineFeatures.js.map +1 -1
  383. package/Engines/engineStore.d.ts +1 -1
  384. package/Engines/engineStore.js +1 -1
  385. package/Engines/engineStore.js.map +1 -1
  386. package/Engines/nativeEngine.d.ts +15 -47
  387. package/Engines/nativeEngine.js +20 -66
  388. package/Engines/nativeEngine.js.map +1 -1
  389. package/Engines/nullEngine.d.ts +12 -40
  390. package/Engines/nullEngine.js +12 -40
  391. package/Engines/nullEngine.js.map +1 -1
  392. package/Engines/performanceConfigurator.d.ts +6 -7
  393. package/Engines/performanceConfigurator.js +6 -7
  394. package/Engines/performanceConfigurator.js.map +1 -1
  395. package/Engines/renderTargetWrapper.d.ts +8 -9
  396. package/Engines/renderTargetWrapper.js +7 -8
  397. package/Engines/renderTargetWrapper.js.map +1 -1
  398. package/Engines/thinEngine.d.ts +90 -187
  399. package/Engines/thinEngine.js +73 -182
  400. package/Engines/thinEngine.js.map +1 -1
  401. package/Engines/webgpuEngine.d.ts +89 -145
  402. package/Engines/webgpuEngine.js +71 -127
  403. package/Engines/webgpuEngine.js.map +1 -1
  404. package/Events/pointerEvents.d.ts +4 -0
  405. package/Events/pointerEvents.js +4 -0
  406. package/Events/pointerEvents.js.map +1 -1
  407. package/Gamepads/Controllers/oculusTouchController.d.ts +1 -1
  408. package/Gamepads/Controllers/oculusTouchController.js +1 -1
  409. package/Gamepads/Controllers/oculusTouchController.js.map +1 -1
  410. package/Gamepads/Controllers/poseEnabledController.d.ts +9 -10
  411. package/Gamepads/Controllers/poseEnabledController.js +6 -7
  412. package/Gamepads/Controllers/poseEnabledController.js.map +1 -1
  413. package/Gamepads/Controllers/windowsMotionController.d.ts +1 -1
  414. package/Gamepads/Controllers/windowsMotionController.js +1 -1
  415. package/Gamepads/Controllers/windowsMotionController.js.map +1 -1
  416. package/Gamepads/gamepad.d.ts +1 -1
  417. package/Gamepads/gamepad.js +1 -1
  418. package/Gamepads/gamepad.js.map +1 -1
  419. package/Gamepads/gamepadManager.d.ts +2 -2
  420. package/Gamepads/gamepadManager.js +4 -4
  421. package/Gamepads/gamepadManager.js.map +1 -1
  422. package/Gamepads/gamepadSceneComponent.d.ts +1 -1
  423. package/Gamepads/gamepadSceneComponent.js.map +1 -1
  424. package/Gizmos/axisDragGizmo.d.ts +2 -8
  425. package/Gizmos/axisDragGizmo.js +2 -8
  426. package/Gizmos/axisDragGizmo.js.map +1 -1
  427. package/Gizmos/cameraGizmo.d.ts +1 -1
  428. package/Gizmos/cameraGizmo.js +1 -1
  429. package/Gizmos/cameraGizmo.js.map +1 -1
  430. package/Gizmos/lightGizmo.d.ts +1 -1
  431. package/Gizmos/lightGizmo.js +1 -1
  432. package/Gizmos/lightGizmo.js.map +1 -1
  433. package/Gizmos/planeDragGizmo.d.ts +1 -3
  434. package/Gizmos/planeDragGizmo.js +1 -3
  435. package/Gizmos/planeDragGizmo.js.map +1 -1
  436. package/Helpers/sceneHelpers.d.ts +1 -1
  437. package/Helpers/sceneHelpers.js +1 -1
  438. package/Helpers/sceneHelpers.js.map +1 -1
  439. package/Inputs/scene.inputManager.d.ts +3 -3
  440. package/Inputs/scene.inputManager.js +5 -4
  441. package/Inputs/scene.inputManager.js.map +1 -1
  442. package/Instrumentation/timeToken.d.ts +1 -1
  443. package/Instrumentation/timeToken.js +1 -1
  444. package/Instrumentation/timeToken.js.map +1 -1
  445. package/Layers/effectLayer.d.ts +2 -3
  446. package/Layers/effectLayer.js +2 -3
  447. package/Layers/effectLayer.js.map +1 -1
  448. package/Layers/glowLayer.d.ts +1 -1
  449. package/Layers/glowLayer.js +1 -1
  450. package/Layers/glowLayer.js.map +1 -1
  451. package/Layers/highlightLayer.d.ts +1 -1
  452. package/Layers/highlightLayer.js +1 -1
  453. package/Layers/highlightLayer.js.map +1 -1
  454. package/Layers/layer.d.ts +8 -1
  455. package/Layers/layer.js +12 -1
  456. package/Layers/layer.js.map +1 -1
  457. package/Layers/layerSceneComponent.d.ts +4 -2
  458. package/Layers/layerSceneComponent.js +27 -11
  459. package/Layers/layerSceneComponent.js.map +1 -1
  460. package/LensFlares/lensFlare.d.ts +1 -1
  461. package/LensFlares/lensFlare.js.map +1 -1
  462. package/LensFlares/lensFlareSystem.d.ts +4 -6
  463. package/LensFlares/lensFlareSystem.js +4 -6
  464. package/LensFlares/lensFlareSystem.js.map +1 -1
  465. package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -2
  466. package/Lights/Shadows/cascadedShadowGenerator.js +1 -2
  467. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  468. package/Lights/Shadows/shadowGenerator.d.ts +1 -2
  469. package/Lights/Shadows/shadowGenerator.js +1 -2
  470. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  471. package/Lights/light.d.ts +9 -9
  472. package/Lights/light.js +6 -6
  473. package/Lights/light.js.map +1 -1
  474. package/Lights/shadowLight.d.ts +3 -3
  475. package/Lights/shadowLight.js +3 -3
  476. package/Lights/shadowLight.js.map +1 -1
  477. package/Loading/Plugins/babylonFileLoader.d.ts +1 -1
  478. package/Loading/Plugins/babylonFileLoader.js +1 -1
  479. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  480. package/Loading/loadingScreen.js +6 -6
  481. package/Loading/loadingScreen.js.map +1 -1
  482. package/Materials/Background/backgroundMaterial.js +1 -1
  483. package/Materials/Background/backgroundMaterial.js.map +1 -1
  484. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +18 -18
  485. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  486. package/Materials/Node/Blocks/Input/inputBlock.d.ts +4 -11
  487. package/Materials/Node/Blocks/Input/inputBlock.js +4 -11
  488. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  489. package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +2 -2
  490. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  491. package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +9 -9
  492. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  493. package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +12 -12
  494. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  495. package/Materials/Node/nodeMaterial.d.ts +2 -2
  496. package/Materials/Node/nodeMaterial.js +2 -2
  497. package/Materials/Node/nodeMaterial.js.map +1 -1
  498. package/Materials/Node/nodeMaterialBlock.d.ts +8 -14
  499. package/Materials/Node/nodeMaterialBlock.js +6 -12
  500. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  501. package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +8 -8
  502. package/Materials/Node/nodeMaterialBlockConnectionPoint.js +7 -7
  503. package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
  504. package/Materials/Node/nodeMaterialBuildState.d.ts +22 -58
  505. package/Materials/Node/nodeMaterialBuildState.js +21 -57
  506. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  507. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
  508. package/Materials/PBR/pbrAnisotropicConfiguration.js +2 -2
  509. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  510. package/Materials/PBR/pbrBRDFConfiguration.d.ts +3 -3
  511. package/Materials/PBR/pbrBRDFConfiguration.js +2 -2
  512. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  513. package/Materials/PBR/pbrBaseMaterial.d.ts +65 -65
  514. package/Materials/PBR/pbrBaseMaterial.js +65 -65
  515. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  516. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +4 -4
  517. package/Materials/PBR/pbrClearCoatConfiguration.js +3 -3
  518. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  519. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +6 -6
  520. package/Materials/PBR/pbrIridescenceConfiguration.js +5 -5
  521. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  522. package/Materials/PBR/pbrSheenConfiguration.d.ts +3 -3
  523. package/Materials/PBR/pbrSheenConfiguration.js +2 -2
  524. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  525. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +6 -6
  526. package/Materials/PBR/pbrSubSurfaceConfiguration.js +5 -5
  527. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  528. package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +1 -1
  529. package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -1
  530. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  531. package/Materials/Textures/Loaders/envTextureLoader.d.ts +1 -1
  532. package/Materials/Textures/Loaders/envTextureLoader.js +1 -1
  533. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  534. package/Materials/Textures/Loaders/hdrTextureLoader.d.ts +1 -1
  535. package/Materials/Textures/Loaders/hdrTextureLoader.js +1 -1
  536. package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
  537. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +1 -1
  538. package/Materials/Textures/Loaders/ktxTextureLoader.js +1 -1
  539. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  540. package/Materials/Textures/Loaders/tgaTextureLoader.d.ts +1 -1
  541. package/Materials/Textures/Loaders/tgaTextureLoader.js +1 -1
  542. package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
  543. package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -1
  544. package/Materials/Textures/MultiviewRenderTarget.js +1 -1
  545. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  546. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +6 -7
  547. package/Materials/Textures/Procedurals/proceduralTexture.js +4 -5
  548. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  549. package/Materials/Textures/baseTexture.d.ts +17 -23
  550. package/Materials/Textures/baseTexture.js +20 -23
  551. package/Materials/Textures/baseTexture.js.map +1 -1
  552. package/Materials/Textures/cubeTexture.d.ts +1 -1
  553. package/Materials/Textures/cubeTexture.js +1 -1
  554. package/Materials/Textures/cubeTexture.js.map +1 -1
  555. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  556. package/Materials/Textures/dynamicTexture.js +1 -1
  557. package/Materials/Textures/dynamicTexture.js.map +1 -1
  558. package/Materials/Textures/hardwareTextureWrapper.d.ts +1 -1
  559. package/Materials/Textures/hardwareTextureWrapper.js.map +1 -1
  560. package/Materials/Textures/internalTexture.d.ts +35 -37
  561. package/Materials/Textures/internalTexture.js +34 -36
  562. package/Materials/Textures/internalTexture.js.map +1 -1
  563. package/Materials/Textures/multiRenderTarget.d.ts +1 -3
  564. package/Materials/Textures/multiRenderTarget.js +1 -3
  565. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  566. package/Materials/Textures/prePassRenderTarget.d.ts +9 -9
  567. package/Materials/Textures/prePassRenderTarget.js +6 -6
  568. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  569. package/Materials/Textures/renderTargetTexture.d.ts +7 -11
  570. package/Materials/Textures/renderTargetTexture.js +8 -9
  571. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  572. package/Materials/Textures/texture.d.ts +6 -18
  573. package/Materials/Textures/texture.js +13 -23
  574. package/Materials/Textures/texture.js.map +1 -1
  575. package/Materials/Textures/textureSampler.d.ts +5 -5
  576. package/Materials/Textures/textureSampler.js +5 -5
  577. package/Materials/Textures/textureSampler.js.map +1 -1
  578. package/Materials/Textures/thinRenderTargetTexture.js +1 -1
  579. package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
  580. package/Materials/Textures/thinTexture.d.ts +2 -2
  581. package/Materials/Textures/thinTexture.js +2 -2
  582. package/Materials/Textures/thinTexture.js.map +1 -1
  583. package/Materials/Textures/videoTexture.d.ts +1 -1
  584. package/Materials/Textures/videoTexture.js +3 -3
  585. package/Materials/Textures/videoTexture.js.map +1 -1
  586. package/Materials/drawWrapper.d.ts +1 -1
  587. package/Materials/drawWrapper.js +1 -1
  588. package/Materials/drawWrapper.js.map +1 -1
  589. package/Materials/effect.d.ts +17 -17
  590. package/Materials/effect.js +28 -22
  591. package/Materials/effect.js.map +1 -1
  592. package/Materials/effectRenderer.d.ts +1 -1
  593. package/Materials/effectRenderer.js.map +1 -1
  594. package/Materials/imageProcessingConfiguration.d.ts +5 -5
  595. package/Materials/imageProcessingConfiguration.js +4 -4
  596. package/Materials/imageProcessingConfiguration.js.map +1 -1
  597. package/Materials/material.d.ts +21 -26
  598. package/Materials/material.detailMapConfiguration.d.ts +3 -3
  599. package/Materials/material.detailMapConfiguration.js +2 -2
  600. package/Materials/material.detailMapConfiguration.js.map +1 -1
  601. package/Materials/material.js +22 -24
  602. package/Materials/material.js.map +1 -1
  603. package/Materials/materialDefines.d.ts +14 -14
  604. package/Materials/materialDefines.js +13 -13
  605. package/Materials/materialDefines.js.map +1 -1
  606. package/Materials/materialHelper.js +2 -7
  607. package/Materials/materialHelper.js.map +1 -1
  608. package/Materials/materialPluginEvent.d.ts +15 -15
  609. package/Materials/materialPluginEvent.js +1 -1
  610. package/Materials/materialPluginEvent.js.map +1 -1
  611. package/Materials/materialPluginManager.d.ts +2 -4
  612. package/Materials/materialPluginManager.js +2 -4
  613. package/Materials/materialPluginManager.js.map +1 -1
  614. package/Materials/multiMaterial.d.ts +1 -1
  615. package/Materials/multiMaterial.js +1 -1
  616. package/Materials/multiMaterial.js.map +1 -1
  617. package/Materials/pushMaterial.d.ts +1 -1
  618. package/Materials/pushMaterial.js +1 -1
  619. package/Materials/pushMaterial.js.map +1 -1
  620. package/Materials/standardMaterial.d.ts +3 -3
  621. package/Materials/standardMaterial.js +3 -3
  622. package/Materials/standardMaterial.js.map +1 -1
  623. package/Materials/uniformBuffer.d.ts +4 -4
  624. package/Materials/uniformBuffer.js +4 -4
  625. package/Materials/uniformBuffer.js.map +1 -1
  626. package/Materials/uniformBufferEffectCommonAccessor.d.ts +1 -1
  627. package/Materials/uniformBufferEffectCommonAccessor.js +1 -1
  628. package/Materials/uniformBufferEffectCommonAccessor.js.map +1 -1
  629. package/Maths/math.color.d.ts +1 -1
  630. package/Maths/math.color.js +1 -1
  631. package/Maths/math.color.js.map +1 -1
  632. package/Maths/math.isovector.d.ts +1 -1
  633. package/Maths/math.isovector.js +1 -1
  634. package/Maths/math.isovector.js.map +1 -1
  635. package/Maths/math.like.d.ts +8 -8
  636. package/Maths/math.like.js.map +1 -1
  637. package/Maths/math.polar.d.ts +343 -0
  638. package/Maths/math.polar.js +537 -0
  639. package/Maths/math.polar.js.map +1 -1
  640. package/Maths/math.vector.d.ts +58 -24
  641. package/Maths/math.vector.js +94 -18
  642. package/Maths/math.vector.js.map +1 -1
  643. package/Meshes/Builders/tubeBuilder.d.ts +2 -2
  644. package/Meshes/Builders/tubeBuilder.js +2 -2
  645. package/Meshes/Builders/tubeBuilder.js.map +1 -1
  646. package/Meshes/WebGL/webGLDataBuffer.d.ts +1 -1
  647. package/Meshes/WebGL/webGLDataBuffer.js +1 -1
  648. package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
  649. package/Meshes/WebGPU/webgpuDataBuffer.d.ts +1 -1
  650. package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
  651. package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
  652. package/Meshes/abstractMesh.d.ts +48 -70
  653. package/Meshes/abstractMesh.js +47 -69
  654. package/Meshes/abstractMesh.js.map +1 -1
  655. package/Meshes/buffer.d.ts +1 -1
  656. package/Meshes/buffer.js +1 -1
  657. package/Meshes/buffer.js.map +1 -1
  658. package/Meshes/geodesicMesh.d.ts +15 -28
  659. package/Meshes/geodesicMesh.js +11 -24
  660. package/Meshes/geodesicMesh.js.map +1 -1
  661. package/Meshes/geometry.d.ts +15 -20
  662. package/Meshes/geometry.js +7 -12
  663. package/Meshes/geometry.js.map +1 -1
  664. package/Meshes/groundMesh.d.ts +8 -8
  665. package/Meshes/groundMesh.js.map +1 -1
  666. package/Meshes/instancedMesh.d.ts +12 -16
  667. package/Meshes/instancedMesh.js +11 -15
  668. package/Meshes/instancedMesh.js.map +1 -1
  669. package/Meshes/linesMesh.d.ts +5 -8
  670. package/Meshes/linesMesh.js +5 -8
  671. package/Meshes/linesMesh.js.map +1 -1
  672. package/Meshes/mesh.d.ts +47 -92
  673. package/Meshes/mesh.js +50 -98
  674. package/Meshes/mesh.js.map +1 -1
  675. package/Meshes/mesh.vertexData.d.ts +3 -18
  676. package/Meshes/mesh.vertexData.js +3 -18
  677. package/Meshes/mesh.vertexData.js.map +1 -1
  678. package/Meshes/meshSimplificationSceneComponent.d.ts +1 -1
  679. package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
  680. package/Meshes/subMesh.d.ts +23 -51
  681. package/Meshes/subMesh.js +20 -48
  682. package/Meshes/subMesh.js.map +1 -1
  683. package/Meshes/subMesh.project.d.ts +2 -2
  684. package/Meshes/subMesh.project.js +2 -12
  685. package/Meshes/subMesh.project.js.map +1 -1
  686. package/Meshes/thinInstanceMesh.d.ts +4 -4
  687. package/Meshes/thinInstanceMesh.js.map +1 -1
  688. package/Meshes/transformNode.d.ts +8 -9
  689. package/Meshes/transformNode.js +8 -9
  690. package/Meshes/transformNode.js.map +1 -1
  691. package/Misc/arrayTools.d.ts +3 -3
  692. package/Misc/arrayTools.js +1 -1
  693. package/Misc/arrayTools.js.map +1 -1
  694. package/Misc/assetsManager.d.ts +1 -3
  695. package/Misc/assetsManager.js +1 -3
  696. package/Misc/assetsManager.js.map +1 -1
  697. package/Misc/basis.js +1 -1
  698. package/Misc/basis.js.map +1 -1
  699. package/Misc/coroutine.d.ts +11 -25
  700. package/Misc/coroutine.js +7 -21
  701. package/Misc/coroutine.js.map +1 -1
  702. package/Misc/dds.d.ts +1 -10
  703. package/Misc/dds.js +1 -10
  704. package/Misc/dds.js.map +1 -1
  705. package/Misc/decorators.d.ts +5 -15
  706. package/Misc/decorators.js +6 -16
  707. package/Misc/decorators.js.map +1 -1
  708. package/Misc/depthReducer.d.ts +1 -5
  709. package/Misc/depthReducer.js +1 -5
  710. package/Misc/depthReducer.js.map +1 -1
  711. package/Misc/devTools.d.ts +1 -2
  712. package/Misc/devTools.js +1 -2
  713. package/Misc/devTools.js.map +1 -1
  714. package/Misc/environmentTextureTools.d.ts +1 -6
  715. package/Misc/environmentTextureTools.js +1 -6
  716. package/Misc/environmentTextureTools.js.map +1 -1
  717. package/Misc/fileTools.d.ts +12 -24
  718. package/Misc/fileTools.js +14 -26
  719. package/Misc/fileTools.js.map +1 -1
  720. package/Misc/khronosTextureContainer.d.ts +1 -3
  721. package/Misc/khronosTextureContainer.js +1 -3
  722. package/Misc/khronosTextureContainer.js.map +1 -1
  723. package/Misc/khronosTextureContainer2.d.ts +1 -4
  724. package/Misc/khronosTextureContainer2.js +1 -4
  725. package/Misc/khronosTextureContainer2.js.map +1 -1
  726. package/Misc/observable.d.ts +3 -4
  727. package/Misc/observable.js +2 -3
  728. package/Misc/observable.js.map +1 -1
  729. package/Misc/pivotTools.d.ts +3 -5
  730. package/Misc/pivotTools.js +3 -5
  731. package/Misc/pivotTools.js.map +1 -1
  732. package/Misc/screenshotTools.js +1 -1
  733. package/Misc/screenshotTools.js.map +1 -1
  734. package/Misc/tags.d.ts +2 -6
  735. package/Misc/tags.js +2 -6
  736. package/Misc/tags.js.map +1 -1
  737. package/Misc/tga.d.ts +14 -70
  738. package/Misc/tga.js +14 -70
  739. package/Misc/tga.js.map +1 -1
  740. package/Misc/tools.d.ts +9 -0
  741. package/Misc/tools.js +14 -5
  742. package/Misc/tools.js.map +1 -1
  743. package/Misc/typeStore.d.ts +2 -5
  744. package/Misc/typeStore.js +3 -6
  745. package/Misc/typeStore.js.map +1 -1
  746. package/Misc/virtualJoystick.js +0 -1
  747. package/Misc/virtualJoystick.js.map +1 -1
  748. package/Misc/webRequest.d.ts +2 -2
  749. package/Misc/webRequest.js +1 -1
  750. package/Misc/webRequest.js.map +1 -1
  751. package/Morph/morphTarget.d.ts +1 -1
  752. package/Morph/morphTarget.js +1 -1
  753. package/Morph/morphTarget.js.map +1 -1
  754. package/Morph/morphTargetManager.d.ts +3 -4
  755. package/Morph/morphTargetManager.js +2 -3
  756. package/Morph/morphTargetManager.js.map +1 -1
  757. package/Particles/IGPUParticleSystemPlatform.d.ts +1 -1
  758. package/Particles/IGPUParticleSystemPlatform.js.map +1 -1
  759. package/Particles/IParticleSystem.d.ts +6 -0
  760. package/Particles/IParticleSystem.js.map +1 -1
  761. package/Particles/baseParticleSystem.d.ts +14 -9
  762. package/Particles/baseParticleSystem.js +17 -8
  763. package/Particles/baseParticleSystem.js.map +1 -1
  764. package/Particles/cloudPoint.d.ts +16 -19
  765. package/Particles/cloudPoint.js +21 -29
  766. package/Particles/cloudPoint.js.map +1 -1
  767. package/Particles/computeShaderParticleSystem.d.ts +1 -1
  768. package/Particles/computeShaderParticleSystem.js +1 -1
  769. package/Particles/computeShaderParticleSystem.js.map +1 -1
  770. package/Particles/gpuParticleSystem.d.ts +14 -20
  771. package/Particles/gpuParticleSystem.js +17 -13
  772. package/Particles/gpuParticleSystem.js.map +1 -1
  773. package/Particles/particle.d.ts +30 -31
  774. package/Particles/particle.js +16 -17
  775. package/Particles/particle.js.map +1 -1
  776. package/Particles/particleSystem.d.ts +16 -32
  777. package/Particles/particleSystem.js +30 -31
  778. package/Particles/particleSystem.js.map +1 -1
  779. package/Particles/pointsCloudSystem.d.ts +3 -4
  780. package/Particles/pointsCloudSystem.js +27 -20
  781. package/Particles/pointsCloudSystem.js.map +1 -1
  782. package/Particles/solidParticle.d.ts +21 -31
  783. package/Particles/solidParticle.js +9 -19
  784. package/Particles/solidParticle.js.map +1 -1
  785. package/Particles/solidParticleSystem.d.ts +14 -16
  786. package/Particles/solidParticleSystem.js +14 -16
  787. package/Particles/solidParticleSystem.js.map +1 -1
  788. package/Particles/subEmitter.d.ts +1 -5
  789. package/Particles/subEmitter.js +1 -5
  790. package/Particles/subEmitter.js.map +1 -1
  791. package/Particles/webgl2ParticleSystem.d.ts +1 -1
  792. package/Particles/webgl2ParticleSystem.js +1 -1
  793. package/Particles/webgl2ParticleSystem.js.map +1 -1
  794. package/Physics/IPhysicsEngine.d.ts +1 -1
  795. package/Physics/IPhysicsEngine.js.map +1 -1
  796. package/Physics/Plugins/ammoJSPlugin.d.ts +3 -0
  797. package/Physics/Plugins/ammoJSPlugin.js +21 -2
  798. package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
  799. package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
  800. package/Physics/Plugins/cannonJSPlugin.js +1 -1
  801. package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
  802. package/Physics/Plugins/oimoJSPlugin.d.ts +1 -1
  803. package/Physics/Plugins/oimoJSPlugin.js +3 -3
  804. package/Physics/Plugins/oimoJSPlugin.js.map +1 -1
  805. package/Physics/physicsEngineComponent.d.ts +4 -4
  806. package/Physics/physicsEngineComponent.js +1 -2
  807. package/Physics/physicsEngineComponent.js.map +1 -1
  808. package/Physics/physicsImpostor.d.ts +13 -7
  809. package/Physics/physicsImpostor.js +9 -6
  810. package/Physics/physicsImpostor.js.map +1 -1
  811. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +1 -1
  812. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +2 -2
  813. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  814. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +2 -4
  815. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +2 -4
  816. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  817. package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +10 -10
  818. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +5 -5
  819. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
  820. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +13 -13
  821. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +7 -14
  822. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  823. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +1 -1
  824. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +1 -1
  825. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
  826. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.d.ts +1 -1
  827. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js.map +1 -1
  828. package/PostProcesses/blackAndWhitePostProcess.d.ts +1 -5
  829. package/PostProcesses/blackAndWhitePostProcess.js +1 -5
  830. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  831. package/PostProcesses/bloomEffect.d.ts +4 -4
  832. package/PostProcesses/bloomEffect.js +3 -3
  833. package/PostProcesses/bloomEffect.js.map +1 -1
  834. package/PostProcesses/blurPostProcess.d.ts +1 -5
  835. package/PostProcesses/blurPostProcess.js +1 -5
  836. package/PostProcesses/blurPostProcess.js.map +1 -1
  837. package/PostProcesses/chromaticAberrationPostProcess.d.ts +1 -5
  838. package/PostProcesses/chromaticAberrationPostProcess.js +1 -5
  839. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  840. package/PostProcesses/colorCorrectionPostProcess.d.ts +1 -5
  841. package/PostProcesses/colorCorrectionPostProcess.js +1 -5
  842. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  843. package/PostProcesses/convolutionPostProcess.d.ts +1 -5
  844. package/PostProcesses/convolutionPostProcess.js +1 -5
  845. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  846. package/PostProcesses/depthOfFieldEffect.d.ts +4 -4
  847. package/PostProcesses/depthOfFieldEffect.js +3 -3
  848. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  849. package/PostProcesses/displayPassPostProcess.d.ts +1 -5
  850. package/PostProcesses/displayPassPostProcess.js +1 -5
  851. package/PostProcesses/displayPassPostProcess.js.map +1 -1
  852. package/PostProcesses/extractHighlightsPostProcess.d.ts +2 -2
  853. package/PostProcesses/extractHighlightsPostProcess.js +2 -2
  854. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  855. package/PostProcesses/filterPostProcess.d.ts +1 -5
  856. package/PostProcesses/filterPostProcess.js +1 -5
  857. package/PostProcesses/filterPostProcess.js.map +1 -1
  858. package/PostProcesses/fxaaPostProcess.d.ts +1 -5
  859. package/PostProcesses/fxaaPostProcess.js +1 -5
  860. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  861. package/PostProcesses/grainPostProcess.d.ts +1 -5
  862. package/PostProcesses/grainPostProcess.js +1 -5
  863. package/PostProcesses/grainPostProcess.js.map +1 -1
  864. package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
  865. package/PostProcesses/imageProcessingPostProcess.js +1 -1
  866. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  867. package/PostProcesses/motionBlurPostProcess.d.ts +1 -5
  868. package/PostProcesses/motionBlurPostProcess.js +1 -5
  869. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  870. package/PostProcesses/passPostProcess.d.ts +2 -10
  871. package/PostProcesses/passPostProcess.js +2 -10
  872. package/PostProcesses/passPostProcess.js.map +1 -1
  873. package/PostProcesses/postProcess.d.ts +8 -12
  874. package/PostProcesses/postProcess.js +6 -10
  875. package/PostProcesses/postProcess.js.map +1 -1
  876. package/PostProcesses/postProcessManager.d.ts +3 -3
  877. package/PostProcesses/postProcessManager.js +3 -3
  878. package/PostProcesses/postProcessManager.js.map +1 -1
  879. package/PostProcesses/refractionPostProcess.d.ts +1 -5
  880. package/PostProcesses/refractionPostProcess.js +1 -5
  881. package/PostProcesses/refractionPostProcess.js.map +1 -1
  882. package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +1 -5
  883. package/PostProcesses/screenSpaceCurvaturePostProcess.js +1 -5
  884. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  885. package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +1 -5
  886. package/PostProcesses/screenSpaceReflectionPostProcess.js +1 -5
  887. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  888. package/PostProcesses/sharpenPostProcess.d.ts +1 -5
  889. package/PostProcesses/sharpenPostProcess.js +1 -5
  890. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  891. package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +1 -1
  892. package/PostProcesses/volumetricLightScatteringPostProcess.js +1 -1
  893. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  894. package/Probes/reflectionProbe.d.ts +1 -1
  895. package/Probes/reflectionProbe.js +1 -1
  896. package/Probes/reflectionProbe.js.map +1 -1
  897. package/Rendering/boundingBoxRenderer.d.ts +5 -5
  898. package/Rendering/boundingBoxRenderer.js +2 -2
  899. package/Rendering/boundingBoxRenderer.js.map +1 -1
  900. package/Rendering/depthPeelingSceneComponent.d.ts +2 -2
  901. package/Rendering/depthPeelingSceneComponent.js.map +1 -1
  902. package/Rendering/depthRenderer.d.ts +1 -2
  903. package/Rendering/depthRenderer.js +1 -2
  904. package/Rendering/depthRenderer.js.map +1 -1
  905. package/Rendering/depthRendererSceneComponent.d.ts +1 -1
  906. package/Rendering/depthRendererSceneComponent.js.map +1 -1
  907. package/Rendering/edgesRenderer.d.ts +2 -2
  908. package/Rendering/edgesRenderer.js +1 -1
  909. package/Rendering/edgesRenderer.js.map +1 -1
  910. package/Rendering/geometryBufferRenderer.d.ts +10 -16
  911. package/Rendering/geometryBufferRenderer.js +9 -15
  912. package/Rendering/geometryBufferRenderer.js.map +1 -1
  913. package/Rendering/geometryBufferRendererSceneComponent.d.ts +1 -1
  914. package/Rendering/geometryBufferRendererSceneComponent.js.map +1 -1
  915. package/Rendering/outlineRenderer.d.ts +3 -3
  916. package/Rendering/outlineRenderer.js.map +1 -1
  917. package/Rendering/prePassRenderer.d.ts +7 -14
  918. package/Rendering/prePassRenderer.js +8 -15
  919. package/Rendering/prePassRenderer.js.map +1 -1
  920. package/Rendering/prePassRendererSceneComponent.d.ts +2 -2
  921. package/Rendering/prePassRendererSceneComponent.js.map +1 -1
  922. package/Rendering/renderingGroup.d.ts +3 -3
  923. package/Rendering/renderingGroup.js +3 -3
  924. package/Rendering/renderingGroup.js.map +1 -1
  925. package/Rendering/renderingManager.d.ts +15 -8
  926. package/Rendering/renderingManager.js +59 -17
  927. package/Rendering/renderingManager.js.map +1 -1
  928. package/Rendering/subSurfaceConfiguration.d.ts +2 -4
  929. package/Rendering/subSurfaceConfiguration.js +2 -4
  930. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  931. package/Rendering/subSurfaceSceneComponent.d.ts +1 -1
  932. package/Rendering/subSurfaceSceneComponent.js.map +1 -1
  933. package/Rendering/utilityLayerRenderer.d.ts +4 -4
  934. package/Rendering/utilityLayerRenderer.js +15 -10
  935. package/Rendering/utilityLayerRenderer.js.map +1 -1
  936. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.d.ts +1 -1
  937. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
  938. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js.map +1 -1
  939. package/Shaders/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
  940. package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
  941. package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  942. package/Shaders/ShadersInclude/backgroundVertexDeclaration.d.ts +1 -1
  943. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
  944. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js.map +1 -1
  945. package/Shaders/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  946. package/Shaders/ShadersInclude/bakedVertexAnimation.js +1 -1
  947. package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  948. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  949. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  950. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  951. package/Shaders/ShadersInclude/bayerDitherFunctions.d.ts +1 -1
  952. package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
  953. package/Shaders/ShadersInclude/bayerDitherFunctions.js.map +1 -1
  954. package/Shaders/ShadersInclude/bonesDeclaration.d.ts +1 -1
  955. package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
  956. package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
  957. package/Shaders/ShadersInclude/bonesVertex.d.ts +1 -1
  958. package/Shaders/ShadersInclude/bonesVertex.js +1 -1
  959. package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
  960. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.d.ts +1 -1
  961. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js +1 -1
  962. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js.map +1 -1
  963. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.d.ts +1 -1
  964. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +1 -1
  965. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
  966. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.d.ts +1 -1
  967. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js +1 -1
  968. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js.map +1 -1
  969. package/Shaders/ShadersInclude/bumpFragment.d.ts +1 -1
  970. package/Shaders/ShadersInclude/bumpFragment.js +1 -1
  971. package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
  972. package/Shaders/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
  973. package/Shaders/ShadersInclude/bumpFragmentFunctions.js +1 -1
  974. package/Shaders/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
  975. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.d.ts +1 -1
  976. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
  977. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  978. package/Shaders/ShadersInclude/bumpVertex.d.ts +1 -1
  979. package/Shaders/ShadersInclude/bumpVertex.js +1 -1
  980. package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
  981. package/Shaders/ShadersInclude/bumpVertexDeclaration.d.ts +1 -1
  982. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
  983. package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  984. package/Shaders/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  985. package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
  986. package/Shaders/ShadersInclude/clipPlaneFragment.js.map +1 -1
  987. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  988. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  989. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  990. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.d.ts +1 -1
  991. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
  992. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js.map +1 -1
  993. package/Shaders/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  994. package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
  995. package/Shaders/ShadersInclude/clipPlaneVertex.js.map +1 -1
  996. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  997. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  998. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  999. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.d.ts +1 -1
  1000. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
  1001. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js.map +1 -1
  1002. package/Shaders/ShadersInclude/defaultFragmentDeclaration.d.ts +1 -1
  1003. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
  1004. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
  1005. package/Shaders/ShadersInclude/defaultUboDeclaration.d.ts +1 -1
  1006. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  1007. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  1008. package/Shaders/ShadersInclude/defaultVertexDeclaration.d.ts +1 -1
  1009. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
  1010. package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
  1011. package/Shaders/ShadersInclude/depthPrePass.d.ts +1 -1
  1012. package/Shaders/ShadersInclude/depthPrePass.js +1 -1
  1013. package/Shaders/ShadersInclude/depthPrePass.js.map +1 -1
  1014. package/Shaders/ShadersInclude/diffusionProfile.d.ts +1 -1
  1015. package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
  1016. package/Shaders/ShadersInclude/diffusionProfile.js.map +1 -1
  1017. package/Shaders/ShadersInclude/fibonacci.d.ts +1 -1
  1018. package/Shaders/ShadersInclude/fibonacci.js +1 -1
  1019. package/Shaders/ShadersInclude/fibonacci.js.map +1 -1
  1020. package/Shaders/ShadersInclude/fogFragment.d.ts +1 -1
  1021. package/Shaders/ShadersInclude/fogFragment.js +1 -1
  1022. package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
  1023. package/Shaders/ShadersInclude/fogFragmentDeclaration.d.ts +1 -1
  1024. package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
  1025. package/Shaders/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
  1026. package/Shaders/ShadersInclude/fogVertex.d.ts +1 -1
  1027. package/Shaders/ShadersInclude/fogVertex.js +1 -1
  1028. package/Shaders/ShadersInclude/fogVertex.js.map +1 -1
  1029. package/Shaders/ShadersInclude/fogVertexDeclaration.d.ts +1 -1
  1030. package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
  1031. package/Shaders/ShadersInclude/fogVertexDeclaration.js.map +1 -1
  1032. package/Shaders/ShadersInclude/fresnelFunction.d.ts +1 -1
  1033. package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
  1034. package/Shaders/ShadersInclude/fresnelFunction.js.map +1 -1
  1035. package/Shaders/ShadersInclude/geometryUboDeclaration.d.ts +1 -1
  1036. package/Shaders/ShadersInclude/geometryUboDeclaration.js +1 -1
  1037. package/Shaders/ShadersInclude/geometryUboDeclaration.js.map +1 -1
  1038. package/Shaders/ShadersInclude/geometryVertexDeclaration.d.ts +1 -1
  1039. package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
  1040. package/Shaders/ShadersInclude/geometryVertexDeclaration.js.map +1 -1
  1041. package/Shaders/ShadersInclude/harmonicsFunctions.d.ts +1 -1
  1042. package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
  1043. package/Shaders/ShadersInclude/harmonicsFunctions.js.map +1 -1
  1044. package/Shaders/ShadersInclude/hdrFilteringFunctions.d.ts +1 -1
  1045. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
  1046. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  1047. package/Shaders/ShadersInclude/helperFunctions.d.ts +1 -1
  1048. package/Shaders/ShadersInclude/helperFunctions.js +1 -1
  1049. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  1050. package/Shaders/ShadersInclude/imageProcessingCompatibility.d.ts +1 -1
  1051. package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
  1052. package/Shaders/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
  1053. package/Shaders/ShadersInclude/imageProcessingDeclaration.d.ts +1 -1
  1054. package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
  1055. package/Shaders/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
  1056. package/Shaders/ShadersInclude/imageProcessingFunctions.d.ts +1 -1
  1057. package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
  1058. package/Shaders/ShadersInclude/imageProcessingFunctions.js.map +1 -1
  1059. package/Shaders/ShadersInclude/importanceSampling.d.ts +1 -1
  1060. package/Shaders/ShadersInclude/importanceSampling.js +1 -1
  1061. package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
  1062. package/Shaders/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1063. package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
  1064. package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
  1065. package/Shaders/ShadersInclude/instancesVertex.d.ts +1 -1
  1066. package/Shaders/ShadersInclude/instancesVertex.js +1 -1
  1067. package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
  1068. package/Shaders/ShadersInclude/kernelBlurFragment.d.ts +1 -1
  1069. package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
  1070. package/Shaders/ShadersInclude/kernelBlurFragment.js.map +1 -1
  1071. package/Shaders/ShadersInclude/kernelBlurFragment2.d.ts +1 -1
  1072. package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
  1073. package/Shaders/ShadersInclude/kernelBlurFragment2.js.map +1 -1
  1074. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.d.ts +1 -1
  1075. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
  1076. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js.map +1 -1
  1077. package/Shaders/ShadersInclude/kernelBlurVertex.d.ts +1 -1
  1078. package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
  1079. package/Shaders/ShadersInclude/kernelBlurVertex.js.map +1 -1
  1080. package/Shaders/ShadersInclude/lightFragment.d.ts +1 -1
  1081. package/Shaders/ShadersInclude/lightFragment.js +1 -1
  1082. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  1083. package/Shaders/ShadersInclude/lightFragmentDeclaration.d.ts +1 -1
  1084. package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
  1085. package/Shaders/ShadersInclude/lightFragmentDeclaration.js.map +1 -1
  1086. package/Shaders/ShadersInclude/lightUboDeclaration.d.ts +1 -1
  1087. package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
  1088. package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
  1089. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.d.ts +1 -1
  1090. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
  1091. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
  1092. package/Shaders/ShadersInclude/lightVxUboDeclaration.d.ts +1 -1
  1093. package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
  1094. package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  1095. package/Shaders/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
  1096. package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
  1097. package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  1098. package/Shaders/ShadersInclude/logDepthDeclaration.d.ts +1 -1
  1099. package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
  1100. package/Shaders/ShadersInclude/logDepthDeclaration.js.map +1 -1
  1101. package/Shaders/ShadersInclude/logDepthFragment.d.ts +1 -1
  1102. package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
  1103. package/Shaders/ShadersInclude/logDepthFragment.js.map +1 -1
  1104. package/Shaders/ShadersInclude/logDepthVertex.d.ts +1 -1
  1105. package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
  1106. package/Shaders/ShadersInclude/logDepthVertex.js.map +1 -1
  1107. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.d.ts +1 -1
  1108. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
  1109. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
  1110. package/Shaders/ShadersInclude/meshFragmentDeclaration.d.ts +1 -1
  1111. package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
  1112. package/Shaders/ShadersInclude/meshFragmentDeclaration.js.map +1 -1
  1113. package/Shaders/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1114. package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
  1115. package/Shaders/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1116. package/Shaders/ShadersInclude/meshVertexDeclaration.d.ts +1 -1
  1117. package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
  1118. package/Shaders/ShadersInclude/meshVertexDeclaration.js.map +1 -1
  1119. package/Shaders/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1120. package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
  1121. package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1122. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1123. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1124. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1125. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1126. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1127. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1128. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1129. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1130. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1131. package/Shaders/ShadersInclude/mrtFragmentDeclaration.d.ts +1 -1
  1132. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
  1133. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
  1134. package/Shaders/ShadersInclude/oitDeclaration.d.ts +1 -1
  1135. package/Shaders/ShadersInclude/oitDeclaration.js +1 -1
  1136. package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
  1137. package/Shaders/ShadersInclude/oitFragment.d.ts +1 -1
  1138. package/Shaders/ShadersInclude/oitFragment.js +1 -1
  1139. package/Shaders/ShadersInclude/oitFragment.js.map +1 -1
  1140. package/Shaders/ShadersInclude/packingFunctions.d.ts +1 -1
  1141. package/Shaders/ShadersInclude/packingFunctions.js +1 -1
  1142. package/Shaders/ShadersInclude/packingFunctions.js.map +1 -1
  1143. package/Shaders/ShadersInclude/pbrBRDFFunctions.d.ts +1 -1
  1144. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
  1145. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  1146. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
  1147. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +3 -3
  1148. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
  1149. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.d.ts +1 -1
  1150. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
  1151. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
  1152. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.d.ts +1 -1
  1153. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
  1154. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
  1155. package/Shaders/ShadersInclude/pbrBlockAnisotropic.d.ts +1 -1
  1156. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
  1157. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
  1158. package/Shaders/ShadersInclude/pbrBlockClearcoat.d.ts +1 -1
  1159. package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
  1160. package/Shaders/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
  1161. package/Shaders/ShadersInclude/pbrBlockDirectLighting.d.ts +1 -1
  1162. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  1163. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  1164. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.d.ts +1 -1
  1165. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
  1166. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
  1167. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.d.ts +1 -1
  1168. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
  1169. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  1170. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.d.ts +1 -1
  1171. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  1172. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  1173. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.d.ts +1 -1
  1174. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
  1175. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
  1176. package/Shaders/ShadersInclude/pbrBlockImageProcessing.d.ts +1 -1
  1177. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
  1178. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
  1179. package/Shaders/ShadersInclude/pbrBlockIridescence.d.ts +1 -1
  1180. package/Shaders/ShadersInclude/pbrBlockIridescence.js +1 -1
  1181. package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -1
  1182. package/Shaders/ShadersInclude/pbrBlockLightmapInit.d.ts +1 -1
  1183. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
  1184. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  1185. package/Shaders/ShadersInclude/pbrBlockNormalFinal.d.ts +1 -1
  1186. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
  1187. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  1188. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.d.ts +1 -1
  1189. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
  1190. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
  1191. package/Shaders/ShadersInclude/pbrBlockReflectance.d.ts +1 -1
  1192. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  1193. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  1194. package/Shaders/ShadersInclude/pbrBlockReflectance0.d.ts +1 -1
  1195. package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
  1196. package/Shaders/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
  1197. package/Shaders/ShadersInclude/pbrBlockReflection.d.ts +1 -1
  1198. package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
  1199. package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
  1200. package/Shaders/ShadersInclude/pbrBlockReflectivity.d.ts +1 -1
  1201. package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
  1202. package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  1203. package/Shaders/ShadersInclude/pbrBlockSheen.d.ts +1 -1
  1204. package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
  1205. package/Shaders/ShadersInclude/pbrBlockSheen.js.map +1 -1
  1206. package/Shaders/ShadersInclude/pbrBlockSubSurface.d.ts +1 -1
  1207. package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
  1208. package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  1209. package/Shaders/ShadersInclude/pbrDebug.d.ts +1 -1
  1210. package/Shaders/ShadersInclude/pbrDebug.js +1 -1
  1211. package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
  1212. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.d.ts +1 -1
  1213. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
  1214. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
  1215. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.d.ts +1 -1
  1216. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  1217. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  1218. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
  1219. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  1220. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  1221. package/Shaders/ShadersInclude/pbrFragmentDeclaration.d.ts +1 -1
  1222. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
  1223. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  1224. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
  1225. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +2 -2
  1226. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
  1227. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +1 -1
  1228. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -1
  1229. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  1230. package/Shaders/ShadersInclude/pbrHelperFunctions.d.ts +1 -1
  1231. package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
  1232. package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  1233. package/Shaders/ShadersInclude/pbrIBLFunctions.d.ts +1 -1
  1234. package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
  1235. package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  1236. package/Shaders/ShadersInclude/pbrUboDeclaration.d.ts +1 -1
  1237. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  1238. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  1239. package/Shaders/ShadersInclude/pbrVertexDeclaration.d.ts +1 -1
  1240. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  1241. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  1242. package/Shaders/ShadersInclude/pointCloudVertex.d.ts +1 -1
  1243. package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
  1244. package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
  1245. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.d.ts +1 -1
  1246. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
  1247. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
  1248. package/Shaders/ShadersInclude/prePassDeclaration.d.ts +1 -1
  1249. package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
  1250. package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
  1251. package/Shaders/ShadersInclude/prePassVertex.d.ts +1 -1
  1252. package/Shaders/ShadersInclude/prePassVertex.js +1 -1
  1253. package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
  1254. package/Shaders/ShadersInclude/prePassVertexDeclaration.d.ts +1 -1
  1255. package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
  1256. package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
  1257. package/Shaders/ShadersInclude/reflectionFunction.d.ts +1 -1
  1258. package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
  1259. package/Shaders/ShadersInclude/reflectionFunction.js.map +1 -1
  1260. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.d.ts +1 -1
  1261. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
  1262. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
  1263. package/Shaders/ShadersInclude/samplerFragmentDeclaration.d.ts +1 -1
  1264. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
  1265. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
  1266. package/Shaders/ShadersInclude/samplerVertexDeclaration.d.ts +1 -1
  1267. package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
  1268. package/Shaders/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
  1269. package/Shaders/ShadersInclude/samplerVertexImplementation.d.ts +1 -1
  1270. package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
  1271. package/Shaders/ShadersInclude/samplerVertexImplementation.js.map +1 -1
  1272. package/Shaders/ShadersInclude/sceneFragmentDeclaration.d.ts +1 -1
  1273. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
  1274. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
  1275. package/Shaders/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1276. package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
  1277. package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1278. package/Shaders/ShadersInclude/sceneVertexDeclaration.d.ts +1 -1
  1279. package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
  1280. package/Shaders/ShadersInclude/sceneVertexDeclaration.js.map +1 -1
  1281. package/Shaders/ShadersInclude/shadowMapFragment.d.ts +1 -1
  1282. package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
  1283. package/Shaders/ShadersInclude/shadowMapFragment.js.map +1 -1
  1284. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +1 -1
  1285. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +1 -1
  1286. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
  1287. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.d.ts +1 -1
  1288. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
  1289. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
  1290. package/Shaders/ShadersInclude/shadowMapUboDeclaration.d.ts +1 -1
  1291. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +1 -1
  1292. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js.map +1 -1
  1293. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.d.ts +1 -1
  1294. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +1 -1
  1295. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js.map +1 -1
  1296. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.d.ts +1 -1
  1297. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
  1298. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
  1299. package/Shaders/ShadersInclude/shadowMapVertexMetric.d.ts +1 -1
  1300. package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
  1301. package/Shaders/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
  1302. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.d.ts +1 -1
  1303. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
  1304. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
  1305. package/Shaders/ShadersInclude/shadowsFragmentFunctions.d.ts +1 -1
  1306. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
  1307. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  1308. package/Shaders/ShadersInclude/shadowsVertex.d.ts +1 -1
  1309. package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
  1310. package/Shaders/ShadersInclude/shadowsVertex.js.map +1 -1
  1311. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.d.ts +1 -1
  1312. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
  1313. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
  1314. package/Shaders/ShadersInclude/uvAttributeDeclaration.d.ts +1 -1
  1315. package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
  1316. package/Shaders/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
  1317. package/Shaders/ShadersInclude/uvVariableDeclaration.d.ts +1 -1
  1318. package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
  1319. package/Shaders/ShadersInclude/uvVariableDeclaration.js.map +1 -1
  1320. package/Shaders/ShadersInclude/vertexColorMixing.d.ts +1 -1
  1321. package/Shaders/ShadersInclude/vertexColorMixing.js +2 -2
  1322. package/Shaders/ShadersInclude/vertexColorMixing.js.map +1 -1
  1323. package/Shaders/anaglyph.fragment.d.ts +1 -1
  1324. package/Shaders/anaglyph.fragment.js +1 -1
  1325. package/Shaders/anaglyph.fragment.js.map +1 -1
  1326. package/Shaders/background.fragment.d.ts +1 -1
  1327. package/Shaders/background.fragment.js +1 -1
  1328. package/Shaders/background.fragment.js.map +1 -1
  1329. package/Shaders/background.vertex.d.ts +1 -1
  1330. package/Shaders/background.vertex.js +1 -1
  1331. package/Shaders/background.vertex.js.map +1 -1
  1332. package/Shaders/blackAndWhite.fragment.d.ts +1 -1
  1333. package/Shaders/blackAndWhite.fragment.js +1 -1
  1334. package/Shaders/blackAndWhite.fragment.js.map +1 -1
  1335. package/Shaders/bloomMerge.fragment.d.ts +1 -1
  1336. package/Shaders/bloomMerge.fragment.js +1 -1
  1337. package/Shaders/bloomMerge.fragment.js.map +1 -1
  1338. package/Shaders/blur.fragment.d.ts +1 -1
  1339. package/Shaders/blur.fragment.js +1 -1
  1340. package/Shaders/blur.fragment.js.map +1 -1
  1341. package/Shaders/boundingBoxRenderer.fragment.d.ts +1 -1
  1342. package/Shaders/boundingBoxRenderer.fragment.js +1 -1
  1343. package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
  1344. package/Shaders/boundingBoxRenderer.vertex.d.ts +1 -1
  1345. package/Shaders/boundingBoxRenderer.vertex.js +1 -1
  1346. package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
  1347. package/Shaders/chromaticAberration.fragment.d.ts +1 -1
  1348. package/Shaders/chromaticAberration.fragment.js +2 -1
  1349. package/Shaders/chromaticAberration.fragment.js.map +1 -1
  1350. package/Shaders/circleOfConfusion.fragment.d.ts +1 -1
  1351. package/Shaders/circleOfConfusion.fragment.js +1 -1
  1352. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  1353. package/Shaders/clearQuad.fragment.d.ts +1 -1
  1354. package/Shaders/clearQuad.fragment.js +1 -1
  1355. package/Shaders/clearQuad.fragment.js.map +1 -1
  1356. package/Shaders/clearQuad.vertex.d.ts +1 -1
  1357. package/Shaders/clearQuad.vertex.js +1 -1
  1358. package/Shaders/clearQuad.vertex.js.map +1 -1
  1359. package/Shaders/color.fragment.d.ts +1 -1
  1360. package/Shaders/color.fragment.js +4 -3
  1361. package/Shaders/color.fragment.js.map +1 -1
  1362. package/Shaders/color.vertex.d.ts +1 -1
  1363. package/Shaders/color.vertex.js +2 -2
  1364. package/Shaders/color.vertex.js.map +1 -1
  1365. package/Shaders/colorCorrection.fragment.d.ts +1 -1
  1366. package/Shaders/colorCorrection.fragment.js +1 -1
  1367. package/Shaders/colorCorrection.fragment.js.map +1 -1
  1368. package/Shaders/convolution.fragment.d.ts +1 -1
  1369. package/Shaders/convolution.fragment.js +1 -1
  1370. package/Shaders/convolution.fragment.js.map +1 -1
  1371. package/Shaders/default.fragment.d.ts +1 -1
  1372. package/Shaders/default.fragment.js +4 -4
  1373. package/Shaders/default.fragment.js.map +1 -1
  1374. package/Shaders/default.vertex.d.ts +1 -1
  1375. package/Shaders/default.vertex.js +2 -2
  1376. package/Shaders/default.vertex.js.map +1 -1
  1377. package/Shaders/depth.fragment.d.ts +1 -1
  1378. package/Shaders/depth.fragment.js +1 -1
  1379. package/Shaders/depth.fragment.js.map +1 -1
  1380. package/Shaders/depth.vertex.d.ts +1 -1
  1381. package/Shaders/depth.vertex.js +1 -1
  1382. package/Shaders/depth.vertex.js.map +1 -1
  1383. package/Shaders/depthBoxBlur.fragment.d.ts +1 -1
  1384. package/Shaders/depthBoxBlur.fragment.js +1 -1
  1385. package/Shaders/depthBoxBlur.fragment.js.map +1 -1
  1386. package/Shaders/depthOfField.fragment.d.ts +1 -1
  1387. package/Shaders/depthOfField.fragment.js +1 -1
  1388. package/Shaders/depthOfField.fragment.js.map +1 -1
  1389. package/Shaders/depthOfFieldMerge.fragment.d.ts +1 -1
  1390. package/Shaders/depthOfFieldMerge.fragment.js +1 -1
  1391. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  1392. package/Shaders/displayPass.fragment.d.ts +1 -1
  1393. package/Shaders/displayPass.fragment.js +1 -1
  1394. package/Shaders/displayPass.fragment.js.map +1 -1
  1395. package/Shaders/extractHighlights.fragment.d.ts +1 -1
  1396. package/Shaders/extractHighlights.fragment.js +1 -1
  1397. package/Shaders/extractHighlights.fragment.js.map +1 -1
  1398. package/Shaders/filter.fragment.d.ts +1 -1
  1399. package/Shaders/filter.fragment.js +1 -1
  1400. package/Shaders/filter.fragment.js.map +1 -1
  1401. package/Shaders/fxaa.fragment.d.ts +1 -1
  1402. package/Shaders/fxaa.fragment.js +1 -1
  1403. package/Shaders/fxaa.fragment.js.map +1 -1
  1404. package/Shaders/fxaa.vertex.d.ts +1 -1
  1405. package/Shaders/fxaa.vertex.js +1 -1
  1406. package/Shaders/fxaa.vertex.js.map +1 -1
  1407. package/Shaders/geometry.fragment.d.ts +1 -1
  1408. package/Shaders/geometry.fragment.js +14 -2
  1409. package/Shaders/geometry.fragment.js.map +1 -1
  1410. package/Shaders/geometry.vertex.d.ts +1 -1
  1411. package/Shaders/geometry.vertex.js +1 -1
  1412. package/Shaders/geometry.vertex.js.map +1 -1
  1413. package/Shaders/glowBlurPostProcess.fragment.d.ts +1 -1
  1414. package/Shaders/glowBlurPostProcess.fragment.js +1 -1
  1415. package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
  1416. package/Shaders/glowMapGeneration.fragment.d.ts +1 -1
  1417. package/Shaders/glowMapGeneration.fragment.js +1 -1
  1418. package/Shaders/glowMapGeneration.fragment.js.map +1 -1
  1419. package/Shaders/glowMapGeneration.vertex.d.ts +1 -1
  1420. package/Shaders/glowMapGeneration.vertex.js +1 -1
  1421. package/Shaders/glowMapGeneration.vertex.js.map +1 -1
  1422. package/Shaders/glowMapMerge.fragment.d.ts +1 -1
  1423. package/Shaders/glowMapMerge.fragment.js +1 -1
  1424. package/Shaders/glowMapMerge.fragment.js.map +1 -1
  1425. package/Shaders/glowMapMerge.vertex.d.ts +1 -1
  1426. package/Shaders/glowMapMerge.vertex.js +1 -1
  1427. package/Shaders/glowMapMerge.vertex.js.map +1 -1
  1428. package/Shaders/gpuRenderParticles.fragment.d.ts +3 -1
  1429. package/Shaders/gpuRenderParticles.fragment.js +9 -2
  1430. package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
  1431. package/Shaders/gpuRenderParticles.vertex.d.ts +3 -1
  1432. package/Shaders/gpuRenderParticles.vertex.js +5 -1
  1433. package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
  1434. package/Shaders/gpuUpdateParticles.fragment.d.ts +1 -1
  1435. package/Shaders/gpuUpdateParticles.fragment.js +1 -1
  1436. package/Shaders/gpuUpdateParticles.fragment.js.map +1 -1
  1437. package/Shaders/gpuUpdateParticles.vertex.d.ts +1 -1
  1438. package/Shaders/gpuUpdateParticles.vertex.js +1 -1
  1439. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  1440. package/Shaders/grain.fragment.d.ts +1 -1
  1441. package/Shaders/grain.fragment.js +1 -1
  1442. package/Shaders/grain.fragment.js.map +1 -1
  1443. package/Shaders/hdrFiltering.fragment.d.ts +1 -1
  1444. package/Shaders/hdrFiltering.fragment.js +1 -1
  1445. package/Shaders/hdrFiltering.fragment.js.map +1 -1
  1446. package/Shaders/hdrFiltering.vertex.d.ts +1 -1
  1447. package/Shaders/hdrFiltering.vertex.js +1 -1
  1448. package/Shaders/hdrFiltering.vertex.js.map +1 -1
  1449. package/Shaders/highlights.fragment.d.ts +1 -1
  1450. package/Shaders/highlights.fragment.js +1 -1
  1451. package/Shaders/highlights.fragment.js.map +1 -1
  1452. package/Shaders/imageProcessing.fragment.d.ts +1 -1
  1453. package/Shaders/imageProcessing.fragment.js +1 -1
  1454. package/Shaders/imageProcessing.fragment.js.map +1 -1
  1455. package/Shaders/kernelBlur.fragment.d.ts +1 -1
  1456. package/Shaders/kernelBlur.fragment.js +1 -1
  1457. package/Shaders/kernelBlur.fragment.js.map +1 -1
  1458. package/Shaders/kernelBlur.vertex.d.ts +1 -1
  1459. package/Shaders/kernelBlur.vertex.js +1 -1
  1460. package/Shaders/kernelBlur.vertex.js.map +1 -1
  1461. package/Shaders/layer.fragment.d.ts +1 -1
  1462. package/Shaders/layer.fragment.js +1 -1
  1463. package/Shaders/layer.fragment.js.map +1 -1
  1464. package/Shaders/layer.vertex.d.ts +1 -1
  1465. package/Shaders/layer.vertex.js +1 -1
  1466. package/Shaders/layer.vertex.js.map +1 -1
  1467. package/Shaders/lensFlare.fragment.d.ts +1 -1
  1468. package/Shaders/lensFlare.fragment.js +1 -1
  1469. package/Shaders/lensFlare.fragment.js.map +1 -1
  1470. package/Shaders/lensFlare.vertex.d.ts +1 -1
  1471. package/Shaders/lensFlare.vertex.js +1 -1
  1472. package/Shaders/lensFlare.vertex.js.map +1 -1
  1473. package/Shaders/lensHighlights.fragment.d.ts +1 -1
  1474. package/Shaders/lensHighlights.fragment.js +1 -1
  1475. package/Shaders/lensHighlights.fragment.js.map +1 -1
  1476. package/Shaders/line.fragment.d.ts +1 -1
  1477. package/Shaders/line.fragment.js +1 -1
  1478. package/Shaders/line.fragment.js.map +1 -1
  1479. package/Shaders/line.vertex.d.ts +1 -1
  1480. package/Shaders/line.vertex.js +1 -1
  1481. package/Shaders/line.vertex.js.map +1 -1
  1482. package/Shaders/minmaxRedux.fragment.d.ts +1 -1
  1483. package/Shaders/minmaxRedux.fragment.js +1 -1
  1484. package/Shaders/minmaxRedux.fragment.js.map +1 -1
  1485. package/Shaders/motionBlur.fragment.d.ts +1 -1
  1486. package/Shaders/motionBlur.fragment.js +1 -1
  1487. package/Shaders/motionBlur.fragment.js.map +1 -1
  1488. package/Shaders/noise.fragment.d.ts +1 -1
  1489. package/Shaders/noise.fragment.js +1 -1
  1490. package/Shaders/noise.fragment.js.map +1 -1
  1491. package/Shaders/oitBackBlend.fragment.d.ts +1 -1
  1492. package/Shaders/oitBackBlend.fragment.js +1 -1
  1493. package/Shaders/oitBackBlend.fragment.js.map +1 -1
  1494. package/Shaders/oitFinal.fragment.d.ts +1 -1
  1495. package/Shaders/oitFinal.fragment.js +1 -1
  1496. package/Shaders/oitFinal.fragment.js.map +1 -1
  1497. package/Shaders/outline.fragment.d.ts +1 -1
  1498. package/Shaders/outline.fragment.js +1 -1
  1499. package/Shaders/outline.fragment.js.map +1 -1
  1500. package/Shaders/outline.vertex.d.ts +1 -1
  1501. package/Shaders/outline.vertex.js +1 -1
  1502. package/Shaders/outline.vertex.js.map +1 -1
  1503. package/Shaders/particles.fragment.d.ts +3 -1
  1504. package/Shaders/particles.fragment.js +9 -2
  1505. package/Shaders/particles.fragment.js.map +1 -1
  1506. package/Shaders/particles.vertex.d.ts +3 -1
  1507. package/Shaders/particles.vertex.js +5 -1
  1508. package/Shaders/particles.vertex.js.map +1 -1
  1509. package/Shaders/pass.fragment.d.ts +1 -1
  1510. package/Shaders/pass.fragment.js +1 -1
  1511. package/Shaders/pass.fragment.js.map +1 -1
  1512. package/Shaders/passCube.fragment.d.ts +1 -1
  1513. package/Shaders/passCube.fragment.js +1 -1
  1514. package/Shaders/passCube.fragment.js.map +1 -1
  1515. package/Shaders/pbr.fragment.d.ts +1 -1
  1516. package/Shaders/pbr.fragment.js +1 -1
  1517. package/Shaders/pbr.fragment.js.map +1 -1
  1518. package/Shaders/pbr.vertex.d.ts +1 -1
  1519. package/Shaders/pbr.vertex.js +2 -2
  1520. package/Shaders/pbr.vertex.js.map +1 -1
  1521. package/Shaders/postprocess.vertex.d.ts +1 -1
  1522. package/Shaders/postprocess.vertex.js +1 -1
  1523. package/Shaders/postprocess.vertex.js.map +1 -1
  1524. package/Shaders/procedural.vertex.d.ts +1 -1
  1525. package/Shaders/procedural.vertex.js +1 -1
  1526. package/Shaders/procedural.vertex.js.map +1 -1
  1527. package/Shaders/refraction.fragment.d.ts +1 -1
  1528. package/Shaders/refraction.fragment.js +1 -1
  1529. package/Shaders/refraction.fragment.js.map +1 -1
  1530. package/Shaders/rgbdDecode.fragment.d.ts +1 -1
  1531. package/Shaders/rgbdDecode.fragment.js +1 -1
  1532. package/Shaders/rgbdDecode.fragment.js.map +1 -1
  1533. package/Shaders/rgbdEncode.fragment.d.ts +1 -1
  1534. package/Shaders/rgbdEncode.fragment.js +1 -1
  1535. package/Shaders/rgbdEncode.fragment.js.map +1 -1
  1536. package/Shaders/screenSpaceCurvature.fragment.d.ts +1 -1
  1537. package/Shaders/screenSpaceCurvature.fragment.js +1 -1
  1538. package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
  1539. package/Shaders/screenSpaceReflection.fragment.d.ts +1 -1
  1540. package/Shaders/screenSpaceReflection.fragment.js +1 -1
  1541. package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
  1542. package/Shaders/shadowMap.fragment.d.ts +1 -1
  1543. package/Shaders/shadowMap.fragment.js +1 -1
  1544. package/Shaders/shadowMap.fragment.js.map +1 -1
  1545. package/Shaders/shadowMap.vertex.d.ts +1 -1
  1546. package/Shaders/shadowMap.vertex.js +1 -1
  1547. package/Shaders/shadowMap.vertex.js.map +1 -1
  1548. package/Shaders/sharpen.fragment.d.ts +1 -1
  1549. package/Shaders/sharpen.fragment.js +1 -1
  1550. package/Shaders/sharpen.fragment.js.map +1 -1
  1551. package/Shaders/spriteMap.fragment.d.ts +1 -1
  1552. package/Shaders/spriteMap.fragment.js +1 -1
  1553. package/Shaders/spriteMap.fragment.js.map +1 -1
  1554. package/Shaders/spriteMap.vertex.d.ts +1 -1
  1555. package/Shaders/spriteMap.vertex.js +1 -1
  1556. package/Shaders/spriteMap.vertex.js.map +1 -1
  1557. package/Shaders/sprites.fragment.d.ts +1 -1
  1558. package/Shaders/sprites.fragment.js +1 -1
  1559. package/Shaders/sprites.fragment.js.map +1 -1
  1560. package/Shaders/sprites.vertex.d.ts +1 -1
  1561. package/Shaders/sprites.vertex.js +1 -1
  1562. package/Shaders/sprites.vertex.js.map +1 -1
  1563. package/Shaders/ssao.fragment.d.ts +1 -1
  1564. package/Shaders/ssao.fragment.js +1 -1
  1565. package/Shaders/ssao.fragment.js.map +1 -1
  1566. package/Shaders/ssao2.fragment.d.ts +1 -1
  1567. package/Shaders/ssao2.fragment.js +1 -1
  1568. package/Shaders/ssao2.fragment.js.map +1 -1
  1569. package/Shaders/ssaoCombine.fragment.d.ts +1 -1
  1570. package/Shaders/ssaoCombine.fragment.js +1 -1
  1571. package/Shaders/ssaoCombine.fragment.js.map +1 -1
  1572. package/Shaders/standard.fragment.d.ts +1 -1
  1573. package/Shaders/standard.fragment.js +1 -1
  1574. package/Shaders/standard.fragment.js.map +1 -1
  1575. package/Shaders/stereoscopicInterlace.fragment.d.ts +1 -1
  1576. package/Shaders/stereoscopicInterlace.fragment.js +1 -1
  1577. package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
  1578. package/Shaders/subSurfaceScattering.fragment.d.ts +1 -1
  1579. package/Shaders/subSurfaceScattering.fragment.js +1 -1
  1580. package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
  1581. package/Shaders/tonemap.fragment.d.ts +1 -1
  1582. package/Shaders/tonemap.fragment.js +1 -1
  1583. package/Shaders/tonemap.fragment.js.map +1 -1
  1584. package/Shaders/volumetricLightScattering.fragment.d.ts +1 -1
  1585. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  1586. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  1587. package/Shaders/volumetricLightScatteringPass.fragment.d.ts +1 -1
  1588. package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
  1589. package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
  1590. package/Shaders/volumetricLightScatteringPass.vertex.d.ts +1 -1
  1591. package/Shaders/volumetricLightScatteringPass.vertex.js +1 -1
  1592. package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
  1593. package/Shaders/vrDistortionCorrection.fragment.d.ts +1 -1
  1594. package/Shaders/vrDistortionCorrection.fragment.js +1 -1
  1595. package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
  1596. package/Shaders/vrMultiviewToSingleview.fragment.d.ts +1 -1
  1597. package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
  1598. package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
  1599. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  1600. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +1 -1
  1601. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  1602. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  1603. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  1604. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  1605. package/ShadersWGSL/ShadersInclude/bonesDeclaration.d.ts +1 -1
  1606. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
  1607. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  1608. package/ShadersWGSL/ShadersInclude/bonesVertex.d.ts +1 -1
  1609. package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
  1610. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  1611. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  1612. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +1 -1
  1613. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
  1614. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  1615. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  1616. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  1617. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  1618. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +1 -1
  1619. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
  1620. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  1621. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  1622. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  1623. package/ShadersWGSL/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1624. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
  1625. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
  1626. package/ShadersWGSL/ShadersInclude/instancesVertex.d.ts +1 -1
  1627. package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
  1628. package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
  1629. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1630. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
  1631. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1632. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1633. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
  1634. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1635. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1636. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1637. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1638. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1639. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1640. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1641. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1642. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1643. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1644. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1645. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
  1646. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1647. package/ShadersWGSL/gpuUpdateParticles.compute.d.ts +1 -1
  1648. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  1649. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  1650. package/Sprites/spriteManager.d.ts +4 -0
  1651. package/Sprites/spriteManager.js +2 -0
  1652. package/Sprites/spriteManager.js.map +1 -1
  1653. package/Sprites/spriteSceneComponent.d.ts +6 -6
  1654. package/Sprites/spriteSceneComponent.js.map +1 -1
  1655. package/Sprites/thinSprite.d.ts +5 -6
  1656. package/Sprites/thinSprite.js +1 -2
  1657. package/Sprites/thinSprite.js.map +1 -1
  1658. package/States/IStencilState.d.ts +1 -1
  1659. package/States/IStencilState.js.map +1 -1
  1660. package/States/alphaCullingState.d.ts +1 -1
  1661. package/States/alphaCullingState.js +1 -1
  1662. package/States/alphaCullingState.js.map +1 -1
  1663. package/States/depthCullingState.d.ts +1 -1
  1664. package/States/depthCullingState.js +1 -1
  1665. package/States/depthCullingState.js.map +1 -1
  1666. package/States/stencilState.d.ts +1 -1
  1667. package/States/stencilState.js +1 -1
  1668. package/States/stencilState.js.map +1 -1
  1669. package/States/stencilStateComposer.d.ts +1 -1
  1670. package/States/stencilStateComposer.js +1 -1
  1671. package/States/stencilStateComposer.js.map +1 -1
  1672. package/XR/features/WebXRControllerPhysics.d.ts +1 -1
  1673. package/XR/features/WebXRControllerPhysics.js +1 -1
  1674. package/XR/features/WebXRControllerPhysics.js.map +1 -1
  1675. package/XR/features/WebXRControllerPointerSelection.d.ts +3 -6
  1676. package/XR/features/WebXRControllerPointerSelection.js +3 -6
  1677. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  1678. package/XR/features/WebXRLayers.d.ts +2 -2
  1679. package/XR/features/WebXRLayers.js +4 -4
  1680. package/XR/features/WebXRLayers.js.map +1 -1
  1681. package/XR/features/WebXRNearInteraction.js +2 -2
  1682. package/XR/features/WebXRNearInteraction.js.map +1 -1
  1683. package/XR/motionController/webXRAbstractMotionController.d.ts +3 -4
  1684. package/XR/motionController/webXRAbstractMotionController.js +2 -3
  1685. package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
  1686. package/XR/native/nativeXRFrame.d.ts +2 -2
  1687. package/XR/native/nativeXRFrame.js +1 -1
  1688. package/XR/native/nativeXRFrame.js.map +1 -1
  1689. package/XR/native/nativeXRRenderTarget.d.ts +3 -3
  1690. package/XR/native/nativeXRRenderTarget.js +3 -3
  1691. package/XR/native/nativeXRRenderTarget.js.map +1 -1
  1692. package/XR/webXRCamera.d.ts +2 -2
  1693. package/XR/webXRCamera.js +1 -1
  1694. package/XR/webXRCamera.js.map +1 -1
  1695. package/XR/webXRDefaultExperience.d.ts +6 -6
  1696. package/XR/webXRDefaultExperience.js.map +1 -1
  1697. package/XR/webXRExperienceHelper.d.ts +21 -1
  1698. package/XR/webXRExperienceHelper.js +37 -7
  1699. package/XR/webXRExperienceHelper.js.map +1 -1
  1700. package/XR/webXRInputSource.d.ts +1 -1
  1701. package/XR/webXRInputSource.js.map +1 -1
  1702. package/XR/webXRLayerWrapper.d.ts +1 -1
  1703. package/XR/webXRLayerWrapper.js +1 -1
  1704. package/XR/webXRLayerWrapper.js.map +1 -1
  1705. package/XR/webXRRenderTargetTextureProvider.d.ts +1 -1
  1706. package/XR/webXRRenderTargetTextureProvider.js +1 -1
  1707. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  1708. package/XR/webXRSessionManager.d.ts +1 -2
  1709. package/XR/webXRSessionManager.js +1 -2
  1710. package/XR/webXRSessionManager.js.map +1 -1
  1711. package/XR/webXRWebGLLayer.d.ts +2 -2
  1712. package/XR/webXRWebGLLayer.js +2 -2
  1713. package/XR/webXRWebGLLayer.js.map +1 -1
  1714. package/abstractScene.d.ts +1 -1
  1715. package/abstractScene.js +1 -1
  1716. package/abstractScene.js.map +1 -1
  1717. package/node.d.ts +40 -52
  1718. package/node.js +40 -55
  1719. package/node.js.map +1 -1
  1720. package/package.json +1 -1
  1721. package/scene.d.ts +83 -107
  1722. package/scene.js +94 -108
  1723. package/scene.js.map +1 -1
  1724. package/sceneComponent.d.ts +4 -2
  1725. package/sceneComponent.js +4 -2
  1726. package/sceneComponent.js.map +1 -1
  1727. package/types.d.ts +2 -2
  1728. package/types.js +1 -1
  1729. package/types.js.map +1 -1
package/Bones/bone.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bone.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Bones/bone.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Skeleton } from \"./skeleton\";\r\nimport { Vector3, Quaternion, Matrix, TmpVectors } from \"../Maths/math.vector\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport type { Nullable } from \"../types\";\r\nimport type { TransformNode } from \"../Meshes/transformNode\";\r\nimport { Node } from \"../node\";\r\nimport { Space } from \"../Maths/math.axis\";\r\n\r\ndeclare type Animation = import(\"../Animations/animation\").Animation;\r\ndeclare type AnimationPropertiesOverride = import(\"../Animations/animationPropertiesOverride\").AnimationPropertiesOverride;\r\n\r\n/**\r\n * Class used to store bone information\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_bones_and_skeletons\r\n */\r\nexport class Bone extends Node {\r\n private static _TmpVecs: Vector3[] = ArrayTools.BuildArray(2, Vector3.Zero);\r\n private static _TmpQuat = Quaternion.Identity();\r\n private static _TmpMats: Matrix[] = ArrayTools.BuildArray(5, Matrix.Identity);\r\n\r\n /**\r\n * Gets the list of child bones\r\n */\r\n public children = new Array<Bone>();\r\n\r\n /** Gets the animations associated with this bone */\r\n public animations = new Array<Animation>();\r\n\r\n /**\r\n * Gets or sets bone length\r\n */\r\n public length: number;\r\n\r\n /**\r\n * @hidden Internal only\r\n * Set this value to map this bone to a different index in the transform matrices\r\n * Set this value to -1 to exclude the bone from the transform matrices\r\n */\r\n public _index: Nullable<number> = null;\r\n\r\n private _skeleton: Skeleton;\r\n private _localMatrix: Matrix;\r\n private _restPose: Matrix;\r\n private _baseMatrix: Matrix;\r\n private _absoluteTransform = new Matrix();\r\n private _invertedAbsoluteTransform = new Matrix();\r\n private _scalingDeterminant = 1;\r\n private _worldTransform = new Matrix();\r\n\r\n private _localScaling: Vector3;\r\n private _localRotation: Quaternion;\r\n private _localPosition: Vector3;\r\n private _needToDecompose = true;\r\n private _needToCompose = false;\r\n\r\n /** @hidden */\r\n public _linkedTransformNode: Nullable<TransformNode> = null;\r\n\r\n /** @hidden */\r\n public _waitingTransformNodeId: Nullable<string> = null;\r\n\r\n /** @hidden */\r\n get _matrix(): Matrix {\r\n this._compose();\r\n return this._localMatrix;\r\n }\r\n\r\n /** @hidden */\r\n set _matrix(value: Matrix) {\r\n this._needToCompose = false; // in case there was a pending compose\r\n\r\n // skip if the matrices are the same\r\n if (value.updateFlag === this._localMatrix.updateFlag) {\r\n return;\r\n }\r\n\r\n this._localMatrix.copyFrom(value);\r\n this._markAsDirtyAndDecompose();\r\n }\r\n\r\n /**\r\n * Create a new bone\r\n * @param name defines the bone name\r\n * @param skeleton defines the parent skeleton\r\n * @param parentBone defines the parent (can be null if the bone is the root)\r\n * @param localMatrix defines the local matrix\r\n * @param restPose defines the rest pose matrix\r\n * @param baseMatrix defines the base matrix\r\n * @param index defines index of the bone in the hierarchy\r\n */\r\n constructor(\r\n /**\r\n * defines the bone name\r\n */\r\n public name: string,\r\n skeleton: Skeleton,\r\n parentBone: Nullable<Bone> = null,\r\n localMatrix: Nullable<Matrix> = null,\r\n restPose: Nullable<Matrix> = null,\r\n baseMatrix: Nullable<Matrix> = null,\r\n index: Nullable<number> = null\r\n ) {\r\n super(name, skeleton.getScene());\r\n this._skeleton = skeleton;\r\n this._localMatrix = localMatrix ? localMatrix.clone() : Matrix.Identity();\r\n this._restPose = restPose ? restPose : this._localMatrix.clone();\r\n this._baseMatrix = baseMatrix ? baseMatrix : this._localMatrix.clone();\r\n this._index = index;\r\n\r\n skeleton.bones.push(this);\r\n\r\n this.setParent(parentBone, false);\r\n\r\n if (baseMatrix || localMatrix) {\r\n this._updateDifferenceMatrix();\r\n }\r\n }\r\n\r\n /**\r\n * Gets the current object class name.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"Bone\";\r\n }\r\n\r\n // Members\r\n\r\n /**\r\n * Gets the parent skeleton\r\n * @returns a skeleton\r\n */\r\n public getSkeleton(): Skeleton {\r\n return this._skeleton;\r\n }\r\n\r\n public get parent(): Bone {\r\n return this._parentNode as Bone;\r\n }\r\n\r\n /**\r\n * Gets parent bone\r\n * @returns a bone or null if the bone is the root of the bone hierarchy\r\n */\r\n public getParent(): Nullable<Bone> {\r\n return this.parent;\r\n }\r\n\r\n /**\r\n * Returns an array containing the root bones\r\n * @returns an array containing the root bones\r\n */\r\n public getChildren(): Array<Bone> {\r\n return this.children;\r\n }\r\n\r\n /**\r\n * Gets the node index in matrix array generated for rendering\r\n * @returns the node index\r\n */\r\n public getIndex(): number {\r\n return this._index === null ? this.getSkeleton().bones.indexOf(this) : this._index;\r\n }\r\n\r\n public set parent(newParent: Nullable<Bone>) {\r\n this.setParent(newParent);\r\n }\r\n\r\n /**\r\n * Sets the parent bone\r\n * @param parent defines the parent (can be null if the bone is the root)\r\n * @param updateDifferenceMatrix defines if the difference matrix must be updated\r\n */\r\n public setParent(parent: Nullable<Bone>, updateDifferenceMatrix: boolean = true): void {\r\n if (this.parent === parent) {\r\n return;\r\n }\r\n\r\n if (this.parent) {\r\n const index = this.parent.children.indexOf(this);\r\n if (index !== -1) {\r\n this.parent.children.splice(index, 1);\r\n }\r\n }\r\n\r\n this._parentNode = parent;\r\n\r\n if (this.parent) {\r\n this.parent.children.push(this);\r\n }\r\n\r\n if (updateDifferenceMatrix) {\r\n this._updateDifferenceMatrix();\r\n }\r\n\r\n this.markAsDirty();\r\n }\r\n\r\n /**\r\n * Gets the local matrix\r\n * @returns a matrix\r\n */\r\n public getLocalMatrix(): Matrix {\r\n this._compose();\r\n return this._localMatrix;\r\n }\r\n\r\n /**\r\n * Gets the base matrix (initial matrix which remains unchanged)\r\n * @returns the base matrix (as known as bind pose matrix)\r\n */\r\n public getBaseMatrix(): Matrix {\r\n return this._baseMatrix;\r\n }\r\n\r\n /**\r\n * Gets the rest pose matrix\r\n * @returns a matrix\r\n */\r\n public getRestPose(): Matrix {\r\n return this._restPose;\r\n }\r\n\r\n /**\r\n * Sets the rest pose matrix\r\n * @param matrix the local-space rest pose to set for this bone\r\n */\r\n public setRestPose(matrix: Matrix): void {\r\n this._restPose.copyFrom(matrix);\r\n }\r\n\r\n /**\r\n * Gets the bind pose matrix\r\n * @returns the bind pose matrix\r\n * @deprecated Please use getBaseMatrix instead\r\n */\r\n public getBindPose(): Matrix {\r\n return this._baseMatrix;\r\n }\r\n\r\n /**\r\n * Sets the bind pose matrix\r\n * @param matrix the local-space bind pose to set for this bone\r\n * @deprecated Please use updateMatrix instead\r\n */\r\n public setBindPose(matrix: Matrix): void {\r\n this.updateMatrix(matrix);\r\n }\r\n\r\n /**\r\n * Gets a matrix used to store world matrix (ie. the matrix sent to shaders)\r\n */\r\n public getWorldMatrix(): Matrix {\r\n return this._worldTransform;\r\n }\r\n\r\n /**\r\n * Sets the local matrix to rest pose matrix\r\n */\r\n public returnToRest(): void {\r\n if (this._linkedTransformNode) {\r\n const localScaling = TmpVectors.Vector3[0];\r\n const localRotation = TmpVectors.Quaternion[0];\r\n const localPosition = TmpVectors.Vector3[1];\r\n\r\n this.getRestPose().decompose(localScaling, localRotation, localPosition);\r\n\r\n this._linkedTransformNode.position.copyFrom(localPosition);\r\n this._linkedTransformNode.rotationQuaternion = this._linkedTransformNode.rotationQuaternion ?? Quaternion.Identity();\r\n this._linkedTransformNode.rotationQuaternion.copyFrom(localRotation);\r\n this._linkedTransformNode.scaling.copyFrom(localScaling);\r\n } else {\r\n this._matrix = this._restPose;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the inverse of the absolute transform matrix.\r\n * This matrix will be multiplied by local matrix to get the difference matrix (ie. the difference between original state and current state)\r\n * @returns a matrix\r\n */\r\n public getInvertedAbsoluteTransform(): Matrix {\r\n return this._invertedAbsoluteTransform;\r\n }\r\n\r\n /**\r\n * Gets the absolute transform matrix (ie base matrix * parent world matrix)\r\n * @returns a matrix\r\n */\r\n public getAbsoluteTransform(): Matrix {\r\n return this._absoluteTransform;\r\n }\r\n\r\n /**\r\n * Links with the given transform node.\r\n * The local matrix of this bone is copied from the transform node every frame.\r\n * @param transformNode defines the transform node to link to\r\n */\r\n public linkTransformNode(transformNode: Nullable<TransformNode>): void {\r\n if (this._linkedTransformNode) {\r\n this._skeleton._numBonesWithLinkedTransformNode--;\r\n }\r\n\r\n this._linkedTransformNode = transformNode;\r\n\r\n if (this._linkedTransformNode) {\r\n this._skeleton._numBonesWithLinkedTransformNode++;\r\n }\r\n }\r\n\r\n // Properties (matches TransformNode properties)\r\n\r\n /**\r\n * Gets the node used to drive the bone's transformation\r\n * @returns a transform node or null\r\n */\r\n public getTransformNode() {\r\n return this._linkedTransformNode;\r\n }\r\n\r\n /** Gets or sets current position (in local space) */\r\n public get position(): Vector3 {\r\n this._decompose();\r\n return this._localPosition;\r\n }\r\n\r\n public set position(newPosition: Vector3) {\r\n this._decompose();\r\n this._localPosition.copyFrom(newPosition);\r\n\r\n this._markAsDirtyAndCompose();\r\n }\r\n\r\n /** Gets or sets current rotation (in local space) */\r\n public get rotation(): Vector3 {\r\n return this.getRotation();\r\n }\r\n\r\n public set rotation(newRotation: Vector3) {\r\n this.setRotation(newRotation);\r\n }\r\n\r\n /** Gets or sets current rotation quaternion (in local space) */\r\n public get rotationQuaternion() {\r\n this._decompose();\r\n return this._localRotation;\r\n }\r\n\r\n public set rotationQuaternion(newRotation: Quaternion) {\r\n this.setRotationQuaternion(newRotation);\r\n }\r\n\r\n /** Gets or sets current scaling (in local space) */\r\n public get scaling(): Vector3 {\r\n return this.getScale();\r\n }\r\n\r\n public set scaling(newScaling: Vector3) {\r\n this.setScale(newScaling);\r\n }\r\n\r\n /**\r\n * Gets the animation properties override\r\n */\r\n public get animationPropertiesOverride(): Nullable<AnimationPropertiesOverride> {\r\n return this._skeleton.animationPropertiesOverride;\r\n }\r\n\r\n // Methods\r\n private _decompose() {\r\n if (!this._needToDecompose) {\r\n return;\r\n }\r\n\r\n this._needToDecompose = false;\r\n\r\n if (!this._localScaling) {\r\n this._localScaling = Vector3.Zero();\r\n this._localRotation = Quaternion.Zero();\r\n this._localPosition = Vector3.Zero();\r\n }\r\n this._localMatrix.decompose(this._localScaling, this._localRotation, this._localPosition);\r\n }\r\n\r\n private _compose() {\r\n if (!this._needToCompose) {\r\n return;\r\n }\r\n\r\n if (!this._localScaling) {\r\n this._needToCompose = false;\r\n return;\r\n }\r\n\r\n this._needToCompose = false;\r\n Matrix.ComposeToRef(this._localScaling, this._localRotation, this._localPosition, this._localMatrix);\r\n }\r\n\r\n /**\r\n * Update the base and local matrices\r\n * @param matrix defines the new base or local matrix\r\n * @param updateDifferenceMatrix defines if the difference matrix must be updated\r\n * @param updateLocalMatrix defines if the local matrix should be updated\r\n */\r\n public updateMatrix(matrix: Matrix, updateDifferenceMatrix = true, updateLocalMatrix = true): void {\r\n this._baseMatrix.copyFrom(matrix);\r\n\r\n if (updateDifferenceMatrix) {\r\n this._updateDifferenceMatrix();\r\n }\r\n\r\n if (updateLocalMatrix) {\r\n this._matrix = matrix;\r\n } else {\r\n this.markAsDirty();\r\n }\r\n }\r\n\r\n /**\r\n * @param rootMatrix\r\n * @param updateChildren\r\n * @hidden\r\n */\r\n public _updateDifferenceMatrix(rootMatrix?: Matrix, updateChildren = true): void {\r\n if (!rootMatrix) {\r\n rootMatrix = this._baseMatrix;\r\n }\r\n\r\n if (this.parent) {\r\n rootMatrix.multiplyToRef(this.parent._absoluteTransform, this._absoluteTransform);\r\n } else {\r\n this._absoluteTransform.copyFrom(rootMatrix);\r\n }\r\n\r\n this._absoluteTransform.invertToRef(this._invertedAbsoluteTransform);\r\n\r\n if (updateChildren) {\r\n for (let index = 0; index < this.children.length; index++) {\r\n this.children[index]._updateDifferenceMatrix();\r\n }\r\n }\r\n\r\n this._scalingDeterminant = this._absoluteTransform.determinant() < 0 ? -1 : 1;\r\n }\r\n\r\n /**\r\n * Flag the bone as dirty (Forcing it to update everything)\r\n * @returns this bone\r\n */\r\n public markAsDirty(): Bone {\r\n this._currentRenderId++;\r\n this._childUpdateId++;\r\n this._skeleton._markAsDirty();\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _markAsDirtyAndCompose() {\r\n this.markAsDirty();\r\n this._needToCompose = true;\r\n }\r\n\r\n private _markAsDirtyAndDecompose() {\r\n this.markAsDirty();\r\n this._needToDecompose = true;\r\n }\r\n\r\n /**\r\n * Translate the bone in local or world space\r\n * @param vec The amount to translate the bone\r\n * @param space The space that the translation is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public translate(vec: Vector3, space = Space.LOCAL, tNode?: TransformNode): void {\r\n const lm = this.getLocalMatrix();\r\n\r\n if (space == Space.LOCAL) {\r\n lm.addAtIndex(12, vec.x);\r\n lm.addAtIndex(13, vec.y);\r\n lm.addAtIndex(14, vec.z);\r\n } else {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n const tmat = Bone._TmpMats[0];\r\n const tvec = Bone._TmpVecs[0];\r\n\r\n if (this.parent) {\r\n if (tNode && wm) {\r\n tmat.copyFrom(this.parent.getAbsoluteTransform());\r\n tmat.multiplyToRef(wm, tmat);\r\n } else {\r\n tmat.copyFrom(this.parent.getAbsoluteTransform());\r\n }\r\n } else {\r\n Matrix.IdentityToRef(tmat);\r\n }\r\n\r\n tmat.setTranslationFromFloats(0, 0, 0);\r\n tmat.invert();\r\n Vector3.TransformCoordinatesToRef(vec, tmat, tvec);\r\n\r\n lm.addAtIndex(12, tvec.x);\r\n lm.addAtIndex(13, tvec.y);\r\n lm.addAtIndex(14, tvec.z);\r\n }\r\n\r\n this._markAsDirtyAndDecompose();\r\n }\r\n\r\n /**\r\n * Set the position of the bone in local or world space\r\n * @param position The position to set the bone\r\n * @param space The space that the position is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setPosition(position: Vector3, space = Space.LOCAL, tNode?: TransformNode): void {\r\n const lm = this.getLocalMatrix();\r\n\r\n if (space == Space.LOCAL) {\r\n lm.setTranslationFromFloats(position.x, position.y, position.z);\r\n } else {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n const tmat = Bone._TmpMats[0];\r\n const vec = Bone._TmpVecs[0];\r\n\r\n if (this.parent) {\r\n if (tNode && wm) {\r\n tmat.copyFrom(this.parent.getAbsoluteTransform());\r\n tmat.multiplyToRef(wm, tmat);\r\n } else {\r\n tmat.copyFrom(this.parent.getAbsoluteTransform());\r\n }\r\n tmat.invert();\r\n } else {\r\n Matrix.IdentityToRef(tmat);\r\n }\r\n\r\n Vector3.TransformCoordinatesToRef(position, tmat, vec);\r\n lm.setTranslationFromFloats(vec.x, vec.y, vec.z);\r\n }\r\n\r\n this._markAsDirtyAndDecompose();\r\n }\r\n\r\n /**\r\n * Set the absolute position of the bone (world space)\r\n * @param position The position to set the bone\r\n * @param tNode The TransformNode that this bone is attached to\r\n */\r\n public setAbsolutePosition(position: Vector3, tNode?: TransformNode) {\r\n this.setPosition(position, Space.WORLD, tNode);\r\n }\r\n\r\n /**\r\n * Scale the bone on the x, y and z axes (in local space)\r\n * @param x The amount to scale the bone on the x axis\r\n * @param y The amount to scale the bone on the y axis\r\n * @param z The amount to scale the bone on the z axis\r\n * @param scaleChildren sets this to true if children of the bone should be scaled as well (false by default)\r\n */\r\n public scale(x: number, y: number, z: number, scaleChildren = false): void {\r\n const locMat = this.getLocalMatrix();\r\n\r\n // Apply new scaling on top of current local matrix\r\n const scaleMat = Bone._TmpMats[0];\r\n Matrix.ScalingToRef(x, y, z, scaleMat);\r\n scaleMat.multiplyToRef(locMat, locMat);\r\n\r\n // Invert scaling matrix and apply the inverse to all children\r\n scaleMat.invert();\r\n\r\n for (const child of this.children) {\r\n const cm = child.getLocalMatrix();\r\n cm.multiplyToRef(scaleMat, cm);\r\n cm.multiplyAtIndex(12, x);\r\n cm.multiplyAtIndex(13, y);\r\n cm.multiplyAtIndex(14, z);\r\n\r\n child._markAsDirtyAndDecompose();\r\n }\r\n\r\n this._markAsDirtyAndDecompose();\r\n\r\n if (scaleChildren) {\r\n for (const child of this.children) {\r\n child.scale(x, y, z, scaleChildren);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Set the bone scaling in local space\r\n * @param scale defines the scaling vector\r\n */\r\n public setScale(scale: Vector3): void {\r\n this._decompose();\r\n this._localScaling.copyFrom(scale);\r\n this._markAsDirtyAndCompose();\r\n }\r\n\r\n /**\r\n * Gets the current scaling in local space\r\n * @returns the current scaling vector\r\n */\r\n public getScale(): Vector3 {\r\n this._decompose();\r\n return this._localScaling;\r\n }\r\n\r\n /**\r\n * Gets the current scaling in local space and stores it in a target vector\r\n * @param result defines the target vector\r\n */\r\n public getScaleToRef(result: Vector3) {\r\n this._decompose();\r\n result.copyFrom(this._localScaling);\r\n }\r\n\r\n /**\r\n * Set the yaw, pitch, and roll of the bone in local or world space\r\n * @param yaw The rotation of the bone on the y axis\r\n * @param pitch The rotation of the bone on the x axis\r\n * @param roll The rotation of the bone on the z axis\r\n * @param space The space that the axes of rotation are in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setYawPitchRoll(yaw: number, pitch: number, roll: number, space = Space.LOCAL, tNode?: TransformNode): void {\r\n if (space === Space.LOCAL) {\r\n const quat = Bone._TmpQuat;\r\n Quaternion.RotationYawPitchRollToRef(yaw, pitch, roll, quat);\r\n this.setRotationQuaternion(quat, space, tNode);\r\n return;\r\n }\r\n\r\n const rotMatInv = Bone._TmpMats[0];\r\n if (!this._getNegativeRotationToRef(rotMatInv, tNode)) {\r\n return;\r\n }\r\n\r\n const rotMat = Bone._TmpMats[1];\r\n Matrix.RotationYawPitchRollToRef(yaw, pitch, roll, rotMat);\r\n\r\n rotMatInv.multiplyToRef(rotMat, rotMat);\r\n this._rotateWithMatrix(rotMat, space, tNode);\r\n }\r\n\r\n /**\r\n * Add a rotation to the bone on an axis in local or world space\r\n * @param axis The axis to rotate the bone on\r\n * @param amount The amount to rotate the bone\r\n * @param space The space that the axis is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public rotate(axis: Vector3, amount: number, space = Space.LOCAL, tNode?: TransformNode): void {\r\n const rmat = Bone._TmpMats[0];\r\n rmat.setTranslationFromFloats(0, 0, 0);\r\n Matrix.RotationAxisToRef(axis, amount, rmat);\r\n this._rotateWithMatrix(rmat, space, tNode);\r\n }\r\n\r\n /**\r\n * Set the rotation of the bone to a particular axis angle in local or world space\r\n * @param axis The axis to rotate the bone on\r\n * @param angle The angle that the bone should be rotated to\r\n * @param space The space that the axis is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setAxisAngle(axis: Vector3, angle: number, space = Space.LOCAL, tNode?: TransformNode): void {\r\n if (space === Space.LOCAL) {\r\n const quat = Bone._TmpQuat;\r\n Quaternion.RotationAxisToRef(axis, angle, quat);\r\n\r\n this.setRotationQuaternion(quat, space, tNode);\r\n return;\r\n }\r\n\r\n const rotMatInv = Bone._TmpMats[0];\r\n if (!this._getNegativeRotationToRef(rotMatInv, tNode)) {\r\n return;\r\n }\r\n\r\n const rotMat = Bone._TmpMats[1];\r\n Matrix.RotationAxisToRef(axis, angle, rotMat);\r\n\r\n rotMatInv.multiplyToRef(rotMat, rotMat);\r\n this._rotateWithMatrix(rotMat, space, tNode);\r\n }\r\n\r\n /**\r\n * Set the euler rotation of the bone in local or world space\r\n * @param rotation The euler rotation that the bone should be set to\r\n * @param space The space that the rotation is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setRotation(rotation: Vector3, space = Space.LOCAL, tNode?: TransformNode): void {\r\n this.setYawPitchRoll(rotation.y, rotation.x, rotation.z, space, tNode);\r\n }\r\n\r\n /**\r\n * Set the quaternion rotation of the bone in local or world space\r\n * @param quat The quaternion rotation that the bone should be set to\r\n * @param space The space that the rotation is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setRotationQuaternion(quat: Quaternion, space = Space.LOCAL, tNode?: TransformNode): void {\r\n if (space === Space.LOCAL) {\r\n this._decompose();\r\n this._localRotation.copyFrom(quat);\r\n\r\n this._markAsDirtyAndCompose();\r\n\r\n return;\r\n }\r\n\r\n const rotMatInv = Bone._TmpMats[0];\r\n if (!this._getNegativeRotationToRef(rotMatInv, tNode)) {\r\n return;\r\n }\r\n\r\n const rotMat = Bone._TmpMats[1];\r\n Matrix.FromQuaternionToRef(quat, rotMat);\r\n\r\n rotMatInv.multiplyToRef(rotMat, rotMat);\r\n\r\n this._rotateWithMatrix(rotMat, space, tNode);\r\n }\r\n\r\n /**\r\n * Set the rotation matrix of the bone in local or world space\r\n * @param rotMat The rotation matrix that the bone should be set to\r\n * @param space The space that the rotation is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setRotationMatrix(rotMat: Matrix, space = Space.LOCAL, tNode?: TransformNode): void {\r\n if (space === Space.LOCAL) {\r\n const quat = Bone._TmpQuat;\r\n Quaternion.FromRotationMatrixToRef(rotMat, quat);\r\n this.setRotationQuaternion(quat, space, tNode);\r\n return;\r\n }\r\n\r\n const rotMatInv = Bone._TmpMats[0];\r\n if (!this._getNegativeRotationToRef(rotMatInv, tNode)) {\r\n return;\r\n }\r\n\r\n const rotMat2 = Bone._TmpMats[1];\r\n rotMat2.copyFrom(rotMat);\r\n\r\n rotMatInv.multiplyToRef(rotMat, rotMat2);\r\n\r\n this._rotateWithMatrix(rotMat2, space, tNode);\r\n }\r\n\r\n private _rotateWithMatrix(rmat: Matrix, space = Space.LOCAL, tNode?: TransformNode): void {\r\n const lmat = this.getLocalMatrix();\r\n const lx = lmat.m[12];\r\n const ly = lmat.m[13];\r\n const lz = lmat.m[14];\r\n const parent = this.getParent();\r\n const parentScale = Bone._TmpMats[3];\r\n const parentScaleInv = Bone._TmpMats[4];\r\n\r\n if (parent && space == Space.WORLD) {\r\n if (tNode) {\r\n parentScale.copyFrom(tNode.getWorldMatrix());\r\n parent.getAbsoluteTransform().multiplyToRef(parentScale, parentScale);\r\n } else {\r\n parentScale.copyFrom(parent.getAbsoluteTransform());\r\n }\r\n parentScaleInv.copyFrom(parentScale);\r\n parentScaleInv.invert();\r\n lmat.multiplyToRef(parentScale, lmat);\r\n lmat.multiplyToRef(rmat, lmat);\r\n lmat.multiplyToRef(parentScaleInv, lmat);\r\n } else {\r\n if (space == Space.WORLD && tNode) {\r\n parentScale.copyFrom(tNode.getWorldMatrix());\r\n parentScaleInv.copyFrom(parentScale);\r\n parentScaleInv.invert();\r\n lmat.multiplyToRef(parentScale, lmat);\r\n lmat.multiplyToRef(rmat, lmat);\r\n lmat.multiplyToRef(parentScaleInv, lmat);\r\n } else {\r\n lmat.multiplyToRef(rmat, lmat);\r\n }\r\n }\r\n\r\n lmat.setTranslationFromFloats(lx, ly, lz);\r\n\r\n this.computeAbsoluteTransforms();\r\n this._markAsDirtyAndDecompose();\r\n }\r\n\r\n private _getNegativeRotationToRef(rotMatInv: Matrix, tNode?: TransformNode): boolean {\r\n const scaleMatrix = Bone._TmpMats[2];\r\n rotMatInv.copyFrom(this.getAbsoluteTransform());\r\n\r\n if (tNode) {\r\n rotMatInv.multiplyToRef(tNode.getWorldMatrix(), rotMatInv);\r\n Matrix.ScalingToRef(tNode.scaling.x, tNode.scaling.y, tNode.scaling.z, scaleMatrix);\r\n } else {\r\n Matrix.IdentityToRef(scaleMatrix);\r\n }\r\n\r\n rotMatInv.invert();\r\n if (isNaN(rotMatInv.m[0])) {\r\n // Matrix failed to invert.\r\n // This can happen if scale is zero for example.\r\n return false;\r\n }\r\n\r\n scaleMatrix.multiplyAtIndex(0, this._scalingDeterminant);\r\n rotMatInv.multiplyToRef(scaleMatrix, rotMatInv);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Get the position of the bone in local or world space\r\n * @param space The space that the returned position is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @returns The position of the bone\r\n */\r\n public getPosition(space = Space.LOCAL, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const pos = Vector3.Zero();\r\n\r\n this.getPositionToRef(space, tNode, pos);\r\n\r\n return pos;\r\n }\r\n\r\n /**\r\n * Copy the position of the bone to a vector3 in local or world space\r\n * @param space The space that the returned position is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @param result The vector3 to copy the position to\r\n */\r\n public getPositionToRef(space = Space.LOCAL, tNode: Nullable<TransformNode>, result: Vector3): void {\r\n if (space == Space.LOCAL) {\r\n const lm = this.getLocalMatrix();\r\n\r\n result.x = lm.m[12];\r\n result.y = lm.m[13];\r\n result.z = lm.m[14];\r\n } else {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n let tmat = Bone._TmpMats[0];\r\n\r\n if (tNode && wm) {\r\n tmat.copyFrom(this.getAbsoluteTransform());\r\n tmat.multiplyToRef(wm, tmat);\r\n } else {\r\n tmat = this.getAbsoluteTransform();\r\n }\r\n\r\n result.x = tmat.m[12];\r\n result.y = tmat.m[13];\r\n result.z = tmat.m[14];\r\n }\r\n }\r\n\r\n /**\r\n * Get the absolute position of the bone (world space)\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @returns The absolute position of the bone\r\n */\r\n public getAbsolutePosition(tNode: Nullable<TransformNode> = null): Vector3 {\r\n const pos = Vector3.Zero();\r\n\r\n this.getPositionToRef(Space.WORLD, tNode, pos);\r\n\r\n return pos;\r\n }\r\n\r\n /**\r\n * Copy the absolute position of the bone (world space) to the result param\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @param result The vector3 to copy the absolute position to\r\n */\r\n public getAbsolutePositionToRef(tNode: TransformNode, result: Vector3) {\r\n this.getPositionToRef(Space.WORLD, tNode, result);\r\n }\r\n\r\n /**\r\n * Compute the absolute transforms of this bone and its children\r\n */\r\n public computeAbsoluteTransforms(): void {\r\n this._compose();\r\n\r\n if (this.parent) {\r\n this._localMatrix.multiplyToRef(this.parent._absoluteTransform, this._absoluteTransform);\r\n } else {\r\n this._absoluteTransform.copyFrom(this._localMatrix);\r\n\r\n const poseMatrix = this._skeleton.getPoseMatrix();\r\n\r\n if (poseMatrix) {\r\n this._absoluteTransform.multiplyToRef(poseMatrix, this._absoluteTransform);\r\n }\r\n }\r\n\r\n const children = this.children;\r\n const len = children.length;\r\n\r\n for (let i = 0; i < len; i++) {\r\n children[i].computeAbsoluteTransforms();\r\n }\r\n }\r\n\r\n /**\r\n * Get the world direction from an axis that is in the local space of the bone\r\n * @param localAxis The local direction that is used to compute the world direction\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @returns The world direction\r\n */\r\n public getDirection(localAxis: Vector3, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const result = Vector3.Zero();\r\n\r\n this.getDirectionToRef(localAxis, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the world direction to a vector3 from an axis that is in the local space of the bone\r\n * @param localAxis The local direction that is used to compute the world direction\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @param result The vector3 that the world direction will be copied to\r\n */\r\n public getDirectionToRef(localAxis: Vector3, tNode: Nullable<TransformNode> = null, result: Vector3): void {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n const mat = Bone._TmpMats[0];\r\n\r\n mat.copyFrom(this.getAbsoluteTransform());\r\n\r\n if (tNode && wm) {\r\n mat.multiplyToRef(wm, mat);\r\n }\r\n\r\n Vector3.TransformNormalToRef(localAxis, mat, result);\r\n\r\n result.normalize();\r\n }\r\n\r\n /**\r\n * Get the euler rotation of the bone in local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @returns The euler rotation\r\n */\r\n public getRotation(space = Space.LOCAL, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const result = Vector3.Zero();\r\n\r\n this.getRotationToRef(space, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the euler rotation of the bone to a vector3. The rotation can be in either local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @param result The vector3 that the rotation should be copied to\r\n */\r\n public getRotationToRef(space = Space.LOCAL, tNode: Nullable<TransformNode> = null, result: Vector3): void {\r\n const quat = Bone._TmpQuat;\r\n\r\n this.getRotationQuaternionToRef(space, tNode, quat);\r\n\r\n quat.toEulerAnglesToRef(result);\r\n }\r\n\r\n /**\r\n * Get the quaternion rotation of the bone in either local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @returns The quaternion rotation\r\n */\r\n public getRotationQuaternion(space = Space.LOCAL, tNode: Nullable<TransformNode> = null): Quaternion {\r\n const result = Quaternion.Identity();\r\n\r\n this.getRotationQuaternionToRef(space, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the quaternion rotation of the bone to a quaternion. The rotation can be in either local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @param result The quaternion that the rotation should be copied to\r\n */\r\n public getRotationQuaternionToRef(space = Space.LOCAL, tNode: Nullable<TransformNode> = null, result: Quaternion): void {\r\n if (space == Space.LOCAL) {\r\n this._decompose();\r\n result.copyFrom(this._localRotation);\r\n } else {\r\n const mat = Bone._TmpMats[0];\r\n const amat = this.getAbsoluteTransform();\r\n\r\n if (tNode) {\r\n amat.multiplyToRef(tNode.getWorldMatrix(), mat);\r\n } else {\r\n mat.copyFrom(amat);\r\n }\r\n\r\n mat.multiplyAtIndex(0, this._scalingDeterminant);\r\n mat.multiplyAtIndex(1, this._scalingDeterminant);\r\n mat.multiplyAtIndex(2, this._scalingDeterminant);\r\n\r\n mat.decompose(undefined, result, undefined);\r\n }\r\n }\r\n\r\n /**\r\n * Get the rotation matrix of the bone in local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @returns The rotation matrix\r\n */\r\n public getRotationMatrix(space = Space.LOCAL, tNode: TransformNode): Matrix {\r\n const result = Matrix.Identity();\r\n\r\n this.getRotationMatrixToRef(space, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the rotation matrix of the bone to a matrix. The rotation can be in either local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @param result The quaternion that the rotation should be copied to\r\n */\r\n public getRotationMatrixToRef(space = Space.LOCAL, tNode: TransformNode, result: Matrix): void {\r\n if (space == Space.LOCAL) {\r\n this.getLocalMatrix().getRotationMatrixToRef(result);\r\n } else {\r\n const mat = Bone._TmpMats[0];\r\n const amat = this.getAbsoluteTransform();\r\n\r\n if (tNode) {\r\n amat.multiplyToRef(tNode.getWorldMatrix(), mat);\r\n } else {\r\n mat.copyFrom(amat);\r\n }\r\n\r\n mat.multiplyAtIndex(0, this._scalingDeterminant);\r\n mat.multiplyAtIndex(1, this._scalingDeterminant);\r\n mat.multiplyAtIndex(2, this._scalingDeterminant);\r\n\r\n mat.getRotationMatrixToRef(result);\r\n }\r\n }\r\n\r\n /**\r\n * Get the world position of a point that is in the local space of the bone\r\n * @param position The local position\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @returns The world position\r\n */\r\n public getAbsolutePositionFromLocal(position: Vector3, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const result = Vector3.Zero();\r\n\r\n this.getAbsolutePositionFromLocalToRef(position, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Get the world position of a point that is in the local space of the bone and copy it to the result param\r\n * @param position The local position\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @param result The vector3 that the world position should be copied to\r\n */\r\n public getAbsolutePositionFromLocalToRef(position: Vector3, tNode: Nullable<TransformNode> = null, result: Vector3): void {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n let tmat = Bone._TmpMats[0];\r\n\r\n if (tNode && wm) {\r\n tmat.copyFrom(this.getAbsoluteTransform());\r\n tmat.multiplyToRef(wm, tmat);\r\n } else {\r\n tmat = this.getAbsoluteTransform();\r\n }\r\n\r\n Vector3.TransformCoordinatesToRef(position, tmat, result);\r\n }\r\n\r\n /**\r\n * Get the local position of a point that is in world space\r\n * @param position The world position\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @returns The local position\r\n */\r\n public getLocalPositionFromAbsolute(position: Vector3, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const result = Vector3.Zero();\r\n\r\n this.getLocalPositionFromAbsoluteToRef(position, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Get the local position of a point that is in world space and copy it to the result param\r\n * @param position The world position\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @param result The vector3 that the local position should be copied to\r\n */\r\n public getLocalPositionFromAbsoluteToRef(position: Vector3, tNode: Nullable<TransformNode> = null, result: Vector3): void {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n const tmat = Bone._TmpMats[0];\r\n\r\n tmat.copyFrom(this.getAbsoluteTransform());\r\n\r\n if (tNode && wm) {\r\n tmat.multiplyToRef(wm, tmat);\r\n }\r\n\r\n tmat.invert();\r\n\r\n Vector3.TransformCoordinatesToRef(position, tmat, result);\r\n }\r\n\r\n /**\r\n * Set the current local matrix as the restPose for this bone.\r\n */\r\n public setCurrentPoseAsRest(): void {\r\n this.setRestPose(this.getLocalMatrix());\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"bone.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Bones/bone.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Skeleton } from \"./skeleton\";\r\nimport { Vector3, Quaternion, Matrix, TmpVectors } from \"../Maths/math.vector\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport type { Nullable } from \"../types\";\r\nimport type { TransformNode } from \"../Meshes/transformNode\";\r\nimport { Node } from \"../node\";\r\nimport { Space } from \"../Maths/math.axis\";\r\n\r\ndeclare type Animation = import(\"../Animations/animation\").Animation;\r\ndeclare type AnimationPropertiesOverride = import(\"../Animations/animationPropertiesOverride\").AnimationPropertiesOverride;\r\n\r\n/**\r\n * Class used to store bone information\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_bones_and_skeletons\r\n */\r\nexport class Bone extends Node {\r\n private static _TmpVecs: Vector3[] = ArrayTools.BuildArray(2, Vector3.Zero);\r\n private static _TmpQuat = Quaternion.Identity();\r\n private static _TmpMats: Matrix[] = ArrayTools.BuildArray(5, Matrix.Identity);\r\n\r\n /**\r\n * Gets the list of child bones\r\n */\r\n public children = new Array<Bone>();\r\n\r\n /** Gets the animations associated with this bone */\r\n public animations = new Array<Animation>();\r\n\r\n /**\r\n * Gets or sets bone length\r\n */\r\n public length: number;\r\n\r\n /**\r\n * @internal Internal only\r\n * Set this value to map this bone to a different index in the transform matrices\r\n * Set this value to -1 to exclude the bone from the transform matrices\r\n */\r\n public _index: Nullable<number> = null;\r\n\r\n private _skeleton: Skeleton;\r\n private _localMatrix: Matrix;\r\n private _restPose: Matrix;\r\n private _baseMatrix: Matrix;\r\n private _absoluteTransform = new Matrix();\r\n private _invertedAbsoluteTransform = new Matrix();\r\n private _scalingDeterminant = 1;\r\n private _worldTransform = new Matrix();\r\n\r\n private _localScaling: Vector3;\r\n private _localRotation: Quaternion;\r\n private _localPosition: Vector3;\r\n private _needToDecompose = true;\r\n private _needToCompose = false;\r\n\r\n /** @internal */\r\n public _linkedTransformNode: Nullable<TransformNode> = null;\r\n\r\n /** @internal */\r\n public _waitingTransformNodeId: Nullable<string> = null;\r\n\r\n /** @internal */\r\n get _matrix(): Matrix {\r\n this._compose();\r\n return this._localMatrix;\r\n }\r\n\r\n /** @internal */\r\n set _matrix(value: Matrix) {\r\n this._needToCompose = false; // in case there was a pending compose\r\n\r\n // skip if the matrices are the same\r\n if (value.updateFlag === this._localMatrix.updateFlag) {\r\n return;\r\n }\r\n\r\n this._localMatrix.copyFrom(value);\r\n this._markAsDirtyAndDecompose();\r\n }\r\n\r\n /**\r\n * Create a new bone\r\n * @param name defines the bone name\r\n * @param skeleton defines the parent skeleton\r\n * @param parentBone defines the parent (can be null if the bone is the root)\r\n * @param localMatrix defines the local matrix\r\n * @param restPose defines the rest pose matrix\r\n * @param baseMatrix defines the base matrix\r\n * @param index defines index of the bone in the hierarchy\r\n */\r\n constructor(\r\n /**\r\n * defines the bone name\r\n */\r\n public name: string,\r\n skeleton: Skeleton,\r\n parentBone: Nullable<Bone> = null,\r\n localMatrix: Nullable<Matrix> = null,\r\n restPose: Nullable<Matrix> = null,\r\n baseMatrix: Nullable<Matrix> = null,\r\n index: Nullable<number> = null\r\n ) {\r\n super(name, skeleton.getScene());\r\n this._skeleton = skeleton;\r\n this._localMatrix = localMatrix ? localMatrix.clone() : Matrix.Identity();\r\n this._restPose = restPose ? restPose : this._localMatrix.clone();\r\n this._baseMatrix = baseMatrix ? baseMatrix : this._localMatrix.clone();\r\n this._index = index;\r\n\r\n skeleton.bones.push(this);\r\n\r\n this.setParent(parentBone, false);\r\n\r\n if (baseMatrix || localMatrix) {\r\n this._updateDifferenceMatrix();\r\n }\r\n }\r\n\r\n /**\r\n * Gets the current object class name.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"Bone\";\r\n }\r\n\r\n // Members\r\n\r\n /**\r\n * Gets the parent skeleton\r\n * @returns a skeleton\r\n */\r\n public getSkeleton(): Skeleton {\r\n return this._skeleton;\r\n }\r\n\r\n public get parent(): Bone {\r\n return this._parentNode as Bone;\r\n }\r\n\r\n /**\r\n * Gets parent bone\r\n * @returns a bone or null if the bone is the root of the bone hierarchy\r\n */\r\n public getParent(): Nullable<Bone> {\r\n return this.parent;\r\n }\r\n\r\n /**\r\n * Returns an array containing the root bones\r\n * @returns an array containing the root bones\r\n */\r\n public getChildren(): Array<Bone> {\r\n return this.children;\r\n }\r\n\r\n /**\r\n * Gets the node index in matrix array generated for rendering\r\n * @returns the node index\r\n */\r\n public getIndex(): number {\r\n return this._index === null ? this.getSkeleton().bones.indexOf(this) : this._index;\r\n }\r\n\r\n public set parent(newParent: Nullable<Bone>) {\r\n this.setParent(newParent);\r\n }\r\n\r\n /**\r\n * Sets the parent bone\r\n * @param parent defines the parent (can be null if the bone is the root)\r\n * @param updateDifferenceMatrix defines if the difference matrix must be updated\r\n */\r\n public setParent(parent: Nullable<Bone>, updateDifferenceMatrix: boolean = true): void {\r\n if (this.parent === parent) {\r\n return;\r\n }\r\n\r\n if (this.parent) {\r\n const index = this.parent.children.indexOf(this);\r\n if (index !== -1) {\r\n this.parent.children.splice(index, 1);\r\n }\r\n }\r\n\r\n this._parentNode = parent;\r\n\r\n if (this.parent) {\r\n this.parent.children.push(this);\r\n }\r\n\r\n if (updateDifferenceMatrix) {\r\n this._updateDifferenceMatrix();\r\n }\r\n\r\n this.markAsDirty();\r\n }\r\n\r\n /**\r\n * Gets the local matrix\r\n * @returns a matrix\r\n */\r\n public getLocalMatrix(): Matrix {\r\n this._compose();\r\n return this._localMatrix;\r\n }\r\n\r\n /**\r\n * Gets the base matrix (initial matrix which remains unchanged)\r\n * @returns the base matrix (as known as bind pose matrix)\r\n */\r\n public getBaseMatrix(): Matrix {\r\n return this._baseMatrix;\r\n }\r\n\r\n /**\r\n * Gets the rest pose matrix\r\n * @returns a matrix\r\n */\r\n public getRestPose(): Matrix {\r\n return this._restPose;\r\n }\r\n\r\n /**\r\n * Sets the rest pose matrix\r\n * @param matrix the local-space rest pose to set for this bone\r\n */\r\n public setRestPose(matrix: Matrix): void {\r\n this._restPose.copyFrom(matrix);\r\n }\r\n\r\n /**\r\n * Gets the bind pose matrix\r\n * @returns the bind pose matrix\r\n * @deprecated Please use getBaseMatrix instead\r\n */\r\n public getBindPose(): Matrix {\r\n return this._baseMatrix;\r\n }\r\n\r\n /**\r\n * Sets the bind pose matrix\r\n * @param matrix the local-space bind pose to set for this bone\r\n * @deprecated Please use updateMatrix instead\r\n */\r\n public setBindPose(matrix: Matrix): void {\r\n this.updateMatrix(matrix);\r\n }\r\n\r\n /**\r\n * Gets a matrix used to store world matrix (ie. the matrix sent to shaders)\r\n */\r\n public getWorldMatrix(): Matrix {\r\n return this._worldTransform;\r\n }\r\n\r\n /**\r\n * Sets the local matrix to rest pose matrix\r\n */\r\n public returnToRest(): void {\r\n if (this._linkedTransformNode) {\r\n const localScaling = TmpVectors.Vector3[0];\r\n const localRotation = TmpVectors.Quaternion[0];\r\n const localPosition = TmpVectors.Vector3[1];\r\n\r\n this.getRestPose().decompose(localScaling, localRotation, localPosition);\r\n\r\n this._linkedTransformNode.position.copyFrom(localPosition);\r\n this._linkedTransformNode.rotationQuaternion = this._linkedTransformNode.rotationQuaternion ?? Quaternion.Identity();\r\n this._linkedTransformNode.rotationQuaternion.copyFrom(localRotation);\r\n this._linkedTransformNode.scaling.copyFrom(localScaling);\r\n } else {\r\n this._matrix = this._restPose;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the inverse of the absolute transform matrix.\r\n * This matrix will be multiplied by local matrix to get the difference matrix (ie. the difference between original state and current state)\r\n * @returns a matrix\r\n */\r\n public getInvertedAbsoluteTransform(): Matrix {\r\n return this._invertedAbsoluteTransform;\r\n }\r\n\r\n /**\r\n * Gets the absolute transform matrix (ie base matrix * parent world matrix)\r\n * @returns a matrix\r\n */\r\n public getAbsoluteTransform(): Matrix {\r\n return this._absoluteTransform;\r\n }\r\n\r\n /**\r\n * Links with the given transform node.\r\n * The local matrix of this bone is copied from the transform node every frame.\r\n * @param transformNode defines the transform node to link to\r\n */\r\n public linkTransformNode(transformNode: Nullable<TransformNode>): void {\r\n if (this._linkedTransformNode) {\r\n this._skeleton._numBonesWithLinkedTransformNode--;\r\n }\r\n\r\n this._linkedTransformNode = transformNode;\r\n\r\n if (this._linkedTransformNode) {\r\n this._skeleton._numBonesWithLinkedTransformNode++;\r\n }\r\n }\r\n\r\n // Properties (matches TransformNode properties)\r\n\r\n /**\r\n * Gets the node used to drive the bone's transformation\r\n * @returns a transform node or null\r\n */\r\n public getTransformNode() {\r\n return this._linkedTransformNode;\r\n }\r\n\r\n /** Gets or sets current position (in local space) */\r\n public get position(): Vector3 {\r\n this._decompose();\r\n return this._localPosition;\r\n }\r\n\r\n public set position(newPosition: Vector3) {\r\n this._decompose();\r\n this._localPosition.copyFrom(newPosition);\r\n\r\n this._markAsDirtyAndCompose();\r\n }\r\n\r\n /** Gets or sets current rotation (in local space) */\r\n public get rotation(): Vector3 {\r\n return this.getRotation();\r\n }\r\n\r\n public set rotation(newRotation: Vector3) {\r\n this.setRotation(newRotation);\r\n }\r\n\r\n /** Gets or sets current rotation quaternion (in local space) */\r\n public get rotationQuaternion() {\r\n this._decompose();\r\n return this._localRotation;\r\n }\r\n\r\n public set rotationQuaternion(newRotation: Quaternion) {\r\n this.setRotationQuaternion(newRotation);\r\n }\r\n\r\n /** Gets or sets current scaling (in local space) */\r\n public get scaling(): Vector3 {\r\n return this.getScale();\r\n }\r\n\r\n public set scaling(newScaling: Vector3) {\r\n this.setScale(newScaling);\r\n }\r\n\r\n /**\r\n * Gets the animation properties override\r\n */\r\n public get animationPropertiesOverride(): Nullable<AnimationPropertiesOverride> {\r\n return this._skeleton.animationPropertiesOverride;\r\n }\r\n\r\n // Methods\r\n private _decompose() {\r\n if (!this._needToDecompose) {\r\n return;\r\n }\r\n\r\n this._needToDecompose = false;\r\n\r\n if (!this._localScaling) {\r\n this._localScaling = Vector3.Zero();\r\n this._localRotation = Quaternion.Zero();\r\n this._localPosition = Vector3.Zero();\r\n }\r\n this._localMatrix.decompose(this._localScaling, this._localRotation, this._localPosition);\r\n }\r\n\r\n private _compose() {\r\n if (!this._needToCompose) {\r\n return;\r\n }\r\n\r\n if (!this._localScaling) {\r\n this._needToCompose = false;\r\n return;\r\n }\r\n\r\n this._needToCompose = false;\r\n Matrix.ComposeToRef(this._localScaling, this._localRotation, this._localPosition, this._localMatrix);\r\n }\r\n\r\n /**\r\n * Update the base and local matrices\r\n * @param matrix defines the new base or local matrix\r\n * @param updateDifferenceMatrix defines if the difference matrix must be updated\r\n * @param updateLocalMatrix defines if the local matrix should be updated\r\n */\r\n public updateMatrix(matrix: Matrix, updateDifferenceMatrix = true, updateLocalMatrix = true): void {\r\n this._baseMatrix.copyFrom(matrix);\r\n\r\n if (updateDifferenceMatrix) {\r\n this._updateDifferenceMatrix();\r\n }\r\n\r\n if (updateLocalMatrix) {\r\n this._matrix = matrix;\r\n } else {\r\n this.markAsDirty();\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _updateDifferenceMatrix(rootMatrix?: Matrix, updateChildren = true): void {\r\n if (!rootMatrix) {\r\n rootMatrix = this._baseMatrix;\r\n }\r\n\r\n if (this.parent) {\r\n rootMatrix.multiplyToRef(this.parent._absoluteTransform, this._absoluteTransform);\r\n } else {\r\n this._absoluteTransform.copyFrom(rootMatrix);\r\n }\r\n\r\n this._absoluteTransform.invertToRef(this._invertedAbsoluteTransform);\r\n\r\n if (updateChildren) {\r\n for (let index = 0; index < this.children.length; index++) {\r\n this.children[index]._updateDifferenceMatrix();\r\n }\r\n }\r\n\r\n this._scalingDeterminant = this._absoluteTransform.determinant() < 0 ? -1 : 1;\r\n }\r\n\r\n /**\r\n * Flag the bone as dirty (Forcing it to update everything)\r\n * @returns this bone\r\n */\r\n public markAsDirty(): Bone {\r\n this._currentRenderId++;\r\n this._childUpdateId++;\r\n this._skeleton._markAsDirty();\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public _markAsDirtyAndCompose() {\r\n this.markAsDirty();\r\n this._needToCompose = true;\r\n }\r\n\r\n private _markAsDirtyAndDecompose() {\r\n this.markAsDirty();\r\n this._needToDecompose = true;\r\n }\r\n\r\n /**\r\n * Translate the bone in local or world space\r\n * @param vec The amount to translate the bone\r\n * @param space The space that the translation is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public translate(vec: Vector3, space = Space.LOCAL, tNode?: TransformNode): void {\r\n const lm = this.getLocalMatrix();\r\n\r\n if (space == Space.LOCAL) {\r\n lm.addAtIndex(12, vec.x);\r\n lm.addAtIndex(13, vec.y);\r\n lm.addAtIndex(14, vec.z);\r\n } else {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n const tmat = Bone._TmpMats[0];\r\n const tvec = Bone._TmpVecs[0];\r\n\r\n if (this.parent) {\r\n if (tNode && wm) {\r\n tmat.copyFrom(this.parent.getAbsoluteTransform());\r\n tmat.multiplyToRef(wm, tmat);\r\n } else {\r\n tmat.copyFrom(this.parent.getAbsoluteTransform());\r\n }\r\n } else {\r\n Matrix.IdentityToRef(tmat);\r\n }\r\n\r\n tmat.setTranslationFromFloats(0, 0, 0);\r\n tmat.invert();\r\n Vector3.TransformCoordinatesToRef(vec, tmat, tvec);\r\n\r\n lm.addAtIndex(12, tvec.x);\r\n lm.addAtIndex(13, tvec.y);\r\n lm.addAtIndex(14, tvec.z);\r\n }\r\n\r\n this._markAsDirtyAndDecompose();\r\n }\r\n\r\n /**\r\n * Set the position of the bone in local or world space\r\n * @param position The position to set the bone\r\n * @param space The space that the position is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setPosition(position: Vector3, space = Space.LOCAL, tNode?: TransformNode): void {\r\n const lm = this.getLocalMatrix();\r\n\r\n if (space == Space.LOCAL) {\r\n lm.setTranslationFromFloats(position.x, position.y, position.z);\r\n } else {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n const tmat = Bone._TmpMats[0];\r\n const vec = Bone._TmpVecs[0];\r\n\r\n if (this.parent) {\r\n if (tNode && wm) {\r\n tmat.copyFrom(this.parent.getAbsoluteTransform());\r\n tmat.multiplyToRef(wm, tmat);\r\n } else {\r\n tmat.copyFrom(this.parent.getAbsoluteTransform());\r\n }\r\n tmat.invert();\r\n } else {\r\n Matrix.IdentityToRef(tmat);\r\n }\r\n\r\n Vector3.TransformCoordinatesToRef(position, tmat, vec);\r\n lm.setTranslationFromFloats(vec.x, vec.y, vec.z);\r\n }\r\n\r\n this._markAsDirtyAndDecompose();\r\n }\r\n\r\n /**\r\n * Set the absolute position of the bone (world space)\r\n * @param position The position to set the bone\r\n * @param tNode The TransformNode that this bone is attached to\r\n */\r\n public setAbsolutePosition(position: Vector3, tNode?: TransformNode) {\r\n this.setPosition(position, Space.WORLD, tNode);\r\n }\r\n\r\n /**\r\n * Scale the bone on the x, y and z axes (in local space)\r\n * @param x The amount to scale the bone on the x axis\r\n * @param y The amount to scale the bone on the y axis\r\n * @param z The amount to scale the bone on the z axis\r\n * @param scaleChildren sets this to true if children of the bone should be scaled as well (false by default)\r\n */\r\n public scale(x: number, y: number, z: number, scaleChildren = false): void {\r\n const locMat = this.getLocalMatrix();\r\n\r\n // Apply new scaling on top of current local matrix\r\n const scaleMat = Bone._TmpMats[0];\r\n Matrix.ScalingToRef(x, y, z, scaleMat);\r\n scaleMat.multiplyToRef(locMat, locMat);\r\n\r\n // Invert scaling matrix and apply the inverse to all children\r\n scaleMat.invert();\r\n\r\n for (const child of this.children) {\r\n const cm = child.getLocalMatrix();\r\n cm.multiplyToRef(scaleMat, cm);\r\n cm.multiplyAtIndex(12, x);\r\n cm.multiplyAtIndex(13, y);\r\n cm.multiplyAtIndex(14, z);\r\n\r\n child._markAsDirtyAndDecompose();\r\n }\r\n\r\n this._markAsDirtyAndDecompose();\r\n\r\n if (scaleChildren) {\r\n for (const child of this.children) {\r\n child.scale(x, y, z, scaleChildren);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Set the bone scaling in local space\r\n * @param scale defines the scaling vector\r\n */\r\n public setScale(scale: Vector3): void {\r\n this._decompose();\r\n this._localScaling.copyFrom(scale);\r\n this._markAsDirtyAndCompose();\r\n }\r\n\r\n /**\r\n * Gets the current scaling in local space\r\n * @returns the current scaling vector\r\n */\r\n public getScale(): Vector3 {\r\n this._decompose();\r\n return this._localScaling;\r\n }\r\n\r\n /**\r\n * Gets the current scaling in local space and stores it in a target vector\r\n * @param result defines the target vector\r\n */\r\n public getScaleToRef(result: Vector3) {\r\n this._decompose();\r\n result.copyFrom(this._localScaling);\r\n }\r\n\r\n /**\r\n * Set the yaw, pitch, and roll of the bone in local or world space\r\n * @param yaw The rotation of the bone on the y axis\r\n * @param pitch The rotation of the bone on the x axis\r\n * @param roll The rotation of the bone on the z axis\r\n * @param space The space that the axes of rotation are in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setYawPitchRoll(yaw: number, pitch: number, roll: number, space = Space.LOCAL, tNode?: TransformNode): void {\r\n if (space === Space.LOCAL) {\r\n const quat = Bone._TmpQuat;\r\n Quaternion.RotationYawPitchRollToRef(yaw, pitch, roll, quat);\r\n this.setRotationQuaternion(quat, space, tNode);\r\n return;\r\n }\r\n\r\n const rotMatInv = Bone._TmpMats[0];\r\n if (!this._getNegativeRotationToRef(rotMatInv, tNode)) {\r\n return;\r\n }\r\n\r\n const rotMat = Bone._TmpMats[1];\r\n Matrix.RotationYawPitchRollToRef(yaw, pitch, roll, rotMat);\r\n\r\n rotMatInv.multiplyToRef(rotMat, rotMat);\r\n this._rotateWithMatrix(rotMat, space, tNode);\r\n }\r\n\r\n /**\r\n * Add a rotation to the bone on an axis in local or world space\r\n * @param axis The axis to rotate the bone on\r\n * @param amount The amount to rotate the bone\r\n * @param space The space that the axis is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public rotate(axis: Vector3, amount: number, space = Space.LOCAL, tNode?: TransformNode): void {\r\n const rmat = Bone._TmpMats[0];\r\n rmat.setTranslationFromFloats(0, 0, 0);\r\n Matrix.RotationAxisToRef(axis, amount, rmat);\r\n this._rotateWithMatrix(rmat, space, tNode);\r\n }\r\n\r\n /**\r\n * Set the rotation of the bone to a particular axis angle in local or world space\r\n * @param axis The axis to rotate the bone on\r\n * @param angle The angle that the bone should be rotated to\r\n * @param space The space that the axis is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setAxisAngle(axis: Vector3, angle: number, space = Space.LOCAL, tNode?: TransformNode): void {\r\n if (space === Space.LOCAL) {\r\n const quat = Bone._TmpQuat;\r\n Quaternion.RotationAxisToRef(axis, angle, quat);\r\n\r\n this.setRotationQuaternion(quat, space, tNode);\r\n return;\r\n }\r\n\r\n const rotMatInv = Bone._TmpMats[0];\r\n if (!this._getNegativeRotationToRef(rotMatInv, tNode)) {\r\n return;\r\n }\r\n\r\n const rotMat = Bone._TmpMats[1];\r\n Matrix.RotationAxisToRef(axis, angle, rotMat);\r\n\r\n rotMatInv.multiplyToRef(rotMat, rotMat);\r\n this._rotateWithMatrix(rotMat, space, tNode);\r\n }\r\n\r\n /**\r\n * Set the euler rotation of the bone in local or world space\r\n * @param rotation The euler rotation that the bone should be set to\r\n * @param space The space that the rotation is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setRotation(rotation: Vector3, space = Space.LOCAL, tNode?: TransformNode): void {\r\n this.setYawPitchRoll(rotation.y, rotation.x, rotation.z, space, tNode);\r\n }\r\n\r\n /**\r\n * Set the quaternion rotation of the bone in local or world space\r\n * @param quat The quaternion rotation that the bone should be set to\r\n * @param space The space that the rotation is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setRotationQuaternion(quat: Quaternion, space = Space.LOCAL, tNode?: TransformNode): void {\r\n if (space === Space.LOCAL) {\r\n this._decompose();\r\n this._localRotation.copyFrom(quat);\r\n\r\n this._markAsDirtyAndCompose();\r\n\r\n return;\r\n }\r\n\r\n const rotMatInv = Bone._TmpMats[0];\r\n if (!this._getNegativeRotationToRef(rotMatInv, tNode)) {\r\n return;\r\n }\r\n\r\n const rotMat = Bone._TmpMats[1];\r\n Matrix.FromQuaternionToRef(quat, rotMat);\r\n\r\n rotMatInv.multiplyToRef(rotMat, rotMat);\r\n\r\n this._rotateWithMatrix(rotMat, space, tNode);\r\n }\r\n\r\n /**\r\n * Set the rotation matrix of the bone in local or world space\r\n * @param rotMat The rotation matrix that the bone should be set to\r\n * @param space The space that the rotation is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n */\r\n public setRotationMatrix(rotMat: Matrix, space = Space.LOCAL, tNode?: TransformNode): void {\r\n if (space === Space.LOCAL) {\r\n const quat = Bone._TmpQuat;\r\n Quaternion.FromRotationMatrixToRef(rotMat, quat);\r\n this.setRotationQuaternion(quat, space, tNode);\r\n return;\r\n }\r\n\r\n const rotMatInv = Bone._TmpMats[0];\r\n if (!this._getNegativeRotationToRef(rotMatInv, tNode)) {\r\n return;\r\n }\r\n\r\n const rotMat2 = Bone._TmpMats[1];\r\n rotMat2.copyFrom(rotMat);\r\n\r\n rotMatInv.multiplyToRef(rotMat, rotMat2);\r\n\r\n this._rotateWithMatrix(rotMat2, space, tNode);\r\n }\r\n\r\n private _rotateWithMatrix(rmat: Matrix, space = Space.LOCAL, tNode?: TransformNode): void {\r\n const lmat = this.getLocalMatrix();\r\n const lx = lmat.m[12];\r\n const ly = lmat.m[13];\r\n const lz = lmat.m[14];\r\n const parent = this.getParent();\r\n const parentScale = Bone._TmpMats[3];\r\n const parentScaleInv = Bone._TmpMats[4];\r\n\r\n if (parent && space == Space.WORLD) {\r\n if (tNode) {\r\n parentScale.copyFrom(tNode.getWorldMatrix());\r\n parent.getAbsoluteTransform().multiplyToRef(parentScale, parentScale);\r\n } else {\r\n parentScale.copyFrom(parent.getAbsoluteTransform());\r\n }\r\n parentScaleInv.copyFrom(parentScale);\r\n parentScaleInv.invert();\r\n lmat.multiplyToRef(parentScale, lmat);\r\n lmat.multiplyToRef(rmat, lmat);\r\n lmat.multiplyToRef(parentScaleInv, lmat);\r\n } else {\r\n if (space == Space.WORLD && tNode) {\r\n parentScale.copyFrom(tNode.getWorldMatrix());\r\n parentScaleInv.copyFrom(parentScale);\r\n parentScaleInv.invert();\r\n lmat.multiplyToRef(parentScale, lmat);\r\n lmat.multiplyToRef(rmat, lmat);\r\n lmat.multiplyToRef(parentScaleInv, lmat);\r\n } else {\r\n lmat.multiplyToRef(rmat, lmat);\r\n }\r\n }\r\n\r\n lmat.setTranslationFromFloats(lx, ly, lz);\r\n\r\n this.computeAbsoluteTransforms();\r\n this._markAsDirtyAndDecompose();\r\n }\r\n\r\n private _getNegativeRotationToRef(rotMatInv: Matrix, tNode?: TransformNode): boolean {\r\n const scaleMatrix = Bone._TmpMats[2];\r\n rotMatInv.copyFrom(this.getAbsoluteTransform());\r\n\r\n if (tNode) {\r\n rotMatInv.multiplyToRef(tNode.getWorldMatrix(), rotMatInv);\r\n Matrix.ScalingToRef(tNode.scaling.x, tNode.scaling.y, tNode.scaling.z, scaleMatrix);\r\n } else {\r\n Matrix.IdentityToRef(scaleMatrix);\r\n }\r\n\r\n rotMatInv.invert();\r\n if (isNaN(rotMatInv.m[0])) {\r\n // Matrix failed to invert.\r\n // This can happen if scale is zero for example.\r\n return false;\r\n }\r\n\r\n scaleMatrix.multiplyAtIndex(0, this._scalingDeterminant);\r\n rotMatInv.multiplyToRef(scaleMatrix, rotMatInv);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Get the position of the bone in local or world space\r\n * @param space The space that the returned position is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @returns The position of the bone\r\n */\r\n public getPosition(space = Space.LOCAL, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const pos = Vector3.Zero();\r\n\r\n this.getPositionToRef(space, tNode, pos);\r\n\r\n return pos;\r\n }\r\n\r\n /**\r\n * Copy the position of the bone to a vector3 in local or world space\r\n * @param space The space that the returned position is in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @param result The vector3 to copy the position to\r\n */\r\n public getPositionToRef(space = Space.LOCAL, tNode: Nullable<TransformNode>, result: Vector3): void {\r\n if (space == Space.LOCAL) {\r\n const lm = this.getLocalMatrix();\r\n\r\n result.x = lm.m[12];\r\n result.y = lm.m[13];\r\n result.z = lm.m[14];\r\n } else {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n let tmat = Bone._TmpMats[0];\r\n\r\n if (tNode && wm) {\r\n tmat.copyFrom(this.getAbsoluteTransform());\r\n tmat.multiplyToRef(wm, tmat);\r\n } else {\r\n tmat = this.getAbsoluteTransform();\r\n }\r\n\r\n result.x = tmat.m[12];\r\n result.y = tmat.m[13];\r\n result.z = tmat.m[14];\r\n }\r\n }\r\n\r\n /**\r\n * Get the absolute position of the bone (world space)\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @returns The absolute position of the bone\r\n */\r\n public getAbsolutePosition(tNode: Nullable<TransformNode> = null): Vector3 {\r\n const pos = Vector3.Zero();\r\n\r\n this.getPositionToRef(Space.WORLD, tNode, pos);\r\n\r\n return pos;\r\n }\r\n\r\n /**\r\n * Copy the absolute position of the bone (world space) to the result param\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @param result The vector3 to copy the absolute position to\r\n */\r\n public getAbsolutePositionToRef(tNode: TransformNode, result: Vector3) {\r\n this.getPositionToRef(Space.WORLD, tNode, result);\r\n }\r\n\r\n /**\r\n * Compute the absolute transforms of this bone and its children\r\n */\r\n public computeAbsoluteTransforms(): void {\r\n this._compose();\r\n\r\n if (this.parent) {\r\n this._localMatrix.multiplyToRef(this.parent._absoluteTransform, this._absoluteTransform);\r\n } else {\r\n this._absoluteTransform.copyFrom(this._localMatrix);\r\n\r\n const poseMatrix = this._skeleton.getPoseMatrix();\r\n\r\n if (poseMatrix) {\r\n this._absoluteTransform.multiplyToRef(poseMatrix, this._absoluteTransform);\r\n }\r\n }\r\n\r\n const children = this.children;\r\n const len = children.length;\r\n\r\n for (let i = 0; i < len; i++) {\r\n children[i].computeAbsoluteTransforms();\r\n }\r\n }\r\n\r\n /**\r\n * Get the world direction from an axis that is in the local space of the bone\r\n * @param localAxis The local direction that is used to compute the world direction\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @returns The world direction\r\n */\r\n public getDirection(localAxis: Vector3, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const result = Vector3.Zero();\r\n\r\n this.getDirectionToRef(localAxis, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the world direction to a vector3 from an axis that is in the local space of the bone\r\n * @param localAxis The local direction that is used to compute the world direction\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @param result The vector3 that the world direction will be copied to\r\n */\r\n public getDirectionToRef(localAxis: Vector3, tNode: Nullable<TransformNode> = null, result: Vector3): void {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n const mat = Bone._TmpMats[0];\r\n\r\n mat.copyFrom(this.getAbsoluteTransform());\r\n\r\n if (tNode && wm) {\r\n mat.multiplyToRef(wm, mat);\r\n }\r\n\r\n Vector3.TransformNormalToRef(localAxis, mat, result);\r\n\r\n result.normalize();\r\n }\r\n\r\n /**\r\n * Get the euler rotation of the bone in local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @returns The euler rotation\r\n */\r\n public getRotation(space = Space.LOCAL, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const result = Vector3.Zero();\r\n\r\n this.getRotationToRef(space, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the euler rotation of the bone to a vector3. The rotation can be in either local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @param result The vector3 that the rotation should be copied to\r\n */\r\n public getRotationToRef(space = Space.LOCAL, tNode: Nullable<TransformNode> = null, result: Vector3): void {\r\n const quat = Bone._TmpQuat;\r\n\r\n this.getRotationQuaternionToRef(space, tNode, quat);\r\n\r\n quat.toEulerAnglesToRef(result);\r\n }\r\n\r\n /**\r\n * Get the quaternion rotation of the bone in either local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @returns The quaternion rotation\r\n */\r\n public getRotationQuaternion(space = Space.LOCAL, tNode: Nullable<TransformNode> = null): Quaternion {\r\n const result = Quaternion.Identity();\r\n\r\n this.getRotationQuaternionToRef(space, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the quaternion rotation of the bone to a quaternion. The rotation can be in either local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @param result The quaternion that the rotation should be copied to\r\n */\r\n public getRotationQuaternionToRef(space = Space.LOCAL, tNode: Nullable<TransformNode> = null, result: Quaternion): void {\r\n if (space == Space.LOCAL) {\r\n this._decompose();\r\n result.copyFrom(this._localRotation);\r\n } else {\r\n const mat = Bone._TmpMats[0];\r\n const amat = this.getAbsoluteTransform();\r\n\r\n if (tNode) {\r\n amat.multiplyToRef(tNode.getWorldMatrix(), mat);\r\n } else {\r\n mat.copyFrom(amat);\r\n }\r\n\r\n mat.multiplyAtIndex(0, this._scalingDeterminant);\r\n mat.multiplyAtIndex(1, this._scalingDeterminant);\r\n mat.multiplyAtIndex(2, this._scalingDeterminant);\r\n\r\n mat.decompose(undefined, result, undefined);\r\n }\r\n }\r\n\r\n /**\r\n * Get the rotation matrix of the bone in local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @returns The rotation matrix\r\n */\r\n public getRotationMatrix(space = Space.LOCAL, tNode: TransformNode): Matrix {\r\n const result = Matrix.Identity();\r\n\r\n this.getRotationMatrixToRef(space, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the rotation matrix of the bone to a matrix. The rotation can be in either local or world space\r\n * @param space The space that the rotation should be in\r\n * @param tNode The TransformNode that this bone is attached to. This is only used in world space\r\n * @param result The quaternion that the rotation should be copied to\r\n */\r\n public getRotationMatrixToRef(space = Space.LOCAL, tNode: TransformNode, result: Matrix): void {\r\n if (space == Space.LOCAL) {\r\n this.getLocalMatrix().getRotationMatrixToRef(result);\r\n } else {\r\n const mat = Bone._TmpMats[0];\r\n const amat = this.getAbsoluteTransform();\r\n\r\n if (tNode) {\r\n amat.multiplyToRef(tNode.getWorldMatrix(), mat);\r\n } else {\r\n mat.copyFrom(amat);\r\n }\r\n\r\n mat.multiplyAtIndex(0, this._scalingDeterminant);\r\n mat.multiplyAtIndex(1, this._scalingDeterminant);\r\n mat.multiplyAtIndex(2, this._scalingDeterminant);\r\n\r\n mat.getRotationMatrixToRef(result);\r\n }\r\n }\r\n\r\n /**\r\n * Get the world position of a point that is in the local space of the bone\r\n * @param position The local position\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @returns The world position\r\n */\r\n public getAbsolutePositionFromLocal(position: Vector3, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const result = Vector3.Zero();\r\n\r\n this.getAbsolutePositionFromLocalToRef(position, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Get the world position of a point that is in the local space of the bone and copy it to the result param\r\n * @param position The local position\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @param result The vector3 that the world position should be copied to\r\n */\r\n public getAbsolutePositionFromLocalToRef(position: Vector3, tNode: Nullable<TransformNode> = null, result: Vector3): void {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n let tmat = Bone._TmpMats[0];\r\n\r\n if (tNode && wm) {\r\n tmat.copyFrom(this.getAbsoluteTransform());\r\n tmat.multiplyToRef(wm, tmat);\r\n } else {\r\n tmat = this.getAbsoluteTransform();\r\n }\r\n\r\n Vector3.TransformCoordinatesToRef(position, tmat, result);\r\n }\r\n\r\n /**\r\n * Get the local position of a point that is in world space\r\n * @param position The world position\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @returns The local position\r\n */\r\n public getLocalPositionFromAbsolute(position: Vector3, tNode: Nullable<TransformNode> = null): Vector3 {\r\n const result = Vector3.Zero();\r\n\r\n this.getLocalPositionFromAbsoluteToRef(position, tNode, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Get the local position of a point that is in world space and copy it to the result param\r\n * @param position The world position\r\n * @param tNode The TransformNode that this bone is attached to\r\n * @param result The vector3 that the local position should be copied to\r\n */\r\n public getLocalPositionFromAbsoluteToRef(position: Vector3, tNode: Nullable<TransformNode> = null, result: Vector3): void {\r\n let wm: Nullable<Matrix> = null;\r\n\r\n //tNode.getWorldMatrix() needs to be called before skeleton.computeAbsoluteTransforms()\r\n if (tNode) {\r\n wm = tNode.getWorldMatrix();\r\n }\r\n\r\n this._skeleton.computeAbsoluteTransforms();\r\n\r\n const tmat = Bone._TmpMats[0];\r\n\r\n tmat.copyFrom(this.getAbsoluteTransform());\r\n\r\n if (tNode && wm) {\r\n tmat.multiplyToRef(wm, tmat);\r\n }\r\n\r\n tmat.invert();\r\n\r\n Vector3.TransformCoordinatesToRef(position, tmat, result);\r\n }\r\n\r\n /**\r\n * Set the current local matrix as the restPose for this bone.\r\n */\r\n public setCurrentPoseAsRest(): void {\r\n this.setRestPose(this.getLocalMatrix());\r\n }\r\n}\r\n"]}
@@ -49,11 +49,11 @@ export declare class Skeleton implements IAnimatable {
49
49
  private _absoluteTransformIsDirty;
50
50
  private _canUseTextureForBones;
51
51
  private _uniqueId;
52
- /** @hidden */
52
+ /** @internal */
53
53
  _numBonesWithLinkedTransformNode: number;
54
- /** @hidden */
54
+ /** @internal */
55
55
  _hasWaitingData: Nullable<boolean>;
56
- /** @hidden */
56
+ /** @internal */
57
57
  _parentContainer: Nullable<AbstractScene>;
58
58
  /**
59
59
  * Specifies if the skeleton should be serialized
@@ -194,16 +194,14 @@ export declare class Skeleton implements IAnimatable {
194
194
  * @returns the original skeleton
195
195
  */
196
196
  static MakeAnimationAdditive(skeleton: Skeleton, referenceFrame: number | undefined, range: string): Nullable<Skeleton>;
197
- /** @hidden */
197
+ /** @internal */
198
198
  _markAsDirty(): void;
199
199
  /**
200
- * @param mesh
201
- * @hidden
200
+ * @internal
202
201
  */
203
202
  _registerMeshWithPoseMatrix(mesh: AbstractMesh): void;
204
203
  /**
205
- * @param mesh
206
- * @hidden
204
+ * @internal
207
205
  */
208
206
  _unregisterMeshWithPoseMatrix(mesh: AbstractMesh): void;
209
207
  private _computeTransformMatrices;
package/Bones/skeleton.js CHANGED
@@ -41,11 +41,11 @@ export class Skeleton {
41
41
  this._absoluteTransformIsDirty = true;
42
42
  this._canUseTextureForBones = false;
43
43
  this._uniqueId = 0;
44
- /** @hidden */
44
+ /** @internal */
45
45
  this._numBonesWithLinkedTransformNode = 0;
46
- /** @hidden */
46
+ /** @internal */
47
47
  this._hasWaitingData = null;
48
- /** @hidden */
48
+ /** @internal */
49
49
  this._parentContainer = null;
50
50
  /**
51
51
  * Specifies if the skeleton should be serialized
@@ -361,21 +361,19 @@ export class Skeleton {
361
361
  }
362
362
  return skeleton;
363
363
  }
364
- /** @hidden */
364
+ /** @internal */
365
365
  _markAsDirty() {
366
366
  this._isDirty = true;
367
367
  this._absoluteTransformIsDirty = true;
368
368
  }
369
369
  /**
370
- * @param mesh
371
- * @hidden
370
+ * @internal
372
371
  */
373
372
  _registerMeshWithPoseMatrix(mesh) {
374
373
  this._meshesWithPoseMatrix.push(mesh);
375
374
  }
376
375
  /**
377
- * @param mesh
378
- * @hidden
376
+ * @internal
379
377
  */
380
378
  _unregisterMeshWithPoseMatrix(mesh) {
381
379
  const index = this._meshesWithPoseMatrix.indexOf(mesh);