@babylonjs/core 5.23.0 → 5.25.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 (1828) hide show
  1. package/Actions/abstractActionManager.d.ts +6 -6
  2. package/Actions/abstractActionManager.js +1 -1
  3. package/Actions/abstractActionManager.js.map +1 -1
  4. package/Actions/action.d.ts +12 -21
  5. package/Actions/action.js +8 -17
  6. package/Actions/action.js.map +1 -1
  7. package/Actions/actionManager.d.ts +7 -10
  8. package/Actions/actionManager.js +7 -10
  9. package/Actions/actionManager.js.map +1 -1
  10. package/Actions/condition.d.ts +9 -50
  11. package/Actions/condition.js +3 -26
  12. package/Actions/condition.js.map +1 -1
  13. package/Actions/directActions.d.ts +7 -7
  14. package/Actions/directActions.js +7 -7
  15. package/Actions/directActions.js.map +1 -1
  16. package/Actions/directAudioActions.d.ts +2 -2
  17. package/Actions/directAudioActions.js +2 -2
  18. package/Actions/directAudioActions.js.map +1 -1
  19. package/Actions/interpolateValueAction.d.ts +1 -1
  20. package/Actions/interpolateValueAction.js +1 -1
  21. package/Actions/interpolateValueAction.js.map +1 -1
  22. package/Animations/animatable.d.ts +5 -6
  23. package/Animations/animatable.js +1 -2
  24. package/Animations/animatable.js.map +1 -1
  25. package/Animations/animation.d.ts +6 -20
  26. package/Animations/animation.js +6 -20
  27. package/Animations/animation.js.map +1 -1
  28. package/Animations/animationEvent.d.ts +1 -1
  29. package/Animations/animationEvent.js +1 -1
  30. package/Animations/animationEvent.js.map +1 -1
  31. package/Animations/animationGroup.d.ts +4 -4
  32. package/Animations/animationGroup.js +4 -4
  33. package/Animations/animationGroup.js.map +1 -1
  34. package/Animations/easing.d.ts +13 -26
  35. package/Animations/easing.js +13 -26
  36. package/Animations/easing.js.map +1 -1
  37. package/Animations/runtimeAnimation.d.ts +3 -4
  38. package/Animations/runtimeAnimation.js +1 -2
  39. package/Animations/runtimeAnimation.js.map +1 -1
  40. package/Audio/audioSceneComponent.d.ts +2 -2
  41. package/Audio/audioSceneComponent.js.map +1 -1
  42. package/Audio/sound.d.ts +3 -4
  43. package/Audio/sound.js +2 -3
  44. package/Audio/sound.js.map +1 -1
  45. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
  46. package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -1
  47. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  48. package/Behaviors/Cameras/autoRotationBehavior.d.ts +1 -1
  49. package/Behaviors/Cameras/autoRotationBehavior.js +1 -1
  50. package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
  51. package/Behaviors/Cameras/bouncingBehavior.d.ts +1 -1
  52. package/Behaviors/Cameras/bouncingBehavior.js +1 -1
  53. package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
  54. package/Behaviors/Cameras/framingBehavior.d.ts +1 -1
  55. package/Behaviors/Cameras/framingBehavior.js +1 -1
  56. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  57. package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
  58. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  59. package/Behaviors/Meshes/baseSixDofDragBehavior.js +5 -5
  60. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  61. package/Behaviors/Meshes/followBehavior.d.ts +1 -1
  62. package/Behaviors/Meshes/followBehavior.js +1 -1
  63. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  64. package/Behaviors/Meshes/pointerDragBehavior.d.ts +1 -1
  65. package/Behaviors/Meshes/pointerDragBehavior.js +1 -1
  66. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  67. package/Bones/bone.d.ts +8 -10
  68. package/Bones/bone.js +8 -10
  69. package/Bones/bone.js.map +1 -1
  70. package/Bones/skeleton.d.ts +8 -10
  71. package/Bones/skeleton.js +8 -10
  72. package/Bones/skeleton.js.map +1 -1
  73. package/Buffers/buffer.d.ts +6 -6
  74. package/Buffers/buffer.js +14 -16
  75. package/Buffers/buffer.js.map +1 -1
  76. package/Buffers/storageBuffer.d.ts +1 -1
  77. package/Buffers/storageBuffer.js +1 -1
  78. package/Buffers/storageBuffer.js.map +1 -1
  79. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.d.ts +1 -2
  80. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +1 -2
  81. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js.map +1 -1
  82. package/Cameras/Inputs/flyCameraKeyboardInput.d.ts +1 -1
  83. package/Cameras/Inputs/flyCameraKeyboardInput.js +1 -1
  84. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  85. package/Cameras/Inputs/freeCameraDeviceOrientationInput.d.ts +2 -2
  86. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +1 -1
  87. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js.map +1 -1
  88. package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +1 -1
  89. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +1 -1
  90. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  91. package/Cameras/Inputs/freeCameraMouseInput.d.ts +1 -1
  92. package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
  93. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  94. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.d.ts +1 -2
  95. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +1 -2
  96. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js.map +1 -1
  97. package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -2
  98. package/Cameras/RigModes/stereoscopicRigMode.js +1 -2
  99. package/Cameras/RigModes/stereoscopicRigMode.js.map +1 -1
  100. package/Cameras/RigModes/vrRigMode.d.ts +1 -3
  101. package/Cameras/RigModes/vrRigMode.js +1 -3
  102. package/Cameras/RigModes/vrRigMode.js.map +1 -1
  103. package/Cameras/RigModes/webVRRigMode.d.ts +1 -3
  104. package/Cameras/RigModes/webVRRigMode.js +1 -3
  105. package/Cameras/RigModes/webVRRigMode.js.map +1 -1
  106. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +2 -3
  107. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +2 -3
  108. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  109. package/Cameras/VR/vrCameraMetrics.d.ts +4 -4
  110. package/Cameras/VR/vrCameraMetrics.js +4 -4
  111. package/Cameras/VR/vrCameraMetrics.js.map +1 -1
  112. package/Cameras/VR/vrExperienceHelper.js +19 -24
  113. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  114. package/Cameras/VR/webVRCamera.d.ts +9 -9
  115. package/Cameras/VR/webVRCamera.js +9 -9
  116. package/Cameras/VR/webVRCamera.js.map +1 -1
  117. package/Cameras/arcRotateCamera.d.ts +12 -13
  118. package/Cameras/arcRotateCamera.js +9 -10
  119. package/Cameras/arcRotateCamera.js.map +1 -1
  120. package/Cameras/camera.d.ts +31 -40
  121. package/Cameras/camera.js +29 -38
  122. package/Cameras/camera.js.map +1 -1
  123. package/Cameras/deviceOrientationCamera.d.ts +1 -1
  124. package/Cameras/deviceOrientationCamera.js +1 -1
  125. package/Cameras/deviceOrientationCamera.js.map +1 -1
  126. package/Cameras/flyCamera.d.ts +8 -12
  127. package/Cameras/flyCamera.js +6 -10
  128. package/Cameras/flyCamera.js.map +1 -1
  129. package/Cameras/followCamera.d.ts +2 -2
  130. package/Cameras/followCamera.js +2 -2
  131. package/Cameras/followCamera.js.map +1 -1
  132. package/Cameras/freeCamera.d.ts +7 -8
  133. package/Cameras/freeCamera.js +5 -6
  134. package/Cameras/freeCamera.js.map +1 -1
  135. package/Cameras/freeCameraInputsManager.d.ts +2 -2
  136. package/Cameras/freeCameraInputsManager.js +2 -2
  137. package/Cameras/freeCameraInputsManager.js.map +1 -1
  138. package/Cameras/gamepadCamera.d.ts +1 -1
  139. package/Cameras/gamepadCamera.js +1 -1
  140. package/Cameras/gamepadCamera.js.map +1 -1
  141. package/Cameras/targetCamera.d.ts +22 -25
  142. package/Cameras/targetCamera.js +21 -24
  143. package/Cameras/targetCamera.js.map +1 -1
  144. package/Cameras/touchCamera.d.ts +2 -2
  145. package/Cameras/touchCamera.js +2 -2
  146. package/Cameras/touchCamera.js.map +1 -1
  147. package/Cameras/universalCamera.d.ts +1 -1
  148. package/Cameras/universalCamera.js +1 -1
  149. package/Cameras/universalCamera.js.map +1 -1
  150. package/Cameras/virtualJoysticksCamera.d.ts +1 -1
  151. package/Cameras/virtualJoysticksCamera.js +1 -1
  152. package/Cameras/virtualJoysticksCamera.js.map +1 -1
  153. package/Collisions/collider.d.ts +13 -44
  154. package/Collisions/collider.js +10 -41
  155. package/Collisions/collider.js.map +1 -1
  156. package/Collisions/collisionCoordinator.d.ts +2 -2
  157. package/Collisions/collisionCoordinator.js +1 -1
  158. package/Collisions/collisionCoordinator.js.map +1 -1
  159. package/Collisions/intersectionInfo.d.ts +1 -1
  160. package/Collisions/intersectionInfo.js +1 -1
  161. package/Collisions/intersectionInfo.js.map +1 -1
  162. package/Collisions/meshCollisionData.d.ts +1 -1
  163. package/Collisions/meshCollisionData.js +1 -1
  164. package/Collisions/meshCollisionData.js.map +1 -1
  165. package/Collisions/pickingInfo.d.ts +1 -1
  166. package/Collisions/pickingInfo.js +1 -1
  167. package/Collisions/pickingInfo.js.map +1 -1
  168. package/Compute/IComputeContext.d.ts +1 -1
  169. package/Compute/IComputeContext.js.map +1 -1
  170. package/Compute/IComputePipelineContext.d.ts +2 -2
  171. package/Compute/IComputePipelineContext.js.map +1 -1
  172. package/Compute/computeEffect.d.ts +5 -5
  173. package/Compute/computeEffect.js +5 -5
  174. package/Compute/computeEffect.js.map +1 -1
  175. package/Culling/Octrees/octreeBlock.d.ts +1 -9
  176. package/Culling/Octrees/octreeBlock.js +1 -9
  177. package/Culling/Octrees/octreeBlock.js.map +1 -1
  178. package/Culling/Octrees/octreeSceneComponent.d.ts +2 -2
  179. package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
  180. package/Culling/boundingBox.d.ts +6 -7
  181. package/Culling/boundingBox.js +5 -6
  182. package/Culling/boundingBox.js.map +1 -1
  183. package/Culling/boundingInfo.d.ts +1 -2
  184. package/Culling/boundingInfo.js +1 -2
  185. package/Culling/boundingInfo.js.map +1 -1
  186. package/Culling/boundingSphere.d.ts +1 -2
  187. package/Culling/boundingSphere.js +1 -2
  188. package/Culling/boundingSphere.js.map +1 -1
  189. package/Culling/ray.d.ts +7 -7
  190. package/Culling/ray.js +1 -1
  191. package/Culling/ray.js.map +1 -1
  192. package/Debug/debugLayer.d.ts +2 -2
  193. package/Debug/debugLayer.js +1 -1
  194. package/Debug/debugLayer.js.map +1 -1
  195. package/Debug/physicsViewer.d.ts +6 -6
  196. package/Debug/physicsViewer.js +4 -4
  197. package/Debug/physicsViewer.js.map +1 -1
  198. package/DeviceInput/InputDevices/deviceEnums.d.ts +1 -1
  199. package/DeviceInput/InputDevices/deviceEnums.js +1 -1
  200. package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
  201. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -3
  202. package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
  203. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  204. package/DeviceInput/internalDeviceSourceManager.d.ts +3 -3
  205. package/DeviceInput/internalDeviceSourceManager.js +1 -1
  206. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  207. package/DeviceInput/nativeDeviceInputSystem.d.ts +1 -1
  208. package/DeviceInput/nativeDeviceInputSystem.js +1 -1
  209. package/DeviceInput/nativeDeviceInputSystem.js.map +1 -1
  210. package/DeviceInput/webDeviceInputSystem.d.ts +1 -1
  211. package/DeviceInput/webDeviceInputSystem.js +1 -1
  212. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  213. package/Engines/Extensions/engine.computeShader.d.ts +7 -7
  214. package/Engines/Extensions/engine.computeShader.js +1 -1
  215. package/Engines/Extensions/engine.computeShader.js.map +1 -1
  216. package/Engines/Extensions/engine.cubeTexture.d.ts +6 -6
  217. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  218. package/Engines/Extensions/engine.debugging.d.ts +4 -4
  219. package/Engines/Extensions/engine.debugging.js.map +1 -1
  220. package/Engines/Extensions/engine.multiRender.js +8 -10
  221. package/Engines/Extensions/engine.multiRender.js.map +1 -1
  222. package/Engines/Extensions/engine.multiview.d.ts +9 -9
  223. package/Engines/Extensions/engine.multiview.js.map +1 -1
  224. package/Engines/Extensions/engine.query.d.ts +24 -24
  225. package/Engines/Extensions/engine.query.js +8 -8
  226. package/Engines/Extensions/engine.query.js.map +1 -1
  227. package/Engines/Extensions/engine.rawTexture.js +3 -7
  228. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  229. package/Engines/Extensions/engine.readTexture.d.ts +2 -2
  230. package/Engines/Extensions/engine.readTexture.js.map +1 -1
  231. package/Engines/Extensions/engine.renderTarget.d.ts +2 -2
  232. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  233. package/Engines/Extensions/engine.textureSelector.d.ts +2 -2
  234. package/Engines/Extensions/engine.textureSelector.js.map +1 -1
  235. package/Engines/Extensions/engine.transformFeedback.d.ts +1 -1
  236. package/Engines/Extensions/engine.transformFeedback.js +1 -1
  237. package/Engines/Extensions/engine.transformFeedback.js.map +1 -1
  238. package/Engines/Extensions/engine.views.d.ts +2 -2
  239. package/Engines/Extensions/engine.views.js.map +1 -1
  240. package/Engines/Extensions/engine.webVR.d.ts +13 -13
  241. package/Engines/Extensions/engine.webVR.js.map +1 -1
  242. package/Engines/ICanvas.d.ts +11 -0
  243. package/Engines/ICanvas.js.map +1 -1
  244. package/Engines/IDrawContext.d.ts +1 -1
  245. package/Engines/IDrawContext.js.map +1 -1
  246. package/Engines/IMaterialContext.d.ts +1 -1
  247. package/Engines/IMaterialContext.js.map +1 -1
  248. package/Engines/IPipelineContext.d.ts +5 -5
  249. package/Engines/IPipelineContext.js.map +1 -1
  250. package/Engines/Native/nativeDataStream.d.ts +2 -2
  251. package/Engines/Native/nativeDataStream.js +1 -1
  252. package/Engines/Native/nativeDataStream.js.map +1 -1
  253. package/Engines/Native/nativeInterfaces.d.ts +10 -10
  254. package/Engines/Native/nativeInterfaces.js.map +1 -1
  255. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.d.ts +1 -1
  256. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
  257. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js.map +1 -1
  258. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -1
  259. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
  260. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
  261. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.d.ts +1 -1
  262. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
  263. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js.map +1 -1
  264. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.d.ts +1 -1
  265. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
  266. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js.map +1 -1
  267. package/Engines/Processors/Expressions/shaderDefineExpression.d.ts +1 -1
  268. package/Engines/Processors/Expressions/shaderDefineExpression.js +1 -1
  269. package/Engines/Processors/Expressions/shaderDefineExpression.js.map +1 -1
  270. package/Engines/Processors/iShaderProcessor.d.ts +1 -1
  271. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  272. package/Engines/Processors/shaderCodeConditionNode.d.ts +1 -1
  273. package/Engines/Processors/shaderCodeConditionNode.js +1 -1
  274. package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
  275. package/Engines/Processors/shaderCodeCursor.d.ts +1 -1
  276. package/Engines/Processors/shaderCodeCursor.js +1 -1
  277. package/Engines/Processors/shaderCodeCursor.js.map +1 -1
  278. package/Engines/Processors/shaderCodeNode.d.ts +1 -1
  279. package/Engines/Processors/shaderCodeNode.js +1 -1
  280. package/Engines/Processors/shaderCodeNode.js.map +1 -1
  281. package/Engines/Processors/shaderCodeTestNode.d.ts +1 -1
  282. package/Engines/Processors/shaderCodeTestNode.js +1 -1
  283. package/Engines/Processors/shaderCodeTestNode.js.map +1 -1
  284. package/Engines/Processors/shaderProcessingOptions.d.ts +2 -2
  285. package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
  286. package/Engines/Processors/shaderProcessor.d.ts +2 -2
  287. package/Engines/Processors/shaderProcessor.js +2 -2
  288. package/Engines/Processors/shaderProcessor.js.map +1 -1
  289. package/Engines/WebGL/webGL2ShaderProcessors.d.ts +1 -1
  290. package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
  291. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  292. package/Engines/WebGL/webGLHardwareTexture.d.ts +1 -1
  293. package/Engines/WebGL/webGLHardwareTexture.js +1 -1
  294. package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
  295. package/Engines/WebGL/webGLPipelineContext.d.ts +29 -38
  296. package/Engines/WebGL/webGLPipelineContext.js +95 -326
  297. package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
  298. package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +2 -2
  299. package/Engines/WebGL/webGLRenderTargetWrapper.js +3 -3
  300. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  301. package/Engines/WebGL/webGLShaderProcessors.d.ts +1 -1
  302. package/Engines/WebGL/webGLShaderProcessors.js +1 -1
  303. package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
  304. package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +1 -1
  305. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  306. package/Engines/WebGPU/Extensions/engine.rawTexture.js +1 -5
  307. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  308. package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
  309. package/Engines/WebGPU/webgpuBufferManager.js +1 -1
  310. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  311. package/Engines/WebGPU/webgpuBundleList.d.ts +8 -8
  312. package/Engines/WebGPU/webgpuBundleList.js +7 -7
  313. package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
  314. package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +1 -1
  315. package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
  316. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  317. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
  318. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +1 -1
  319. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  320. package/Engines/WebGPU/webgpuCacheRenderPipelineString.d.ts +1 -1
  321. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
  322. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js.map +1 -1
  323. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
  324. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +2 -2
  325. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
  326. package/Engines/WebGPU/webgpuCacheSampler.d.ts +1 -1
  327. package/Engines/WebGPU/webgpuCacheSampler.js +1 -1
  328. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  329. package/Engines/WebGPU/webgpuClearQuad.d.ts +1 -1
  330. package/Engines/WebGPU/webgpuClearQuad.js +1 -1
  331. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  332. package/Engines/WebGPU/webgpuComputeContext.d.ts +1 -1
  333. package/Engines/WebGPU/webgpuComputeContext.js +1 -1
  334. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  335. package/Engines/WebGPU/webgpuComputePipelineContext.d.ts +2 -2
  336. package/Engines/WebGPU/webgpuComputePipelineContext.js +1 -1
  337. package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
  338. package/Engines/WebGPU/webgpuConstants.d.ts +38 -38
  339. package/Engines/WebGPU/webgpuConstants.js +38 -38
  340. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  341. package/Engines/WebGPU/webgpuDepthCullingState.d.ts +1 -1
  342. package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
  343. package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
  344. package/Engines/WebGPU/webgpuDrawContext.d.ts +1 -1
  345. package/Engines/WebGPU/webgpuDrawContext.js +1 -1
  346. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  347. package/Engines/WebGPU/webgpuExternalTexture.d.ts +1 -1
  348. package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
  349. package/Engines/WebGPU/webgpuExternalTexture.js.map +1 -1
  350. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +9 -9
  351. package/Engines/WebGPU/webgpuHardwareTexture.js +1 -1
  352. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  353. package/Engines/WebGPU/webgpuMaterialContext.d.ts +3 -3
  354. package/Engines/WebGPU/webgpuMaterialContext.js +1 -1
  355. package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
  356. package/Engines/WebGPU/webgpuOcclusionQuery.d.ts +1 -1
  357. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
  358. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  359. package/Engines/WebGPU/webgpuPipelineContext.d.ts +4 -4
  360. package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
  361. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  362. package/Engines/WebGPU/webgpuQuerySet.d.ts +1 -1
  363. package/Engines/WebGPU/webgpuQuerySet.js +1 -1
  364. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  365. package/Engines/WebGPU/webgpuRenderPassWrapper.d.ts +1 -1
  366. package/Engines/WebGPU/webgpuRenderPassWrapper.js +1 -1
  367. package/Engines/WebGPU/webgpuRenderPassWrapper.js.map +1 -1
  368. package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +2 -2
  369. package/Engines/WebGPU/webgpuRenderTargetWrapper.js +1 -1
  370. package/Engines/WebGPU/webgpuRenderTargetWrapper.js.map +1 -1
  371. package/Engines/WebGPU/webgpuShaderProcessingContext.d.ts +7 -7
  372. package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -2
  373. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  374. package/Engines/WebGPU/webgpuShaderProcessor.d.ts +1 -1
  375. package/Engines/WebGPU/webgpuShaderProcessor.js +1 -1
  376. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  377. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -1
  378. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +1 -1
  379. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  380. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -1
  381. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +1 -1
  382. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  383. package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +1 -1
  384. package/Engines/WebGPU/webgpuSnapshotRendering.js +1 -1
  385. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  386. package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +1 -1
  387. package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
  388. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  389. package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -1
  390. package/Engines/WebGPU/webgpuTextureHelper.js +1 -1
  391. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  392. package/Engines/WebGPU/webgpuTimestampQuery.d.ts +2 -2
  393. package/Engines/WebGPU/webgpuTimestampQuery.js +2 -2
  394. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  395. package/Engines/WebGPU/webgpuTintWASM.d.ts +1 -1
  396. package/Engines/WebGPU/webgpuTintWASM.js +1 -1
  397. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  398. package/Engines/constants.d.ts +1 -1
  399. package/Engines/constants.js +1 -1
  400. package/Engines/constants.js.map +1 -1
  401. package/Engines/engine.d.ts +18 -37
  402. package/Engines/engine.js +18 -37
  403. package/Engines/engine.js.map +1 -1
  404. package/Engines/engineFeatures.d.ts +2 -2
  405. package/Engines/engineFeatures.js.map +1 -1
  406. package/Engines/engineStore.d.ts +1 -1
  407. package/Engines/engineStore.js +1 -1
  408. package/Engines/engineStore.js.map +1 -1
  409. package/Engines/nativeEngine.d.ts +17 -49
  410. package/Engines/nativeEngine.js +22 -68
  411. package/Engines/nativeEngine.js.map +1 -1
  412. package/Engines/nullEngine.d.ts +12 -40
  413. package/Engines/nullEngine.js +12 -40
  414. package/Engines/nullEngine.js.map +1 -1
  415. package/Engines/performanceConfigurator.d.ts +6 -7
  416. package/Engines/performanceConfigurator.js +6 -7
  417. package/Engines/performanceConfigurator.js.map +1 -1
  418. package/Engines/renderTargetWrapper.d.ts +9 -9
  419. package/Engines/renderTargetWrapper.js +12 -10
  420. package/Engines/renderTargetWrapper.js.map +1 -1
  421. package/Engines/thinEngine.d.ts +96 -192
  422. package/Engines/thinEngine.js +82 -175
  423. package/Engines/thinEngine.js.map +1 -1
  424. package/Engines/webgpuEngine.d.ts +89 -145
  425. package/Engines/webgpuEngine.js +75 -128
  426. package/Engines/webgpuEngine.js.map +1 -1
  427. package/Events/clipboardEvents.d.ts +1 -1
  428. package/Events/clipboardEvents.js +1 -1
  429. package/Events/clipboardEvents.js.map +1 -1
  430. package/Events/pointerEvents.d.ts +4 -0
  431. package/Events/pointerEvents.js +4 -0
  432. package/Events/pointerEvents.js.map +1 -1
  433. package/Gamepads/Controllers/oculusTouchController.d.ts +1 -1
  434. package/Gamepads/Controllers/oculusTouchController.js +1 -1
  435. package/Gamepads/Controllers/oculusTouchController.js.map +1 -1
  436. package/Gamepads/Controllers/poseEnabledController.d.ts +9 -10
  437. package/Gamepads/Controllers/poseEnabledController.js +6 -7
  438. package/Gamepads/Controllers/poseEnabledController.js.map +1 -1
  439. package/Gamepads/Controllers/windowsMotionController.d.ts +2 -2
  440. package/Gamepads/Controllers/windowsMotionController.js +2 -2
  441. package/Gamepads/Controllers/windowsMotionController.js.map +1 -1
  442. package/Gamepads/gamepad.d.ts +1 -1
  443. package/Gamepads/gamepad.js +1 -1
  444. package/Gamepads/gamepad.js.map +1 -1
  445. package/Gamepads/gamepadManager.d.ts +2 -2
  446. package/Gamepads/gamepadManager.js +2 -2
  447. package/Gamepads/gamepadManager.js.map +1 -1
  448. package/Gamepads/gamepadSceneComponent.d.ts +1 -1
  449. package/Gamepads/gamepadSceneComponent.js.map +1 -1
  450. package/Gizmos/axisDragGizmo.d.ts +2 -8
  451. package/Gizmos/axisDragGizmo.js +2 -8
  452. package/Gizmos/axisDragGizmo.js.map +1 -1
  453. package/Gizmos/boundingBoxGizmo.d.ts +4 -0
  454. package/Gizmos/boundingBoxGizmo.js +6 -0
  455. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  456. package/Gizmos/cameraGizmo.d.ts +1 -1
  457. package/Gizmos/cameraGizmo.js +1 -1
  458. package/Gizmos/cameraGizmo.js.map +1 -1
  459. package/Gizmos/lightGizmo.d.ts +1 -1
  460. package/Gizmos/lightGizmo.js +1 -1
  461. package/Gizmos/lightGizmo.js.map +1 -1
  462. package/Gizmos/planeDragGizmo.d.ts +1 -3
  463. package/Gizmos/planeDragGizmo.js +1 -3
  464. package/Gizmos/planeDragGizmo.js.map +1 -1
  465. package/Helpers/sceneHelpers.d.ts +1 -1
  466. package/Helpers/sceneHelpers.js +1 -1
  467. package/Helpers/sceneHelpers.js.map +1 -1
  468. package/Inputs/scene.inputManager.d.ts +3 -3
  469. package/Inputs/scene.inputManager.js +5 -4
  470. package/Inputs/scene.inputManager.js.map +1 -1
  471. package/Instrumentation/timeToken.d.ts +1 -1
  472. package/Instrumentation/timeToken.js +1 -1
  473. package/Instrumentation/timeToken.js.map +1 -1
  474. package/Layers/effectLayer.d.ts +5 -6
  475. package/Layers/effectLayer.js +3 -4
  476. package/Layers/effectLayer.js.map +1 -1
  477. package/Layers/glowLayer.d.ts +4 -4
  478. package/Layers/glowLayer.js +3 -3
  479. package/Layers/glowLayer.js.map +1 -1
  480. package/Layers/highlightLayer.d.ts +4 -4
  481. package/Layers/highlightLayer.js +3 -3
  482. package/Layers/highlightLayer.js.map +1 -1
  483. package/Layers/layer.d.ts +1 -1
  484. package/Layers/layer.js +1 -1
  485. package/Layers/layer.js.map +1 -1
  486. package/LensFlares/lensFlare.d.ts +1 -1
  487. package/LensFlares/lensFlare.js.map +1 -1
  488. package/LensFlares/lensFlareSystem.d.ts +4 -6
  489. package/LensFlares/lensFlareSystem.js +4 -6
  490. package/LensFlares/lensFlareSystem.js.map +1 -1
  491. package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -2
  492. package/Lights/Shadows/cascadedShadowGenerator.js +1 -2
  493. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  494. package/Lights/Shadows/shadowGenerator.d.ts +1 -2
  495. package/Lights/Shadows/shadowGenerator.js +1 -2
  496. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  497. package/Lights/directionalLight.d.ts +2 -2
  498. package/Lights/directionalLight.js +2 -2
  499. package/Lights/directionalLight.js.map +1 -1
  500. package/Lights/hemisphericLight.d.ts +3 -3
  501. package/Lights/hemisphericLight.js +3 -3
  502. package/Lights/hemisphericLight.js.map +1 -1
  503. package/Lights/light.d.ts +11 -11
  504. package/Lights/light.js +8 -8
  505. package/Lights/light.js.map +1 -1
  506. package/Lights/lightConstants.d.ts +1 -1
  507. package/Lights/lightConstants.js +1 -1
  508. package/Lights/lightConstants.js.map +1 -1
  509. package/Lights/shadowLight.d.ts +3 -3
  510. package/Lights/shadowLight.js +3 -3
  511. package/Lights/shadowLight.js.map +1 -1
  512. package/Loading/Plugins/babylonFileLoader.d.ts +1 -1
  513. package/Loading/Plugins/babylonFileLoader.js +1 -1
  514. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  515. package/Loading/sceneLoader.d.ts +1 -1
  516. package/Loading/sceneLoader.js.map +1 -1
  517. package/Materials/Background/backgroundMaterial.js +2 -2
  518. package/Materials/Background/backgroundMaterial.js.map +1 -1
  519. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +18 -18
  520. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  521. package/Materials/Node/Blocks/Input/inputBlock.d.ts +4 -11
  522. package/Materials/Node/Blocks/Input/inputBlock.js +4 -11
  523. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  524. package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +2 -2
  525. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  526. package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +9 -9
  527. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  528. package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +12 -12
  529. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  530. package/Materials/Node/nodeMaterial.d.ts +3 -3
  531. package/Materials/Node/nodeMaterial.js +4 -4
  532. package/Materials/Node/nodeMaterial.js.map +1 -1
  533. package/Materials/Node/nodeMaterialBlock.d.ts +8 -14
  534. package/Materials/Node/nodeMaterialBlock.js +6 -12
  535. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  536. package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +8 -8
  537. package/Materials/Node/nodeMaterialBlockConnectionPoint.js +7 -7
  538. package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
  539. package/Materials/Node/nodeMaterialBuildState.d.ts +22 -58
  540. package/Materials/Node/nodeMaterialBuildState.js +21 -57
  541. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  542. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
  543. package/Materials/PBR/pbrAnisotropicConfiguration.js +2 -2
  544. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  545. package/Materials/PBR/pbrBRDFConfiguration.d.ts +3 -3
  546. package/Materials/PBR/pbrBRDFConfiguration.js +2 -2
  547. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  548. package/Materials/PBR/pbrBaseMaterial.d.ts +65 -65
  549. package/Materials/PBR/pbrBaseMaterial.js +66 -66
  550. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  551. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +4 -4
  552. package/Materials/PBR/pbrClearCoatConfiguration.js +3 -3
  553. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  554. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +6 -6
  555. package/Materials/PBR/pbrIridescenceConfiguration.js +5 -5
  556. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  557. package/Materials/PBR/pbrSheenConfiguration.d.ts +3 -3
  558. package/Materials/PBR/pbrSheenConfiguration.js +2 -2
  559. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  560. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +6 -6
  561. package/Materials/PBR/pbrSubSurfaceConfiguration.js +5 -5
  562. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  563. package/Materials/Textures/Filtering/hdrFiltering.d.ts +1 -1
  564. package/Materials/Textures/Filtering/hdrFiltering.js +1 -1
  565. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  566. package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +1 -1
  567. package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -1
  568. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  569. package/Materials/Textures/Loaders/envTextureLoader.d.ts +1 -1
  570. package/Materials/Textures/Loaders/envTextureLoader.js +1 -1
  571. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  572. package/Materials/Textures/Loaders/hdrTextureLoader.d.ts +1 -1
  573. package/Materials/Textures/Loaders/hdrTextureLoader.js +1 -1
  574. package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
  575. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +1 -1
  576. package/Materials/Textures/Loaders/ktxTextureLoader.js +1 -1
  577. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  578. package/Materials/Textures/Loaders/tgaTextureLoader.d.ts +1 -1
  579. package/Materials/Textures/Loaders/tgaTextureLoader.js +1 -1
  580. package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
  581. package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -1
  582. package/Materials/Textures/MultiviewRenderTarget.js +1 -1
  583. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  584. package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +2 -1
  585. package/Materials/Textures/Procedurals/customProceduralTexture.js +9 -3
  586. package/Materials/Textures/Procedurals/customProceduralTexture.js.map +1 -1
  587. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +15 -16
  588. package/Materials/Textures/Procedurals/proceduralTexture.js +13 -14
  589. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  590. package/Materials/Textures/baseTexture.d.ts +17 -23
  591. package/Materials/Textures/baseTexture.js +20 -23
  592. package/Materials/Textures/baseTexture.js.map +1 -1
  593. package/Materials/Textures/colorGradingTexture.d.ts +1 -1
  594. package/Materials/Textures/colorGradingTexture.js +1 -1
  595. package/Materials/Textures/colorGradingTexture.js.map +1 -1
  596. package/Materials/Textures/cubeTexture.d.ts +3 -3
  597. package/Materials/Textures/cubeTexture.js +3 -3
  598. package/Materials/Textures/cubeTexture.js.map +1 -1
  599. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  600. package/Materials/Textures/dynamicTexture.js +1 -1
  601. package/Materials/Textures/dynamicTexture.js.map +1 -1
  602. package/Materials/Textures/hardwareTextureWrapper.d.ts +1 -1
  603. package/Materials/Textures/hardwareTextureWrapper.js.map +1 -1
  604. package/Materials/Textures/internalTexture.d.ts +35 -37
  605. package/Materials/Textures/internalTexture.js +34 -36
  606. package/Materials/Textures/internalTexture.js.map +1 -1
  607. package/Materials/Textures/multiRenderTarget.d.ts +1 -3
  608. package/Materials/Textures/multiRenderTarget.js +1 -3
  609. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  610. package/Materials/Textures/prePassRenderTarget.d.ts +9 -9
  611. package/Materials/Textures/prePassRenderTarget.js +6 -6
  612. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  613. package/Materials/Textures/rawCubeTexture.d.ts +1 -1
  614. package/Materials/Textures/rawCubeTexture.js +1 -1
  615. package/Materials/Textures/rawCubeTexture.js.map +1 -1
  616. package/Materials/Textures/renderTargetTexture.d.ts +10 -16
  617. package/Materials/Textures/renderTargetTexture.js +24 -28
  618. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  619. package/Materials/Textures/texture.d.ts +6 -18
  620. package/Materials/Textures/texture.js +13 -23
  621. package/Materials/Textures/texture.js.map +1 -1
  622. package/Materials/Textures/textureSampler.d.ts +5 -5
  623. package/Materials/Textures/textureSampler.js +5 -5
  624. package/Materials/Textures/textureSampler.js.map +1 -1
  625. package/Materials/Textures/thinTexture.d.ts +2 -2
  626. package/Materials/Textures/thinTexture.js +2 -2
  627. package/Materials/Textures/thinTexture.js.map +1 -1
  628. package/Materials/Textures/videoTexture.d.ts +1 -1
  629. package/Materials/Textures/videoTexture.js +1 -1
  630. package/Materials/Textures/videoTexture.js.map +1 -1
  631. package/Materials/colorCurves.d.ts +3 -3
  632. package/Materials/colorCurves.js +3 -3
  633. package/Materials/colorCurves.js.map +1 -1
  634. package/Materials/drawWrapper.d.ts +1 -1
  635. package/Materials/drawWrapper.js +1 -1
  636. package/Materials/drawWrapper.js.map +1 -1
  637. package/Materials/effect.d.ts +44 -44
  638. package/Materials/effect.js +50 -310
  639. package/Materials/effect.js.map +1 -1
  640. package/Materials/effectRenderer.d.ts +1 -1
  641. package/Materials/effectRenderer.js.map +1 -1
  642. package/Materials/fresnelParameters.d.ts +1 -1
  643. package/Materials/fresnelParameters.js +1 -1
  644. package/Materials/fresnelParameters.js.map +1 -1
  645. package/Materials/imageProcessingConfiguration.d.ts +9 -9
  646. package/Materials/imageProcessingConfiguration.js +8 -8
  647. package/Materials/imageProcessingConfiguration.js.map +1 -1
  648. package/Materials/material.d.ts +21 -26
  649. package/Materials/material.detailMapConfiguration.d.ts +3 -3
  650. package/Materials/material.detailMapConfiguration.js +2 -2
  651. package/Materials/material.detailMapConfiguration.js.map +1 -1
  652. package/Materials/material.js +17 -22
  653. package/Materials/material.js.map +1 -1
  654. package/Materials/materialDefines.d.ts +14 -14
  655. package/Materials/materialDefines.js +13 -13
  656. package/Materials/materialDefines.js.map +1 -1
  657. package/Materials/materialHelper.js +1 -1
  658. package/Materials/materialHelper.js.map +1 -1
  659. package/Materials/materialPluginEvent.d.ts +15 -15
  660. package/Materials/materialPluginEvent.js +1 -1
  661. package/Materials/materialPluginEvent.js.map +1 -1
  662. package/Materials/materialPluginManager.d.ts +2 -4
  663. package/Materials/materialPluginManager.js +2 -4
  664. package/Materials/materialPluginManager.js.map +1 -1
  665. package/Materials/multiMaterial.d.ts +1 -1
  666. package/Materials/multiMaterial.js +1 -1
  667. package/Materials/multiMaterial.js.map +1 -1
  668. package/Materials/pushMaterial.d.ts +1 -1
  669. package/Materials/pushMaterial.js +1 -1
  670. package/Materials/pushMaterial.js.map +1 -1
  671. package/Materials/shaderMaterial.d.ts +25 -25
  672. package/Materials/shaderMaterial.js +25 -25
  673. package/Materials/shaderMaterial.js.map +1 -1
  674. package/Materials/standardMaterial.d.ts +3 -3
  675. package/Materials/standardMaterial.js +4 -4
  676. package/Materials/standardMaterial.js.map +1 -1
  677. package/Materials/uniformBuffer.d.ts +4 -4
  678. package/Materials/uniformBuffer.js +4 -4
  679. package/Materials/uniformBuffer.js.map +1 -1
  680. package/Materials/uniformBufferEffectCommonAccessor.d.ts +1 -1
  681. package/Materials/uniformBufferEffectCommonAccessor.js +1 -1
  682. package/Materials/uniformBufferEffectCommonAccessor.js.map +1 -1
  683. package/Maths/index.d.ts +1 -0
  684. package/Maths/index.js +1 -0
  685. package/Maths/index.js.map +1 -1
  686. package/Maths/math.color.d.ts +1 -1
  687. package/Maths/math.color.js +1 -1
  688. package/Maths/math.color.js.map +1 -1
  689. package/Maths/math.functions.d.ts +2 -2
  690. package/Maths/math.functions.js +2 -2
  691. package/Maths/math.functions.js.map +1 -1
  692. package/Maths/math.isovector.d.ts +1 -1
  693. package/Maths/math.isovector.js +1 -1
  694. package/Maths/math.isovector.js.map +1 -1
  695. package/Maths/math.like.d.ts +8 -8
  696. package/Maths/math.like.js.map +1 -1
  697. package/Maths/math.polar.d.ts +420 -0
  698. package/Maths/math.polar.js +651 -0
  699. package/Maths/math.polar.js.map +1 -0
  700. package/Maths/math.scalar.d.ts +2 -2
  701. package/Maths/math.scalar.js +2 -2
  702. package/Maths/math.scalar.js.map +1 -1
  703. package/Maths/math.vector.d.ts +24 -26
  704. package/Maths/math.vector.js +18 -20
  705. package/Maths/math.vector.js.map +1 -1
  706. package/Meshes/Builders/tubeBuilder.d.ts +2 -2
  707. package/Meshes/Builders/tubeBuilder.js +2 -2
  708. package/Meshes/Builders/tubeBuilder.js.map +1 -1
  709. package/Meshes/WebGL/webGLDataBuffer.d.ts +1 -1
  710. package/Meshes/WebGL/webGLDataBuffer.js +1 -1
  711. package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
  712. package/Meshes/WebGPU/webgpuDataBuffer.d.ts +1 -1
  713. package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
  714. package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
  715. package/Meshes/abstractMesh.d.ts +49 -71
  716. package/Meshes/abstractMesh.js +56 -73
  717. package/Meshes/abstractMesh.js.map +1 -1
  718. package/Meshes/buffer.d.ts +1 -1
  719. package/Meshes/buffer.js +1 -1
  720. package/Meshes/buffer.js.map +1 -1
  721. package/Meshes/geodesicMesh.d.ts +15 -28
  722. package/Meshes/geodesicMesh.js +11 -24
  723. package/Meshes/geodesicMesh.js.map +1 -1
  724. package/Meshes/geometry.d.ts +18 -23
  725. package/Meshes/geometry.js +10 -15
  726. package/Meshes/geometry.js.map +1 -1
  727. package/Meshes/groundMesh.d.ts +8 -8
  728. package/Meshes/groundMesh.js.map +1 -1
  729. package/Meshes/instancedMesh.d.ts +13 -17
  730. package/Meshes/instancedMesh.js +11 -15
  731. package/Meshes/instancedMesh.js.map +1 -1
  732. package/Meshes/linesMesh.d.ts +5 -8
  733. package/Meshes/linesMesh.js +5 -8
  734. package/Meshes/linesMesh.js.map +1 -1
  735. package/Meshes/mesh.d.ts +49 -94
  736. package/Meshes/mesh.js +53 -95
  737. package/Meshes/mesh.js.map +1 -1
  738. package/Meshes/mesh.vertexData.d.ts +3 -18
  739. package/Meshes/mesh.vertexData.js +3 -18
  740. package/Meshes/mesh.vertexData.js.map +1 -1
  741. package/Meshes/meshSimplificationSceneComponent.d.ts +1 -1
  742. package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
  743. package/Meshes/subMesh.d.ts +22 -52
  744. package/Meshes/subMesh.js +19 -49
  745. package/Meshes/subMesh.js.map +1 -1
  746. package/Meshes/subMesh.project.d.ts +2 -2
  747. package/Meshes/subMesh.project.js +2 -12
  748. package/Meshes/subMesh.project.js.map +1 -1
  749. package/Meshes/thinInstanceMesh.d.ts +5 -5
  750. package/Meshes/thinInstanceMesh.js.map +1 -1
  751. package/Meshes/transformNode.d.ts +8 -9
  752. package/Meshes/transformNode.js +11 -9
  753. package/Meshes/transformNode.js.map +1 -1
  754. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.d.ts +2 -2
  755. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js +2 -2
  756. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
  757. package/Misc/HighDynamicRange/hdr.d.ts +3 -3
  758. package/Misc/HighDynamicRange/hdr.js +3 -3
  759. package/Misc/HighDynamicRange/hdr.js.map +1 -1
  760. package/Misc/HighDynamicRange/panoramaToCubemap.d.ts +1 -1
  761. package/Misc/HighDynamicRange/panoramaToCubemap.js +1 -1
  762. package/Misc/HighDynamicRange/panoramaToCubemap.js.map +1 -1
  763. package/Misc/arrayTools.d.ts +14 -13
  764. package/Misc/arrayTools.js +70 -39
  765. package/Misc/arrayTools.js.map +1 -1
  766. package/Misc/assetsManager.d.ts +4 -6
  767. package/Misc/assetsManager.js +4 -6
  768. package/Misc/assetsManager.js.map +1 -1
  769. package/Misc/basis.js +2 -2
  770. package/Misc/basis.js.map +1 -1
  771. package/Misc/coroutine.d.ts +11 -25
  772. package/Misc/coroutine.js +7 -21
  773. package/Misc/coroutine.js.map +1 -1
  774. package/Misc/dds.d.ts +1 -10
  775. package/Misc/dds.js +1 -10
  776. package/Misc/dds.js.map +1 -1
  777. package/Misc/decorators.d.ts +5 -15
  778. package/Misc/decorators.js +6 -16
  779. package/Misc/decorators.js.map +1 -1
  780. package/Misc/depthReducer.d.ts +1 -5
  781. package/Misc/depthReducer.js +1 -5
  782. package/Misc/depthReducer.js.map +1 -1
  783. package/Misc/devTools.d.ts +1 -2
  784. package/Misc/devTools.js +1 -2
  785. package/Misc/devTools.js.map +1 -1
  786. package/Misc/environmentTextureTools.d.ts +5 -10
  787. package/Misc/environmentTextureTools.js +6 -11
  788. package/Misc/environmentTextureTools.js.map +1 -1
  789. package/Misc/fileTools.d.ts +15 -27
  790. package/Misc/fileTools.js +33 -38
  791. package/Misc/fileTools.js.map +1 -1
  792. package/Misc/khronosTextureContainer.d.ts +1 -3
  793. package/Misc/khronosTextureContainer.js +1 -3
  794. package/Misc/khronosTextureContainer.js.map +1 -1
  795. package/Misc/khronosTextureContainer2.d.ts +1 -4
  796. package/Misc/khronosTextureContainer2.js +1 -4
  797. package/Misc/khronosTextureContainer2.js.map +1 -1
  798. package/Misc/observable.d.ts +4 -5
  799. package/Misc/observable.js +3 -4
  800. package/Misc/observable.js.map +1 -1
  801. package/Misc/performanceMonitor.d.ts +3 -3
  802. package/Misc/performanceMonitor.js +3 -3
  803. package/Misc/performanceMonitor.js.map +1 -1
  804. package/Misc/pivotTools.d.ts +3 -5
  805. package/Misc/pivotTools.js +3 -5
  806. package/Misc/pivotTools.js.map +1 -1
  807. package/Misc/rgbdTextureTools.d.ts +1 -1
  808. package/Misc/rgbdTextureTools.js +1 -1
  809. package/Misc/rgbdTextureTools.js.map +1 -1
  810. package/Misc/sceneOptimizer.d.ts +7 -7
  811. package/Misc/sceneOptimizer.js +7 -7
  812. package/Misc/sceneOptimizer.js.map +1 -1
  813. package/Misc/screenshotTools.js +1 -1
  814. package/Misc/screenshotTools.js.map +1 -1
  815. package/Misc/stringDictionary.d.ts +6 -6
  816. package/Misc/stringDictionary.js +6 -6
  817. package/Misc/stringDictionary.js.map +1 -1
  818. package/Misc/tags.d.ts +2 -6
  819. package/Misc/tags.js +2 -6
  820. package/Misc/tags.js.map +1 -1
  821. package/Misc/textureTools.d.ts +4 -4
  822. package/Misc/textureTools.js +4 -4
  823. package/Misc/textureTools.js.map +1 -1
  824. package/Misc/tga.d.ts +14 -70
  825. package/Misc/tga.js +14 -70
  826. package/Misc/tga.js.map +1 -1
  827. package/Misc/tools.d.ts +6 -6
  828. package/Misc/tools.js +6 -6
  829. package/Misc/tools.js.map +1 -1
  830. package/Misc/typeStore.d.ts +2 -5
  831. package/Misc/typeStore.js +3 -6
  832. package/Misc/typeStore.js.map +1 -1
  833. package/Misc/videoRecorder.d.ts +1 -1
  834. package/Misc/videoRecorder.js +1 -1
  835. package/Misc/videoRecorder.js.map +1 -1
  836. package/Misc/webRequest.d.ts +2 -2
  837. package/Misc/webRequest.js +1 -1
  838. package/Misc/webRequest.js.map +1 -1
  839. package/Morph/morphTarget.d.ts +1 -1
  840. package/Morph/morphTarget.js +1 -1
  841. package/Morph/morphTarget.js.map +1 -1
  842. package/Morph/morphTargetManager.d.ts +3 -4
  843. package/Morph/morphTargetManager.js +2 -3
  844. package/Morph/morphTargetManager.js.map +1 -1
  845. package/Particles/IGPUParticleSystemPlatform.d.ts +1 -1
  846. package/Particles/IGPUParticleSystemPlatform.js.map +1 -1
  847. package/Particles/IParticleSystem.d.ts +1 -1
  848. package/Particles/IParticleSystem.js.map +1 -1
  849. package/Particles/baseParticleSystem.d.ts +6 -9
  850. package/Particles/baseParticleSystem.js +5 -8
  851. package/Particles/baseParticleSystem.js.map +1 -1
  852. package/Particles/cloudPoint.d.ts +16 -19
  853. package/Particles/cloudPoint.js +21 -29
  854. package/Particles/cloudPoint.js.map +1 -1
  855. package/Particles/computeShaderParticleSystem.d.ts +1 -1
  856. package/Particles/computeShaderParticleSystem.js +1 -1
  857. package/Particles/computeShaderParticleSystem.js.map +1 -1
  858. package/Particles/gpuParticleSystem.d.ts +14 -20
  859. package/Particles/gpuParticleSystem.js +6 -12
  860. package/Particles/gpuParticleSystem.js.map +1 -1
  861. package/Particles/particle.d.ts +30 -31
  862. package/Particles/particle.js +16 -17
  863. package/Particles/particle.js.map +1 -1
  864. package/Particles/particleSystem.d.ts +16 -32
  865. package/Particles/particleSystem.js +14 -30
  866. package/Particles/particleSystem.js.map +1 -1
  867. package/Particles/pointsCloudSystem.d.ts +3 -4
  868. package/Particles/pointsCloudSystem.js +27 -20
  869. package/Particles/pointsCloudSystem.js.map +1 -1
  870. package/Particles/solidParticle.d.ts +21 -31
  871. package/Particles/solidParticle.js +9 -19
  872. package/Particles/solidParticle.js.map +1 -1
  873. package/Particles/solidParticleSystem.d.ts +18 -16
  874. package/Particles/solidParticleSystem.js +39 -19
  875. package/Particles/solidParticleSystem.js.map +1 -1
  876. package/Particles/subEmitter.d.ts +1 -5
  877. package/Particles/subEmitter.js +1 -5
  878. package/Particles/subEmitter.js.map +1 -1
  879. package/Particles/webgl2ParticleSystem.d.ts +1 -1
  880. package/Particles/webgl2ParticleSystem.js +1 -1
  881. package/Particles/webgl2ParticleSystem.js.map +1 -1
  882. package/Physics/IPhysicsEngine.d.ts +1 -1
  883. package/Physics/IPhysicsEngine.js.map +1 -1
  884. package/Physics/Plugins/ammoJSPlugin.d.ts +4 -1
  885. package/Physics/Plugins/ammoJSPlugin.js +22 -3
  886. package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
  887. package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
  888. package/Physics/Plugins/cannonJSPlugin.js +1 -1
  889. package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
  890. package/Physics/Plugins/oimoJSPlugin.d.ts +1 -1
  891. package/Physics/Plugins/oimoJSPlugin.js +4 -4
  892. package/Physics/Plugins/oimoJSPlugin.js.map +1 -1
  893. package/Physics/physicsEngineComponent.d.ts +5 -5
  894. package/Physics/physicsEngineComponent.js +2 -3
  895. package/Physics/physicsEngineComponent.js.map +1 -1
  896. package/Physics/physicsImpostor.d.ts +13 -7
  897. package/Physics/physicsImpostor.js +9 -6
  898. package/Physics/physicsImpostor.js.map +1 -1
  899. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  900. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +1 -1
  901. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +1 -1
  902. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  903. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +2 -4
  904. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +2 -4
  905. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  906. package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +10 -10
  907. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +5 -5
  908. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
  909. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +13 -13
  910. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +7 -14
  911. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  912. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +1 -1
  913. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +1 -1
  914. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
  915. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.d.ts +1 -1
  916. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js.map +1 -1
  917. package/PostProcesses/blackAndWhitePostProcess.d.ts +1 -5
  918. package/PostProcesses/blackAndWhitePostProcess.js +1 -5
  919. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  920. package/PostProcesses/bloomEffect.d.ts +4 -4
  921. package/PostProcesses/bloomEffect.js +3 -3
  922. package/PostProcesses/bloomEffect.js.map +1 -1
  923. package/PostProcesses/blurPostProcess.d.ts +4 -8
  924. package/PostProcesses/blurPostProcess.js +4 -8
  925. package/PostProcesses/blurPostProcess.js.map +1 -1
  926. package/PostProcesses/chromaticAberrationPostProcess.d.ts +1 -5
  927. package/PostProcesses/chromaticAberrationPostProcess.js +1 -5
  928. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  929. package/PostProcesses/colorCorrectionPostProcess.d.ts +1 -5
  930. package/PostProcesses/colorCorrectionPostProcess.js +1 -5
  931. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  932. package/PostProcesses/convolutionPostProcess.d.ts +1 -5
  933. package/PostProcesses/convolutionPostProcess.js +1 -5
  934. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  935. package/PostProcesses/depthOfFieldEffect.d.ts +4 -4
  936. package/PostProcesses/depthOfFieldEffect.js +3 -3
  937. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  938. package/PostProcesses/displayPassPostProcess.d.ts +1 -5
  939. package/PostProcesses/displayPassPostProcess.js +1 -5
  940. package/PostProcesses/displayPassPostProcess.js.map +1 -1
  941. package/PostProcesses/extractHighlightsPostProcess.d.ts +2 -2
  942. package/PostProcesses/extractHighlightsPostProcess.js +2 -2
  943. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  944. package/PostProcesses/filterPostProcess.d.ts +1 -5
  945. package/PostProcesses/filterPostProcess.js +1 -5
  946. package/PostProcesses/filterPostProcess.js.map +1 -1
  947. package/PostProcesses/fxaaPostProcess.d.ts +1 -5
  948. package/PostProcesses/fxaaPostProcess.js +1 -5
  949. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  950. package/PostProcesses/grainPostProcess.d.ts +1 -5
  951. package/PostProcesses/grainPostProcess.js +1 -5
  952. package/PostProcesses/grainPostProcess.js.map +1 -1
  953. package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
  954. package/PostProcesses/imageProcessingPostProcess.js +1 -1
  955. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  956. package/PostProcesses/motionBlurPostProcess.d.ts +1 -5
  957. package/PostProcesses/motionBlurPostProcess.js +1 -5
  958. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  959. package/PostProcesses/passPostProcess.d.ts +2 -10
  960. package/PostProcesses/passPostProcess.js +2 -10
  961. package/PostProcesses/passPostProcess.js.map +1 -1
  962. package/PostProcesses/postProcess.d.ts +8 -12
  963. package/PostProcesses/postProcess.js +6 -10
  964. package/PostProcesses/postProcess.js.map +1 -1
  965. package/PostProcesses/postProcessManager.d.ts +3 -3
  966. package/PostProcesses/postProcessManager.js +3 -3
  967. package/PostProcesses/postProcessManager.js.map +1 -1
  968. package/PostProcesses/refractionPostProcess.d.ts +1 -5
  969. package/PostProcesses/refractionPostProcess.js +1 -5
  970. package/PostProcesses/refractionPostProcess.js.map +1 -1
  971. package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +1 -5
  972. package/PostProcesses/screenSpaceCurvaturePostProcess.js +1 -5
  973. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  974. package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +1 -5
  975. package/PostProcesses/screenSpaceReflectionPostProcess.js +1 -5
  976. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  977. package/PostProcesses/sharpenPostProcess.d.ts +1 -5
  978. package/PostProcesses/sharpenPostProcess.js +1 -5
  979. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  980. package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +4 -4
  981. package/PostProcesses/volumetricLightScatteringPostProcess.js +4 -4
  982. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  983. package/Probes/reflectionProbe.d.ts +1 -1
  984. package/Probes/reflectionProbe.js +1 -1
  985. package/Probes/reflectionProbe.js.map +1 -1
  986. package/Rendering/boundingBoxRenderer.d.ts +5 -5
  987. package/Rendering/boundingBoxRenderer.js +2 -2
  988. package/Rendering/boundingBoxRenderer.js.map +1 -1
  989. package/Rendering/depthPeelingRenderer.d.ts +1 -0
  990. package/Rendering/depthPeelingRenderer.js +32 -5
  991. package/Rendering/depthPeelingRenderer.js.map +1 -1
  992. package/Rendering/depthPeelingSceneComponent.d.ts +2 -2
  993. package/Rendering/depthPeelingSceneComponent.js.map +1 -1
  994. package/Rendering/depthRenderer.d.ts +1 -2
  995. package/Rendering/depthRenderer.js +1 -2
  996. package/Rendering/depthRenderer.js.map +1 -1
  997. package/Rendering/depthRendererSceneComponent.d.ts +1 -1
  998. package/Rendering/depthRendererSceneComponent.js.map +1 -1
  999. package/Rendering/edgesRenderer.d.ts +4 -4
  1000. package/Rendering/edgesRenderer.js +2 -2
  1001. package/Rendering/edgesRenderer.js.map +1 -1
  1002. package/Rendering/geometryBufferRenderer.d.ts +14 -18
  1003. package/Rendering/geometryBufferRenderer.js +14 -18
  1004. package/Rendering/geometryBufferRenderer.js.map +1 -1
  1005. package/Rendering/geometryBufferRendererSceneComponent.d.ts +3 -2
  1006. package/Rendering/geometryBufferRendererSceneComponent.js +3 -2
  1007. package/Rendering/geometryBufferRendererSceneComponent.js.map +1 -1
  1008. package/Rendering/outlineRenderer.d.ts +3 -3
  1009. package/Rendering/outlineRenderer.js.map +1 -1
  1010. package/Rendering/prePassRenderer.d.ts +18 -17
  1011. package/Rendering/prePassRenderer.js +26 -18
  1012. package/Rendering/prePassRenderer.js.map +1 -1
  1013. package/Rendering/prePassRendererSceneComponent.d.ts +2 -2
  1014. package/Rendering/prePassRendererSceneComponent.js.map +1 -1
  1015. package/Rendering/renderingGroup.d.ts +3 -3
  1016. package/Rendering/renderingGroup.js +3 -3
  1017. package/Rendering/renderingGroup.js.map +1 -1
  1018. package/Rendering/renderingManager.d.ts +4 -8
  1019. package/Rendering/renderingManager.js +4 -8
  1020. package/Rendering/renderingManager.js.map +1 -1
  1021. package/Rendering/subSurfaceConfiguration.d.ts +4 -6
  1022. package/Rendering/subSurfaceConfiguration.js +4 -6
  1023. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  1024. package/Rendering/subSurfaceSceneComponent.d.ts +1 -1
  1025. package/Rendering/subSurfaceSceneComponent.js.map +1 -1
  1026. package/Rendering/utilityLayerRenderer.d.ts +4 -4
  1027. package/Rendering/utilityLayerRenderer.js +15 -10
  1028. package/Rendering/utilityLayerRenderer.js.map +1 -1
  1029. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.d.ts +1 -1
  1030. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
  1031. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js.map +1 -1
  1032. package/Shaders/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
  1033. package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
  1034. package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  1035. package/Shaders/ShadersInclude/backgroundVertexDeclaration.d.ts +1 -1
  1036. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
  1037. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js.map +1 -1
  1038. package/Shaders/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  1039. package/Shaders/ShadersInclude/bakedVertexAnimation.js +1 -1
  1040. package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  1041. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  1042. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  1043. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  1044. package/Shaders/ShadersInclude/bayerDitherFunctions.d.ts +1 -1
  1045. package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
  1046. package/Shaders/ShadersInclude/bayerDitherFunctions.js.map +1 -1
  1047. package/Shaders/ShadersInclude/bonesDeclaration.d.ts +1 -1
  1048. package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
  1049. package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
  1050. package/Shaders/ShadersInclude/bonesVertex.d.ts +1 -1
  1051. package/Shaders/ShadersInclude/bonesVertex.js +1 -1
  1052. package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
  1053. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.d.ts +1 -1
  1054. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js +1 -1
  1055. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js.map +1 -1
  1056. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.d.ts +1 -1
  1057. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +1 -1
  1058. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
  1059. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.d.ts +1 -1
  1060. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js +1 -1
  1061. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js.map +1 -1
  1062. package/Shaders/ShadersInclude/bumpFragment.d.ts +1 -1
  1063. package/Shaders/ShadersInclude/bumpFragment.js +1 -1
  1064. package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
  1065. package/Shaders/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
  1066. package/Shaders/ShadersInclude/bumpFragmentFunctions.js +1 -1
  1067. package/Shaders/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
  1068. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.d.ts +1 -1
  1069. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
  1070. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  1071. package/Shaders/ShadersInclude/bumpVertex.d.ts +1 -1
  1072. package/Shaders/ShadersInclude/bumpVertex.js +1 -1
  1073. package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
  1074. package/Shaders/ShadersInclude/bumpVertexDeclaration.d.ts +1 -1
  1075. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
  1076. package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  1077. package/Shaders/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  1078. package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
  1079. package/Shaders/ShadersInclude/clipPlaneFragment.js.map +1 -1
  1080. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  1081. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  1082. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  1083. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.d.ts +1 -1
  1084. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
  1085. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js.map +1 -1
  1086. package/Shaders/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  1087. package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
  1088. package/Shaders/ShadersInclude/clipPlaneVertex.js.map +1 -1
  1089. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  1090. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  1091. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  1092. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.d.ts +1 -1
  1093. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
  1094. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js.map +1 -1
  1095. package/Shaders/ShadersInclude/defaultFragmentDeclaration.d.ts +1 -1
  1096. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
  1097. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
  1098. package/Shaders/ShadersInclude/defaultUboDeclaration.d.ts +1 -1
  1099. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  1100. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  1101. package/Shaders/ShadersInclude/defaultVertexDeclaration.d.ts +1 -1
  1102. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
  1103. package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
  1104. package/Shaders/ShadersInclude/depthPrePass.d.ts +1 -1
  1105. package/Shaders/ShadersInclude/depthPrePass.js +1 -1
  1106. package/Shaders/ShadersInclude/depthPrePass.js.map +1 -1
  1107. package/Shaders/ShadersInclude/diffusionProfile.d.ts +1 -1
  1108. package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
  1109. package/Shaders/ShadersInclude/diffusionProfile.js.map +1 -1
  1110. package/Shaders/ShadersInclude/fibonacci.d.ts +1 -1
  1111. package/Shaders/ShadersInclude/fibonacci.js +1 -1
  1112. package/Shaders/ShadersInclude/fibonacci.js.map +1 -1
  1113. package/Shaders/ShadersInclude/fogFragment.d.ts +1 -1
  1114. package/Shaders/ShadersInclude/fogFragment.js +1 -1
  1115. package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
  1116. package/Shaders/ShadersInclude/fogFragmentDeclaration.d.ts +1 -1
  1117. package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
  1118. package/Shaders/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
  1119. package/Shaders/ShadersInclude/fogVertex.d.ts +1 -1
  1120. package/Shaders/ShadersInclude/fogVertex.js +1 -1
  1121. package/Shaders/ShadersInclude/fogVertex.js.map +1 -1
  1122. package/Shaders/ShadersInclude/fogVertexDeclaration.d.ts +1 -1
  1123. package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
  1124. package/Shaders/ShadersInclude/fogVertexDeclaration.js.map +1 -1
  1125. package/Shaders/ShadersInclude/fresnelFunction.d.ts +1 -1
  1126. package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
  1127. package/Shaders/ShadersInclude/fresnelFunction.js.map +1 -1
  1128. package/Shaders/ShadersInclude/geometryUboDeclaration.d.ts +1 -1
  1129. package/Shaders/ShadersInclude/geometryUboDeclaration.js +1 -1
  1130. package/Shaders/ShadersInclude/geometryUboDeclaration.js.map +1 -1
  1131. package/Shaders/ShadersInclude/geometryVertexDeclaration.d.ts +1 -1
  1132. package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
  1133. package/Shaders/ShadersInclude/geometryVertexDeclaration.js.map +1 -1
  1134. package/Shaders/ShadersInclude/harmonicsFunctions.d.ts +1 -1
  1135. package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
  1136. package/Shaders/ShadersInclude/harmonicsFunctions.js.map +1 -1
  1137. package/Shaders/ShadersInclude/hdrFilteringFunctions.d.ts +1 -1
  1138. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
  1139. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  1140. package/Shaders/ShadersInclude/helperFunctions.d.ts +1 -1
  1141. package/Shaders/ShadersInclude/helperFunctions.js +1 -1
  1142. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  1143. package/Shaders/ShadersInclude/imageProcessingCompatibility.d.ts +1 -1
  1144. package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
  1145. package/Shaders/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
  1146. package/Shaders/ShadersInclude/imageProcessingDeclaration.d.ts +1 -1
  1147. package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
  1148. package/Shaders/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
  1149. package/Shaders/ShadersInclude/imageProcessingFunctions.d.ts +1 -1
  1150. package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
  1151. package/Shaders/ShadersInclude/imageProcessingFunctions.js.map +1 -1
  1152. package/Shaders/ShadersInclude/importanceSampling.d.ts +1 -1
  1153. package/Shaders/ShadersInclude/importanceSampling.js +1 -1
  1154. package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
  1155. package/Shaders/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1156. package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
  1157. package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
  1158. package/Shaders/ShadersInclude/instancesVertex.d.ts +1 -1
  1159. package/Shaders/ShadersInclude/instancesVertex.js +1 -1
  1160. package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
  1161. package/Shaders/ShadersInclude/kernelBlurFragment.d.ts +1 -1
  1162. package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
  1163. package/Shaders/ShadersInclude/kernelBlurFragment.js.map +1 -1
  1164. package/Shaders/ShadersInclude/kernelBlurFragment2.d.ts +1 -1
  1165. package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
  1166. package/Shaders/ShadersInclude/kernelBlurFragment2.js.map +1 -1
  1167. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.d.ts +1 -1
  1168. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
  1169. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js.map +1 -1
  1170. package/Shaders/ShadersInclude/kernelBlurVertex.d.ts +1 -1
  1171. package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
  1172. package/Shaders/ShadersInclude/kernelBlurVertex.js.map +1 -1
  1173. package/Shaders/ShadersInclude/lightFragment.d.ts +1 -1
  1174. package/Shaders/ShadersInclude/lightFragment.js +1 -1
  1175. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  1176. package/Shaders/ShadersInclude/lightFragmentDeclaration.d.ts +1 -1
  1177. package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
  1178. package/Shaders/ShadersInclude/lightFragmentDeclaration.js.map +1 -1
  1179. package/Shaders/ShadersInclude/lightUboDeclaration.d.ts +1 -1
  1180. package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
  1181. package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
  1182. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.d.ts +1 -1
  1183. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
  1184. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
  1185. package/Shaders/ShadersInclude/lightVxUboDeclaration.d.ts +1 -1
  1186. package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
  1187. package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  1188. package/Shaders/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
  1189. package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
  1190. package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  1191. package/Shaders/ShadersInclude/logDepthDeclaration.d.ts +1 -1
  1192. package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
  1193. package/Shaders/ShadersInclude/logDepthDeclaration.js.map +1 -1
  1194. package/Shaders/ShadersInclude/logDepthFragment.d.ts +1 -1
  1195. package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
  1196. package/Shaders/ShadersInclude/logDepthFragment.js.map +1 -1
  1197. package/Shaders/ShadersInclude/logDepthVertex.d.ts +1 -1
  1198. package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
  1199. package/Shaders/ShadersInclude/logDepthVertex.js.map +1 -1
  1200. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.d.ts +1 -1
  1201. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
  1202. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
  1203. package/Shaders/ShadersInclude/meshFragmentDeclaration.d.ts +1 -1
  1204. package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
  1205. package/Shaders/ShadersInclude/meshFragmentDeclaration.js.map +1 -1
  1206. package/Shaders/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1207. package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
  1208. package/Shaders/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1209. package/Shaders/ShadersInclude/meshVertexDeclaration.d.ts +1 -1
  1210. package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
  1211. package/Shaders/ShadersInclude/meshVertexDeclaration.js.map +1 -1
  1212. package/Shaders/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1213. package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
  1214. package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1215. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1216. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1217. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1218. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1219. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1220. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1221. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1222. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1223. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1224. package/Shaders/ShadersInclude/mrtFragmentDeclaration.d.ts +1 -1
  1225. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
  1226. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
  1227. package/Shaders/ShadersInclude/oitDeclaration.d.ts +1 -1
  1228. package/Shaders/ShadersInclude/oitDeclaration.js +1 -1
  1229. package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
  1230. package/Shaders/ShadersInclude/oitFragment.d.ts +1 -1
  1231. package/Shaders/ShadersInclude/oitFragment.js +1 -1
  1232. package/Shaders/ShadersInclude/oitFragment.js.map +1 -1
  1233. package/Shaders/ShadersInclude/packingFunctions.d.ts +1 -1
  1234. package/Shaders/ShadersInclude/packingFunctions.js +1 -1
  1235. package/Shaders/ShadersInclude/packingFunctions.js.map +1 -1
  1236. package/Shaders/ShadersInclude/pbrBRDFFunctions.d.ts +1 -1
  1237. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
  1238. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  1239. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
  1240. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +1 -1
  1241. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
  1242. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.d.ts +1 -1
  1243. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
  1244. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
  1245. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.d.ts +1 -1
  1246. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
  1247. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
  1248. package/Shaders/ShadersInclude/pbrBlockAnisotropic.d.ts +1 -1
  1249. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
  1250. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
  1251. package/Shaders/ShadersInclude/pbrBlockClearcoat.d.ts +1 -1
  1252. package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
  1253. package/Shaders/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
  1254. package/Shaders/ShadersInclude/pbrBlockDirectLighting.d.ts +1 -1
  1255. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  1256. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  1257. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.d.ts +1 -1
  1258. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
  1259. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
  1260. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.d.ts +1 -1
  1261. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
  1262. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  1263. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.d.ts +1 -1
  1264. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  1265. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  1266. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.d.ts +1 -1
  1267. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
  1268. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
  1269. package/Shaders/ShadersInclude/pbrBlockImageProcessing.d.ts +1 -1
  1270. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
  1271. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
  1272. package/Shaders/ShadersInclude/pbrBlockIridescence.d.ts +1 -1
  1273. package/Shaders/ShadersInclude/pbrBlockIridescence.js +1 -1
  1274. package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -1
  1275. package/Shaders/ShadersInclude/pbrBlockLightmapInit.d.ts +1 -1
  1276. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
  1277. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  1278. package/Shaders/ShadersInclude/pbrBlockNormalFinal.d.ts +1 -1
  1279. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
  1280. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  1281. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.d.ts +1 -1
  1282. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
  1283. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
  1284. package/Shaders/ShadersInclude/pbrBlockReflectance.d.ts +1 -1
  1285. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  1286. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  1287. package/Shaders/ShadersInclude/pbrBlockReflectance0.d.ts +1 -1
  1288. package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
  1289. package/Shaders/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
  1290. package/Shaders/ShadersInclude/pbrBlockReflection.d.ts +1 -1
  1291. package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
  1292. package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
  1293. package/Shaders/ShadersInclude/pbrBlockReflectivity.d.ts +1 -1
  1294. package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
  1295. package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  1296. package/Shaders/ShadersInclude/pbrBlockSheen.d.ts +1 -1
  1297. package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
  1298. package/Shaders/ShadersInclude/pbrBlockSheen.js.map +1 -1
  1299. package/Shaders/ShadersInclude/pbrBlockSubSurface.d.ts +1 -1
  1300. package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
  1301. package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  1302. package/Shaders/ShadersInclude/pbrDebug.d.ts +1 -1
  1303. package/Shaders/ShadersInclude/pbrDebug.js +1 -1
  1304. package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
  1305. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.d.ts +1 -1
  1306. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
  1307. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
  1308. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.d.ts +1 -1
  1309. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  1310. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  1311. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
  1312. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  1313. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  1314. package/Shaders/ShadersInclude/pbrFragmentDeclaration.d.ts +1 -1
  1315. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
  1316. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  1317. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
  1318. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +1 -1
  1319. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
  1320. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +1 -1
  1321. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -1
  1322. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  1323. package/Shaders/ShadersInclude/pbrHelperFunctions.d.ts +1 -1
  1324. package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
  1325. package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  1326. package/Shaders/ShadersInclude/pbrIBLFunctions.d.ts +1 -1
  1327. package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
  1328. package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  1329. package/Shaders/ShadersInclude/pbrUboDeclaration.d.ts +1 -1
  1330. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  1331. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  1332. package/Shaders/ShadersInclude/pbrVertexDeclaration.d.ts +1 -1
  1333. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  1334. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  1335. package/Shaders/ShadersInclude/pointCloudVertex.d.ts +1 -1
  1336. package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
  1337. package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
  1338. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.d.ts +1 -1
  1339. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
  1340. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
  1341. package/Shaders/ShadersInclude/prePassDeclaration.d.ts +1 -1
  1342. package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
  1343. package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
  1344. package/Shaders/ShadersInclude/prePassVertex.d.ts +1 -1
  1345. package/Shaders/ShadersInclude/prePassVertex.js +1 -1
  1346. package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
  1347. package/Shaders/ShadersInclude/prePassVertexDeclaration.d.ts +1 -1
  1348. package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
  1349. package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
  1350. package/Shaders/ShadersInclude/reflectionFunction.d.ts +1 -1
  1351. package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
  1352. package/Shaders/ShadersInclude/reflectionFunction.js.map +1 -1
  1353. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.d.ts +1 -1
  1354. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
  1355. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
  1356. package/Shaders/ShadersInclude/samplerFragmentDeclaration.d.ts +1 -1
  1357. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
  1358. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
  1359. package/Shaders/ShadersInclude/samplerVertexDeclaration.d.ts +1 -1
  1360. package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
  1361. package/Shaders/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
  1362. package/Shaders/ShadersInclude/samplerVertexImplementation.d.ts +1 -1
  1363. package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
  1364. package/Shaders/ShadersInclude/samplerVertexImplementation.js.map +1 -1
  1365. package/Shaders/ShadersInclude/sceneFragmentDeclaration.d.ts +1 -1
  1366. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
  1367. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
  1368. package/Shaders/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1369. package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
  1370. package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1371. package/Shaders/ShadersInclude/sceneVertexDeclaration.d.ts +1 -1
  1372. package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
  1373. package/Shaders/ShadersInclude/sceneVertexDeclaration.js.map +1 -1
  1374. package/Shaders/ShadersInclude/shadowMapFragment.d.ts +1 -1
  1375. package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
  1376. package/Shaders/ShadersInclude/shadowMapFragment.js.map +1 -1
  1377. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +1 -1
  1378. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +1 -1
  1379. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
  1380. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.d.ts +1 -1
  1381. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
  1382. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
  1383. package/Shaders/ShadersInclude/shadowMapUboDeclaration.d.ts +1 -1
  1384. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +1 -1
  1385. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js.map +1 -1
  1386. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.d.ts +1 -1
  1387. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +1 -1
  1388. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js.map +1 -1
  1389. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.d.ts +1 -1
  1390. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
  1391. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
  1392. package/Shaders/ShadersInclude/shadowMapVertexMetric.d.ts +1 -1
  1393. package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
  1394. package/Shaders/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
  1395. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.d.ts +1 -1
  1396. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
  1397. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
  1398. package/Shaders/ShadersInclude/shadowsFragmentFunctions.d.ts +1 -1
  1399. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
  1400. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  1401. package/Shaders/ShadersInclude/shadowsVertex.d.ts +1 -1
  1402. package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
  1403. package/Shaders/ShadersInclude/shadowsVertex.js.map +1 -1
  1404. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.d.ts +1 -1
  1405. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
  1406. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
  1407. package/Shaders/ShadersInclude/uvAttributeDeclaration.d.ts +1 -1
  1408. package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
  1409. package/Shaders/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
  1410. package/Shaders/ShadersInclude/uvVariableDeclaration.d.ts +1 -1
  1411. package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
  1412. package/Shaders/ShadersInclude/uvVariableDeclaration.js.map +1 -1
  1413. package/Shaders/ShadersInclude/vertexColorMixing.d.ts +1 -1
  1414. package/Shaders/ShadersInclude/vertexColorMixing.js +1 -1
  1415. package/Shaders/ShadersInclude/vertexColorMixing.js.map +1 -1
  1416. package/Shaders/anaglyph.fragment.d.ts +1 -1
  1417. package/Shaders/anaglyph.fragment.js +1 -1
  1418. package/Shaders/anaglyph.fragment.js.map +1 -1
  1419. package/Shaders/background.fragment.d.ts +1 -1
  1420. package/Shaders/background.fragment.js +1 -1
  1421. package/Shaders/background.fragment.js.map +1 -1
  1422. package/Shaders/background.vertex.d.ts +1 -1
  1423. package/Shaders/background.vertex.js +1 -1
  1424. package/Shaders/background.vertex.js.map +1 -1
  1425. package/Shaders/blackAndWhite.fragment.d.ts +1 -1
  1426. package/Shaders/blackAndWhite.fragment.js +1 -1
  1427. package/Shaders/blackAndWhite.fragment.js.map +1 -1
  1428. package/Shaders/bloomMerge.fragment.d.ts +1 -1
  1429. package/Shaders/bloomMerge.fragment.js +1 -1
  1430. package/Shaders/bloomMerge.fragment.js.map +1 -1
  1431. package/Shaders/blur.fragment.d.ts +1 -1
  1432. package/Shaders/blur.fragment.js +1 -1
  1433. package/Shaders/blur.fragment.js.map +1 -1
  1434. package/Shaders/boundingBoxRenderer.fragment.d.ts +1 -1
  1435. package/Shaders/boundingBoxRenderer.fragment.js +1 -1
  1436. package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
  1437. package/Shaders/boundingBoxRenderer.vertex.d.ts +1 -1
  1438. package/Shaders/boundingBoxRenderer.vertex.js +1 -1
  1439. package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
  1440. package/Shaders/chromaticAberration.fragment.d.ts +1 -1
  1441. package/Shaders/chromaticAberration.fragment.js +2 -1
  1442. package/Shaders/chromaticAberration.fragment.js.map +1 -1
  1443. package/Shaders/circleOfConfusion.fragment.d.ts +1 -1
  1444. package/Shaders/circleOfConfusion.fragment.js +1 -1
  1445. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  1446. package/Shaders/clearQuad.fragment.d.ts +1 -1
  1447. package/Shaders/clearQuad.fragment.js +1 -1
  1448. package/Shaders/clearQuad.fragment.js.map +1 -1
  1449. package/Shaders/clearQuad.vertex.d.ts +1 -1
  1450. package/Shaders/clearQuad.vertex.js +1 -1
  1451. package/Shaders/clearQuad.vertex.js.map +1 -1
  1452. package/Shaders/color.fragment.d.ts +1 -1
  1453. package/Shaders/color.fragment.js +1 -1
  1454. package/Shaders/color.fragment.js.map +1 -1
  1455. package/Shaders/color.vertex.d.ts +1 -1
  1456. package/Shaders/color.vertex.js +1 -1
  1457. package/Shaders/color.vertex.js.map +1 -1
  1458. package/Shaders/colorCorrection.fragment.d.ts +1 -1
  1459. package/Shaders/colorCorrection.fragment.js +1 -1
  1460. package/Shaders/colorCorrection.fragment.js.map +1 -1
  1461. package/Shaders/convolution.fragment.d.ts +1 -1
  1462. package/Shaders/convolution.fragment.js +1 -1
  1463. package/Shaders/convolution.fragment.js.map +1 -1
  1464. package/Shaders/default.fragment.d.ts +1 -1
  1465. package/Shaders/default.fragment.js +1 -1
  1466. package/Shaders/default.fragment.js.map +1 -1
  1467. package/Shaders/default.vertex.d.ts +1 -1
  1468. package/Shaders/default.vertex.js +1 -1
  1469. package/Shaders/default.vertex.js.map +1 -1
  1470. package/Shaders/depth.fragment.d.ts +1 -1
  1471. package/Shaders/depth.fragment.js +1 -1
  1472. package/Shaders/depth.fragment.js.map +1 -1
  1473. package/Shaders/depth.vertex.d.ts +1 -1
  1474. package/Shaders/depth.vertex.js +1 -1
  1475. package/Shaders/depth.vertex.js.map +1 -1
  1476. package/Shaders/depthBoxBlur.fragment.d.ts +1 -1
  1477. package/Shaders/depthBoxBlur.fragment.js +1 -1
  1478. package/Shaders/depthBoxBlur.fragment.js.map +1 -1
  1479. package/Shaders/depthOfField.fragment.d.ts +1 -1
  1480. package/Shaders/depthOfField.fragment.js +1 -1
  1481. package/Shaders/depthOfField.fragment.js.map +1 -1
  1482. package/Shaders/depthOfFieldMerge.fragment.d.ts +1 -1
  1483. package/Shaders/depthOfFieldMerge.fragment.js +1 -1
  1484. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  1485. package/Shaders/displayPass.fragment.d.ts +1 -1
  1486. package/Shaders/displayPass.fragment.js +1 -1
  1487. package/Shaders/displayPass.fragment.js.map +1 -1
  1488. package/Shaders/extractHighlights.fragment.d.ts +1 -1
  1489. package/Shaders/extractHighlights.fragment.js +1 -1
  1490. package/Shaders/extractHighlights.fragment.js.map +1 -1
  1491. package/Shaders/filter.fragment.d.ts +1 -1
  1492. package/Shaders/filter.fragment.js +1 -1
  1493. package/Shaders/filter.fragment.js.map +1 -1
  1494. package/Shaders/fxaa.fragment.d.ts +1 -1
  1495. package/Shaders/fxaa.fragment.js +1 -1
  1496. package/Shaders/fxaa.fragment.js.map +1 -1
  1497. package/Shaders/fxaa.vertex.d.ts +1 -1
  1498. package/Shaders/fxaa.vertex.js +1 -1
  1499. package/Shaders/fxaa.vertex.js.map +1 -1
  1500. package/Shaders/geometry.fragment.d.ts +1 -1
  1501. package/Shaders/geometry.fragment.js +14 -2
  1502. package/Shaders/geometry.fragment.js.map +1 -1
  1503. package/Shaders/geometry.vertex.d.ts +1 -1
  1504. package/Shaders/geometry.vertex.js +1 -1
  1505. package/Shaders/geometry.vertex.js.map +1 -1
  1506. package/Shaders/glowBlurPostProcess.fragment.d.ts +1 -1
  1507. package/Shaders/glowBlurPostProcess.fragment.js +1 -1
  1508. package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
  1509. package/Shaders/glowMapGeneration.fragment.d.ts +1 -1
  1510. package/Shaders/glowMapGeneration.fragment.js +1 -1
  1511. package/Shaders/glowMapGeneration.fragment.js.map +1 -1
  1512. package/Shaders/glowMapGeneration.vertex.d.ts +1 -1
  1513. package/Shaders/glowMapGeneration.vertex.js +1 -1
  1514. package/Shaders/glowMapGeneration.vertex.js.map +1 -1
  1515. package/Shaders/glowMapMerge.fragment.d.ts +1 -1
  1516. package/Shaders/glowMapMerge.fragment.js +1 -1
  1517. package/Shaders/glowMapMerge.fragment.js.map +1 -1
  1518. package/Shaders/glowMapMerge.vertex.d.ts +1 -1
  1519. package/Shaders/glowMapMerge.vertex.js +1 -1
  1520. package/Shaders/glowMapMerge.vertex.js.map +1 -1
  1521. package/Shaders/gpuRenderParticles.fragment.d.ts +1 -1
  1522. package/Shaders/gpuRenderParticles.fragment.js +1 -1
  1523. package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
  1524. package/Shaders/gpuRenderParticles.vertex.d.ts +1 -1
  1525. package/Shaders/gpuRenderParticles.vertex.js +1 -1
  1526. package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
  1527. package/Shaders/gpuUpdateParticles.fragment.d.ts +1 -1
  1528. package/Shaders/gpuUpdateParticles.fragment.js +1 -1
  1529. package/Shaders/gpuUpdateParticles.fragment.js.map +1 -1
  1530. package/Shaders/gpuUpdateParticles.vertex.d.ts +1 -1
  1531. package/Shaders/gpuUpdateParticles.vertex.js +1 -1
  1532. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  1533. package/Shaders/grain.fragment.d.ts +1 -1
  1534. package/Shaders/grain.fragment.js +1 -1
  1535. package/Shaders/grain.fragment.js.map +1 -1
  1536. package/Shaders/hdrFiltering.fragment.d.ts +1 -1
  1537. package/Shaders/hdrFiltering.fragment.js +1 -1
  1538. package/Shaders/hdrFiltering.fragment.js.map +1 -1
  1539. package/Shaders/hdrFiltering.vertex.d.ts +1 -1
  1540. package/Shaders/hdrFiltering.vertex.js +1 -1
  1541. package/Shaders/hdrFiltering.vertex.js.map +1 -1
  1542. package/Shaders/highlights.fragment.d.ts +1 -1
  1543. package/Shaders/highlights.fragment.js +1 -1
  1544. package/Shaders/highlights.fragment.js.map +1 -1
  1545. package/Shaders/imageProcessing.fragment.d.ts +1 -1
  1546. package/Shaders/imageProcessing.fragment.js +1 -1
  1547. package/Shaders/imageProcessing.fragment.js.map +1 -1
  1548. package/Shaders/kernelBlur.fragment.d.ts +1 -1
  1549. package/Shaders/kernelBlur.fragment.js +1 -1
  1550. package/Shaders/kernelBlur.fragment.js.map +1 -1
  1551. package/Shaders/kernelBlur.vertex.d.ts +1 -1
  1552. package/Shaders/kernelBlur.vertex.js +1 -1
  1553. package/Shaders/kernelBlur.vertex.js.map +1 -1
  1554. package/Shaders/layer.fragment.d.ts +1 -1
  1555. package/Shaders/layer.fragment.js +1 -1
  1556. package/Shaders/layer.fragment.js.map +1 -1
  1557. package/Shaders/layer.vertex.d.ts +1 -1
  1558. package/Shaders/layer.vertex.js +1 -1
  1559. package/Shaders/layer.vertex.js.map +1 -1
  1560. package/Shaders/lensFlare.fragment.d.ts +1 -1
  1561. package/Shaders/lensFlare.fragment.js +1 -1
  1562. package/Shaders/lensFlare.fragment.js.map +1 -1
  1563. package/Shaders/lensFlare.vertex.d.ts +1 -1
  1564. package/Shaders/lensFlare.vertex.js +1 -1
  1565. package/Shaders/lensFlare.vertex.js.map +1 -1
  1566. package/Shaders/lensHighlights.fragment.d.ts +1 -1
  1567. package/Shaders/lensHighlights.fragment.js +1 -1
  1568. package/Shaders/lensHighlights.fragment.js.map +1 -1
  1569. package/Shaders/line.fragment.d.ts +1 -1
  1570. package/Shaders/line.fragment.js +1 -1
  1571. package/Shaders/line.fragment.js.map +1 -1
  1572. package/Shaders/line.vertex.d.ts +1 -1
  1573. package/Shaders/line.vertex.js +1 -1
  1574. package/Shaders/line.vertex.js.map +1 -1
  1575. package/Shaders/minmaxRedux.fragment.d.ts +1 -1
  1576. package/Shaders/minmaxRedux.fragment.js +1 -1
  1577. package/Shaders/minmaxRedux.fragment.js.map +1 -1
  1578. package/Shaders/motionBlur.fragment.d.ts +1 -1
  1579. package/Shaders/motionBlur.fragment.js +1 -1
  1580. package/Shaders/motionBlur.fragment.js.map +1 -1
  1581. package/Shaders/noise.fragment.d.ts +1 -1
  1582. package/Shaders/noise.fragment.js +1 -1
  1583. package/Shaders/noise.fragment.js.map +1 -1
  1584. package/Shaders/oitBackBlend.fragment.d.ts +1 -1
  1585. package/Shaders/oitBackBlend.fragment.js +1 -1
  1586. package/Shaders/oitBackBlend.fragment.js.map +1 -1
  1587. package/Shaders/oitFinal.fragment.d.ts +1 -1
  1588. package/Shaders/oitFinal.fragment.js +1 -1
  1589. package/Shaders/oitFinal.fragment.js.map +1 -1
  1590. package/Shaders/outline.fragment.d.ts +1 -1
  1591. package/Shaders/outline.fragment.js +1 -1
  1592. package/Shaders/outline.fragment.js.map +1 -1
  1593. package/Shaders/outline.vertex.d.ts +1 -1
  1594. package/Shaders/outline.vertex.js +1 -1
  1595. package/Shaders/outline.vertex.js.map +1 -1
  1596. package/Shaders/particles.fragment.d.ts +1 -1
  1597. package/Shaders/particles.fragment.js +1 -1
  1598. package/Shaders/particles.fragment.js.map +1 -1
  1599. package/Shaders/particles.vertex.d.ts +1 -1
  1600. package/Shaders/particles.vertex.js +1 -1
  1601. package/Shaders/particles.vertex.js.map +1 -1
  1602. package/Shaders/pass.fragment.d.ts +1 -1
  1603. package/Shaders/pass.fragment.js +1 -1
  1604. package/Shaders/pass.fragment.js.map +1 -1
  1605. package/Shaders/passCube.fragment.d.ts +1 -1
  1606. package/Shaders/passCube.fragment.js +1 -1
  1607. package/Shaders/passCube.fragment.js.map +1 -1
  1608. package/Shaders/pbr.fragment.d.ts +1 -1
  1609. package/Shaders/pbr.fragment.js +1 -1
  1610. package/Shaders/pbr.fragment.js.map +1 -1
  1611. package/Shaders/pbr.vertex.d.ts +1 -1
  1612. package/Shaders/pbr.vertex.js +1 -1
  1613. package/Shaders/pbr.vertex.js.map +1 -1
  1614. package/Shaders/postprocess.vertex.d.ts +1 -1
  1615. package/Shaders/postprocess.vertex.js +1 -1
  1616. package/Shaders/postprocess.vertex.js.map +1 -1
  1617. package/Shaders/procedural.vertex.d.ts +1 -1
  1618. package/Shaders/procedural.vertex.js +1 -1
  1619. package/Shaders/procedural.vertex.js.map +1 -1
  1620. package/Shaders/refraction.fragment.d.ts +1 -1
  1621. package/Shaders/refraction.fragment.js +1 -1
  1622. package/Shaders/refraction.fragment.js.map +1 -1
  1623. package/Shaders/rgbdDecode.fragment.d.ts +1 -1
  1624. package/Shaders/rgbdDecode.fragment.js +1 -1
  1625. package/Shaders/rgbdDecode.fragment.js.map +1 -1
  1626. package/Shaders/rgbdEncode.fragment.d.ts +1 -1
  1627. package/Shaders/rgbdEncode.fragment.js +1 -1
  1628. package/Shaders/rgbdEncode.fragment.js.map +1 -1
  1629. package/Shaders/screenSpaceCurvature.fragment.d.ts +1 -1
  1630. package/Shaders/screenSpaceCurvature.fragment.js +1 -1
  1631. package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
  1632. package/Shaders/screenSpaceReflection.fragment.d.ts +1 -1
  1633. package/Shaders/screenSpaceReflection.fragment.js +1 -1
  1634. package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
  1635. package/Shaders/shadowMap.fragment.d.ts +1 -1
  1636. package/Shaders/shadowMap.fragment.js +1 -1
  1637. package/Shaders/shadowMap.fragment.js.map +1 -1
  1638. package/Shaders/shadowMap.vertex.d.ts +1 -1
  1639. package/Shaders/shadowMap.vertex.js +1 -1
  1640. package/Shaders/shadowMap.vertex.js.map +1 -1
  1641. package/Shaders/sharpen.fragment.d.ts +1 -1
  1642. package/Shaders/sharpen.fragment.js +1 -1
  1643. package/Shaders/sharpen.fragment.js.map +1 -1
  1644. package/Shaders/spriteMap.fragment.d.ts +1 -1
  1645. package/Shaders/spriteMap.fragment.js +1 -1
  1646. package/Shaders/spriteMap.fragment.js.map +1 -1
  1647. package/Shaders/spriteMap.vertex.d.ts +1 -1
  1648. package/Shaders/spriteMap.vertex.js +1 -1
  1649. package/Shaders/spriteMap.vertex.js.map +1 -1
  1650. package/Shaders/sprites.fragment.d.ts +1 -1
  1651. package/Shaders/sprites.fragment.js +1 -1
  1652. package/Shaders/sprites.fragment.js.map +1 -1
  1653. package/Shaders/sprites.vertex.d.ts +1 -1
  1654. package/Shaders/sprites.vertex.js +1 -1
  1655. package/Shaders/sprites.vertex.js.map +1 -1
  1656. package/Shaders/ssao.fragment.d.ts +1 -1
  1657. package/Shaders/ssao.fragment.js +1 -1
  1658. package/Shaders/ssao.fragment.js.map +1 -1
  1659. package/Shaders/ssao2.fragment.d.ts +1 -1
  1660. package/Shaders/ssao2.fragment.js +1 -1
  1661. package/Shaders/ssao2.fragment.js.map +1 -1
  1662. package/Shaders/ssaoCombine.fragment.d.ts +1 -1
  1663. package/Shaders/ssaoCombine.fragment.js +1 -1
  1664. package/Shaders/ssaoCombine.fragment.js.map +1 -1
  1665. package/Shaders/standard.fragment.d.ts +1 -1
  1666. package/Shaders/standard.fragment.js +1 -1
  1667. package/Shaders/standard.fragment.js.map +1 -1
  1668. package/Shaders/stereoscopicInterlace.fragment.d.ts +1 -1
  1669. package/Shaders/stereoscopicInterlace.fragment.js +1 -1
  1670. package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
  1671. package/Shaders/subSurfaceScattering.fragment.d.ts +1 -1
  1672. package/Shaders/subSurfaceScattering.fragment.js +1 -1
  1673. package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
  1674. package/Shaders/tonemap.fragment.d.ts +1 -1
  1675. package/Shaders/tonemap.fragment.js +1 -1
  1676. package/Shaders/tonemap.fragment.js.map +1 -1
  1677. package/Shaders/volumetricLightScattering.fragment.d.ts +1 -1
  1678. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  1679. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  1680. package/Shaders/volumetricLightScatteringPass.fragment.d.ts +1 -1
  1681. package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
  1682. package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
  1683. package/Shaders/volumetricLightScatteringPass.vertex.d.ts +1 -1
  1684. package/Shaders/volumetricLightScatteringPass.vertex.js +1 -1
  1685. package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
  1686. package/Shaders/vrDistortionCorrection.fragment.d.ts +1 -1
  1687. package/Shaders/vrDistortionCorrection.fragment.js +1 -1
  1688. package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
  1689. package/Shaders/vrMultiviewToSingleview.fragment.d.ts +1 -1
  1690. package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
  1691. package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
  1692. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  1693. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +1 -1
  1694. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  1695. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  1696. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  1697. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  1698. package/ShadersWGSL/ShadersInclude/bonesDeclaration.d.ts +1 -1
  1699. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
  1700. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  1701. package/ShadersWGSL/ShadersInclude/bonesVertex.d.ts +1 -1
  1702. package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
  1703. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  1704. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  1705. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +1 -1
  1706. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
  1707. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  1708. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  1709. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  1710. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  1711. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +1 -1
  1712. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
  1713. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  1714. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  1715. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  1716. package/ShadersWGSL/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1717. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
  1718. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
  1719. package/ShadersWGSL/ShadersInclude/instancesVertex.d.ts +1 -1
  1720. package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
  1721. package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
  1722. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1723. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
  1724. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1725. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1726. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
  1727. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1728. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1729. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1730. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1731. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1732. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1733. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1734. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1735. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1736. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1737. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1738. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
  1739. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1740. package/ShadersWGSL/gpuUpdateParticles.compute.d.ts +1 -1
  1741. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  1742. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  1743. package/Sprites/spriteSceneComponent.d.ts +6 -6
  1744. package/Sprites/spriteSceneComponent.js.map +1 -1
  1745. package/Sprites/thinSprite.d.ts +5 -6
  1746. package/Sprites/thinSprite.js +1 -2
  1747. package/Sprites/thinSprite.js.map +1 -1
  1748. package/States/IStencilState.d.ts +1 -1
  1749. package/States/IStencilState.js.map +1 -1
  1750. package/States/alphaCullingState.d.ts +1 -1
  1751. package/States/alphaCullingState.js +1 -1
  1752. package/States/alphaCullingState.js.map +1 -1
  1753. package/States/depthCullingState.d.ts +1 -1
  1754. package/States/depthCullingState.js +1 -1
  1755. package/States/depthCullingState.js.map +1 -1
  1756. package/States/stencilState.d.ts +1 -1
  1757. package/States/stencilState.js +1 -1
  1758. package/States/stencilState.js.map +1 -1
  1759. package/States/stencilStateComposer.d.ts +1 -1
  1760. package/States/stencilStateComposer.js +1 -1
  1761. package/States/stencilStateComposer.js.map +1 -1
  1762. package/XR/features/WebXRControllerPhysics.d.ts +1 -1
  1763. package/XR/features/WebXRControllerPhysics.js +1 -1
  1764. package/XR/features/WebXRControllerPhysics.js.map +1 -1
  1765. package/XR/features/WebXRControllerPointerSelection.d.ts +3 -6
  1766. package/XR/features/WebXRControllerPointerSelection.js +3 -6
  1767. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  1768. package/XR/features/WebXRControllerTeleportation.d.ts +4 -0
  1769. package/XR/features/WebXRControllerTeleportation.js +24 -19
  1770. package/XR/features/WebXRControllerTeleportation.js.map +1 -1
  1771. package/XR/features/WebXRLayers.d.ts +2 -2
  1772. package/XR/features/WebXRLayers.js +4 -4
  1773. package/XR/features/WebXRLayers.js.map +1 -1
  1774. package/XR/features/WebXRNearInteraction.js +2 -2
  1775. package/XR/features/WebXRNearInteraction.js.map +1 -1
  1776. package/XR/motionController/webXRAbstractMotionController.d.ts +5 -6
  1777. package/XR/motionController/webXRAbstractMotionController.js +4 -5
  1778. package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
  1779. package/XR/motionController/webXRControllerComponent.d.ts +1 -1
  1780. package/XR/motionController/webXRControllerComponent.js +1 -1
  1781. package/XR/motionController/webXRControllerComponent.js.map +1 -1
  1782. package/XR/motionController/webXRMotionControllerManager.d.ts +3 -3
  1783. package/XR/motionController/webXRMotionControllerManager.js +3 -3
  1784. package/XR/motionController/webXRMotionControllerManager.js.map +1 -1
  1785. package/XR/native/nativeXRFrame.d.ts +2 -2
  1786. package/XR/native/nativeXRFrame.js +1 -1
  1787. package/XR/native/nativeXRFrame.js.map +1 -1
  1788. package/XR/native/nativeXRRenderTarget.d.ts +3 -3
  1789. package/XR/native/nativeXRRenderTarget.js +3 -3
  1790. package/XR/native/nativeXRRenderTarget.js.map +1 -1
  1791. package/XR/webXRCamera.d.ts +2 -2
  1792. package/XR/webXRCamera.js +1 -1
  1793. package/XR/webXRCamera.js.map +1 -1
  1794. package/XR/webXRDefaultExperience.d.ts +6 -6
  1795. package/XR/webXRDefaultExperience.js.map +1 -1
  1796. package/XR/webXRExperienceHelper.d.ts +21 -1
  1797. package/XR/webXRExperienceHelper.js +37 -7
  1798. package/XR/webXRExperienceHelper.js.map +1 -1
  1799. package/XR/webXRInputSource.d.ts +1 -1
  1800. package/XR/webXRInputSource.js.map +1 -1
  1801. package/XR/webXRLayerWrapper.d.ts +1 -1
  1802. package/XR/webXRLayerWrapper.js +1 -1
  1803. package/XR/webXRLayerWrapper.js.map +1 -1
  1804. package/XR/webXRRenderTargetTextureProvider.d.ts +1 -1
  1805. package/XR/webXRRenderTargetTextureProvider.js +1 -1
  1806. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  1807. package/XR/webXRSessionManager.d.ts +1 -2
  1808. package/XR/webXRSessionManager.js +1 -2
  1809. package/XR/webXRSessionManager.js.map +1 -1
  1810. package/XR/webXRWebGLLayer.d.ts +2 -2
  1811. package/XR/webXRWebGLLayer.js +2 -2
  1812. package/XR/webXRWebGLLayer.js.map +1 -1
  1813. package/abstractScene.d.ts +1 -1
  1814. package/abstractScene.js +1 -1
  1815. package/abstractScene.js.map +1 -1
  1816. package/node.d.ts +44 -56
  1817. package/node.js +43 -58
  1818. package/node.js.map +1 -1
  1819. package/package.json +1 -1
  1820. package/scene.d.ts +130 -168
  1821. package/scene.js +115 -142
  1822. package/scene.js.map +1 -1
  1823. package/sceneComponent.d.ts +2 -2
  1824. package/sceneComponent.js +2 -2
  1825. package/sceneComponent.js.map +1 -1
  1826. package/types.d.ts +2 -2
  1827. package/types.js +1 -1
  1828. package/types.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"boundingBox.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Culling/boundingBox.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeepImmutable, Nullable } from \"../types\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\nimport type { BoundingSphere } from \"../Culling/boundingSphere\";\r\n\r\nimport type { ICullable } from \"./boundingInfo\";\r\nimport { Epsilon } from \"../Maths/math.constants\";\r\nimport type { Plane } from \"../Maths/math.plane\";\r\n\r\ndeclare type DrawWrapper = import(\"../Materials/drawWrapper\").DrawWrapper;\r\n\r\n/**\r\n * Class used to store bounding box information\r\n */\r\nexport class BoundingBox implements ICullable {\r\n /**\r\n * Gets the 8 vectors representing the bounding box in local space\r\n */\r\n public readonly vectors: Vector3[] = ArrayTools.BuildArray(8, Vector3.Zero);\r\n /**\r\n * Gets the center of the bounding box in local space\r\n */\r\n public readonly center: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the center of the bounding box in world space\r\n */\r\n public readonly centerWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the extend size in local space\r\n */\r\n public readonly extendSize: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the extend size in world space\r\n */\r\n public readonly extendSizeWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the OBB (object bounding box) directions\r\n */\r\n public readonly directions: Vector3[] = ArrayTools.BuildArray(3, Vector3.Zero);\r\n /**\r\n * Gets the 8 vectors representing the bounding box in world space\r\n */\r\n public readonly vectorsWorld: Vector3[] = ArrayTools.BuildArray(8, Vector3.Zero);\r\n /**\r\n * Gets the minimum vector in world space\r\n */\r\n public readonly minimumWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the maximum vector in world space\r\n */\r\n public readonly maximumWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the minimum vector in local space\r\n */\r\n public readonly minimum: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the maximum vector in local space\r\n */\r\n public readonly maximum: Vector3 = Vector3.Zero();\r\n\r\n private _worldMatrix: DeepImmutable<Matrix>;\r\n private static readonly _TmpVector3 = ArrayTools.BuildArray(3, Vector3.Zero);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _tag: number;\r\n\r\n /** @hidden */\r\n public _drawWrapperFront: Nullable<DrawWrapper> = null;\r\n /** @hidden */\r\n public _drawWrapperBack: Nullable<DrawWrapper> = null;\r\n\r\n /**\r\n * Creates a new bounding box\r\n * @param min defines the minimum vector (in local space)\r\n * @param max defines the maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n constructor(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.reConstruct(min, max, worldMatrix);\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Recreates the entire bounding box from scratch as if we call the constructor in place\r\n * @param min defines the new minimum vector (in local space)\r\n * @param max defines the new maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n public reConstruct(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n const minX = min.x,\r\n minY = min.y,\r\n minZ = min.z,\r\n maxX = max.x,\r\n maxY = max.y,\r\n maxZ = max.z;\r\n const vectors = this.vectors;\r\n\r\n this.minimum.copyFromFloats(minX, minY, minZ);\r\n this.maximum.copyFromFloats(maxX, maxY, maxZ);\r\n vectors[0].copyFromFloats(minX, minY, minZ);\r\n vectors[1].copyFromFloats(maxX, maxY, maxZ);\r\n vectors[2].copyFromFloats(maxX, minY, minZ);\r\n vectors[3].copyFromFloats(minX, maxY, minZ);\r\n vectors[4].copyFromFloats(minX, minY, maxZ);\r\n vectors[5].copyFromFloats(maxX, maxY, minZ);\r\n vectors[6].copyFromFloats(minX, maxY, maxZ);\r\n vectors[7].copyFromFloats(maxX, minY, maxZ);\r\n\r\n // OBB\r\n max.addToRef(min, this.center).scaleInPlace(0.5);\r\n max.subtractToRef(min, this.extendSize).scaleInPlace(0.5);\r\n\r\n this._worldMatrix = worldMatrix || Matrix.IdentityReadOnly;\r\n\r\n this._update(this._worldMatrix);\r\n }\r\n\r\n /**\r\n * Scale the current bounding box by applying a scale factor\r\n * @param factor defines the scale factor to apply\r\n * @returns the current bounding box\r\n */\r\n public scale(factor: number): BoundingBox {\r\n const tmpVectors = BoundingBox._TmpVector3;\r\n const diff = this.maximum.subtractToRef(this.minimum, tmpVectors[0]);\r\n const len = diff.length();\r\n diff.normalizeFromLength(len);\r\n const distance = len * factor;\r\n const newRadius = diff.scaleInPlace(distance * 0.5);\r\n\r\n const min = this.center.subtractToRef(newRadius, tmpVectors[1]);\r\n const max = this.center.addToRef(newRadius, tmpVectors[2]);\r\n\r\n this.reConstruct(min, max, this._worldMatrix);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the world matrix of the bounding box\r\n * @returns a matrix\r\n */\r\n public getWorldMatrix(): DeepImmutable<Matrix> {\r\n return this._worldMatrix;\r\n }\r\n\r\n /**\r\n * @param world\r\n * @hidden\r\n */\r\n public _update(world: DeepImmutable<Matrix>): void {\r\n const minWorld = this.minimumWorld;\r\n const maxWorld = this.maximumWorld;\r\n const directions = this.directions;\r\n const vectorsWorld = this.vectorsWorld;\r\n const vectors = this.vectors;\r\n\r\n if (!world.isIdentity()) {\r\n minWorld.setAll(Number.MAX_VALUE);\r\n maxWorld.setAll(-Number.MAX_VALUE);\r\n\r\n for (let index = 0; index < 8; ++index) {\r\n const v = vectorsWorld[index];\r\n Vector3.TransformCoordinatesToRef(vectors[index], world, v);\r\n minWorld.minimizeInPlace(v);\r\n maxWorld.maximizeInPlace(v);\r\n }\r\n\r\n // Extend\r\n maxWorld.subtractToRef(minWorld, this.extendSizeWorld).scaleInPlace(0.5);\r\n maxWorld.addToRef(minWorld, this.centerWorld).scaleInPlace(0.5);\r\n } else {\r\n minWorld.copyFrom(this.minimum);\r\n maxWorld.copyFrom(this.maximum);\r\n for (let index = 0; index < 8; ++index) {\r\n vectorsWorld[index].copyFrom(vectors[index]);\r\n }\r\n\r\n // Extend\r\n this.extendSizeWorld.copyFrom(this.extendSize);\r\n this.centerWorld.copyFrom(this.center);\r\n }\r\n\r\n Vector3.FromArrayToRef(world.m, 0, directions[0]);\r\n Vector3.FromArrayToRef(world.m, 4, directions[1]);\r\n Vector3.FromArrayToRef(world.m, 8, directions[2]);\r\n\r\n this._worldMatrix = world;\r\n }\r\n\r\n /**\r\n * Tests if the bounding box is intersecting the frustum planes\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an intersection\r\n */\r\n public isInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n return BoundingBox.IsInFrustum(this.vectorsWorld, frustumPlanes);\r\n }\r\n\r\n /**\r\n * Tests if the bounding box is entirely inside the frustum planes\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an inclusion\r\n */\r\n public isCompletelyInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n return BoundingBox.IsCompletelyInFrustum(this.vectorsWorld, frustumPlanes);\r\n }\r\n\r\n /**\r\n * Tests if a point is inside the bounding box\r\n * @param point defines the point to test\r\n * @returns true if the point is inside the bounding box\r\n */\r\n public intersectsPoint(point: DeepImmutable<Vector3>): boolean {\r\n const min = this.minimumWorld;\r\n const max = this.maximumWorld;\r\n const minX = min.x,\r\n minY = min.y,\r\n minZ = min.z,\r\n maxX = max.x,\r\n maxY = max.y,\r\n maxZ = max.z;\r\n const pointX = point.x,\r\n pointY = point.y,\r\n pointZ = point.z;\r\n const delta = -Epsilon;\r\n\r\n if (maxX - pointX < delta || delta > pointX - minX) {\r\n return false;\r\n }\r\n\r\n if (maxY - pointY < delta || delta > pointY - minY) {\r\n return false;\r\n }\r\n\r\n if (maxZ - pointZ < delta || delta > pointZ - minZ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if the bounding box intersects with a bounding sphere\r\n * @param sphere defines the sphere to test\r\n * @returns true if there is an intersection\r\n */\r\n public intersectsSphere(sphere: DeepImmutable<BoundingSphere>): boolean {\r\n return BoundingBox.IntersectsSphere(this.minimumWorld, this.maximumWorld, sphere.centerWorld, sphere.radiusWorld);\r\n }\r\n\r\n /**\r\n * Tests if the bounding box intersects with a box defined by a min and max vectors\r\n * @param min defines the min vector to use\r\n * @param max defines the max vector to use\r\n * @returns true if there is an intersection\r\n */\r\n public intersectsMinMax(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>): boolean {\r\n const myMin = this.minimumWorld;\r\n const myMax = this.maximumWorld;\r\n const myMinX = myMin.x,\r\n myMinY = myMin.y,\r\n myMinZ = myMin.z,\r\n myMaxX = myMax.x,\r\n myMaxY = myMax.y,\r\n myMaxZ = myMax.z;\r\n const minX = min.x,\r\n minY = min.y,\r\n minZ = min.z,\r\n maxX = max.x,\r\n maxY = max.y,\r\n maxZ = max.z;\r\n if (myMaxX < minX || myMinX > maxX) {\r\n return false;\r\n }\r\n\r\n if (myMaxY < minY || myMinY > maxY) {\r\n return false;\r\n }\r\n\r\n if (myMaxZ < minZ || myMinZ > maxZ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Disposes the resources of the class\r\n */\r\n public dispose(): void {\r\n this._drawWrapperFront?.dispose();\r\n this._drawWrapperBack?.dispose();\r\n }\r\n\r\n // Statics\r\n\r\n /**\r\n * Tests if two bounding boxes are intersections\r\n * @param box0 defines the first box to test\r\n * @param box1 defines the second box to test\r\n * @returns true if there is an intersection\r\n */\r\n public static Intersects(box0: DeepImmutable<BoundingBox>, box1: DeepImmutable<BoundingBox>): boolean {\r\n return box0.intersectsMinMax(box1.minimumWorld, box1.maximumWorld);\r\n }\r\n\r\n /**\r\n * Tests if a bounding box defines by a min/max vectors intersects a sphere\r\n * @param minPoint defines the minimum vector of the bounding box\r\n * @param maxPoint defines the maximum vector of the bounding box\r\n * @param sphereCenter defines the sphere center\r\n * @param sphereRadius defines the sphere radius\r\n * @returns true if there is an intersection\r\n */\r\n public static IntersectsSphere(minPoint: DeepImmutable<Vector3>, maxPoint: DeepImmutable<Vector3>, sphereCenter: DeepImmutable<Vector3>, sphereRadius: number): boolean {\r\n const vector = BoundingBox._TmpVector3[0];\r\n Vector3.ClampToRef(sphereCenter, minPoint, maxPoint, vector);\r\n const num = Vector3.DistanceSquared(sphereCenter, vector);\r\n return num <= sphereRadius * sphereRadius;\r\n }\r\n\r\n /**\r\n * Tests if a bounding box defined with 8 vectors is entirely inside frustum planes\r\n * @param boundingVectors defines an array of 8 vectors representing a bounding box\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @return true if there is an inclusion\r\n */\r\n public static IsCompletelyInFrustum(boundingVectors: Array<DeepImmutable<Vector3>>, frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n for (let p = 0; p < 6; ++p) {\r\n const frustumPlane = frustumPlanes[p];\r\n for (let i = 0; i < 8; ++i) {\r\n if (frustumPlane.dotCoordinate(boundingVectors[i]) < 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if a bounding box defined with 8 vectors intersects frustum planes\r\n * @param boundingVectors defines an array of 8 vectors representing a bounding box\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @return true if there is an intersection\r\n */\r\n public static IsInFrustum(boundingVectors: Array<DeepImmutable<Vector3>>, frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n for (let p = 0; p < 6; ++p) {\r\n let canReturnFalse = true;\r\n const frustumPlane = frustumPlanes[p];\r\n for (let i = 0; i < 8; ++i) {\r\n if (frustumPlane.dotCoordinate(boundingVectors[i]) >= 0) {\r\n canReturnFalse = false;\r\n break;\r\n }\r\n }\r\n if (canReturnFalse) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"boundingBox.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Culling/boundingBox.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeepImmutable, Nullable } from \"../types\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\nimport type { BoundingSphere } from \"../Culling/boundingSphere\";\r\n\r\nimport type { ICullable } from \"./boundingInfo\";\r\nimport { Epsilon } from \"../Maths/math.constants\";\r\nimport type { Plane } from \"../Maths/math.plane\";\r\n\r\ndeclare type DrawWrapper = import(\"../Materials/drawWrapper\").DrawWrapper;\r\n\r\n/**\r\n * Class used to store bounding box information\r\n */\r\nexport class BoundingBox implements ICullable {\r\n /**\r\n * Gets the 8 vectors representing the bounding box in local space\r\n */\r\n public readonly vectors: Vector3[] = ArrayTools.BuildArray(8, Vector3.Zero);\r\n /**\r\n * Gets the center of the bounding box in local space\r\n */\r\n public readonly center: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the center of the bounding box in world space\r\n */\r\n public readonly centerWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the extend size in local space\r\n */\r\n public readonly extendSize: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the extend size in world space\r\n */\r\n public readonly extendSizeWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the OBB (object bounding box) directions\r\n */\r\n public readonly directions: Vector3[] = ArrayTools.BuildArray(3, Vector3.Zero);\r\n /**\r\n * Gets the 8 vectors representing the bounding box in world space\r\n */\r\n public readonly vectorsWorld: Vector3[] = ArrayTools.BuildArray(8, Vector3.Zero);\r\n /**\r\n * Gets the minimum vector in world space\r\n */\r\n public readonly minimumWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the maximum vector in world space\r\n */\r\n public readonly maximumWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the minimum vector in local space\r\n */\r\n public readonly minimum: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the maximum vector in local space\r\n */\r\n public readonly maximum: Vector3 = Vector3.Zero();\r\n\r\n private _worldMatrix: DeepImmutable<Matrix>;\r\n private static readonly _TmpVector3 = ArrayTools.BuildArray(3, Vector3.Zero);\r\n\r\n /**\r\n * @internal\r\n */\r\n public _tag: number;\r\n\r\n /** @internal */\r\n public _drawWrapperFront: Nullable<DrawWrapper> = null;\r\n /** @internal */\r\n public _drawWrapperBack: Nullable<DrawWrapper> = null;\r\n\r\n /**\r\n * Creates a new bounding box\r\n * @param min defines the minimum vector (in local space)\r\n * @param max defines the maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n constructor(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.reConstruct(min, max, worldMatrix);\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Recreates the entire bounding box from scratch as if we call the constructor in place\r\n * @param min defines the new minimum vector (in local space)\r\n * @param max defines the new maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n public reConstruct(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n const minX = min.x,\r\n minY = min.y,\r\n minZ = min.z,\r\n maxX = max.x,\r\n maxY = max.y,\r\n maxZ = max.z;\r\n const vectors = this.vectors;\r\n\r\n this.minimum.copyFromFloats(minX, minY, minZ);\r\n this.maximum.copyFromFloats(maxX, maxY, maxZ);\r\n vectors[0].copyFromFloats(minX, minY, minZ);\r\n vectors[1].copyFromFloats(maxX, maxY, maxZ);\r\n vectors[2].copyFromFloats(maxX, minY, minZ);\r\n vectors[3].copyFromFloats(minX, maxY, minZ);\r\n vectors[4].copyFromFloats(minX, minY, maxZ);\r\n vectors[5].copyFromFloats(maxX, maxY, minZ);\r\n vectors[6].copyFromFloats(minX, maxY, maxZ);\r\n vectors[7].copyFromFloats(maxX, minY, maxZ);\r\n\r\n // OBB\r\n max.addToRef(min, this.center).scaleInPlace(0.5);\r\n max.subtractToRef(min, this.extendSize).scaleInPlace(0.5);\r\n\r\n this._worldMatrix = worldMatrix || Matrix.IdentityReadOnly;\r\n\r\n this._update(this._worldMatrix);\r\n }\r\n\r\n /**\r\n * Scale the current bounding box by applying a scale factor\r\n * @param factor defines the scale factor to apply\r\n * @returns the current bounding box\r\n */\r\n public scale(factor: number): BoundingBox {\r\n const tmpVectors = BoundingBox._TmpVector3;\r\n const diff = this.maximum.subtractToRef(this.minimum, tmpVectors[0]);\r\n const len = diff.length();\r\n diff.normalizeFromLength(len);\r\n const distance = len * factor;\r\n const newRadius = diff.scaleInPlace(distance * 0.5);\r\n\r\n const min = this.center.subtractToRef(newRadius, tmpVectors[1]);\r\n const max = this.center.addToRef(newRadius, tmpVectors[2]);\r\n\r\n this.reConstruct(min, max, this._worldMatrix);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the world matrix of the bounding box\r\n * @returns a matrix\r\n */\r\n public getWorldMatrix(): DeepImmutable<Matrix> {\r\n return this._worldMatrix;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _update(world: DeepImmutable<Matrix>): void {\r\n const minWorld = this.minimumWorld;\r\n const maxWorld = this.maximumWorld;\r\n const directions = this.directions;\r\n const vectorsWorld = this.vectorsWorld;\r\n const vectors = this.vectors;\r\n\r\n if (!world.isIdentity()) {\r\n minWorld.setAll(Number.MAX_VALUE);\r\n maxWorld.setAll(-Number.MAX_VALUE);\r\n\r\n for (let index = 0; index < 8; ++index) {\r\n const v = vectorsWorld[index];\r\n Vector3.TransformCoordinatesToRef(vectors[index], world, v);\r\n minWorld.minimizeInPlace(v);\r\n maxWorld.maximizeInPlace(v);\r\n }\r\n\r\n // Extend\r\n maxWorld.subtractToRef(minWorld, this.extendSizeWorld).scaleInPlace(0.5);\r\n maxWorld.addToRef(minWorld, this.centerWorld).scaleInPlace(0.5);\r\n } else {\r\n minWorld.copyFrom(this.minimum);\r\n maxWorld.copyFrom(this.maximum);\r\n for (let index = 0; index < 8; ++index) {\r\n vectorsWorld[index].copyFrom(vectors[index]);\r\n }\r\n\r\n // Extend\r\n this.extendSizeWorld.copyFrom(this.extendSize);\r\n this.centerWorld.copyFrom(this.center);\r\n }\r\n\r\n Vector3.FromArrayToRef(world.m, 0, directions[0]);\r\n Vector3.FromArrayToRef(world.m, 4, directions[1]);\r\n Vector3.FromArrayToRef(world.m, 8, directions[2]);\r\n\r\n this._worldMatrix = world;\r\n }\r\n\r\n /**\r\n * Tests if the bounding box is intersecting the frustum planes\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an intersection\r\n */\r\n public isInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n return BoundingBox.IsInFrustum(this.vectorsWorld, frustumPlanes);\r\n }\r\n\r\n /**\r\n * Tests if the bounding box is entirely inside the frustum planes\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an inclusion\r\n */\r\n public isCompletelyInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n return BoundingBox.IsCompletelyInFrustum(this.vectorsWorld, frustumPlanes);\r\n }\r\n\r\n /**\r\n * Tests if a point is inside the bounding box\r\n * @param point defines the point to test\r\n * @returns true if the point is inside the bounding box\r\n */\r\n public intersectsPoint(point: DeepImmutable<Vector3>): boolean {\r\n const min = this.minimumWorld;\r\n const max = this.maximumWorld;\r\n const minX = min.x,\r\n minY = min.y,\r\n minZ = min.z,\r\n maxX = max.x,\r\n maxY = max.y,\r\n maxZ = max.z;\r\n const pointX = point.x,\r\n pointY = point.y,\r\n pointZ = point.z;\r\n const delta = -Epsilon;\r\n\r\n if (maxX - pointX < delta || delta > pointX - minX) {\r\n return false;\r\n }\r\n\r\n if (maxY - pointY < delta || delta > pointY - minY) {\r\n return false;\r\n }\r\n\r\n if (maxZ - pointZ < delta || delta > pointZ - minZ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if the bounding box intersects with a bounding sphere\r\n * @param sphere defines the sphere to test\r\n * @returns true if there is an intersection\r\n */\r\n public intersectsSphere(sphere: DeepImmutable<BoundingSphere>): boolean {\r\n return BoundingBox.IntersectsSphere(this.minimumWorld, this.maximumWorld, sphere.centerWorld, sphere.radiusWorld);\r\n }\r\n\r\n /**\r\n * Tests if the bounding box intersects with a box defined by a min and max vectors\r\n * @param min defines the min vector to use\r\n * @param max defines the max vector to use\r\n * @returns true if there is an intersection\r\n */\r\n public intersectsMinMax(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>): boolean {\r\n const myMin = this.minimumWorld;\r\n const myMax = this.maximumWorld;\r\n const myMinX = myMin.x,\r\n myMinY = myMin.y,\r\n myMinZ = myMin.z,\r\n myMaxX = myMax.x,\r\n myMaxY = myMax.y,\r\n myMaxZ = myMax.z;\r\n const minX = min.x,\r\n minY = min.y,\r\n minZ = min.z,\r\n maxX = max.x,\r\n maxY = max.y,\r\n maxZ = max.z;\r\n if (myMaxX < minX || myMinX > maxX) {\r\n return false;\r\n }\r\n\r\n if (myMaxY < minY || myMinY > maxY) {\r\n return false;\r\n }\r\n\r\n if (myMaxZ < minZ || myMinZ > maxZ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Disposes the resources of the class\r\n */\r\n public dispose(): void {\r\n this._drawWrapperFront?.dispose();\r\n this._drawWrapperBack?.dispose();\r\n }\r\n\r\n // Statics\r\n\r\n /**\r\n * Tests if two bounding boxes are intersections\r\n * @param box0 defines the first box to test\r\n * @param box1 defines the second box to test\r\n * @returns true if there is an intersection\r\n */\r\n public static Intersects(box0: DeepImmutable<BoundingBox>, box1: DeepImmutable<BoundingBox>): boolean {\r\n return box0.intersectsMinMax(box1.minimumWorld, box1.maximumWorld);\r\n }\r\n\r\n /**\r\n * Tests if a bounding box defines by a min/max vectors intersects a sphere\r\n * @param minPoint defines the minimum vector of the bounding box\r\n * @param maxPoint defines the maximum vector of the bounding box\r\n * @param sphereCenter defines the sphere center\r\n * @param sphereRadius defines the sphere radius\r\n * @returns true if there is an intersection\r\n */\r\n public static IntersectsSphere(minPoint: DeepImmutable<Vector3>, maxPoint: DeepImmutable<Vector3>, sphereCenter: DeepImmutable<Vector3>, sphereRadius: number): boolean {\r\n const vector = BoundingBox._TmpVector3[0];\r\n Vector3.ClampToRef(sphereCenter, minPoint, maxPoint, vector);\r\n const num = Vector3.DistanceSquared(sphereCenter, vector);\r\n return num <= sphereRadius * sphereRadius;\r\n }\r\n\r\n /**\r\n * Tests if a bounding box defined with 8 vectors is entirely inside frustum planes\r\n * @param boundingVectors defines an array of 8 vectors representing a bounding box\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an inclusion\r\n */\r\n public static IsCompletelyInFrustum(boundingVectors: Array<DeepImmutable<Vector3>>, frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n for (let p = 0; p < 6; ++p) {\r\n const frustumPlane = frustumPlanes[p];\r\n for (let i = 0; i < 8; ++i) {\r\n if (frustumPlane.dotCoordinate(boundingVectors[i]) < 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if a bounding box defined with 8 vectors intersects frustum planes\r\n * @param boundingVectors defines an array of 8 vectors representing a bounding box\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an intersection\r\n */\r\n public static IsInFrustum(boundingVectors: Array<DeepImmutable<Vector3>>, frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n for (let p = 0; p < 6; ++p) {\r\n let canReturnFalse = true;\r\n const frustumPlane = frustumPlanes[p];\r\n for (let i = 0; i < 8; ++i) {\r\n if (frustumPlane.dotCoordinate(boundingVectors[i]) >= 0) {\r\n canReturnFalse = false;\r\n break;\r\n }\r\n }\r\n if (canReturnFalse) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n"]}
@@ -114,8 +114,7 @@ export declare class BoundingInfo implements ICullable {
114
114
  */
115
115
  isCompletelyInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean;
116
116
  /**
117
- * @param collider
118
- * @hidden
117
+ * @internal
119
118
  */
120
119
  _checkCollision(collider: Collider): boolean;
121
120
  /**
@@ -161,8 +161,7 @@ export class BoundingInfo {
161
161
  return this.boundingBox.isCompletelyInFrustum(frustumPlanes);
162
162
  }
163
163
  /**
164
- * @param collider
165
- * @hidden
164
+ * @internal
166
165
  */
167
166
  _checkCollision(collider) {
168
167
  return collider._canDoCollision(this.boundingSphere.centerWorld, this.boundingSphere.radiusWorld, this.boundingBox.minimumWorld, this.boundingBox.maximumWorld);
@@ -1 +1 @@
1
- {"version":3,"file":"boundingInfo.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Culling/boundingInfo.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeepImmutable } from \"../types\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport type { Matrix } from \"../Maths/math.vector\";\r\nimport { Vector3 } from \"../Maths/math.vector\";\r\nimport { Constants } from \"../Engines/constants\";\r\nimport { BoundingBox } from \"./boundingBox\";\r\nimport { BoundingSphere } from \"./boundingSphere\";\r\nimport type { Plane } from \"../Maths/math.plane\";\r\n\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\n\r\nconst _result0 = { min: 0, max: 0 };\r\nconst _result1 = { min: 0, max: 0 };\r\nconst computeBoxExtents = (axis: DeepImmutable<Vector3>, box: DeepImmutable<BoundingBox>, result: { min: number; max: number }) => {\r\n const p = Vector3.Dot(box.centerWorld, axis);\r\n\r\n const r0 = Math.abs(Vector3.Dot(box.directions[0], axis)) * box.extendSize.x;\r\n const r1 = Math.abs(Vector3.Dot(box.directions[1], axis)) * box.extendSize.y;\r\n const r2 = Math.abs(Vector3.Dot(box.directions[2], axis)) * box.extendSize.z;\r\n\r\n const r = r0 + r1 + r2;\r\n result.min = p - r;\r\n result.max = p + r;\r\n};\r\n\r\nconst axisOverlap = (axis: DeepImmutable<Vector3>, box0: DeepImmutable<BoundingBox>, box1: DeepImmutable<BoundingBox>): boolean => {\r\n computeBoxExtents(axis, box0, _result0);\r\n computeBoxExtents(axis, box1, _result1);\r\n return !(_result0.min > _result1.max || _result1.min > _result0.max);\r\n};\r\n\r\n/**\r\n * Interface for cullable objects\r\n * @see https://doc.babylonjs.com/babylon101/materials#back-face-culling\r\n */\r\nexport interface ICullable {\r\n /**\r\n * Checks if the object or part of the object is in the frustum\r\n * @param frustumPlanes Camera near/planes\r\n * @returns true if the object is in frustum otherwise false\r\n */\r\n isInFrustum(frustumPlanes: Plane[]): boolean;\r\n /**\r\n * Checks if a cullable object (mesh...) is in the camera frustum\r\n * Unlike isInFrustum this checks the full bounding box\r\n * @param frustumPlanes Camera near/planes\r\n * @returns true if the object is in frustum otherwise false\r\n */\r\n isCompletelyInFrustum(frustumPlanes: Plane[]): boolean;\r\n}\r\n\r\n/**\r\n * Info for a bounding data of a mesh\r\n */\r\nexport class BoundingInfo implements ICullable {\r\n /**\r\n * Bounding box for the mesh\r\n */\r\n public readonly boundingBox: BoundingBox;\r\n /**\r\n * Bounding sphere for the mesh\r\n */\r\n public readonly boundingSphere: BoundingSphere;\r\n\r\n private _isLocked = false;\r\n\r\n private static readonly _TmpVector3 = ArrayTools.BuildArray(2, Vector3.Zero);\r\n\r\n /**\r\n * Constructs bounding info\r\n * @param minimum min vector of the bounding box/sphere\r\n * @param maximum max vector of the bounding box/sphere\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n constructor(minimum: DeepImmutable<Vector3>, maximum: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.boundingBox = new BoundingBox(minimum, maximum, worldMatrix);\r\n this.boundingSphere = new BoundingSphere(minimum, maximum, worldMatrix);\r\n }\r\n\r\n /**\r\n * Recreates the entire bounding info from scratch as if we call the constructor in place\r\n * @param min defines the new minimum vector (in local space)\r\n * @param max defines the new maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n public reConstruct(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.boundingBox.reConstruct(min, max, worldMatrix);\r\n this.boundingSphere.reConstruct(min, max, worldMatrix);\r\n }\r\n\r\n /**\r\n * min vector of the bounding box/sphere\r\n */\r\n public get minimum(): Vector3 {\r\n return this.boundingBox.minimum;\r\n }\r\n\r\n /**\r\n * max vector of the bounding box/sphere\r\n */\r\n public get maximum(): Vector3 {\r\n return this.boundingBox.maximum;\r\n }\r\n\r\n /**\r\n * If the info is locked and won't be updated to avoid perf overhead\r\n */\r\n public get isLocked(): boolean {\r\n return this._isLocked;\r\n }\r\n\r\n public set isLocked(value: boolean) {\r\n this._isLocked = value;\r\n }\r\n\r\n // Methods\r\n /**\r\n * Updates the bounding sphere and box\r\n * @param world world matrix to be used to update\r\n */\r\n public update(world: DeepImmutable<Matrix>) {\r\n if (this._isLocked) {\r\n return;\r\n }\r\n this.boundingBox._update(world);\r\n this.boundingSphere._update(world);\r\n }\r\n\r\n /**\r\n * Recreate the bounding info to be centered around a specific point given a specific extend.\r\n * @param center New center of the bounding info\r\n * @param extend New extend of the bounding info\r\n * @returns the current bounding info\r\n */\r\n public centerOn(center: DeepImmutable<Vector3>, extend: DeepImmutable<Vector3>): BoundingInfo {\r\n const minimum = BoundingInfo._TmpVector3[0].copyFrom(center).subtractInPlace(extend);\r\n const maximum = BoundingInfo._TmpVector3[1].copyFrom(center).addInPlace(extend);\r\n\r\n this.boundingBox.reConstruct(minimum, maximum, this.boundingBox.getWorldMatrix());\r\n this.boundingSphere.reConstruct(minimum, maximum, this.boundingBox.getWorldMatrix());\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Grows the bounding info to include the given point.\r\n * @param point The point that will be included in the current bounding info\r\n * @returns the current bounding info\r\n */\r\n public encapsulate(point: Vector3): BoundingInfo {\r\n const minimum = Vector3.Minimize(this.minimum, point);\r\n const maximum = Vector3.Maximize(this.maximum, point);\r\n this.reConstruct(minimum, maximum, this.boundingBox.getWorldMatrix());\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Grows the bounding info to encapsulate the given bounding info.\r\n * @param toEncapsulate The bounding info that will be encapsulated in the current bounding info\r\n * @returns the current bounding info\r\n */\r\n public encapsulateBoundingInfo(toEncapsulate: BoundingInfo): BoundingInfo {\r\n this.encapsulate(toEncapsulate.boundingBox.centerWorld.subtract(toEncapsulate.boundingBox.extendSizeWorld));\r\n this.encapsulate(toEncapsulate.boundingBox.centerWorld.add(toEncapsulate.boundingBox.extendSizeWorld));\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Scale the current bounding info by applying a scale factor\r\n * @param factor defines the scale factor to apply\r\n * @returns the current bounding info\r\n */\r\n public scale(factor: number): BoundingInfo {\r\n this.boundingBox.scale(factor);\r\n this.boundingSphere.scale(factor);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns `true` if the bounding info is within the frustum defined by the passed array of planes.\r\n * @param frustumPlanes defines the frustum to test\r\n * @param strategy defines the strategy to use for the culling (default is BABYLON.AbstractMesh.CULLINGSTRATEGY_STANDARD)\r\n * @returns true if the bounding info is in the frustum planes\r\n */\r\n public isInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>, strategy: number = Constants.MESHES_CULLINGSTRATEGY_STANDARD): boolean {\r\n const inclusionTest =\r\n strategy === Constants.MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION || strategy === Constants.MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY;\r\n if (inclusionTest) {\r\n if (this.boundingSphere.isCenterInFrustum(frustumPlanes)) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!this.boundingSphere.isInFrustum(frustumPlanes)) {\r\n return false;\r\n }\r\n\r\n const bSphereOnlyTest =\r\n strategy === Constants.MESHES_CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY || strategy === Constants.MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY;\r\n if (bSphereOnlyTest) {\r\n return true;\r\n }\r\n\r\n return this.boundingBox.isInFrustum(frustumPlanes);\r\n }\r\n\r\n /**\r\n * Gets the world distance between the min and max points of the bounding box\r\n */\r\n public get diagonalLength(): number {\r\n const boundingBox = this.boundingBox;\r\n const diag = boundingBox.maximumWorld.subtractToRef(boundingBox.minimumWorld, BoundingInfo._TmpVector3[0]);\r\n return diag.length();\r\n }\r\n\r\n /**\r\n * Checks if a cullable object (mesh...) is in the camera frustum\r\n * Unlike isInFrustum this checks the full bounding box\r\n * @param frustumPlanes Camera near/planes\r\n * @returns true if the object is in frustum otherwise false\r\n */\r\n public isCompletelyInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n return this.boundingBox.isCompletelyInFrustum(frustumPlanes);\r\n }\r\n /**\r\n * @param collider\r\n * @hidden\r\n */\r\n public _checkCollision(collider: Collider): boolean {\r\n return collider._canDoCollision(this.boundingSphere.centerWorld, this.boundingSphere.radiusWorld, this.boundingBox.minimumWorld, this.boundingBox.maximumWorld);\r\n }\r\n\r\n /**\r\n * Checks if a point is inside the bounding box and bounding sphere or the mesh\r\n * @see https://doc.babylonjs.com/babylon101/intersect_collisions_-_mesh\r\n * @param point the point to check intersection with\r\n * @returns if the point intersects\r\n */\r\n public intersectsPoint(point: DeepImmutable<Vector3>): boolean {\r\n if (!this.boundingSphere.centerWorld) {\r\n return false;\r\n }\r\n\r\n if (!this.boundingSphere.intersectsPoint(point)) {\r\n return false;\r\n }\r\n\r\n if (!this.boundingBox.intersectsPoint(point)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Checks if another bounding info intersects the bounding box and bounding sphere or the mesh\r\n * @see https://doc.babylonjs.com/babylon101/intersect_collisions_-_mesh\r\n * @param boundingInfo the bounding info to check intersection with\r\n * @param precise if the intersection should be done using OBB\r\n * @returns if the bounding info intersects\r\n */\r\n public intersects(boundingInfo: DeepImmutable<BoundingInfo>, precise: boolean): boolean {\r\n if (!BoundingSphere.Intersects(this.boundingSphere, boundingInfo.boundingSphere)) {\r\n return false;\r\n }\r\n\r\n if (!BoundingBox.Intersects(this.boundingBox, boundingInfo.boundingBox)) {\r\n return false;\r\n }\r\n\r\n if (!precise) {\r\n return true;\r\n }\r\n\r\n const box0 = this.boundingBox;\r\n const box1 = boundingInfo.boundingBox;\r\n\r\n if (!axisOverlap(box0.directions[0], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box0.directions[1], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box0.directions[2], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box1.directions[0], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box1.directions[1], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box1.directions[2], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[0], box1.directions[0]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[0], box1.directions[1]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[0], box1.directions[2]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[1], box1.directions[0]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[1], box1.directions[1]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[1], box1.directions[2]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[2], box1.directions[0]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[2], box1.directions[1]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[2], box1.directions[2]), box0, box1)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"boundingInfo.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Culling/boundingInfo.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeepImmutable } from \"../types\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport type { Matrix } from \"../Maths/math.vector\";\r\nimport { Vector3 } from \"../Maths/math.vector\";\r\nimport { Constants } from \"../Engines/constants\";\r\nimport { BoundingBox } from \"./boundingBox\";\r\nimport { BoundingSphere } from \"./boundingSphere\";\r\nimport type { Plane } from \"../Maths/math.plane\";\r\n\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\n\r\nconst _result0 = { min: 0, max: 0 };\r\nconst _result1 = { min: 0, max: 0 };\r\nconst computeBoxExtents = (axis: DeepImmutable<Vector3>, box: DeepImmutable<BoundingBox>, result: { min: number; max: number }) => {\r\n const p = Vector3.Dot(box.centerWorld, axis);\r\n\r\n const r0 = Math.abs(Vector3.Dot(box.directions[0], axis)) * box.extendSize.x;\r\n const r1 = Math.abs(Vector3.Dot(box.directions[1], axis)) * box.extendSize.y;\r\n const r2 = Math.abs(Vector3.Dot(box.directions[2], axis)) * box.extendSize.z;\r\n\r\n const r = r0 + r1 + r2;\r\n result.min = p - r;\r\n result.max = p + r;\r\n};\r\n\r\nconst axisOverlap = (axis: DeepImmutable<Vector3>, box0: DeepImmutable<BoundingBox>, box1: DeepImmutable<BoundingBox>): boolean => {\r\n computeBoxExtents(axis, box0, _result0);\r\n computeBoxExtents(axis, box1, _result1);\r\n return !(_result0.min > _result1.max || _result1.min > _result0.max);\r\n};\r\n\r\n/**\r\n * Interface for cullable objects\r\n * @see https://doc.babylonjs.com/babylon101/materials#back-face-culling\r\n */\r\nexport interface ICullable {\r\n /**\r\n * Checks if the object or part of the object is in the frustum\r\n * @param frustumPlanes Camera near/planes\r\n * @returns true if the object is in frustum otherwise false\r\n */\r\n isInFrustum(frustumPlanes: Plane[]): boolean;\r\n /**\r\n * Checks if a cullable object (mesh...) is in the camera frustum\r\n * Unlike isInFrustum this checks the full bounding box\r\n * @param frustumPlanes Camera near/planes\r\n * @returns true if the object is in frustum otherwise false\r\n */\r\n isCompletelyInFrustum(frustumPlanes: Plane[]): boolean;\r\n}\r\n\r\n/**\r\n * Info for a bounding data of a mesh\r\n */\r\nexport class BoundingInfo implements ICullable {\r\n /**\r\n * Bounding box for the mesh\r\n */\r\n public readonly boundingBox: BoundingBox;\r\n /**\r\n * Bounding sphere for the mesh\r\n */\r\n public readonly boundingSphere: BoundingSphere;\r\n\r\n private _isLocked = false;\r\n\r\n private static readonly _TmpVector3 = ArrayTools.BuildArray(2, Vector3.Zero);\r\n\r\n /**\r\n * Constructs bounding info\r\n * @param minimum min vector of the bounding box/sphere\r\n * @param maximum max vector of the bounding box/sphere\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n constructor(minimum: DeepImmutable<Vector3>, maximum: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.boundingBox = new BoundingBox(minimum, maximum, worldMatrix);\r\n this.boundingSphere = new BoundingSphere(minimum, maximum, worldMatrix);\r\n }\r\n\r\n /**\r\n * Recreates the entire bounding info from scratch as if we call the constructor in place\r\n * @param min defines the new minimum vector (in local space)\r\n * @param max defines the new maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n public reConstruct(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.boundingBox.reConstruct(min, max, worldMatrix);\r\n this.boundingSphere.reConstruct(min, max, worldMatrix);\r\n }\r\n\r\n /**\r\n * min vector of the bounding box/sphere\r\n */\r\n public get minimum(): Vector3 {\r\n return this.boundingBox.minimum;\r\n }\r\n\r\n /**\r\n * max vector of the bounding box/sphere\r\n */\r\n public get maximum(): Vector3 {\r\n return this.boundingBox.maximum;\r\n }\r\n\r\n /**\r\n * If the info is locked and won't be updated to avoid perf overhead\r\n */\r\n public get isLocked(): boolean {\r\n return this._isLocked;\r\n }\r\n\r\n public set isLocked(value: boolean) {\r\n this._isLocked = value;\r\n }\r\n\r\n // Methods\r\n /**\r\n * Updates the bounding sphere and box\r\n * @param world world matrix to be used to update\r\n */\r\n public update(world: DeepImmutable<Matrix>) {\r\n if (this._isLocked) {\r\n return;\r\n }\r\n this.boundingBox._update(world);\r\n this.boundingSphere._update(world);\r\n }\r\n\r\n /**\r\n * Recreate the bounding info to be centered around a specific point given a specific extend.\r\n * @param center New center of the bounding info\r\n * @param extend New extend of the bounding info\r\n * @returns the current bounding info\r\n */\r\n public centerOn(center: DeepImmutable<Vector3>, extend: DeepImmutable<Vector3>): BoundingInfo {\r\n const minimum = BoundingInfo._TmpVector3[0].copyFrom(center).subtractInPlace(extend);\r\n const maximum = BoundingInfo._TmpVector3[1].copyFrom(center).addInPlace(extend);\r\n\r\n this.boundingBox.reConstruct(minimum, maximum, this.boundingBox.getWorldMatrix());\r\n this.boundingSphere.reConstruct(minimum, maximum, this.boundingBox.getWorldMatrix());\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Grows the bounding info to include the given point.\r\n * @param point The point that will be included in the current bounding info\r\n * @returns the current bounding info\r\n */\r\n public encapsulate(point: Vector3): BoundingInfo {\r\n const minimum = Vector3.Minimize(this.minimum, point);\r\n const maximum = Vector3.Maximize(this.maximum, point);\r\n this.reConstruct(minimum, maximum, this.boundingBox.getWorldMatrix());\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Grows the bounding info to encapsulate the given bounding info.\r\n * @param toEncapsulate The bounding info that will be encapsulated in the current bounding info\r\n * @returns the current bounding info\r\n */\r\n public encapsulateBoundingInfo(toEncapsulate: BoundingInfo): BoundingInfo {\r\n this.encapsulate(toEncapsulate.boundingBox.centerWorld.subtract(toEncapsulate.boundingBox.extendSizeWorld));\r\n this.encapsulate(toEncapsulate.boundingBox.centerWorld.add(toEncapsulate.boundingBox.extendSizeWorld));\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Scale the current bounding info by applying a scale factor\r\n * @param factor defines the scale factor to apply\r\n * @returns the current bounding info\r\n */\r\n public scale(factor: number): BoundingInfo {\r\n this.boundingBox.scale(factor);\r\n this.boundingSphere.scale(factor);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns `true` if the bounding info is within the frustum defined by the passed array of planes.\r\n * @param frustumPlanes defines the frustum to test\r\n * @param strategy defines the strategy to use for the culling (default is BABYLON.AbstractMesh.CULLINGSTRATEGY_STANDARD)\r\n * @returns true if the bounding info is in the frustum planes\r\n */\r\n public isInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>, strategy: number = Constants.MESHES_CULLINGSTRATEGY_STANDARD): boolean {\r\n const inclusionTest =\r\n strategy === Constants.MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION || strategy === Constants.MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY;\r\n if (inclusionTest) {\r\n if (this.boundingSphere.isCenterInFrustum(frustumPlanes)) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!this.boundingSphere.isInFrustum(frustumPlanes)) {\r\n return false;\r\n }\r\n\r\n const bSphereOnlyTest =\r\n strategy === Constants.MESHES_CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY || strategy === Constants.MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY;\r\n if (bSphereOnlyTest) {\r\n return true;\r\n }\r\n\r\n return this.boundingBox.isInFrustum(frustumPlanes);\r\n }\r\n\r\n /**\r\n * Gets the world distance between the min and max points of the bounding box\r\n */\r\n public get diagonalLength(): number {\r\n const boundingBox = this.boundingBox;\r\n const diag = boundingBox.maximumWorld.subtractToRef(boundingBox.minimumWorld, BoundingInfo._TmpVector3[0]);\r\n return diag.length();\r\n }\r\n\r\n /**\r\n * Checks if a cullable object (mesh...) is in the camera frustum\r\n * Unlike isInFrustum this checks the full bounding box\r\n * @param frustumPlanes Camera near/planes\r\n * @returns true if the object is in frustum otherwise false\r\n */\r\n public isCompletelyInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n return this.boundingBox.isCompletelyInFrustum(frustumPlanes);\r\n }\r\n /**\r\n * @internal\r\n */\r\n public _checkCollision(collider: Collider): boolean {\r\n return collider._canDoCollision(this.boundingSphere.centerWorld, this.boundingSphere.radiusWorld, this.boundingBox.minimumWorld, this.boundingBox.maximumWorld);\r\n }\r\n\r\n /**\r\n * Checks if a point is inside the bounding box and bounding sphere or the mesh\r\n * @see https://doc.babylonjs.com/babylon101/intersect_collisions_-_mesh\r\n * @param point the point to check intersection with\r\n * @returns if the point intersects\r\n */\r\n public intersectsPoint(point: DeepImmutable<Vector3>): boolean {\r\n if (!this.boundingSphere.centerWorld) {\r\n return false;\r\n }\r\n\r\n if (!this.boundingSphere.intersectsPoint(point)) {\r\n return false;\r\n }\r\n\r\n if (!this.boundingBox.intersectsPoint(point)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Checks if another bounding info intersects the bounding box and bounding sphere or the mesh\r\n * @see https://doc.babylonjs.com/babylon101/intersect_collisions_-_mesh\r\n * @param boundingInfo the bounding info to check intersection with\r\n * @param precise if the intersection should be done using OBB\r\n * @returns if the bounding info intersects\r\n */\r\n public intersects(boundingInfo: DeepImmutable<BoundingInfo>, precise: boolean): boolean {\r\n if (!BoundingSphere.Intersects(this.boundingSphere, boundingInfo.boundingSphere)) {\r\n return false;\r\n }\r\n\r\n if (!BoundingBox.Intersects(this.boundingBox, boundingInfo.boundingBox)) {\r\n return false;\r\n }\r\n\r\n if (!precise) {\r\n return true;\r\n }\r\n\r\n const box0 = this.boundingBox;\r\n const box1 = boundingInfo.boundingBox;\r\n\r\n if (!axisOverlap(box0.directions[0], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box0.directions[1], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box0.directions[2], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box1.directions[0], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box1.directions[1], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(box1.directions[2], box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[0], box1.directions[0]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[0], box1.directions[1]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[0], box1.directions[2]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[1], box1.directions[0]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[1], box1.directions[1]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[1], box1.directions[2]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[2], box1.directions[0]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[2], box1.directions[1]), box0, box1)) {\r\n return false;\r\n }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[2], box1.directions[2]), box0, box1)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n"]}
@@ -57,8 +57,7 @@ export declare class BoundingSphere {
57
57
  */
58
58
  getWorldMatrix(): DeepImmutable<Matrix>;
59
59
  /**
60
- * @param worldMatrix
61
- * @hidden
60
+ * @internal
62
61
  */
63
62
  _update(worldMatrix: DeepImmutable<Matrix>): void;
64
63
  /**
@@ -66,8 +66,7 @@ export class BoundingSphere {
66
66
  }
67
67
  // Methods
68
68
  /**
69
- * @param worldMatrix
70
- * @hidden
69
+ * @internal
71
70
  */
72
71
  _update(worldMatrix) {
73
72
  if (!worldMatrix.isIdentity()) {
@@ -1 +1 @@
1
- {"version":3,"file":"boundingSphere.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Culling/boundingSphere.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeepImmutable } from \"../types\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\nimport type { Plane } from \"../Maths/math.plane\";\r\n\r\n/**\r\n * Class used to store bounding sphere information\r\n */\r\nexport class BoundingSphere {\r\n /**\r\n * Gets the center of the bounding sphere in local space\r\n */\r\n public readonly center = Vector3.Zero();\r\n /**\r\n * Radius of the bounding sphere in local space\r\n */\r\n public radius: number;\r\n /**\r\n * Gets the center of the bounding sphere in world space\r\n */\r\n public readonly centerWorld = Vector3.Zero();\r\n /**\r\n * Radius of the bounding sphere in world space\r\n */\r\n public radiusWorld: number;\r\n /**\r\n * Gets the minimum vector in local space\r\n */\r\n public readonly minimum = Vector3.Zero();\r\n /**\r\n * Gets the maximum vector in local space\r\n */\r\n public readonly maximum = Vector3.Zero();\r\n\r\n private _worldMatrix: DeepImmutable<Matrix>;\r\n private static readonly _TmpVector3 = ArrayTools.BuildArray(3, Vector3.Zero);\r\n\r\n /**\r\n * Creates a new bounding sphere\r\n * @param min defines the minimum vector (in local space)\r\n * @param max defines the maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n constructor(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.reConstruct(min, max, worldMatrix);\r\n }\r\n\r\n /**\r\n * Recreates the entire bounding sphere from scratch as if we call the constructor in place\r\n * @param min defines the new minimum vector (in local space)\r\n * @param max defines the new maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n public reConstruct(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.minimum.copyFrom(min);\r\n this.maximum.copyFrom(max);\r\n\r\n const distance = Vector3.Distance(min, max);\r\n\r\n max.addToRef(min, this.center).scaleInPlace(0.5);\r\n this.radius = distance * 0.5;\r\n\r\n this._update(worldMatrix || Matrix.IdentityReadOnly);\r\n }\r\n\r\n /**\r\n * Scale the current bounding sphere by applying a scale factor\r\n * @param factor defines the scale factor to apply\r\n * @returns the current bounding box\r\n */\r\n public scale(factor: number): BoundingSphere {\r\n const newRadius = this.radius * factor;\r\n const tmpVectors = BoundingSphere._TmpVector3;\r\n const tempRadiusVector = tmpVectors[0].setAll(newRadius);\r\n const min = this.center.subtractToRef(tempRadiusVector, tmpVectors[1]);\r\n const max = this.center.addToRef(tempRadiusVector, tmpVectors[2]);\r\n\r\n this.reConstruct(min, max, this._worldMatrix);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the world matrix of the bounding box\r\n * @returns a matrix\r\n */\r\n public getWorldMatrix(): DeepImmutable<Matrix> {\r\n return this._worldMatrix;\r\n }\r\n\r\n // Methods\r\n /**\r\n * @param worldMatrix\r\n * @hidden\r\n */\r\n public _update(worldMatrix: DeepImmutable<Matrix>): void {\r\n if (!worldMatrix.isIdentity()) {\r\n Vector3.TransformCoordinatesToRef(this.center, worldMatrix, this.centerWorld);\r\n const tempVector = BoundingSphere._TmpVector3[0];\r\n Vector3.TransformNormalFromFloatsToRef(1.0, 1.0, 1.0, worldMatrix, tempVector);\r\n this.radiusWorld = Math.max(Math.abs(tempVector.x), Math.abs(tempVector.y), Math.abs(tempVector.z)) * this.radius;\r\n } else {\r\n this.centerWorld.copyFrom(this.center);\r\n this.radiusWorld = this.radius;\r\n }\r\n }\r\n\r\n /**\r\n * Tests if the bounding sphere is intersecting the frustum planes\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an intersection\r\n */\r\n public isInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n const center = this.centerWorld;\r\n const radius = this.radiusWorld;\r\n for (let i = 0; i < 6; i++) {\r\n if (frustumPlanes[i].dotCoordinate(center) <= -radius) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if the bounding sphere center is in between the frustum planes.\r\n * Used for optimistic fast inclusion.\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if the sphere center is in between the frustum planes\r\n */\r\n public isCenterInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n const center = this.centerWorld;\r\n for (let i = 0; i < 6; i++) {\r\n if (frustumPlanes[i].dotCoordinate(center) < 0) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if a point is inside the bounding sphere\r\n * @param point defines the point to test\r\n * @returns true if the point is inside the bounding sphere\r\n */\r\n public intersectsPoint(point: DeepImmutable<Vector3>): boolean {\r\n const squareDistance = Vector3.DistanceSquared(this.centerWorld, point);\r\n if (this.radiusWorld * this.radiusWorld < squareDistance) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n // Statics\r\n /**\r\n * Checks if two sphere intersect\r\n * @param sphere0 sphere 0\r\n * @param sphere1 sphere 1\r\n * @returns true if the spheres intersect\r\n */\r\n public static Intersects(sphere0: DeepImmutable<BoundingSphere>, sphere1: DeepImmutable<BoundingSphere>): boolean {\r\n const squareDistance = Vector3.DistanceSquared(sphere0.centerWorld, sphere1.centerWorld);\r\n const radiusSum = sphere0.radiusWorld + sphere1.radiusWorld;\r\n\r\n if (radiusSum * radiusSum < squareDistance) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Creates a sphere from a center and a radius\r\n * @param center The center\r\n * @param radius radius\r\n * @param matrix Optional worldMatrix\r\n * @returns The sphere\r\n */\r\n public static CreateFromCenterAndRadius(center: DeepImmutable<Vector3>, radius: number, matrix?: DeepImmutable<Matrix>): BoundingSphere {\r\n this._TmpVector3[0].copyFrom(center);\r\n this._TmpVector3[1].copyFromFloats(0, 0, radius);\r\n this._TmpVector3[2].copyFrom(center);\r\n this._TmpVector3[0].addInPlace(this._TmpVector3[1]);\r\n this._TmpVector3[2].subtractInPlace(this._TmpVector3[1]);\r\n\r\n const sphere = new BoundingSphere(this._TmpVector3[0], this._TmpVector3[2]);\r\n\r\n if (matrix) {\r\n sphere._worldMatrix = matrix;\r\n } else {\r\n sphere._worldMatrix = Matrix.Identity();\r\n }\r\n\r\n return sphere;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"boundingSphere.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Culling/boundingSphere.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DeepImmutable } from \"../types\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\nimport type { Plane } from \"../Maths/math.plane\";\r\n\r\n/**\r\n * Class used to store bounding sphere information\r\n */\r\nexport class BoundingSphere {\r\n /**\r\n * Gets the center of the bounding sphere in local space\r\n */\r\n public readonly center = Vector3.Zero();\r\n /**\r\n * Radius of the bounding sphere in local space\r\n */\r\n public radius: number;\r\n /**\r\n * Gets the center of the bounding sphere in world space\r\n */\r\n public readonly centerWorld = Vector3.Zero();\r\n /**\r\n * Radius of the bounding sphere in world space\r\n */\r\n public radiusWorld: number;\r\n /**\r\n * Gets the minimum vector in local space\r\n */\r\n public readonly minimum = Vector3.Zero();\r\n /**\r\n * Gets the maximum vector in local space\r\n */\r\n public readonly maximum = Vector3.Zero();\r\n\r\n private _worldMatrix: DeepImmutable<Matrix>;\r\n private static readonly _TmpVector3 = ArrayTools.BuildArray(3, Vector3.Zero);\r\n\r\n /**\r\n * Creates a new bounding sphere\r\n * @param min defines the minimum vector (in local space)\r\n * @param max defines the maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n constructor(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.reConstruct(min, max, worldMatrix);\r\n }\r\n\r\n /**\r\n * Recreates the entire bounding sphere from scratch as if we call the constructor in place\r\n * @param min defines the new minimum vector (in local space)\r\n * @param max defines the new maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n public reConstruct(min: DeepImmutable<Vector3>, max: DeepImmutable<Vector3>, worldMatrix?: DeepImmutable<Matrix>) {\r\n this.minimum.copyFrom(min);\r\n this.maximum.copyFrom(max);\r\n\r\n const distance = Vector3.Distance(min, max);\r\n\r\n max.addToRef(min, this.center).scaleInPlace(0.5);\r\n this.radius = distance * 0.5;\r\n\r\n this._update(worldMatrix || Matrix.IdentityReadOnly);\r\n }\r\n\r\n /**\r\n * Scale the current bounding sphere by applying a scale factor\r\n * @param factor defines the scale factor to apply\r\n * @returns the current bounding box\r\n */\r\n public scale(factor: number): BoundingSphere {\r\n const newRadius = this.radius * factor;\r\n const tmpVectors = BoundingSphere._TmpVector3;\r\n const tempRadiusVector = tmpVectors[0].setAll(newRadius);\r\n const min = this.center.subtractToRef(tempRadiusVector, tmpVectors[1]);\r\n const max = this.center.addToRef(tempRadiusVector, tmpVectors[2]);\r\n\r\n this.reConstruct(min, max, this._worldMatrix);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the world matrix of the bounding box\r\n * @returns a matrix\r\n */\r\n public getWorldMatrix(): DeepImmutable<Matrix> {\r\n return this._worldMatrix;\r\n }\r\n\r\n // Methods\r\n /**\r\n * @internal\r\n */\r\n public _update(worldMatrix: DeepImmutable<Matrix>): void {\r\n if (!worldMatrix.isIdentity()) {\r\n Vector3.TransformCoordinatesToRef(this.center, worldMatrix, this.centerWorld);\r\n const tempVector = BoundingSphere._TmpVector3[0];\r\n Vector3.TransformNormalFromFloatsToRef(1.0, 1.0, 1.0, worldMatrix, tempVector);\r\n this.radiusWorld = Math.max(Math.abs(tempVector.x), Math.abs(tempVector.y), Math.abs(tempVector.z)) * this.radius;\r\n } else {\r\n this.centerWorld.copyFrom(this.center);\r\n this.radiusWorld = this.radius;\r\n }\r\n }\r\n\r\n /**\r\n * Tests if the bounding sphere is intersecting the frustum planes\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an intersection\r\n */\r\n public isInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n const center = this.centerWorld;\r\n const radius = this.radiusWorld;\r\n for (let i = 0; i < 6; i++) {\r\n if (frustumPlanes[i].dotCoordinate(center) <= -radius) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if the bounding sphere center is in between the frustum planes.\r\n * Used for optimistic fast inclusion.\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if the sphere center is in between the frustum planes\r\n */\r\n public isCenterInFrustum(frustumPlanes: Array<DeepImmutable<Plane>>): boolean {\r\n const center = this.centerWorld;\r\n for (let i = 0; i < 6; i++) {\r\n if (frustumPlanes[i].dotCoordinate(center) < 0) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if a point is inside the bounding sphere\r\n * @param point defines the point to test\r\n * @returns true if the point is inside the bounding sphere\r\n */\r\n public intersectsPoint(point: DeepImmutable<Vector3>): boolean {\r\n const squareDistance = Vector3.DistanceSquared(this.centerWorld, point);\r\n if (this.radiusWorld * this.radiusWorld < squareDistance) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n // Statics\r\n /**\r\n * Checks if two sphere intersect\r\n * @param sphere0 sphere 0\r\n * @param sphere1 sphere 1\r\n * @returns true if the spheres intersect\r\n */\r\n public static Intersects(sphere0: DeepImmutable<BoundingSphere>, sphere1: DeepImmutable<BoundingSphere>): boolean {\r\n const squareDistance = Vector3.DistanceSquared(sphere0.centerWorld, sphere1.centerWorld);\r\n const radiusSum = sphere0.radiusWorld + sphere1.radiusWorld;\r\n\r\n if (radiusSum * radiusSum < squareDistance) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Creates a sphere from a center and a radius\r\n * @param center The center\r\n * @param radius radius\r\n * @param matrix Optional worldMatrix\r\n * @returns The sphere\r\n */\r\n public static CreateFromCenterAndRadius(center: DeepImmutable<Vector3>, radius: number, matrix?: DeepImmutable<Matrix>): BoundingSphere {\r\n this._TmpVector3[0].copyFrom(center);\r\n this._TmpVector3[1].copyFromFloats(0, 0, radius);\r\n this._TmpVector3[2].copyFrom(center);\r\n this._TmpVector3[0].addInPlace(this._TmpVector3[1]);\r\n this._TmpVector3[2].subtractInPlace(this._TmpVector3[1]);\r\n\r\n const sphere = new BoundingSphere(this._TmpVector3[0], this._TmpVector3[2]);\r\n\r\n if (matrix) {\r\n sphere._worldMatrix = matrix;\r\n } else {\r\n sphere._worldMatrix = Matrix.Identity();\r\n }\r\n\r\n return sphere;\r\n }\r\n}\r\n"]}
package/Culling/ray.d.ts CHANGED
@@ -105,7 +105,7 @@ export declare class Ray {
105
105
  * @param sega the first point of the segment to test the intersection against
106
106
  * @param segb the second point of the segment to test the intersection against
107
107
  * @param threshold the tolerance margin, if the ray doesn't intersect the segment but is close to the given threshold, the intersection is successful
108
- * @return the distance from the ray origin to the intersection point if there's intersection, or -1 if there's no intersection
108
+ * @returns the distance from the ray origin to the intersection point if there's intersection, or -1 if there's no intersection
109
109
  */
110
110
  intersectionSegment(sega: DeepImmutable<Vector3>, segb: DeepImmutable<Vector3>, threshold: number): number;
111
111
  /**
@@ -179,17 +179,17 @@ export declare class Ray {
179
179
  export declare type TrianglePickingPredicate = (p0: Vector3, p1: Vector3, p2: Vector3, ray: Ray) => boolean;
180
180
  declare module "../scene" {
181
181
  interface Scene {
182
- /** @hidden */
182
+ /** @internal */
183
183
  _tempPickingRay: Nullable<Ray>;
184
- /** @hidden */
184
+ /** @internal */
185
185
  _cachedRayForTransform: Ray;
186
- /** @hidden */
186
+ /** @internal */
187
187
  _pickWithRayInverseMatrix: Matrix;
188
- /** @hidden */
188
+ /** @internal */
189
189
  _internalPick(rayFunction: (world: Matrix, enableDistantPicking: boolean) => Ray, predicate?: (mesh: AbstractMesh) => boolean, fastCheck?: boolean, onlyBoundingInfo?: boolean, trianglePredicate?: TrianglePickingPredicate): Nullable<PickingInfo>;
190
- /** @hidden */
190
+ /** @internal */
191
191
  _internalMultiPick(rayFunction: (world: Matrix, enableDistantPicking: boolean) => Ray, predicate?: (mesh: AbstractMesh) => boolean, trianglePredicate?: TrianglePickingPredicate): Nullable<PickingInfo[]>;
192
- /** @hidden */
192
+ /** @internal */
193
193
  _internalPickForMesh(pickingInfo: Nullable<PickingInfo>, rayFunction: (world: Matrix, enableDistantPicking: boolean) => Ray, mesh: AbstractMesh, world: Matrix, fastCheck?: boolean, onlyBoundingInfo?: boolean, trianglePredicate?: TrianglePickingPredicate, skipBoundingInfo?: boolean): Nullable<PickingInfo>;
194
194
  }
195
195
  }
package/Culling/ray.js CHANGED
@@ -307,7 +307,7 @@ export class Ray {
307
307
  * @param sega the first point of the segment to test the intersection against
308
308
  * @param segb the second point of the segment to test the intersection against
309
309
  * @param threshold the tolerance margin, if the ray doesn't intersect the segment but is close to the given threshold, the intersection is successful
310
- * @return the distance from the ray origin to the intersection point if there's intersection, or -1 if there's no intersection
310
+ * @returns the distance from the ray origin to the intersection point if there's intersection, or -1 if there's no intersection
311
311
  */
312
312
  intersectionSegment(sega, segb, threshold) {
313
313
  const o = this.origin;