@babylonjs/core 5.24.0 → 5.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1729) hide show
  1. package/Actions/action.d.ts +12 -21
  2. package/Actions/action.js +8 -17
  3. package/Actions/action.js.map +1 -1
  4. package/Actions/actionManager.d.ts +2 -5
  5. package/Actions/actionManager.js +2 -5
  6. package/Actions/actionManager.js.map +1 -1
  7. package/Actions/condition.d.ts +9 -50
  8. package/Actions/condition.js +3 -26
  9. package/Actions/condition.js.map +1 -1
  10. package/Actions/directActions.d.ts +7 -7
  11. package/Actions/directActions.js +7 -7
  12. package/Actions/directActions.js.map +1 -1
  13. package/Actions/directAudioActions.d.ts +2 -2
  14. package/Actions/directAudioActions.js +2 -2
  15. package/Actions/directAudioActions.js.map +1 -1
  16. package/Actions/interpolateValueAction.d.ts +1 -1
  17. package/Actions/interpolateValueAction.js +1 -1
  18. package/Actions/interpolateValueAction.js.map +1 -1
  19. package/Animations/animatable.d.ts +5 -6
  20. package/Animations/animatable.js +1 -2
  21. package/Animations/animatable.js.map +1 -1
  22. package/Animations/animation.d.ts +6 -20
  23. package/Animations/animation.js +6 -20
  24. package/Animations/animation.js.map +1 -1
  25. package/Animations/animationEvent.d.ts +1 -1
  26. package/Animations/animationEvent.js +1 -1
  27. package/Animations/animationEvent.js.map +1 -1
  28. package/Animations/animationGroup.d.ts +1 -1
  29. package/Animations/animationGroup.js +1 -1
  30. package/Animations/animationGroup.js.map +1 -1
  31. package/Animations/easing.d.ts +13 -26
  32. package/Animations/easing.js +13 -26
  33. package/Animations/easing.js.map +1 -1
  34. package/Animations/runtimeAnimation.d.ts +3 -4
  35. package/Animations/runtimeAnimation.js +1 -2
  36. package/Animations/runtimeAnimation.js.map +1 -1
  37. package/Audio/audioEngine.js +1 -2
  38. package/Audio/audioEngine.js.map +1 -1
  39. package/Audio/audioSceneComponent.d.ts +1 -1
  40. package/Audio/audioSceneComponent.js.map +1 -1
  41. package/Audio/sound.d.ts +3 -4
  42. package/Audio/sound.js +2 -3
  43. package/Audio/sound.js.map +1 -1
  44. package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +1 -1
  45. package/BakedVertexAnimation/bakedVertexAnimationManager.js +1 -1
  46. package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
  47. package/Behaviors/Meshes/attachToBoxBehavior.js +1 -1
  48. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  49. package/Behaviors/Meshes/baseSixDofDragBehavior.js +5 -5
  50. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  51. package/Behaviors/Meshes/followBehavior.d.ts +1 -1
  52. package/Behaviors/Meshes/followBehavior.js +1 -1
  53. package/Behaviors/Meshes/followBehavior.js.map +1 -1
  54. package/Behaviors/Meshes/pointerDragBehavior.d.ts +1 -1
  55. package/Behaviors/Meshes/pointerDragBehavior.js +1 -1
  56. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  57. package/Bones/bone.d.ts +7 -9
  58. package/Bones/bone.js +7 -9
  59. package/Bones/bone.js.map +1 -1
  60. package/Bones/skeleton.d.ts +6 -8
  61. package/Bones/skeleton.js +6 -8
  62. package/Bones/skeleton.js.map +1 -1
  63. package/Buffers/buffer.d.ts +6 -6
  64. package/Buffers/buffer.js +14 -16
  65. package/Buffers/buffer.js.map +1 -1
  66. package/Buffers/storageBuffer.d.ts +1 -1
  67. package/Buffers/storageBuffer.js +1 -1
  68. package/Buffers/storageBuffer.js.map +1 -1
  69. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.d.ts +1 -2
  70. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js +1 -2
  71. package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.js.map +1 -1
  72. package/Cameras/Inputs/flyCameraKeyboardInput.d.ts +1 -1
  73. package/Cameras/Inputs/flyCameraKeyboardInput.js +1 -1
  74. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  75. package/Cameras/Inputs/freeCameraDeviceOrientationInput.d.ts +6 -3
  76. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js +18 -5
  77. package/Cameras/Inputs/freeCameraDeviceOrientationInput.js.map +1 -1
  78. package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +1 -1
  79. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +1 -1
  80. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  81. package/Cameras/Inputs/freeCameraMouseInput.d.ts +1 -1
  82. package/Cameras/Inputs/freeCameraMouseInput.js +1 -1
  83. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  84. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.d.ts +1 -2
  85. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js +1 -2
  86. package/Cameras/RigModes/stereoscopicAnaglyphRigMode.js.map +1 -1
  87. package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -2
  88. package/Cameras/RigModes/stereoscopicRigMode.js +1 -2
  89. package/Cameras/RigModes/stereoscopicRigMode.js.map +1 -1
  90. package/Cameras/RigModes/vrRigMode.d.ts +1 -3
  91. package/Cameras/RigModes/vrRigMode.js +1 -3
  92. package/Cameras/RigModes/vrRigMode.js.map +1 -1
  93. package/Cameras/RigModes/webVRRigMode.d.ts +1 -3
  94. package/Cameras/RigModes/webVRRigMode.js +1 -3
  95. package/Cameras/RigModes/webVRRigMode.js.map +1 -1
  96. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +2 -3
  97. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js +2 -3
  98. package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.js.map +1 -1
  99. package/Cameras/VR/vrCameraMetrics.d.ts +4 -4
  100. package/Cameras/VR/vrCameraMetrics.js +4 -4
  101. package/Cameras/VR/vrCameraMetrics.js.map +1 -1
  102. package/Cameras/VR/vrExperienceHelper.js +20 -48
  103. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  104. package/Cameras/VR/webVRCamera.d.ts +9 -9
  105. package/Cameras/VR/webVRCamera.js +9 -9
  106. package/Cameras/VR/webVRCamera.js.map +1 -1
  107. package/Cameras/arcRotateCamera.d.ts +11 -12
  108. package/Cameras/arcRotateCamera.js +8 -9
  109. package/Cameras/arcRotateCamera.js.map +1 -1
  110. package/Cameras/camera.d.ts +29 -38
  111. package/Cameras/camera.js +27 -36
  112. package/Cameras/camera.js.map +1 -1
  113. package/Cameras/deviceOrientationCamera.d.ts +1 -1
  114. package/Cameras/deviceOrientationCamera.js +1 -1
  115. package/Cameras/deviceOrientationCamera.js.map +1 -1
  116. package/Cameras/flyCamera.d.ts +8 -12
  117. package/Cameras/flyCamera.js +6 -10
  118. package/Cameras/flyCamera.js.map +1 -1
  119. package/Cameras/followCamera.d.ts +2 -2
  120. package/Cameras/followCamera.js +2 -2
  121. package/Cameras/followCamera.js.map +1 -1
  122. package/Cameras/freeCamera.d.ts +6 -7
  123. package/Cameras/freeCamera.js +4 -5
  124. package/Cameras/freeCamera.js.map +1 -1
  125. package/Cameras/freeCameraInputsManager.d.ts +2 -2
  126. package/Cameras/freeCameraInputsManager.js +2 -2
  127. package/Cameras/freeCameraInputsManager.js.map +1 -1
  128. package/Cameras/targetCamera.d.ts +21 -24
  129. package/Cameras/targetCamera.js +20 -23
  130. package/Cameras/targetCamera.js.map +1 -1
  131. package/Cameras/touchCamera.d.ts +1 -1
  132. package/Cameras/touchCamera.js +1 -1
  133. package/Cameras/touchCamera.js.map +1 -1
  134. package/Collisions/collider.d.ts +13 -44
  135. package/Collisions/collider.js +10 -41
  136. package/Collisions/collider.js.map +1 -1
  137. package/Collisions/collisionCoordinator.d.ts +2 -2
  138. package/Collisions/collisionCoordinator.js +1 -1
  139. package/Collisions/collisionCoordinator.js.map +1 -1
  140. package/Collisions/intersectionInfo.d.ts +1 -1
  141. package/Collisions/intersectionInfo.js +1 -1
  142. package/Collisions/intersectionInfo.js.map +1 -1
  143. package/Collisions/meshCollisionData.d.ts +1 -1
  144. package/Collisions/meshCollisionData.js +1 -1
  145. package/Collisions/meshCollisionData.js.map +1 -1
  146. package/Collisions/pickingInfo.d.ts +1 -1
  147. package/Collisions/pickingInfo.js +1 -1
  148. package/Collisions/pickingInfo.js.map +1 -1
  149. package/Compute/IComputeContext.d.ts +1 -1
  150. package/Compute/IComputeContext.js.map +1 -1
  151. package/Compute/IComputePipelineContext.d.ts +2 -2
  152. package/Compute/IComputePipelineContext.js.map +1 -1
  153. package/Compute/computeEffect.d.ts +5 -5
  154. package/Compute/computeEffect.js +5 -5
  155. package/Compute/computeEffect.js.map +1 -1
  156. package/Culling/Octrees/octreeBlock.d.ts +1 -9
  157. package/Culling/Octrees/octreeBlock.js +1 -9
  158. package/Culling/Octrees/octreeBlock.js.map +1 -1
  159. package/Culling/Octrees/octreeSceneComponent.d.ts +2 -2
  160. package/Culling/Octrees/octreeSceneComponent.js +1 -5
  161. package/Culling/Octrees/octreeSceneComponent.js.map +1 -1
  162. package/Culling/boundingBox.d.ts +4 -5
  163. package/Culling/boundingBox.js +3 -4
  164. package/Culling/boundingBox.js.map +1 -1
  165. package/Culling/boundingInfo.d.ts +1 -2
  166. package/Culling/boundingInfo.js +1 -2
  167. package/Culling/boundingInfo.js.map +1 -1
  168. package/Culling/boundingSphere.d.ts +1 -2
  169. package/Culling/boundingSphere.js +1 -2
  170. package/Culling/boundingSphere.js.map +1 -1
  171. package/Culling/ray.d.ts +6 -6
  172. package/Culling/ray.js.map +1 -1
  173. package/Debug/debugLayer.d.ts +1 -1
  174. package/Debug/debugLayer.js.map +1 -1
  175. package/Debug/physicsViewer.d.ts +6 -6
  176. package/Debug/physicsViewer.js +4 -4
  177. package/Debug/physicsViewer.js.map +1 -1
  178. package/DeviceInput/InputDevices/deviceEnums.d.ts +1 -1
  179. package/DeviceInput/InputDevices/deviceEnums.js +1 -1
  180. package/DeviceInput/InputDevices/deviceEnums.js.map +1 -1
  181. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +3 -3
  182. package/DeviceInput/InputDevices/deviceSourceManager.js +3 -3
  183. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  184. package/DeviceInput/internalDeviceSourceManager.d.ts +3 -3
  185. package/DeviceInput/internalDeviceSourceManager.js +1 -1
  186. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  187. package/DeviceInput/nativeDeviceInputSystem.d.ts +1 -1
  188. package/DeviceInput/nativeDeviceInputSystem.js +1 -1
  189. package/DeviceInput/nativeDeviceInputSystem.js.map +1 -1
  190. package/DeviceInput/webDeviceInputSystem.d.ts +1 -1
  191. package/DeviceInput/webDeviceInputSystem.js +1 -19
  192. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  193. package/Engines/Extensions/engine.computeShader.d.ts +7 -7
  194. package/Engines/Extensions/engine.computeShader.js +1 -1
  195. package/Engines/Extensions/engine.computeShader.js.map +1 -1
  196. package/Engines/Extensions/engine.cubeTexture.d.ts +6 -6
  197. package/Engines/Extensions/engine.cubeTexture.js +3 -2
  198. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  199. package/Engines/Extensions/engine.debugging.d.ts +4 -4
  200. package/Engines/Extensions/engine.debugging.js.map +1 -1
  201. package/Engines/Extensions/engine.multiview.d.ts +9 -9
  202. package/Engines/Extensions/engine.multiview.js.map +1 -1
  203. package/Engines/Extensions/engine.query.d.ts +22 -22
  204. package/Engines/Extensions/engine.query.js +8 -8
  205. package/Engines/Extensions/engine.query.js.map +1 -1
  206. package/Engines/Extensions/engine.rawTexture.js +3 -7
  207. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  208. package/Engines/Extensions/engine.readTexture.d.ts +2 -2
  209. package/Engines/Extensions/engine.readTexture.js.map +1 -1
  210. package/Engines/Extensions/engine.renderTarget.d.ts +2 -2
  211. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  212. package/Engines/Extensions/engine.textureSelector.d.ts +2 -2
  213. package/Engines/Extensions/engine.textureSelector.js.map +1 -1
  214. package/Engines/Extensions/engine.transformFeedback.d.ts +1 -1
  215. package/Engines/Extensions/engine.transformFeedback.js +1 -1
  216. package/Engines/Extensions/engine.transformFeedback.js.map +1 -1
  217. package/Engines/Extensions/engine.views.d.ts +2 -2
  218. package/Engines/Extensions/engine.views.js.map +1 -1
  219. package/Engines/Extensions/engine.webVR.d.ts +13 -13
  220. package/Engines/Extensions/engine.webVR.js.map +1 -1
  221. package/Engines/IDrawContext.d.ts +1 -1
  222. package/Engines/IDrawContext.js.map +1 -1
  223. package/Engines/IMaterialContext.d.ts +1 -1
  224. package/Engines/IMaterialContext.js.map +1 -1
  225. package/Engines/IPipelineContext.d.ts +5 -5
  226. package/Engines/IPipelineContext.js.map +1 -1
  227. package/Engines/Native/nativeDataStream.d.ts +2 -2
  228. package/Engines/Native/nativeDataStream.js +1 -1
  229. package/Engines/Native/nativeDataStream.js.map +1 -1
  230. package/Engines/Native/nativeInterfaces.d.ts +10 -10
  231. package/Engines/Native/nativeInterfaces.js.map +1 -1
  232. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.d.ts +1 -1
  233. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js +1 -1
  234. package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.js.map +1 -1
  235. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -1
  236. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +1 -1
  237. package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
  238. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.d.ts +1 -1
  239. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js +1 -1
  240. package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.js.map +1 -1
  241. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.d.ts +1 -1
  242. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js +1 -1
  243. package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.js.map +1 -1
  244. package/Engines/Processors/Expressions/shaderDefineExpression.d.ts +1 -1
  245. package/Engines/Processors/Expressions/shaderDefineExpression.js +1 -1
  246. package/Engines/Processors/Expressions/shaderDefineExpression.js.map +1 -1
  247. package/Engines/Processors/iShaderProcessor.d.ts +1 -1
  248. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  249. package/Engines/Processors/shaderCodeConditionNode.d.ts +1 -1
  250. package/Engines/Processors/shaderCodeConditionNode.js +1 -1
  251. package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
  252. package/Engines/Processors/shaderCodeCursor.d.ts +1 -1
  253. package/Engines/Processors/shaderCodeCursor.js +1 -1
  254. package/Engines/Processors/shaderCodeCursor.js.map +1 -1
  255. package/Engines/Processors/shaderCodeNode.d.ts +1 -1
  256. package/Engines/Processors/shaderCodeNode.js +1 -1
  257. package/Engines/Processors/shaderCodeNode.js.map +1 -1
  258. package/Engines/Processors/shaderCodeTestNode.d.ts +1 -1
  259. package/Engines/Processors/shaderCodeTestNode.js +1 -1
  260. package/Engines/Processors/shaderCodeTestNode.js.map +1 -1
  261. package/Engines/Processors/shaderProcessingOptions.d.ts +2 -2
  262. package/Engines/Processors/shaderProcessingOptions.js.map +1 -1
  263. package/Engines/Processors/shaderProcessor.d.ts +2 -2
  264. package/Engines/Processors/shaderProcessor.js +2 -2
  265. package/Engines/Processors/shaderProcessor.js.map +1 -1
  266. package/Engines/WebGL/webGL2ShaderProcessors.d.ts +1 -1
  267. package/Engines/WebGL/webGL2ShaderProcessors.js +1 -1
  268. package/Engines/WebGL/webGL2ShaderProcessors.js.map +1 -1
  269. package/Engines/WebGL/webGLHardwareTexture.d.ts +1 -1
  270. package/Engines/WebGL/webGLHardwareTexture.js +1 -1
  271. package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
  272. package/Engines/WebGL/webGLPipelineContext.d.ts +6 -25
  273. package/Engines/WebGL/webGLPipelineContext.js +6 -25
  274. package/Engines/WebGL/webGLPipelineContext.js.map +1 -1
  275. package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +2 -2
  276. package/Engines/WebGL/webGLRenderTargetWrapper.js +2 -2
  277. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  278. package/Engines/WebGL/webGLShaderProcessors.d.ts +1 -1
  279. package/Engines/WebGL/webGLShaderProcessors.js +1 -1
  280. package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
  281. package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +1 -1
  282. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  283. package/Engines/WebGPU/Extensions/engine.rawTexture.js +1 -5
  284. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  285. package/Engines/WebGPU/webgpuBufferManager.d.ts +1 -1
  286. package/Engines/WebGPU/webgpuBufferManager.js +1 -1
  287. package/Engines/WebGPU/webgpuBufferManager.js.map +1 -1
  288. package/Engines/WebGPU/webgpuBundleList.d.ts +8 -8
  289. package/Engines/WebGPU/webgpuBundleList.js +7 -7
  290. package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
  291. package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +1 -1
  292. package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
  293. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  294. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
  295. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +1 -1
  296. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  297. package/Engines/WebGPU/webgpuCacheRenderPipelineString.d.ts +1 -1
  298. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js +1 -1
  299. package/Engines/WebGPU/webgpuCacheRenderPipelineString.js.map +1 -1
  300. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
  301. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +2 -2
  302. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
  303. package/Engines/WebGPU/webgpuCacheSampler.d.ts +1 -1
  304. package/Engines/WebGPU/webgpuCacheSampler.js +1 -1
  305. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  306. package/Engines/WebGPU/webgpuClearQuad.d.ts +1 -1
  307. package/Engines/WebGPU/webgpuClearQuad.js +1 -1
  308. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  309. package/Engines/WebGPU/webgpuComputeContext.d.ts +1 -1
  310. package/Engines/WebGPU/webgpuComputeContext.js +1 -1
  311. package/Engines/WebGPU/webgpuComputeContext.js.map +1 -1
  312. package/Engines/WebGPU/webgpuComputePipelineContext.d.ts +2 -2
  313. package/Engines/WebGPU/webgpuComputePipelineContext.js +1 -1
  314. package/Engines/WebGPU/webgpuComputePipelineContext.js.map +1 -1
  315. package/Engines/WebGPU/webgpuConstants.d.ts +38 -38
  316. package/Engines/WebGPU/webgpuConstants.js +38 -38
  317. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  318. package/Engines/WebGPU/webgpuDepthCullingState.d.ts +1 -1
  319. package/Engines/WebGPU/webgpuDepthCullingState.js +1 -1
  320. package/Engines/WebGPU/webgpuDepthCullingState.js.map +1 -1
  321. package/Engines/WebGPU/webgpuDrawContext.d.ts +1 -1
  322. package/Engines/WebGPU/webgpuDrawContext.js +1 -1
  323. package/Engines/WebGPU/webgpuDrawContext.js.map +1 -1
  324. package/Engines/WebGPU/webgpuExternalTexture.d.ts +1 -1
  325. package/Engines/WebGPU/webgpuExternalTexture.js +1 -1
  326. package/Engines/WebGPU/webgpuExternalTexture.js.map +1 -1
  327. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +9 -9
  328. package/Engines/WebGPU/webgpuHardwareTexture.js +1 -1
  329. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  330. package/Engines/WebGPU/webgpuMaterialContext.d.ts +3 -3
  331. package/Engines/WebGPU/webgpuMaterialContext.js +1 -1
  332. package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
  333. package/Engines/WebGPU/webgpuOcclusionQuery.d.ts +1 -1
  334. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
  335. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  336. package/Engines/WebGPU/webgpuPipelineContext.d.ts +4 -4
  337. package/Engines/WebGPU/webgpuPipelineContext.js +2 -2
  338. package/Engines/WebGPU/webgpuPipelineContext.js.map +1 -1
  339. package/Engines/WebGPU/webgpuQuerySet.d.ts +1 -1
  340. package/Engines/WebGPU/webgpuQuerySet.js +1 -1
  341. package/Engines/WebGPU/webgpuQuerySet.js.map +1 -1
  342. package/Engines/WebGPU/webgpuRenderPassWrapper.d.ts +1 -1
  343. package/Engines/WebGPU/webgpuRenderPassWrapper.js +1 -1
  344. package/Engines/WebGPU/webgpuRenderPassWrapper.js.map +1 -1
  345. package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +2 -2
  346. package/Engines/WebGPU/webgpuRenderTargetWrapper.js +1 -1
  347. package/Engines/WebGPU/webgpuRenderTargetWrapper.js.map +1 -1
  348. package/Engines/WebGPU/webgpuShaderProcessingContext.d.ts +7 -7
  349. package/Engines/WebGPU/webgpuShaderProcessingContext.js +2 -2
  350. package/Engines/WebGPU/webgpuShaderProcessingContext.js.map +1 -1
  351. package/Engines/WebGPU/webgpuShaderProcessor.d.ts +1 -1
  352. package/Engines/WebGPU/webgpuShaderProcessor.js +1 -1
  353. package/Engines/WebGPU/webgpuShaderProcessor.js.map +1 -1
  354. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +1 -1
  355. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +1 -1
  356. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  357. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +1 -1
  358. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +1 -1
  359. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  360. package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +1 -1
  361. package/Engines/WebGPU/webgpuSnapshotRendering.js +1 -1
  362. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  363. package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +1 -1
  364. package/Engines/WebGPU/webgpuStencilStateComposer.js +1 -1
  365. package/Engines/WebGPU/webgpuStencilStateComposer.js.map +1 -1
  366. package/Engines/WebGPU/webgpuTextureHelper.d.ts +1 -1
  367. package/Engines/WebGPU/webgpuTextureHelper.js +1 -1
  368. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  369. package/Engines/WebGPU/webgpuTimestampQuery.d.ts +2 -2
  370. package/Engines/WebGPU/webgpuTimestampQuery.js +2 -2
  371. package/Engines/WebGPU/webgpuTimestampQuery.js.map +1 -1
  372. package/Engines/WebGPU/webgpuTintWASM.d.ts +1 -1
  373. package/Engines/WebGPU/webgpuTintWASM.js +1 -1
  374. package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
  375. package/Engines/constants.d.ts +1 -1
  376. package/Engines/constants.js +1 -1
  377. package/Engines/constants.js.map +1 -1
  378. package/Engines/engine.d.ts +16 -35
  379. package/Engines/engine.js +19 -69
  380. package/Engines/engine.js.map +1 -1
  381. package/Engines/engineFeatures.d.ts +2 -2
  382. package/Engines/engineFeatures.js.map +1 -1
  383. package/Engines/engineStore.d.ts +1 -1
  384. package/Engines/engineStore.js +1 -1
  385. package/Engines/engineStore.js.map +1 -1
  386. package/Engines/nativeEngine.d.ts +15 -47
  387. package/Engines/nativeEngine.js +20 -66
  388. package/Engines/nativeEngine.js.map +1 -1
  389. package/Engines/nullEngine.d.ts +12 -40
  390. package/Engines/nullEngine.js +12 -40
  391. package/Engines/nullEngine.js.map +1 -1
  392. package/Engines/performanceConfigurator.d.ts +6 -7
  393. package/Engines/performanceConfigurator.js +6 -7
  394. package/Engines/performanceConfigurator.js.map +1 -1
  395. package/Engines/renderTargetWrapper.d.ts +8 -9
  396. package/Engines/renderTargetWrapper.js +7 -8
  397. package/Engines/renderTargetWrapper.js.map +1 -1
  398. package/Engines/thinEngine.d.ts +90 -187
  399. package/Engines/thinEngine.js +73 -182
  400. package/Engines/thinEngine.js.map +1 -1
  401. package/Engines/webgpuEngine.d.ts +89 -145
  402. package/Engines/webgpuEngine.js +71 -127
  403. package/Engines/webgpuEngine.js.map +1 -1
  404. package/Events/pointerEvents.d.ts +4 -0
  405. package/Events/pointerEvents.js +4 -0
  406. package/Events/pointerEvents.js.map +1 -1
  407. package/Gamepads/Controllers/oculusTouchController.d.ts +1 -1
  408. package/Gamepads/Controllers/oculusTouchController.js +1 -1
  409. package/Gamepads/Controllers/oculusTouchController.js.map +1 -1
  410. package/Gamepads/Controllers/poseEnabledController.d.ts +9 -10
  411. package/Gamepads/Controllers/poseEnabledController.js +6 -7
  412. package/Gamepads/Controllers/poseEnabledController.js.map +1 -1
  413. package/Gamepads/Controllers/windowsMotionController.d.ts +1 -1
  414. package/Gamepads/Controllers/windowsMotionController.js +1 -1
  415. package/Gamepads/Controllers/windowsMotionController.js.map +1 -1
  416. package/Gamepads/gamepad.d.ts +1 -1
  417. package/Gamepads/gamepad.js +1 -1
  418. package/Gamepads/gamepad.js.map +1 -1
  419. package/Gamepads/gamepadManager.d.ts +2 -2
  420. package/Gamepads/gamepadManager.js +4 -4
  421. package/Gamepads/gamepadManager.js.map +1 -1
  422. package/Gamepads/gamepadSceneComponent.d.ts +1 -1
  423. package/Gamepads/gamepadSceneComponent.js.map +1 -1
  424. package/Gizmos/axisDragGizmo.d.ts +2 -8
  425. package/Gizmos/axisDragGizmo.js +2 -8
  426. package/Gizmos/axisDragGizmo.js.map +1 -1
  427. package/Gizmos/cameraGizmo.d.ts +1 -1
  428. package/Gizmos/cameraGizmo.js +1 -1
  429. package/Gizmos/cameraGizmo.js.map +1 -1
  430. package/Gizmos/lightGizmo.d.ts +1 -1
  431. package/Gizmos/lightGizmo.js +1 -1
  432. package/Gizmos/lightGizmo.js.map +1 -1
  433. package/Gizmos/planeDragGizmo.d.ts +1 -3
  434. package/Gizmos/planeDragGizmo.js +1 -3
  435. package/Gizmos/planeDragGizmo.js.map +1 -1
  436. package/Helpers/sceneHelpers.d.ts +1 -1
  437. package/Helpers/sceneHelpers.js +1 -1
  438. package/Helpers/sceneHelpers.js.map +1 -1
  439. package/Inputs/scene.inputManager.d.ts +3 -3
  440. package/Inputs/scene.inputManager.js +5 -4
  441. package/Inputs/scene.inputManager.js.map +1 -1
  442. package/Instrumentation/timeToken.d.ts +1 -1
  443. package/Instrumentation/timeToken.js +1 -1
  444. package/Instrumentation/timeToken.js.map +1 -1
  445. package/Layers/effectLayer.d.ts +2 -3
  446. package/Layers/effectLayer.js +2 -3
  447. package/Layers/effectLayer.js.map +1 -1
  448. package/Layers/glowLayer.d.ts +1 -1
  449. package/Layers/glowLayer.js +1 -1
  450. package/Layers/glowLayer.js.map +1 -1
  451. package/Layers/highlightLayer.d.ts +1 -1
  452. package/Layers/highlightLayer.js +1 -1
  453. package/Layers/highlightLayer.js.map +1 -1
  454. package/Layers/layer.d.ts +8 -1
  455. package/Layers/layer.js +12 -1
  456. package/Layers/layer.js.map +1 -1
  457. package/Layers/layerSceneComponent.d.ts +4 -2
  458. package/Layers/layerSceneComponent.js +27 -11
  459. package/Layers/layerSceneComponent.js.map +1 -1
  460. package/LensFlares/lensFlare.d.ts +1 -1
  461. package/LensFlares/lensFlare.js.map +1 -1
  462. package/LensFlares/lensFlareSystem.d.ts +4 -6
  463. package/LensFlares/lensFlareSystem.js +4 -6
  464. package/LensFlares/lensFlareSystem.js.map +1 -1
  465. package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -2
  466. package/Lights/Shadows/cascadedShadowGenerator.js +1 -2
  467. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  468. package/Lights/Shadows/shadowGenerator.d.ts +1 -2
  469. package/Lights/Shadows/shadowGenerator.js +1 -2
  470. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  471. package/Lights/light.d.ts +9 -9
  472. package/Lights/light.js +6 -6
  473. package/Lights/light.js.map +1 -1
  474. package/Lights/shadowLight.d.ts +3 -3
  475. package/Lights/shadowLight.js +3 -3
  476. package/Lights/shadowLight.js.map +1 -1
  477. package/Loading/Plugins/babylonFileLoader.d.ts +1 -1
  478. package/Loading/Plugins/babylonFileLoader.js +1 -1
  479. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  480. package/Loading/loadingScreen.js +6 -6
  481. package/Loading/loadingScreen.js.map +1 -1
  482. package/Materials/Background/backgroundMaterial.js +1 -1
  483. package/Materials/Background/backgroundMaterial.js.map +1 -1
  484. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +18 -18
  485. package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
  486. package/Materials/Node/Blocks/Input/inputBlock.d.ts +4 -11
  487. package/Materials/Node/Blocks/Input/inputBlock.js +4 -11
  488. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  489. package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +2 -2
  490. package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
  491. package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +9 -9
  492. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  493. package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +12 -12
  494. package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
  495. package/Materials/Node/nodeMaterial.d.ts +2 -2
  496. package/Materials/Node/nodeMaterial.js +2 -2
  497. package/Materials/Node/nodeMaterial.js.map +1 -1
  498. package/Materials/Node/nodeMaterialBlock.d.ts +8 -14
  499. package/Materials/Node/nodeMaterialBlock.js +6 -12
  500. package/Materials/Node/nodeMaterialBlock.js.map +1 -1
  501. package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +8 -8
  502. package/Materials/Node/nodeMaterialBlockConnectionPoint.js +7 -7
  503. package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
  504. package/Materials/Node/nodeMaterialBuildState.d.ts +22 -58
  505. package/Materials/Node/nodeMaterialBuildState.js +21 -57
  506. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  507. package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
  508. package/Materials/PBR/pbrAnisotropicConfiguration.js +2 -2
  509. package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
  510. package/Materials/PBR/pbrBRDFConfiguration.d.ts +3 -3
  511. package/Materials/PBR/pbrBRDFConfiguration.js +2 -2
  512. package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
  513. package/Materials/PBR/pbrBaseMaterial.d.ts +65 -65
  514. package/Materials/PBR/pbrBaseMaterial.js +65 -65
  515. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  516. package/Materials/PBR/pbrClearCoatConfiguration.d.ts +4 -4
  517. package/Materials/PBR/pbrClearCoatConfiguration.js +3 -3
  518. package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
  519. package/Materials/PBR/pbrIridescenceConfiguration.d.ts +6 -6
  520. package/Materials/PBR/pbrIridescenceConfiguration.js +5 -5
  521. package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
  522. package/Materials/PBR/pbrSheenConfiguration.d.ts +3 -3
  523. package/Materials/PBR/pbrSheenConfiguration.js +2 -2
  524. package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
  525. package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +6 -6
  526. package/Materials/PBR/pbrSubSurfaceConfiguration.js +5 -5
  527. package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
  528. package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +1 -1
  529. package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -1
  530. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  531. package/Materials/Textures/Loaders/envTextureLoader.d.ts +1 -1
  532. package/Materials/Textures/Loaders/envTextureLoader.js +1 -1
  533. package/Materials/Textures/Loaders/envTextureLoader.js.map +1 -1
  534. package/Materials/Textures/Loaders/hdrTextureLoader.d.ts +1 -1
  535. package/Materials/Textures/Loaders/hdrTextureLoader.js +1 -1
  536. package/Materials/Textures/Loaders/hdrTextureLoader.js.map +1 -1
  537. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +1 -1
  538. package/Materials/Textures/Loaders/ktxTextureLoader.js +1 -1
  539. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  540. package/Materials/Textures/Loaders/tgaTextureLoader.d.ts +1 -1
  541. package/Materials/Textures/Loaders/tgaTextureLoader.js +1 -1
  542. package/Materials/Textures/Loaders/tgaTextureLoader.js.map +1 -1
  543. package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -1
  544. package/Materials/Textures/MultiviewRenderTarget.js +1 -1
  545. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  546. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +6 -7
  547. package/Materials/Textures/Procedurals/proceduralTexture.js +4 -5
  548. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  549. package/Materials/Textures/baseTexture.d.ts +17 -23
  550. package/Materials/Textures/baseTexture.js +20 -23
  551. package/Materials/Textures/baseTexture.js.map +1 -1
  552. package/Materials/Textures/cubeTexture.d.ts +1 -1
  553. package/Materials/Textures/cubeTexture.js +1 -1
  554. package/Materials/Textures/cubeTexture.js.map +1 -1
  555. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  556. package/Materials/Textures/dynamicTexture.js +1 -1
  557. package/Materials/Textures/dynamicTexture.js.map +1 -1
  558. package/Materials/Textures/hardwareTextureWrapper.d.ts +1 -1
  559. package/Materials/Textures/hardwareTextureWrapper.js.map +1 -1
  560. package/Materials/Textures/internalTexture.d.ts +35 -37
  561. package/Materials/Textures/internalTexture.js +34 -36
  562. package/Materials/Textures/internalTexture.js.map +1 -1
  563. package/Materials/Textures/multiRenderTarget.d.ts +1 -3
  564. package/Materials/Textures/multiRenderTarget.js +1 -3
  565. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  566. package/Materials/Textures/prePassRenderTarget.d.ts +9 -9
  567. package/Materials/Textures/prePassRenderTarget.js +6 -6
  568. package/Materials/Textures/prePassRenderTarget.js.map +1 -1
  569. package/Materials/Textures/renderTargetTexture.d.ts +7 -11
  570. package/Materials/Textures/renderTargetTexture.js +8 -9
  571. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  572. package/Materials/Textures/texture.d.ts +6 -18
  573. package/Materials/Textures/texture.js +13 -23
  574. package/Materials/Textures/texture.js.map +1 -1
  575. package/Materials/Textures/textureSampler.d.ts +5 -5
  576. package/Materials/Textures/textureSampler.js +5 -5
  577. package/Materials/Textures/textureSampler.js.map +1 -1
  578. package/Materials/Textures/thinRenderTargetTexture.js +1 -1
  579. package/Materials/Textures/thinRenderTargetTexture.js.map +1 -1
  580. package/Materials/Textures/thinTexture.d.ts +2 -2
  581. package/Materials/Textures/thinTexture.js +2 -2
  582. package/Materials/Textures/thinTexture.js.map +1 -1
  583. package/Materials/Textures/videoTexture.d.ts +1 -1
  584. package/Materials/Textures/videoTexture.js +3 -3
  585. package/Materials/Textures/videoTexture.js.map +1 -1
  586. package/Materials/drawWrapper.d.ts +1 -1
  587. package/Materials/drawWrapper.js +1 -1
  588. package/Materials/drawWrapper.js.map +1 -1
  589. package/Materials/effect.d.ts +17 -17
  590. package/Materials/effect.js +28 -22
  591. package/Materials/effect.js.map +1 -1
  592. package/Materials/effectRenderer.d.ts +1 -1
  593. package/Materials/effectRenderer.js.map +1 -1
  594. package/Materials/imageProcessingConfiguration.d.ts +5 -5
  595. package/Materials/imageProcessingConfiguration.js +4 -4
  596. package/Materials/imageProcessingConfiguration.js.map +1 -1
  597. package/Materials/material.d.ts +21 -26
  598. package/Materials/material.detailMapConfiguration.d.ts +3 -3
  599. package/Materials/material.detailMapConfiguration.js +2 -2
  600. package/Materials/material.detailMapConfiguration.js.map +1 -1
  601. package/Materials/material.js +22 -24
  602. package/Materials/material.js.map +1 -1
  603. package/Materials/materialDefines.d.ts +14 -14
  604. package/Materials/materialDefines.js +13 -13
  605. package/Materials/materialDefines.js.map +1 -1
  606. package/Materials/materialHelper.js +2 -7
  607. package/Materials/materialHelper.js.map +1 -1
  608. package/Materials/materialPluginEvent.d.ts +15 -15
  609. package/Materials/materialPluginEvent.js +1 -1
  610. package/Materials/materialPluginEvent.js.map +1 -1
  611. package/Materials/materialPluginManager.d.ts +2 -4
  612. package/Materials/materialPluginManager.js +2 -4
  613. package/Materials/materialPluginManager.js.map +1 -1
  614. package/Materials/multiMaterial.d.ts +1 -1
  615. package/Materials/multiMaterial.js +1 -1
  616. package/Materials/multiMaterial.js.map +1 -1
  617. package/Materials/pushMaterial.d.ts +1 -1
  618. package/Materials/pushMaterial.js +1 -1
  619. package/Materials/pushMaterial.js.map +1 -1
  620. package/Materials/standardMaterial.d.ts +3 -3
  621. package/Materials/standardMaterial.js +3 -3
  622. package/Materials/standardMaterial.js.map +1 -1
  623. package/Materials/uniformBuffer.d.ts +4 -4
  624. package/Materials/uniformBuffer.js +4 -4
  625. package/Materials/uniformBuffer.js.map +1 -1
  626. package/Materials/uniformBufferEffectCommonAccessor.d.ts +1 -1
  627. package/Materials/uniformBufferEffectCommonAccessor.js +1 -1
  628. package/Materials/uniformBufferEffectCommonAccessor.js.map +1 -1
  629. package/Maths/math.color.d.ts +1 -1
  630. package/Maths/math.color.js +1 -1
  631. package/Maths/math.color.js.map +1 -1
  632. package/Maths/math.isovector.d.ts +1 -1
  633. package/Maths/math.isovector.js +1 -1
  634. package/Maths/math.isovector.js.map +1 -1
  635. package/Maths/math.like.d.ts +8 -8
  636. package/Maths/math.like.js.map +1 -1
  637. package/Maths/math.polar.d.ts +343 -0
  638. package/Maths/math.polar.js +537 -0
  639. package/Maths/math.polar.js.map +1 -1
  640. package/Maths/math.vector.d.ts +58 -24
  641. package/Maths/math.vector.js +94 -18
  642. package/Maths/math.vector.js.map +1 -1
  643. package/Meshes/Builders/tubeBuilder.d.ts +2 -2
  644. package/Meshes/Builders/tubeBuilder.js +2 -2
  645. package/Meshes/Builders/tubeBuilder.js.map +1 -1
  646. package/Meshes/WebGL/webGLDataBuffer.d.ts +1 -1
  647. package/Meshes/WebGL/webGLDataBuffer.js +1 -1
  648. package/Meshes/WebGL/webGLDataBuffer.js.map +1 -1
  649. package/Meshes/WebGPU/webgpuDataBuffer.d.ts +1 -1
  650. package/Meshes/WebGPU/webgpuDataBuffer.js +1 -1
  651. package/Meshes/WebGPU/webgpuDataBuffer.js.map +1 -1
  652. package/Meshes/abstractMesh.d.ts +48 -70
  653. package/Meshes/abstractMesh.js +47 -69
  654. package/Meshes/abstractMesh.js.map +1 -1
  655. package/Meshes/buffer.d.ts +1 -1
  656. package/Meshes/buffer.js +1 -1
  657. package/Meshes/buffer.js.map +1 -1
  658. package/Meshes/geodesicMesh.d.ts +15 -28
  659. package/Meshes/geodesicMesh.js +11 -24
  660. package/Meshes/geodesicMesh.js.map +1 -1
  661. package/Meshes/geometry.d.ts +15 -20
  662. package/Meshes/geometry.js +7 -12
  663. package/Meshes/geometry.js.map +1 -1
  664. package/Meshes/groundMesh.d.ts +8 -8
  665. package/Meshes/groundMesh.js.map +1 -1
  666. package/Meshes/instancedMesh.d.ts +12 -16
  667. package/Meshes/instancedMesh.js +11 -15
  668. package/Meshes/instancedMesh.js.map +1 -1
  669. package/Meshes/linesMesh.d.ts +5 -8
  670. package/Meshes/linesMesh.js +5 -8
  671. package/Meshes/linesMesh.js.map +1 -1
  672. package/Meshes/mesh.d.ts +47 -92
  673. package/Meshes/mesh.js +50 -98
  674. package/Meshes/mesh.js.map +1 -1
  675. package/Meshes/mesh.vertexData.d.ts +3 -18
  676. package/Meshes/mesh.vertexData.js +3 -18
  677. package/Meshes/mesh.vertexData.js.map +1 -1
  678. package/Meshes/meshSimplificationSceneComponent.d.ts +1 -1
  679. package/Meshes/meshSimplificationSceneComponent.js.map +1 -1
  680. package/Meshes/subMesh.d.ts +23 -51
  681. package/Meshes/subMesh.js +20 -48
  682. package/Meshes/subMesh.js.map +1 -1
  683. package/Meshes/subMesh.project.d.ts +2 -2
  684. package/Meshes/subMesh.project.js +2 -12
  685. package/Meshes/subMesh.project.js.map +1 -1
  686. package/Meshes/thinInstanceMesh.d.ts +4 -4
  687. package/Meshes/thinInstanceMesh.js.map +1 -1
  688. package/Meshes/transformNode.d.ts +8 -9
  689. package/Meshes/transformNode.js +8 -9
  690. package/Meshes/transformNode.js.map +1 -1
  691. package/Misc/arrayTools.d.ts +3 -3
  692. package/Misc/arrayTools.js +1 -1
  693. package/Misc/arrayTools.js.map +1 -1
  694. package/Misc/assetsManager.d.ts +1 -3
  695. package/Misc/assetsManager.js +1 -3
  696. package/Misc/assetsManager.js.map +1 -1
  697. package/Misc/basis.js +1 -1
  698. package/Misc/basis.js.map +1 -1
  699. package/Misc/coroutine.d.ts +11 -25
  700. package/Misc/coroutine.js +7 -21
  701. package/Misc/coroutine.js.map +1 -1
  702. package/Misc/dds.d.ts +1 -10
  703. package/Misc/dds.js +1 -10
  704. package/Misc/dds.js.map +1 -1
  705. package/Misc/decorators.d.ts +5 -15
  706. package/Misc/decorators.js +6 -16
  707. package/Misc/decorators.js.map +1 -1
  708. package/Misc/depthReducer.d.ts +1 -5
  709. package/Misc/depthReducer.js +1 -5
  710. package/Misc/depthReducer.js.map +1 -1
  711. package/Misc/devTools.d.ts +1 -2
  712. package/Misc/devTools.js +1 -2
  713. package/Misc/devTools.js.map +1 -1
  714. package/Misc/environmentTextureTools.d.ts +1 -6
  715. package/Misc/environmentTextureTools.js +1 -6
  716. package/Misc/environmentTextureTools.js.map +1 -1
  717. package/Misc/fileTools.d.ts +12 -24
  718. package/Misc/fileTools.js +14 -26
  719. package/Misc/fileTools.js.map +1 -1
  720. package/Misc/khronosTextureContainer.d.ts +1 -3
  721. package/Misc/khronosTextureContainer.js +1 -3
  722. package/Misc/khronosTextureContainer.js.map +1 -1
  723. package/Misc/khronosTextureContainer2.d.ts +1 -4
  724. package/Misc/khronosTextureContainer2.js +1 -4
  725. package/Misc/khronosTextureContainer2.js.map +1 -1
  726. package/Misc/observable.d.ts +3 -4
  727. package/Misc/observable.js +2 -3
  728. package/Misc/observable.js.map +1 -1
  729. package/Misc/pivotTools.d.ts +3 -5
  730. package/Misc/pivotTools.js +3 -5
  731. package/Misc/pivotTools.js.map +1 -1
  732. package/Misc/screenshotTools.js +1 -1
  733. package/Misc/screenshotTools.js.map +1 -1
  734. package/Misc/tags.d.ts +2 -6
  735. package/Misc/tags.js +2 -6
  736. package/Misc/tags.js.map +1 -1
  737. package/Misc/tga.d.ts +14 -70
  738. package/Misc/tga.js +14 -70
  739. package/Misc/tga.js.map +1 -1
  740. package/Misc/tools.d.ts +9 -0
  741. package/Misc/tools.js +14 -5
  742. package/Misc/tools.js.map +1 -1
  743. package/Misc/typeStore.d.ts +2 -5
  744. package/Misc/typeStore.js +3 -6
  745. package/Misc/typeStore.js.map +1 -1
  746. package/Misc/virtualJoystick.js +0 -1
  747. package/Misc/virtualJoystick.js.map +1 -1
  748. package/Misc/webRequest.d.ts +2 -2
  749. package/Misc/webRequest.js +1 -1
  750. package/Misc/webRequest.js.map +1 -1
  751. package/Morph/morphTarget.d.ts +1 -1
  752. package/Morph/morphTarget.js +1 -1
  753. package/Morph/morphTarget.js.map +1 -1
  754. package/Morph/morphTargetManager.d.ts +3 -4
  755. package/Morph/morphTargetManager.js +2 -3
  756. package/Morph/morphTargetManager.js.map +1 -1
  757. package/Particles/IGPUParticleSystemPlatform.d.ts +1 -1
  758. package/Particles/IGPUParticleSystemPlatform.js.map +1 -1
  759. package/Particles/IParticleSystem.d.ts +6 -0
  760. package/Particles/IParticleSystem.js.map +1 -1
  761. package/Particles/baseParticleSystem.d.ts +14 -9
  762. package/Particles/baseParticleSystem.js +17 -8
  763. package/Particles/baseParticleSystem.js.map +1 -1
  764. package/Particles/cloudPoint.d.ts +16 -19
  765. package/Particles/cloudPoint.js +21 -29
  766. package/Particles/cloudPoint.js.map +1 -1
  767. package/Particles/computeShaderParticleSystem.d.ts +1 -1
  768. package/Particles/computeShaderParticleSystem.js +1 -1
  769. package/Particles/computeShaderParticleSystem.js.map +1 -1
  770. package/Particles/gpuParticleSystem.d.ts +14 -20
  771. package/Particles/gpuParticleSystem.js +17 -13
  772. package/Particles/gpuParticleSystem.js.map +1 -1
  773. package/Particles/particle.d.ts +30 -31
  774. package/Particles/particle.js +16 -17
  775. package/Particles/particle.js.map +1 -1
  776. package/Particles/particleSystem.d.ts +16 -32
  777. package/Particles/particleSystem.js +30 -31
  778. package/Particles/particleSystem.js.map +1 -1
  779. package/Particles/pointsCloudSystem.d.ts +3 -4
  780. package/Particles/pointsCloudSystem.js +27 -20
  781. package/Particles/pointsCloudSystem.js.map +1 -1
  782. package/Particles/solidParticle.d.ts +21 -31
  783. package/Particles/solidParticle.js +9 -19
  784. package/Particles/solidParticle.js.map +1 -1
  785. package/Particles/solidParticleSystem.d.ts +14 -16
  786. package/Particles/solidParticleSystem.js +14 -16
  787. package/Particles/solidParticleSystem.js.map +1 -1
  788. package/Particles/subEmitter.d.ts +1 -5
  789. package/Particles/subEmitter.js +1 -5
  790. package/Particles/subEmitter.js.map +1 -1
  791. package/Particles/webgl2ParticleSystem.d.ts +1 -1
  792. package/Particles/webgl2ParticleSystem.js +1 -1
  793. package/Particles/webgl2ParticleSystem.js.map +1 -1
  794. package/Physics/IPhysicsEngine.d.ts +1 -1
  795. package/Physics/IPhysicsEngine.js.map +1 -1
  796. package/Physics/Plugins/ammoJSPlugin.d.ts +3 -0
  797. package/Physics/Plugins/ammoJSPlugin.js +21 -2
  798. package/Physics/Plugins/ammoJSPlugin.js.map +1 -1
  799. package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
  800. package/Physics/Plugins/cannonJSPlugin.js +1 -1
  801. package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
  802. package/Physics/Plugins/oimoJSPlugin.d.ts +1 -1
  803. package/Physics/Plugins/oimoJSPlugin.js +3 -3
  804. package/Physics/Plugins/oimoJSPlugin.js.map +1 -1
  805. package/Physics/physicsEngineComponent.d.ts +4 -4
  806. package/Physics/physicsEngineComponent.js +1 -2
  807. package/Physics/physicsEngineComponent.js.map +1 -1
  808. package/Physics/physicsImpostor.d.ts +13 -7
  809. package/Physics/physicsImpostor.js +9 -6
  810. package/Physics/physicsImpostor.js.map +1 -1
  811. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +1 -1
  812. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js +2 -2
  813. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  814. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +2 -4
  815. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +2 -4
  816. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  817. package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +10 -10
  818. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js +5 -5
  819. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
  820. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +13 -13
  821. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +7 -14
  822. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  823. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +1 -1
  824. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +1 -1
  825. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
  826. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.d.ts +1 -1
  827. package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js.map +1 -1
  828. package/PostProcesses/blackAndWhitePostProcess.d.ts +1 -5
  829. package/PostProcesses/blackAndWhitePostProcess.js +1 -5
  830. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  831. package/PostProcesses/bloomEffect.d.ts +4 -4
  832. package/PostProcesses/bloomEffect.js +3 -3
  833. package/PostProcesses/bloomEffect.js.map +1 -1
  834. package/PostProcesses/blurPostProcess.d.ts +1 -5
  835. package/PostProcesses/blurPostProcess.js +1 -5
  836. package/PostProcesses/blurPostProcess.js.map +1 -1
  837. package/PostProcesses/chromaticAberrationPostProcess.d.ts +1 -5
  838. package/PostProcesses/chromaticAberrationPostProcess.js +1 -5
  839. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  840. package/PostProcesses/colorCorrectionPostProcess.d.ts +1 -5
  841. package/PostProcesses/colorCorrectionPostProcess.js +1 -5
  842. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  843. package/PostProcesses/convolutionPostProcess.d.ts +1 -5
  844. package/PostProcesses/convolutionPostProcess.js +1 -5
  845. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  846. package/PostProcesses/depthOfFieldEffect.d.ts +4 -4
  847. package/PostProcesses/depthOfFieldEffect.js +3 -3
  848. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  849. package/PostProcesses/displayPassPostProcess.d.ts +1 -5
  850. package/PostProcesses/displayPassPostProcess.js +1 -5
  851. package/PostProcesses/displayPassPostProcess.js.map +1 -1
  852. package/PostProcesses/extractHighlightsPostProcess.d.ts +2 -2
  853. package/PostProcesses/extractHighlightsPostProcess.js +2 -2
  854. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  855. package/PostProcesses/filterPostProcess.d.ts +1 -5
  856. package/PostProcesses/filterPostProcess.js +1 -5
  857. package/PostProcesses/filterPostProcess.js.map +1 -1
  858. package/PostProcesses/fxaaPostProcess.d.ts +1 -5
  859. package/PostProcesses/fxaaPostProcess.js +1 -5
  860. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  861. package/PostProcesses/grainPostProcess.d.ts +1 -5
  862. package/PostProcesses/grainPostProcess.js +1 -5
  863. package/PostProcesses/grainPostProcess.js.map +1 -1
  864. package/PostProcesses/imageProcessingPostProcess.d.ts +1 -1
  865. package/PostProcesses/imageProcessingPostProcess.js +1 -1
  866. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  867. package/PostProcesses/motionBlurPostProcess.d.ts +1 -5
  868. package/PostProcesses/motionBlurPostProcess.js +1 -5
  869. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  870. package/PostProcesses/passPostProcess.d.ts +2 -10
  871. package/PostProcesses/passPostProcess.js +2 -10
  872. package/PostProcesses/passPostProcess.js.map +1 -1
  873. package/PostProcesses/postProcess.d.ts +8 -12
  874. package/PostProcesses/postProcess.js +6 -10
  875. package/PostProcesses/postProcess.js.map +1 -1
  876. package/PostProcesses/postProcessManager.d.ts +3 -3
  877. package/PostProcesses/postProcessManager.js +3 -3
  878. package/PostProcesses/postProcessManager.js.map +1 -1
  879. package/PostProcesses/refractionPostProcess.d.ts +1 -5
  880. package/PostProcesses/refractionPostProcess.js +1 -5
  881. package/PostProcesses/refractionPostProcess.js.map +1 -1
  882. package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +1 -5
  883. package/PostProcesses/screenSpaceCurvaturePostProcess.js +1 -5
  884. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  885. package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +1 -5
  886. package/PostProcesses/screenSpaceReflectionPostProcess.js +1 -5
  887. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  888. package/PostProcesses/sharpenPostProcess.d.ts +1 -5
  889. package/PostProcesses/sharpenPostProcess.js +1 -5
  890. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  891. package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +1 -1
  892. package/PostProcesses/volumetricLightScatteringPostProcess.js +1 -1
  893. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  894. package/Probes/reflectionProbe.d.ts +1 -1
  895. package/Probes/reflectionProbe.js +1 -1
  896. package/Probes/reflectionProbe.js.map +1 -1
  897. package/Rendering/boundingBoxRenderer.d.ts +5 -5
  898. package/Rendering/boundingBoxRenderer.js +2 -2
  899. package/Rendering/boundingBoxRenderer.js.map +1 -1
  900. package/Rendering/depthPeelingSceneComponent.d.ts +2 -2
  901. package/Rendering/depthPeelingSceneComponent.js.map +1 -1
  902. package/Rendering/depthRenderer.d.ts +1 -2
  903. package/Rendering/depthRenderer.js +1 -2
  904. package/Rendering/depthRenderer.js.map +1 -1
  905. package/Rendering/depthRendererSceneComponent.d.ts +1 -1
  906. package/Rendering/depthRendererSceneComponent.js.map +1 -1
  907. package/Rendering/edgesRenderer.d.ts +2 -2
  908. package/Rendering/edgesRenderer.js +1 -1
  909. package/Rendering/edgesRenderer.js.map +1 -1
  910. package/Rendering/geometryBufferRenderer.d.ts +10 -16
  911. package/Rendering/geometryBufferRenderer.js +9 -15
  912. package/Rendering/geometryBufferRenderer.js.map +1 -1
  913. package/Rendering/geometryBufferRendererSceneComponent.d.ts +1 -1
  914. package/Rendering/geometryBufferRendererSceneComponent.js.map +1 -1
  915. package/Rendering/outlineRenderer.d.ts +3 -3
  916. package/Rendering/outlineRenderer.js.map +1 -1
  917. package/Rendering/prePassRenderer.d.ts +7 -14
  918. package/Rendering/prePassRenderer.js +8 -15
  919. package/Rendering/prePassRenderer.js.map +1 -1
  920. package/Rendering/prePassRendererSceneComponent.d.ts +2 -2
  921. package/Rendering/prePassRendererSceneComponent.js.map +1 -1
  922. package/Rendering/renderingGroup.d.ts +3 -3
  923. package/Rendering/renderingGroup.js +3 -3
  924. package/Rendering/renderingGroup.js.map +1 -1
  925. package/Rendering/renderingManager.d.ts +15 -8
  926. package/Rendering/renderingManager.js +59 -17
  927. package/Rendering/renderingManager.js.map +1 -1
  928. package/Rendering/subSurfaceConfiguration.d.ts +2 -4
  929. package/Rendering/subSurfaceConfiguration.js +2 -4
  930. package/Rendering/subSurfaceConfiguration.js.map +1 -1
  931. package/Rendering/subSurfaceSceneComponent.d.ts +1 -1
  932. package/Rendering/subSurfaceSceneComponent.js.map +1 -1
  933. package/Rendering/utilityLayerRenderer.d.ts +4 -4
  934. package/Rendering/utilityLayerRenderer.js +15 -10
  935. package/Rendering/utilityLayerRenderer.js.map +1 -1
  936. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.d.ts +1 -1
  937. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js +1 -1
  938. package/Shaders/ShadersInclude/backgroundFragmentDeclaration.js.map +1 -1
  939. package/Shaders/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
  940. package/Shaders/ShadersInclude/backgroundUboDeclaration.js +1 -1
  941. package/Shaders/ShadersInclude/backgroundUboDeclaration.js.map +1 -1
  942. package/Shaders/ShadersInclude/backgroundVertexDeclaration.d.ts +1 -1
  943. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js +1 -1
  944. package/Shaders/ShadersInclude/backgroundVertexDeclaration.js.map +1 -1
  945. package/Shaders/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  946. package/Shaders/ShadersInclude/bakedVertexAnimation.js +1 -1
  947. package/Shaders/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  948. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  949. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  950. package/Shaders/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  951. package/Shaders/ShadersInclude/bayerDitherFunctions.d.ts +1 -1
  952. package/Shaders/ShadersInclude/bayerDitherFunctions.js +1 -1
  953. package/Shaders/ShadersInclude/bayerDitherFunctions.js.map +1 -1
  954. package/Shaders/ShadersInclude/bonesDeclaration.d.ts +1 -1
  955. package/Shaders/ShadersInclude/bonesDeclaration.js +1 -1
  956. package/Shaders/ShadersInclude/bonesDeclaration.js.map +1 -1
  957. package/Shaders/ShadersInclude/bonesVertex.d.ts +1 -1
  958. package/Shaders/ShadersInclude/bonesVertex.js +1 -1
  959. package/Shaders/ShadersInclude/bonesVertex.js.map +1 -1
  960. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.d.ts +1 -1
  961. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js +1 -1
  962. package/Shaders/ShadersInclude/boundingBoxRendererFragmentDeclaration.js.map +1 -1
  963. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.d.ts +1 -1
  964. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js +1 -1
  965. package/Shaders/ShadersInclude/boundingBoxRendererUboDeclaration.js.map +1 -1
  966. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.d.ts +1 -1
  967. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js +1 -1
  968. package/Shaders/ShadersInclude/boundingBoxRendererVertexDeclaration.js.map +1 -1
  969. package/Shaders/ShadersInclude/bumpFragment.d.ts +1 -1
  970. package/Shaders/ShadersInclude/bumpFragment.js +1 -1
  971. package/Shaders/ShadersInclude/bumpFragment.js.map +1 -1
  972. package/Shaders/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
  973. package/Shaders/ShadersInclude/bumpFragmentFunctions.js +1 -1
  974. package/Shaders/ShadersInclude/bumpFragmentFunctions.js.map +1 -1
  975. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.d.ts +1 -1
  976. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js +1 -1
  977. package/Shaders/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -1
  978. package/Shaders/ShadersInclude/bumpVertex.d.ts +1 -1
  979. package/Shaders/ShadersInclude/bumpVertex.js +1 -1
  980. package/Shaders/ShadersInclude/bumpVertex.js.map +1 -1
  981. package/Shaders/ShadersInclude/bumpVertexDeclaration.d.ts +1 -1
  982. package/Shaders/ShadersInclude/bumpVertexDeclaration.js +1 -1
  983. package/Shaders/ShadersInclude/bumpVertexDeclaration.js.map +1 -1
  984. package/Shaders/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  985. package/Shaders/ShadersInclude/clipPlaneFragment.js +1 -1
  986. package/Shaders/ShadersInclude/clipPlaneFragment.js.map +1 -1
  987. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  988. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  989. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  990. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.d.ts +1 -1
  991. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js +1 -1
  992. package/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.js.map +1 -1
  993. package/Shaders/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  994. package/Shaders/ShadersInclude/clipPlaneVertex.js +1 -1
  995. package/Shaders/ShadersInclude/clipPlaneVertex.js.map +1 -1
  996. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  997. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  998. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  999. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.d.ts +1 -1
  1000. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js +1 -1
  1001. package/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.js.map +1 -1
  1002. package/Shaders/ShadersInclude/defaultFragmentDeclaration.d.ts +1 -1
  1003. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js +1 -1
  1004. package/Shaders/ShadersInclude/defaultFragmentDeclaration.js.map +1 -1
  1005. package/Shaders/ShadersInclude/defaultUboDeclaration.d.ts +1 -1
  1006. package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
  1007. package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
  1008. package/Shaders/ShadersInclude/defaultVertexDeclaration.d.ts +1 -1
  1009. package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -1
  1010. package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
  1011. package/Shaders/ShadersInclude/depthPrePass.d.ts +1 -1
  1012. package/Shaders/ShadersInclude/depthPrePass.js +1 -1
  1013. package/Shaders/ShadersInclude/depthPrePass.js.map +1 -1
  1014. package/Shaders/ShadersInclude/diffusionProfile.d.ts +1 -1
  1015. package/Shaders/ShadersInclude/diffusionProfile.js +1 -1
  1016. package/Shaders/ShadersInclude/diffusionProfile.js.map +1 -1
  1017. package/Shaders/ShadersInclude/fibonacci.d.ts +1 -1
  1018. package/Shaders/ShadersInclude/fibonacci.js +1 -1
  1019. package/Shaders/ShadersInclude/fibonacci.js.map +1 -1
  1020. package/Shaders/ShadersInclude/fogFragment.d.ts +1 -1
  1021. package/Shaders/ShadersInclude/fogFragment.js +1 -1
  1022. package/Shaders/ShadersInclude/fogFragment.js.map +1 -1
  1023. package/Shaders/ShadersInclude/fogFragmentDeclaration.d.ts +1 -1
  1024. package/Shaders/ShadersInclude/fogFragmentDeclaration.js +1 -1
  1025. package/Shaders/ShadersInclude/fogFragmentDeclaration.js.map +1 -1
  1026. package/Shaders/ShadersInclude/fogVertex.d.ts +1 -1
  1027. package/Shaders/ShadersInclude/fogVertex.js +1 -1
  1028. package/Shaders/ShadersInclude/fogVertex.js.map +1 -1
  1029. package/Shaders/ShadersInclude/fogVertexDeclaration.d.ts +1 -1
  1030. package/Shaders/ShadersInclude/fogVertexDeclaration.js +1 -1
  1031. package/Shaders/ShadersInclude/fogVertexDeclaration.js.map +1 -1
  1032. package/Shaders/ShadersInclude/fresnelFunction.d.ts +1 -1
  1033. package/Shaders/ShadersInclude/fresnelFunction.js +1 -1
  1034. package/Shaders/ShadersInclude/fresnelFunction.js.map +1 -1
  1035. package/Shaders/ShadersInclude/geometryUboDeclaration.d.ts +1 -1
  1036. package/Shaders/ShadersInclude/geometryUboDeclaration.js +1 -1
  1037. package/Shaders/ShadersInclude/geometryUboDeclaration.js.map +1 -1
  1038. package/Shaders/ShadersInclude/geometryVertexDeclaration.d.ts +1 -1
  1039. package/Shaders/ShadersInclude/geometryVertexDeclaration.js +1 -1
  1040. package/Shaders/ShadersInclude/geometryVertexDeclaration.js.map +1 -1
  1041. package/Shaders/ShadersInclude/harmonicsFunctions.d.ts +1 -1
  1042. package/Shaders/ShadersInclude/harmonicsFunctions.js +1 -1
  1043. package/Shaders/ShadersInclude/harmonicsFunctions.js.map +1 -1
  1044. package/Shaders/ShadersInclude/hdrFilteringFunctions.d.ts +1 -1
  1045. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +1 -1
  1046. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  1047. package/Shaders/ShadersInclude/helperFunctions.d.ts +1 -1
  1048. package/Shaders/ShadersInclude/helperFunctions.js +1 -1
  1049. package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
  1050. package/Shaders/ShadersInclude/imageProcessingCompatibility.d.ts +1 -1
  1051. package/Shaders/ShadersInclude/imageProcessingCompatibility.js +1 -1
  1052. package/Shaders/ShadersInclude/imageProcessingCompatibility.js.map +1 -1
  1053. package/Shaders/ShadersInclude/imageProcessingDeclaration.d.ts +1 -1
  1054. package/Shaders/ShadersInclude/imageProcessingDeclaration.js +1 -1
  1055. package/Shaders/ShadersInclude/imageProcessingDeclaration.js.map +1 -1
  1056. package/Shaders/ShadersInclude/imageProcessingFunctions.d.ts +1 -1
  1057. package/Shaders/ShadersInclude/imageProcessingFunctions.js +1 -1
  1058. package/Shaders/ShadersInclude/imageProcessingFunctions.js.map +1 -1
  1059. package/Shaders/ShadersInclude/importanceSampling.d.ts +1 -1
  1060. package/Shaders/ShadersInclude/importanceSampling.js +1 -1
  1061. package/Shaders/ShadersInclude/importanceSampling.js.map +1 -1
  1062. package/Shaders/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1063. package/Shaders/ShadersInclude/instancesDeclaration.js +1 -1
  1064. package/Shaders/ShadersInclude/instancesDeclaration.js.map +1 -1
  1065. package/Shaders/ShadersInclude/instancesVertex.d.ts +1 -1
  1066. package/Shaders/ShadersInclude/instancesVertex.js +1 -1
  1067. package/Shaders/ShadersInclude/instancesVertex.js.map +1 -1
  1068. package/Shaders/ShadersInclude/kernelBlurFragment.d.ts +1 -1
  1069. package/Shaders/ShadersInclude/kernelBlurFragment.js +1 -1
  1070. package/Shaders/ShadersInclude/kernelBlurFragment.js.map +1 -1
  1071. package/Shaders/ShadersInclude/kernelBlurFragment2.d.ts +1 -1
  1072. package/Shaders/ShadersInclude/kernelBlurFragment2.js +1 -1
  1073. package/Shaders/ShadersInclude/kernelBlurFragment2.js.map +1 -1
  1074. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.d.ts +1 -1
  1075. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js +1 -1
  1076. package/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.js.map +1 -1
  1077. package/Shaders/ShadersInclude/kernelBlurVertex.d.ts +1 -1
  1078. package/Shaders/ShadersInclude/kernelBlurVertex.js +1 -1
  1079. package/Shaders/ShadersInclude/kernelBlurVertex.js.map +1 -1
  1080. package/Shaders/ShadersInclude/lightFragment.d.ts +1 -1
  1081. package/Shaders/ShadersInclude/lightFragment.js +1 -1
  1082. package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
  1083. package/Shaders/ShadersInclude/lightFragmentDeclaration.d.ts +1 -1
  1084. package/Shaders/ShadersInclude/lightFragmentDeclaration.js +1 -1
  1085. package/Shaders/ShadersInclude/lightFragmentDeclaration.js.map +1 -1
  1086. package/Shaders/ShadersInclude/lightUboDeclaration.d.ts +1 -1
  1087. package/Shaders/ShadersInclude/lightUboDeclaration.js +1 -1
  1088. package/Shaders/ShadersInclude/lightUboDeclaration.js.map +1 -1
  1089. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.d.ts +1 -1
  1090. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js +1 -1
  1091. package/Shaders/ShadersInclude/lightVxFragmentDeclaration.js.map +1 -1
  1092. package/Shaders/ShadersInclude/lightVxUboDeclaration.d.ts +1 -1
  1093. package/Shaders/ShadersInclude/lightVxUboDeclaration.js +1 -1
  1094. package/Shaders/ShadersInclude/lightVxUboDeclaration.js.map +1 -1
  1095. package/Shaders/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
  1096. package/Shaders/ShadersInclude/lightsFragmentFunctions.js +1 -1
  1097. package/Shaders/ShadersInclude/lightsFragmentFunctions.js.map +1 -1
  1098. package/Shaders/ShadersInclude/logDepthDeclaration.d.ts +1 -1
  1099. package/Shaders/ShadersInclude/logDepthDeclaration.js +1 -1
  1100. package/Shaders/ShadersInclude/logDepthDeclaration.js.map +1 -1
  1101. package/Shaders/ShadersInclude/logDepthFragment.d.ts +1 -1
  1102. package/Shaders/ShadersInclude/logDepthFragment.js +1 -1
  1103. package/Shaders/ShadersInclude/logDepthFragment.js.map +1 -1
  1104. package/Shaders/ShadersInclude/logDepthVertex.d.ts +1 -1
  1105. package/Shaders/ShadersInclude/logDepthVertex.js +1 -1
  1106. package/Shaders/ShadersInclude/logDepthVertex.js.map +1 -1
  1107. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.d.ts +1 -1
  1108. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js +1 -1
  1109. package/Shaders/ShadersInclude/mainUVVaryingDeclaration.js.map +1 -1
  1110. package/Shaders/ShadersInclude/meshFragmentDeclaration.d.ts +1 -1
  1111. package/Shaders/ShadersInclude/meshFragmentDeclaration.js +1 -1
  1112. package/Shaders/ShadersInclude/meshFragmentDeclaration.js.map +1 -1
  1113. package/Shaders/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1114. package/Shaders/ShadersInclude/meshUboDeclaration.js +1 -1
  1115. package/Shaders/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1116. package/Shaders/ShadersInclude/meshVertexDeclaration.d.ts +1 -1
  1117. package/Shaders/ShadersInclude/meshVertexDeclaration.js +1 -1
  1118. package/Shaders/ShadersInclude/meshVertexDeclaration.js.map +1 -1
  1119. package/Shaders/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1120. package/Shaders/ShadersInclude/morphTargetsVertex.js +1 -1
  1121. package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1122. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1123. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1124. package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1125. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1126. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1127. package/Shaders/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1128. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1129. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1130. package/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1131. package/Shaders/ShadersInclude/mrtFragmentDeclaration.d.ts +1 -1
  1132. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js +1 -1
  1133. package/Shaders/ShadersInclude/mrtFragmentDeclaration.js.map +1 -1
  1134. package/Shaders/ShadersInclude/oitDeclaration.d.ts +1 -1
  1135. package/Shaders/ShadersInclude/oitDeclaration.js +1 -1
  1136. package/Shaders/ShadersInclude/oitDeclaration.js.map +1 -1
  1137. package/Shaders/ShadersInclude/oitFragment.d.ts +1 -1
  1138. package/Shaders/ShadersInclude/oitFragment.js +1 -1
  1139. package/Shaders/ShadersInclude/oitFragment.js.map +1 -1
  1140. package/Shaders/ShadersInclude/packingFunctions.d.ts +1 -1
  1141. package/Shaders/ShadersInclude/packingFunctions.js +1 -1
  1142. package/Shaders/ShadersInclude/packingFunctions.js.map +1 -1
  1143. package/Shaders/ShadersInclude/pbrBRDFFunctions.d.ts +1 -1
  1144. package/Shaders/ShadersInclude/pbrBRDFFunctions.js +1 -1
  1145. package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
  1146. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
  1147. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js +3 -3
  1148. package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.js.map +1 -1
  1149. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.d.ts +1 -1
  1150. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js +1 -1
  1151. package/Shaders/ShadersInclude/pbrBlockAlphaFresnel.js.map +1 -1
  1152. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.d.ts +1 -1
  1153. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js +1 -1
  1154. package/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.js.map +1 -1
  1155. package/Shaders/ShadersInclude/pbrBlockAnisotropic.d.ts +1 -1
  1156. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js +1 -1
  1157. package/Shaders/ShadersInclude/pbrBlockAnisotropic.js.map +1 -1
  1158. package/Shaders/ShadersInclude/pbrBlockClearcoat.d.ts +1 -1
  1159. package/Shaders/ShadersInclude/pbrBlockClearcoat.js +1 -1
  1160. package/Shaders/ShadersInclude/pbrBlockClearcoat.js.map +1 -1
  1161. package/Shaders/ShadersInclude/pbrBlockDirectLighting.d.ts +1 -1
  1162. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
  1163. package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
  1164. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.d.ts +1 -1
  1165. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js +1 -1
  1166. package/Shaders/ShadersInclude/pbrBlockFinalColorComposition.js.map +1 -1
  1167. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.d.ts +1 -1
  1168. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js +1 -1
  1169. package/Shaders/ShadersInclude/pbrBlockFinalLitComponents.js.map +1 -1
  1170. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.d.ts +1 -1
  1171. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
  1172. package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
  1173. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.d.ts +1 -1
  1174. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js +1 -1
  1175. package/Shaders/ShadersInclude/pbrBlockGeometryInfo.js.map +1 -1
  1176. package/Shaders/ShadersInclude/pbrBlockImageProcessing.d.ts +1 -1
  1177. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js +1 -1
  1178. package/Shaders/ShadersInclude/pbrBlockImageProcessing.js.map +1 -1
  1179. package/Shaders/ShadersInclude/pbrBlockIridescence.d.ts +1 -1
  1180. package/Shaders/ShadersInclude/pbrBlockIridescence.js +1 -1
  1181. package/Shaders/ShadersInclude/pbrBlockIridescence.js.map +1 -1
  1182. package/Shaders/ShadersInclude/pbrBlockLightmapInit.d.ts +1 -1
  1183. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js +1 -1
  1184. package/Shaders/ShadersInclude/pbrBlockLightmapInit.js.map +1 -1
  1185. package/Shaders/ShadersInclude/pbrBlockNormalFinal.d.ts +1 -1
  1186. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js +1 -1
  1187. package/Shaders/ShadersInclude/pbrBlockNormalFinal.js.map +1 -1
  1188. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.d.ts +1 -1
  1189. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js +1 -1
  1190. package/Shaders/ShadersInclude/pbrBlockNormalGeometric.js.map +1 -1
  1191. package/Shaders/ShadersInclude/pbrBlockReflectance.d.ts +1 -1
  1192. package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
  1193. package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
  1194. package/Shaders/ShadersInclude/pbrBlockReflectance0.d.ts +1 -1
  1195. package/Shaders/ShadersInclude/pbrBlockReflectance0.js +1 -1
  1196. package/Shaders/ShadersInclude/pbrBlockReflectance0.js.map +1 -1
  1197. package/Shaders/ShadersInclude/pbrBlockReflection.d.ts +1 -1
  1198. package/Shaders/ShadersInclude/pbrBlockReflection.js +1 -1
  1199. package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
  1200. package/Shaders/ShadersInclude/pbrBlockReflectivity.d.ts +1 -1
  1201. package/Shaders/ShadersInclude/pbrBlockReflectivity.js +1 -1
  1202. package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
  1203. package/Shaders/ShadersInclude/pbrBlockSheen.d.ts +1 -1
  1204. package/Shaders/ShadersInclude/pbrBlockSheen.js +1 -1
  1205. package/Shaders/ShadersInclude/pbrBlockSheen.js.map +1 -1
  1206. package/Shaders/ShadersInclude/pbrBlockSubSurface.d.ts +1 -1
  1207. package/Shaders/ShadersInclude/pbrBlockSubSurface.js +1 -1
  1208. package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  1209. package/Shaders/ShadersInclude/pbrDebug.d.ts +1 -1
  1210. package/Shaders/ShadersInclude/pbrDebug.js +1 -1
  1211. package/Shaders/ShadersInclude/pbrDebug.js.map +1 -1
  1212. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.d.ts +1 -1
  1213. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js +1 -1
  1214. package/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.js.map +1 -1
  1215. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.d.ts +1 -1
  1216. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
  1217. package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
  1218. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
  1219. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js +1 -1
  1220. package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.js.map +1 -1
  1221. package/Shaders/ShadersInclude/pbrFragmentDeclaration.d.ts +1 -1
  1222. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js +1 -1
  1223. package/Shaders/ShadersInclude/pbrFragmentDeclaration.js.map +1 -1
  1224. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
  1225. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js +2 -2
  1226. package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.js.map +1 -1
  1227. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +1 -1
  1228. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +1 -1
  1229. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  1230. package/Shaders/ShadersInclude/pbrHelperFunctions.d.ts +1 -1
  1231. package/Shaders/ShadersInclude/pbrHelperFunctions.js +1 -1
  1232. package/Shaders/ShadersInclude/pbrHelperFunctions.js.map +1 -1
  1233. package/Shaders/ShadersInclude/pbrIBLFunctions.d.ts +1 -1
  1234. package/Shaders/ShadersInclude/pbrIBLFunctions.js +1 -1
  1235. package/Shaders/ShadersInclude/pbrIBLFunctions.js.map +1 -1
  1236. package/Shaders/ShadersInclude/pbrUboDeclaration.d.ts +1 -1
  1237. package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
  1238. package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
  1239. package/Shaders/ShadersInclude/pbrVertexDeclaration.d.ts +1 -1
  1240. package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -1
  1241. package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
  1242. package/Shaders/ShadersInclude/pointCloudVertex.d.ts +1 -1
  1243. package/Shaders/ShadersInclude/pointCloudVertex.js +1 -1
  1244. package/Shaders/ShadersInclude/pointCloudVertex.js.map +1 -1
  1245. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.d.ts +1 -1
  1246. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js +1 -1
  1247. package/Shaders/ShadersInclude/pointCloudVertexDeclaration.js.map +1 -1
  1248. package/Shaders/ShadersInclude/prePassDeclaration.d.ts +1 -1
  1249. package/Shaders/ShadersInclude/prePassDeclaration.js +1 -1
  1250. package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
  1251. package/Shaders/ShadersInclude/prePassVertex.d.ts +1 -1
  1252. package/Shaders/ShadersInclude/prePassVertex.js +1 -1
  1253. package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
  1254. package/Shaders/ShadersInclude/prePassVertexDeclaration.d.ts +1 -1
  1255. package/Shaders/ShadersInclude/prePassVertexDeclaration.js +1 -1
  1256. package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
  1257. package/Shaders/ShadersInclude/reflectionFunction.d.ts +1 -1
  1258. package/Shaders/ShadersInclude/reflectionFunction.js +1 -1
  1259. package/Shaders/ShadersInclude/reflectionFunction.js.map +1 -1
  1260. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.d.ts +1 -1
  1261. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js +1 -1
  1262. package/Shaders/ShadersInclude/samplerFragmentAlternateDeclaration.js.map +1 -1
  1263. package/Shaders/ShadersInclude/samplerFragmentDeclaration.d.ts +1 -1
  1264. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js +1 -1
  1265. package/Shaders/ShadersInclude/samplerFragmentDeclaration.js.map +1 -1
  1266. package/Shaders/ShadersInclude/samplerVertexDeclaration.d.ts +1 -1
  1267. package/Shaders/ShadersInclude/samplerVertexDeclaration.js +1 -1
  1268. package/Shaders/ShadersInclude/samplerVertexDeclaration.js.map +1 -1
  1269. package/Shaders/ShadersInclude/samplerVertexImplementation.d.ts +1 -1
  1270. package/Shaders/ShadersInclude/samplerVertexImplementation.js +1 -1
  1271. package/Shaders/ShadersInclude/samplerVertexImplementation.js.map +1 -1
  1272. package/Shaders/ShadersInclude/sceneFragmentDeclaration.d.ts +1 -1
  1273. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js +1 -1
  1274. package/Shaders/ShadersInclude/sceneFragmentDeclaration.js.map +1 -1
  1275. package/Shaders/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1276. package/Shaders/ShadersInclude/sceneUboDeclaration.js +1 -1
  1277. package/Shaders/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1278. package/Shaders/ShadersInclude/sceneVertexDeclaration.d.ts +1 -1
  1279. package/Shaders/ShadersInclude/sceneVertexDeclaration.js +1 -1
  1280. package/Shaders/ShadersInclude/sceneVertexDeclaration.js.map +1 -1
  1281. package/Shaders/ShadersInclude/shadowMapFragment.d.ts +1 -1
  1282. package/Shaders/ShadersInclude/shadowMapFragment.js +1 -1
  1283. package/Shaders/ShadersInclude/shadowMapFragment.js.map +1 -1
  1284. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +1 -1
  1285. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js +1 -1
  1286. package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.js.map +1 -1
  1287. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.d.ts +1 -1
  1288. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js +1 -1
  1289. package/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.js.map +1 -1
  1290. package/Shaders/ShadersInclude/shadowMapUboDeclaration.d.ts +1 -1
  1291. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js +1 -1
  1292. package/Shaders/ShadersInclude/shadowMapUboDeclaration.js.map +1 -1
  1293. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.d.ts +1 -1
  1294. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js +1 -1
  1295. package/Shaders/ShadersInclude/shadowMapVertexDeclaration.js.map +1 -1
  1296. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.d.ts +1 -1
  1297. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js +1 -1
  1298. package/Shaders/ShadersInclude/shadowMapVertexExtraDeclaration.js.map +1 -1
  1299. package/Shaders/ShadersInclude/shadowMapVertexMetric.d.ts +1 -1
  1300. package/Shaders/ShadersInclude/shadowMapVertexMetric.js +1 -1
  1301. package/Shaders/ShadersInclude/shadowMapVertexMetric.js.map +1 -1
  1302. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.d.ts +1 -1
  1303. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js +1 -1
  1304. package/Shaders/ShadersInclude/shadowMapVertexNormalBias.js.map +1 -1
  1305. package/Shaders/ShadersInclude/shadowsFragmentFunctions.d.ts +1 -1
  1306. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js +1 -1
  1307. package/Shaders/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  1308. package/Shaders/ShadersInclude/shadowsVertex.d.ts +1 -1
  1309. package/Shaders/ShadersInclude/shadowsVertex.js +1 -1
  1310. package/Shaders/ShadersInclude/shadowsVertex.js.map +1 -1
  1311. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.d.ts +1 -1
  1312. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js +1 -1
  1313. package/Shaders/ShadersInclude/subSurfaceScatteringFunctions.js.map +1 -1
  1314. package/Shaders/ShadersInclude/uvAttributeDeclaration.d.ts +1 -1
  1315. package/Shaders/ShadersInclude/uvAttributeDeclaration.js +1 -1
  1316. package/Shaders/ShadersInclude/uvAttributeDeclaration.js.map +1 -1
  1317. package/Shaders/ShadersInclude/uvVariableDeclaration.d.ts +1 -1
  1318. package/Shaders/ShadersInclude/uvVariableDeclaration.js +1 -1
  1319. package/Shaders/ShadersInclude/uvVariableDeclaration.js.map +1 -1
  1320. package/Shaders/ShadersInclude/vertexColorMixing.d.ts +1 -1
  1321. package/Shaders/ShadersInclude/vertexColorMixing.js +2 -2
  1322. package/Shaders/ShadersInclude/vertexColorMixing.js.map +1 -1
  1323. package/Shaders/anaglyph.fragment.d.ts +1 -1
  1324. package/Shaders/anaglyph.fragment.js +1 -1
  1325. package/Shaders/anaglyph.fragment.js.map +1 -1
  1326. package/Shaders/background.fragment.d.ts +1 -1
  1327. package/Shaders/background.fragment.js +1 -1
  1328. package/Shaders/background.fragment.js.map +1 -1
  1329. package/Shaders/background.vertex.d.ts +1 -1
  1330. package/Shaders/background.vertex.js +1 -1
  1331. package/Shaders/background.vertex.js.map +1 -1
  1332. package/Shaders/blackAndWhite.fragment.d.ts +1 -1
  1333. package/Shaders/blackAndWhite.fragment.js +1 -1
  1334. package/Shaders/blackAndWhite.fragment.js.map +1 -1
  1335. package/Shaders/bloomMerge.fragment.d.ts +1 -1
  1336. package/Shaders/bloomMerge.fragment.js +1 -1
  1337. package/Shaders/bloomMerge.fragment.js.map +1 -1
  1338. package/Shaders/blur.fragment.d.ts +1 -1
  1339. package/Shaders/blur.fragment.js +1 -1
  1340. package/Shaders/blur.fragment.js.map +1 -1
  1341. package/Shaders/boundingBoxRenderer.fragment.d.ts +1 -1
  1342. package/Shaders/boundingBoxRenderer.fragment.js +1 -1
  1343. package/Shaders/boundingBoxRenderer.fragment.js.map +1 -1
  1344. package/Shaders/boundingBoxRenderer.vertex.d.ts +1 -1
  1345. package/Shaders/boundingBoxRenderer.vertex.js +1 -1
  1346. package/Shaders/boundingBoxRenderer.vertex.js.map +1 -1
  1347. package/Shaders/chromaticAberration.fragment.d.ts +1 -1
  1348. package/Shaders/chromaticAberration.fragment.js +2 -1
  1349. package/Shaders/chromaticAberration.fragment.js.map +1 -1
  1350. package/Shaders/circleOfConfusion.fragment.d.ts +1 -1
  1351. package/Shaders/circleOfConfusion.fragment.js +1 -1
  1352. package/Shaders/circleOfConfusion.fragment.js.map +1 -1
  1353. package/Shaders/clearQuad.fragment.d.ts +1 -1
  1354. package/Shaders/clearQuad.fragment.js +1 -1
  1355. package/Shaders/clearQuad.fragment.js.map +1 -1
  1356. package/Shaders/clearQuad.vertex.d.ts +1 -1
  1357. package/Shaders/clearQuad.vertex.js +1 -1
  1358. package/Shaders/clearQuad.vertex.js.map +1 -1
  1359. package/Shaders/color.fragment.d.ts +1 -1
  1360. package/Shaders/color.fragment.js +4 -3
  1361. package/Shaders/color.fragment.js.map +1 -1
  1362. package/Shaders/color.vertex.d.ts +1 -1
  1363. package/Shaders/color.vertex.js +2 -2
  1364. package/Shaders/color.vertex.js.map +1 -1
  1365. package/Shaders/colorCorrection.fragment.d.ts +1 -1
  1366. package/Shaders/colorCorrection.fragment.js +1 -1
  1367. package/Shaders/colorCorrection.fragment.js.map +1 -1
  1368. package/Shaders/convolution.fragment.d.ts +1 -1
  1369. package/Shaders/convolution.fragment.js +1 -1
  1370. package/Shaders/convolution.fragment.js.map +1 -1
  1371. package/Shaders/default.fragment.d.ts +1 -1
  1372. package/Shaders/default.fragment.js +4 -4
  1373. package/Shaders/default.fragment.js.map +1 -1
  1374. package/Shaders/default.vertex.d.ts +1 -1
  1375. package/Shaders/default.vertex.js +2 -2
  1376. package/Shaders/default.vertex.js.map +1 -1
  1377. package/Shaders/depth.fragment.d.ts +1 -1
  1378. package/Shaders/depth.fragment.js +1 -1
  1379. package/Shaders/depth.fragment.js.map +1 -1
  1380. package/Shaders/depth.vertex.d.ts +1 -1
  1381. package/Shaders/depth.vertex.js +1 -1
  1382. package/Shaders/depth.vertex.js.map +1 -1
  1383. package/Shaders/depthBoxBlur.fragment.d.ts +1 -1
  1384. package/Shaders/depthBoxBlur.fragment.js +1 -1
  1385. package/Shaders/depthBoxBlur.fragment.js.map +1 -1
  1386. package/Shaders/depthOfField.fragment.d.ts +1 -1
  1387. package/Shaders/depthOfField.fragment.js +1 -1
  1388. package/Shaders/depthOfField.fragment.js.map +1 -1
  1389. package/Shaders/depthOfFieldMerge.fragment.d.ts +1 -1
  1390. package/Shaders/depthOfFieldMerge.fragment.js +1 -1
  1391. package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
  1392. package/Shaders/displayPass.fragment.d.ts +1 -1
  1393. package/Shaders/displayPass.fragment.js +1 -1
  1394. package/Shaders/displayPass.fragment.js.map +1 -1
  1395. package/Shaders/extractHighlights.fragment.d.ts +1 -1
  1396. package/Shaders/extractHighlights.fragment.js +1 -1
  1397. package/Shaders/extractHighlights.fragment.js.map +1 -1
  1398. package/Shaders/filter.fragment.d.ts +1 -1
  1399. package/Shaders/filter.fragment.js +1 -1
  1400. package/Shaders/filter.fragment.js.map +1 -1
  1401. package/Shaders/fxaa.fragment.d.ts +1 -1
  1402. package/Shaders/fxaa.fragment.js +1 -1
  1403. package/Shaders/fxaa.fragment.js.map +1 -1
  1404. package/Shaders/fxaa.vertex.d.ts +1 -1
  1405. package/Shaders/fxaa.vertex.js +1 -1
  1406. package/Shaders/fxaa.vertex.js.map +1 -1
  1407. package/Shaders/geometry.fragment.d.ts +1 -1
  1408. package/Shaders/geometry.fragment.js +14 -2
  1409. package/Shaders/geometry.fragment.js.map +1 -1
  1410. package/Shaders/geometry.vertex.d.ts +1 -1
  1411. package/Shaders/geometry.vertex.js +1 -1
  1412. package/Shaders/geometry.vertex.js.map +1 -1
  1413. package/Shaders/glowBlurPostProcess.fragment.d.ts +1 -1
  1414. package/Shaders/glowBlurPostProcess.fragment.js +1 -1
  1415. package/Shaders/glowBlurPostProcess.fragment.js.map +1 -1
  1416. package/Shaders/glowMapGeneration.fragment.d.ts +1 -1
  1417. package/Shaders/glowMapGeneration.fragment.js +1 -1
  1418. package/Shaders/glowMapGeneration.fragment.js.map +1 -1
  1419. package/Shaders/glowMapGeneration.vertex.d.ts +1 -1
  1420. package/Shaders/glowMapGeneration.vertex.js +1 -1
  1421. package/Shaders/glowMapGeneration.vertex.js.map +1 -1
  1422. package/Shaders/glowMapMerge.fragment.d.ts +1 -1
  1423. package/Shaders/glowMapMerge.fragment.js +1 -1
  1424. package/Shaders/glowMapMerge.fragment.js.map +1 -1
  1425. package/Shaders/glowMapMerge.vertex.d.ts +1 -1
  1426. package/Shaders/glowMapMerge.vertex.js +1 -1
  1427. package/Shaders/glowMapMerge.vertex.js.map +1 -1
  1428. package/Shaders/gpuRenderParticles.fragment.d.ts +3 -1
  1429. package/Shaders/gpuRenderParticles.fragment.js +9 -2
  1430. package/Shaders/gpuRenderParticles.fragment.js.map +1 -1
  1431. package/Shaders/gpuRenderParticles.vertex.d.ts +3 -1
  1432. package/Shaders/gpuRenderParticles.vertex.js +5 -1
  1433. package/Shaders/gpuRenderParticles.vertex.js.map +1 -1
  1434. package/Shaders/gpuUpdateParticles.fragment.d.ts +1 -1
  1435. package/Shaders/gpuUpdateParticles.fragment.js +1 -1
  1436. package/Shaders/gpuUpdateParticles.fragment.js.map +1 -1
  1437. package/Shaders/gpuUpdateParticles.vertex.d.ts +1 -1
  1438. package/Shaders/gpuUpdateParticles.vertex.js +1 -1
  1439. package/Shaders/gpuUpdateParticles.vertex.js.map +1 -1
  1440. package/Shaders/grain.fragment.d.ts +1 -1
  1441. package/Shaders/grain.fragment.js +1 -1
  1442. package/Shaders/grain.fragment.js.map +1 -1
  1443. package/Shaders/hdrFiltering.fragment.d.ts +1 -1
  1444. package/Shaders/hdrFiltering.fragment.js +1 -1
  1445. package/Shaders/hdrFiltering.fragment.js.map +1 -1
  1446. package/Shaders/hdrFiltering.vertex.d.ts +1 -1
  1447. package/Shaders/hdrFiltering.vertex.js +1 -1
  1448. package/Shaders/hdrFiltering.vertex.js.map +1 -1
  1449. package/Shaders/highlights.fragment.d.ts +1 -1
  1450. package/Shaders/highlights.fragment.js +1 -1
  1451. package/Shaders/highlights.fragment.js.map +1 -1
  1452. package/Shaders/imageProcessing.fragment.d.ts +1 -1
  1453. package/Shaders/imageProcessing.fragment.js +1 -1
  1454. package/Shaders/imageProcessing.fragment.js.map +1 -1
  1455. package/Shaders/kernelBlur.fragment.d.ts +1 -1
  1456. package/Shaders/kernelBlur.fragment.js +1 -1
  1457. package/Shaders/kernelBlur.fragment.js.map +1 -1
  1458. package/Shaders/kernelBlur.vertex.d.ts +1 -1
  1459. package/Shaders/kernelBlur.vertex.js +1 -1
  1460. package/Shaders/kernelBlur.vertex.js.map +1 -1
  1461. package/Shaders/layer.fragment.d.ts +1 -1
  1462. package/Shaders/layer.fragment.js +1 -1
  1463. package/Shaders/layer.fragment.js.map +1 -1
  1464. package/Shaders/layer.vertex.d.ts +1 -1
  1465. package/Shaders/layer.vertex.js +1 -1
  1466. package/Shaders/layer.vertex.js.map +1 -1
  1467. package/Shaders/lensFlare.fragment.d.ts +1 -1
  1468. package/Shaders/lensFlare.fragment.js +1 -1
  1469. package/Shaders/lensFlare.fragment.js.map +1 -1
  1470. package/Shaders/lensFlare.vertex.d.ts +1 -1
  1471. package/Shaders/lensFlare.vertex.js +1 -1
  1472. package/Shaders/lensFlare.vertex.js.map +1 -1
  1473. package/Shaders/lensHighlights.fragment.d.ts +1 -1
  1474. package/Shaders/lensHighlights.fragment.js +1 -1
  1475. package/Shaders/lensHighlights.fragment.js.map +1 -1
  1476. package/Shaders/line.fragment.d.ts +1 -1
  1477. package/Shaders/line.fragment.js +1 -1
  1478. package/Shaders/line.fragment.js.map +1 -1
  1479. package/Shaders/line.vertex.d.ts +1 -1
  1480. package/Shaders/line.vertex.js +1 -1
  1481. package/Shaders/line.vertex.js.map +1 -1
  1482. package/Shaders/minmaxRedux.fragment.d.ts +1 -1
  1483. package/Shaders/minmaxRedux.fragment.js +1 -1
  1484. package/Shaders/minmaxRedux.fragment.js.map +1 -1
  1485. package/Shaders/motionBlur.fragment.d.ts +1 -1
  1486. package/Shaders/motionBlur.fragment.js +1 -1
  1487. package/Shaders/motionBlur.fragment.js.map +1 -1
  1488. package/Shaders/noise.fragment.d.ts +1 -1
  1489. package/Shaders/noise.fragment.js +1 -1
  1490. package/Shaders/noise.fragment.js.map +1 -1
  1491. package/Shaders/oitBackBlend.fragment.d.ts +1 -1
  1492. package/Shaders/oitBackBlend.fragment.js +1 -1
  1493. package/Shaders/oitBackBlend.fragment.js.map +1 -1
  1494. package/Shaders/oitFinal.fragment.d.ts +1 -1
  1495. package/Shaders/oitFinal.fragment.js +1 -1
  1496. package/Shaders/oitFinal.fragment.js.map +1 -1
  1497. package/Shaders/outline.fragment.d.ts +1 -1
  1498. package/Shaders/outline.fragment.js +1 -1
  1499. package/Shaders/outline.fragment.js.map +1 -1
  1500. package/Shaders/outline.vertex.d.ts +1 -1
  1501. package/Shaders/outline.vertex.js +1 -1
  1502. package/Shaders/outline.vertex.js.map +1 -1
  1503. package/Shaders/particles.fragment.d.ts +3 -1
  1504. package/Shaders/particles.fragment.js +9 -2
  1505. package/Shaders/particles.fragment.js.map +1 -1
  1506. package/Shaders/particles.vertex.d.ts +3 -1
  1507. package/Shaders/particles.vertex.js +5 -1
  1508. package/Shaders/particles.vertex.js.map +1 -1
  1509. package/Shaders/pass.fragment.d.ts +1 -1
  1510. package/Shaders/pass.fragment.js +1 -1
  1511. package/Shaders/pass.fragment.js.map +1 -1
  1512. package/Shaders/passCube.fragment.d.ts +1 -1
  1513. package/Shaders/passCube.fragment.js +1 -1
  1514. package/Shaders/passCube.fragment.js.map +1 -1
  1515. package/Shaders/pbr.fragment.d.ts +1 -1
  1516. package/Shaders/pbr.fragment.js +1 -1
  1517. package/Shaders/pbr.fragment.js.map +1 -1
  1518. package/Shaders/pbr.vertex.d.ts +1 -1
  1519. package/Shaders/pbr.vertex.js +2 -2
  1520. package/Shaders/pbr.vertex.js.map +1 -1
  1521. package/Shaders/postprocess.vertex.d.ts +1 -1
  1522. package/Shaders/postprocess.vertex.js +1 -1
  1523. package/Shaders/postprocess.vertex.js.map +1 -1
  1524. package/Shaders/procedural.vertex.d.ts +1 -1
  1525. package/Shaders/procedural.vertex.js +1 -1
  1526. package/Shaders/procedural.vertex.js.map +1 -1
  1527. package/Shaders/refraction.fragment.d.ts +1 -1
  1528. package/Shaders/refraction.fragment.js +1 -1
  1529. package/Shaders/refraction.fragment.js.map +1 -1
  1530. package/Shaders/rgbdDecode.fragment.d.ts +1 -1
  1531. package/Shaders/rgbdDecode.fragment.js +1 -1
  1532. package/Shaders/rgbdDecode.fragment.js.map +1 -1
  1533. package/Shaders/rgbdEncode.fragment.d.ts +1 -1
  1534. package/Shaders/rgbdEncode.fragment.js +1 -1
  1535. package/Shaders/rgbdEncode.fragment.js.map +1 -1
  1536. package/Shaders/screenSpaceCurvature.fragment.d.ts +1 -1
  1537. package/Shaders/screenSpaceCurvature.fragment.js +1 -1
  1538. package/Shaders/screenSpaceCurvature.fragment.js.map +1 -1
  1539. package/Shaders/screenSpaceReflection.fragment.d.ts +1 -1
  1540. package/Shaders/screenSpaceReflection.fragment.js +1 -1
  1541. package/Shaders/screenSpaceReflection.fragment.js.map +1 -1
  1542. package/Shaders/shadowMap.fragment.d.ts +1 -1
  1543. package/Shaders/shadowMap.fragment.js +1 -1
  1544. package/Shaders/shadowMap.fragment.js.map +1 -1
  1545. package/Shaders/shadowMap.vertex.d.ts +1 -1
  1546. package/Shaders/shadowMap.vertex.js +1 -1
  1547. package/Shaders/shadowMap.vertex.js.map +1 -1
  1548. package/Shaders/sharpen.fragment.d.ts +1 -1
  1549. package/Shaders/sharpen.fragment.js +1 -1
  1550. package/Shaders/sharpen.fragment.js.map +1 -1
  1551. package/Shaders/spriteMap.fragment.d.ts +1 -1
  1552. package/Shaders/spriteMap.fragment.js +1 -1
  1553. package/Shaders/spriteMap.fragment.js.map +1 -1
  1554. package/Shaders/spriteMap.vertex.d.ts +1 -1
  1555. package/Shaders/spriteMap.vertex.js +1 -1
  1556. package/Shaders/spriteMap.vertex.js.map +1 -1
  1557. package/Shaders/sprites.fragment.d.ts +1 -1
  1558. package/Shaders/sprites.fragment.js +1 -1
  1559. package/Shaders/sprites.fragment.js.map +1 -1
  1560. package/Shaders/sprites.vertex.d.ts +1 -1
  1561. package/Shaders/sprites.vertex.js +1 -1
  1562. package/Shaders/sprites.vertex.js.map +1 -1
  1563. package/Shaders/ssao.fragment.d.ts +1 -1
  1564. package/Shaders/ssao.fragment.js +1 -1
  1565. package/Shaders/ssao.fragment.js.map +1 -1
  1566. package/Shaders/ssao2.fragment.d.ts +1 -1
  1567. package/Shaders/ssao2.fragment.js +1 -1
  1568. package/Shaders/ssao2.fragment.js.map +1 -1
  1569. package/Shaders/ssaoCombine.fragment.d.ts +1 -1
  1570. package/Shaders/ssaoCombine.fragment.js +1 -1
  1571. package/Shaders/ssaoCombine.fragment.js.map +1 -1
  1572. package/Shaders/standard.fragment.d.ts +1 -1
  1573. package/Shaders/standard.fragment.js +1 -1
  1574. package/Shaders/standard.fragment.js.map +1 -1
  1575. package/Shaders/stereoscopicInterlace.fragment.d.ts +1 -1
  1576. package/Shaders/stereoscopicInterlace.fragment.js +1 -1
  1577. package/Shaders/stereoscopicInterlace.fragment.js.map +1 -1
  1578. package/Shaders/subSurfaceScattering.fragment.d.ts +1 -1
  1579. package/Shaders/subSurfaceScattering.fragment.js +1 -1
  1580. package/Shaders/subSurfaceScattering.fragment.js.map +1 -1
  1581. package/Shaders/tonemap.fragment.d.ts +1 -1
  1582. package/Shaders/tonemap.fragment.js +1 -1
  1583. package/Shaders/tonemap.fragment.js.map +1 -1
  1584. package/Shaders/volumetricLightScattering.fragment.d.ts +1 -1
  1585. package/Shaders/volumetricLightScattering.fragment.js +1 -1
  1586. package/Shaders/volumetricLightScattering.fragment.js.map +1 -1
  1587. package/Shaders/volumetricLightScatteringPass.fragment.d.ts +1 -1
  1588. package/Shaders/volumetricLightScatteringPass.fragment.js +1 -1
  1589. package/Shaders/volumetricLightScatteringPass.fragment.js.map +1 -1
  1590. package/Shaders/volumetricLightScatteringPass.vertex.d.ts +1 -1
  1591. package/Shaders/volumetricLightScatteringPass.vertex.js +1 -1
  1592. package/Shaders/volumetricLightScatteringPass.vertex.js.map +1 -1
  1593. package/Shaders/vrDistortionCorrection.fragment.d.ts +1 -1
  1594. package/Shaders/vrDistortionCorrection.fragment.js +1 -1
  1595. package/Shaders/vrDistortionCorrection.fragment.js.map +1 -1
  1596. package/Shaders/vrMultiviewToSingleview.fragment.d.ts +1 -1
  1597. package/Shaders/vrMultiviewToSingleview.fragment.js +1 -1
  1598. package/Shaders/vrMultiviewToSingleview.fragment.js.map +1 -1
  1599. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.d.ts +1 -1
  1600. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +1 -1
  1601. package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
  1602. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.d.ts +1 -1
  1603. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js +1 -1
  1604. package/ShadersWGSL/ShadersInclude/bakedVertexAnimationDeclaration.js.map +1 -1
  1605. package/ShadersWGSL/ShadersInclude/bonesDeclaration.d.ts +1 -1
  1606. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js +1 -1
  1607. package/ShadersWGSL/ShadersInclude/bonesDeclaration.js.map +1 -1
  1608. package/ShadersWGSL/ShadersInclude/bonesVertex.d.ts +1 -1
  1609. package/ShadersWGSL/ShadersInclude/bonesVertex.js +1 -1
  1610. package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
  1611. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.d.ts +1 -1
  1612. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +1 -1
  1613. package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
  1614. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.d.ts +1 -1
  1615. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js +1 -1
  1616. package/ShadersWGSL/ShadersInclude/clipPlaneFragmentDeclaration.js.map +1 -1
  1617. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.d.ts +1 -1
  1618. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +1 -1
  1619. package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
  1620. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.d.ts +1 -1
  1621. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js +1 -1
  1622. package/ShadersWGSL/ShadersInclude/clipPlaneVertexDeclaration.js.map +1 -1
  1623. package/ShadersWGSL/ShadersInclude/instancesDeclaration.d.ts +1 -1
  1624. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js +1 -1
  1625. package/ShadersWGSL/ShadersInclude/instancesDeclaration.js.map +1 -1
  1626. package/ShadersWGSL/ShadersInclude/instancesVertex.d.ts +1 -1
  1627. package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
  1628. package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
  1629. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.d.ts +1 -1
  1630. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js +1 -1
  1631. package/ShadersWGSL/ShadersInclude/meshUboDeclaration.js.map +1 -1
  1632. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.d.ts +1 -1
  1633. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +1 -1
  1634. package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
  1635. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.d.ts +1 -1
  1636. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +1 -1
  1637. package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
  1638. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.d.ts +1 -1
  1639. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js +1 -1
  1640. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobal.js.map +1 -1
  1641. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.d.ts +1 -1
  1642. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js +1 -1
  1643. package/ShadersWGSL/ShadersInclude/morphTargetsVertexGlobalDeclaration.js.map +1 -1
  1644. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.d.ts +1 -1
  1645. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js +1 -1
  1646. package/ShadersWGSL/ShadersInclude/sceneUboDeclaration.js.map +1 -1
  1647. package/ShadersWGSL/gpuUpdateParticles.compute.d.ts +1 -1
  1648. package/ShadersWGSL/gpuUpdateParticles.compute.js +1 -1
  1649. package/ShadersWGSL/gpuUpdateParticles.compute.js.map +1 -1
  1650. package/Sprites/spriteManager.d.ts +4 -0
  1651. package/Sprites/spriteManager.js +2 -0
  1652. package/Sprites/spriteManager.js.map +1 -1
  1653. package/Sprites/spriteSceneComponent.d.ts +6 -6
  1654. package/Sprites/spriteSceneComponent.js.map +1 -1
  1655. package/Sprites/thinSprite.d.ts +5 -6
  1656. package/Sprites/thinSprite.js +1 -2
  1657. package/Sprites/thinSprite.js.map +1 -1
  1658. package/States/IStencilState.d.ts +1 -1
  1659. package/States/IStencilState.js.map +1 -1
  1660. package/States/alphaCullingState.d.ts +1 -1
  1661. package/States/alphaCullingState.js +1 -1
  1662. package/States/alphaCullingState.js.map +1 -1
  1663. package/States/depthCullingState.d.ts +1 -1
  1664. package/States/depthCullingState.js +1 -1
  1665. package/States/depthCullingState.js.map +1 -1
  1666. package/States/stencilState.d.ts +1 -1
  1667. package/States/stencilState.js +1 -1
  1668. package/States/stencilState.js.map +1 -1
  1669. package/States/stencilStateComposer.d.ts +1 -1
  1670. package/States/stencilStateComposer.js +1 -1
  1671. package/States/stencilStateComposer.js.map +1 -1
  1672. package/XR/features/WebXRControllerPhysics.d.ts +1 -1
  1673. package/XR/features/WebXRControllerPhysics.js +1 -1
  1674. package/XR/features/WebXRControllerPhysics.js.map +1 -1
  1675. package/XR/features/WebXRControllerPointerSelection.d.ts +3 -6
  1676. package/XR/features/WebXRControllerPointerSelection.js +3 -6
  1677. package/XR/features/WebXRControllerPointerSelection.js.map +1 -1
  1678. package/XR/features/WebXRLayers.d.ts +2 -2
  1679. package/XR/features/WebXRLayers.js +4 -4
  1680. package/XR/features/WebXRLayers.js.map +1 -1
  1681. package/XR/features/WebXRNearInteraction.js +2 -2
  1682. package/XR/features/WebXRNearInteraction.js.map +1 -1
  1683. package/XR/motionController/webXRAbstractMotionController.d.ts +3 -4
  1684. package/XR/motionController/webXRAbstractMotionController.js +2 -3
  1685. package/XR/motionController/webXRAbstractMotionController.js.map +1 -1
  1686. package/XR/native/nativeXRFrame.d.ts +2 -2
  1687. package/XR/native/nativeXRFrame.js +1 -1
  1688. package/XR/native/nativeXRFrame.js.map +1 -1
  1689. package/XR/native/nativeXRRenderTarget.d.ts +3 -3
  1690. package/XR/native/nativeXRRenderTarget.js +3 -3
  1691. package/XR/native/nativeXRRenderTarget.js.map +1 -1
  1692. package/XR/webXRCamera.d.ts +2 -2
  1693. package/XR/webXRCamera.js +1 -1
  1694. package/XR/webXRCamera.js.map +1 -1
  1695. package/XR/webXRDefaultExperience.d.ts +6 -6
  1696. package/XR/webXRDefaultExperience.js.map +1 -1
  1697. package/XR/webXRExperienceHelper.d.ts +21 -1
  1698. package/XR/webXRExperienceHelper.js +37 -7
  1699. package/XR/webXRExperienceHelper.js.map +1 -1
  1700. package/XR/webXRInputSource.d.ts +1 -1
  1701. package/XR/webXRInputSource.js.map +1 -1
  1702. package/XR/webXRLayerWrapper.d.ts +1 -1
  1703. package/XR/webXRLayerWrapper.js +1 -1
  1704. package/XR/webXRLayerWrapper.js.map +1 -1
  1705. package/XR/webXRRenderTargetTextureProvider.d.ts +1 -1
  1706. package/XR/webXRRenderTargetTextureProvider.js +1 -1
  1707. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  1708. package/XR/webXRSessionManager.d.ts +1 -2
  1709. package/XR/webXRSessionManager.js +1 -2
  1710. package/XR/webXRSessionManager.js.map +1 -1
  1711. package/XR/webXRWebGLLayer.d.ts +2 -2
  1712. package/XR/webXRWebGLLayer.js +2 -2
  1713. package/XR/webXRWebGLLayer.js.map +1 -1
  1714. package/abstractScene.d.ts +1 -1
  1715. package/abstractScene.js +1 -1
  1716. package/abstractScene.js.map +1 -1
  1717. package/node.d.ts +40 -52
  1718. package/node.js +40 -55
  1719. package/node.js.map +1 -1
  1720. package/package.json +1 -1
  1721. package/scene.d.ts +83 -107
  1722. package/scene.js +94 -108
  1723. package/scene.js.map +1 -1
  1724. package/sceneComponent.d.ts +4 -2
  1725. package/sceneComponent.js +4 -2
  1726. package/sceneComponent.js.map +1 -1
  1727. package/types.d.ts +2 -2
  1728. package/types.js +1 -1
  1729. package/types.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"deviceOrientationCamera.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Cameras/deviceOrientationCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,2CAA2C,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IAC/D,OAAO,GAAG,EAAE,CAAC,IAAI,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,mEAAmE;AACnE;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,UAAU;IAMnD;;;;;OAKG;IACH,YAAY,IAAY,EAAE,QAAiB,EAAE,KAAa;QACtD,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAVzB,uBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;QACtC,mDAA8C,GAAG,IAAI,CAAC;QA8CtD,gBAAW,GAAG,CAAC,CAAC;QApCpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAEnC,0EAA0E;QAC1E,IAAI,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,qCAAqC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACnF,IAAI,IAAI,CAAC,8CAA8C,EAAE;oBACrD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;wBACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,GAAG,KAAK,CAAC;wBACrD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BACvD,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;gCACvB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;oCAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;iCAC9C;gCACD,6FAA6F;gCAC7F,UAAU,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gCAC7F,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;6BAC3F;wBACL,CAAC,CAAC,CAAC;qBACN;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED;;OAEG;IACH,IAAW,6CAA6C;QACpD,OAAO,IAAI,CAAC,8CAA8C,CAAC;IAC/D,CAAC;IAED,IAAW,6CAA6C,CAAC,KAAc;QACnE,IAAI,CAAC,8CAA8C,GAAG,KAAK,CAAC;IAChE,CAAC;IAGD;;;OAGG;IACI,wBAAwB,CAAC,UAAU,GAAG,CAAC,GAAG,GAAG;QAChD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,YAAY;QACf,OAAO,yBAAyB,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,YAAY;QACf,KAAK,CAAC,YAAY,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC3F;IACL,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAAC,OAAa,IAAI,CAAC,CAAC;QAC7C,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;SAC9C;QAED,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEnF,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjC,IAAI,CAAO,IAAK,CAAC,QAAQ,CAAC,EAAE;gBAClB,IAAI,CAAC,kBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAChD;iBAAM;gBACG,IAAI,CAAC,kBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;aAClD;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACpC,uBAAuB;QACvB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5F,CAAC;CACJ","sourcesContent":["import { FreeCamera } from \"./freeCamera\";\r\nimport type { Scene } from \"../scene\";\r\nimport { Quaternion, Vector3 } from \"../Maths/math.vector\";\r\nimport { Node } from \"../node\";\r\n\r\nimport \"./Inputs/freeCameraDeviceOrientationInput\";\r\nimport { Axis } from \"../Maths/math.axis\";\r\n\r\nNode.AddNodeConstructor(\"DeviceOrientationCamera\", (name, scene) => {\r\n return () => new DeviceOrientationCamera(name, Vector3.Zero(), scene);\r\n});\r\n\r\n// We're mainly based on the logic defined into the FreeCamera code\r\n/**\r\n * This is a camera specifically designed to react to device orientation events such as a modern mobile device\r\n * being tilted forward or back and left or right.\r\n */\r\nexport class DeviceOrientationCamera extends FreeCamera {\r\n private _initialQuaternion: Quaternion;\r\n private _quaternionCache: Quaternion;\r\n private _tmpDragQuaternion = new Quaternion();\r\n private _disablePointerInputWhenUsingDeviceOrientation = true;\r\n\r\n /**\r\n * Creates a new device orientation camera\r\n * @param name The name of the camera\r\n * @param position The start position camera\r\n * @param scene The scene the camera belongs to\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene) {\r\n super(name, position, scene);\r\n this._quaternionCache = new Quaternion();\r\n this.inputs.addDeviceOrientation();\r\n\r\n // When the orientation sensor fires it's first event, disable mouse input\r\n if (this.inputs._deviceOrientationInput) {\r\n this.inputs._deviceOrientationInput._onDeviceOrientationChangedObservable.addOnce(() => {\r\n if (this._disablePointerInputWhenUsingDeviceOrientation) {\r\n if (this.inputs._mouseInput) {\r\n this.inputs._mouseInput._allowCameraRotation = false;\r\n this.inputs._mouseInput.onPointerMovedObservable.add((e) => {\r\n if (this._dragFactor != 0) {\r\n if (!this._initialQuaternion) {\r\n this._initialQuaternion = new Quaternion();\r\n }\r\n // Rotate the initial space around the y axis to allow users to \"turn around\" via touch/mouse\r\n Quaternion.FromEulerAnglesToRef(0, e.offsetX * this._dragFactor, 0, this._tmpDragQuaternion);\r\n this._initialQuaternion.multiplyToRef(this._tmpDragQuaternion, this._initialQuaternion);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating that pointer input must be disabled on first orientation sensor update (Default: true)\r\n */\r\n public get disablePointerInputWhenUsingDeviceOrientation() {\r\n return this._disablePointerInputWhenUsingDeviceOrientation;\r\n }\r\n\r\n public set disablePointerInputWhenUsingDeviceOrientation(value: boolean) {\r\n this._disablePointerInputWhenUsingDeviceOrientation = value;\r\n }\r\n\r\n private _dragFactor = 0;\r\n /**\r\n * Enabled turning on the y axis when the orientation sensor is active\r\n * @param dragFactor the factor that controls the turn speed (default: 1/300)\r\n */\r\n public enableHorizontalDragging(dragFactor = 1 / 300) {\r\n this._dragFactor = dragFactor;\r\n }\r\n\r\n /**\r\n * Gets the current instance class name (\"DeviceOrientationCamera\").\r\n * This helps avoiding instanceof at run time.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"DeviceOrientationCamera\";\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Checks and applies the current values of the inputs to the camera. (Internal use only)\r\n */\r\n public _checkInputs(): void {\r\n super._checkInputs();\r\n this._quaternionCache.copyFrom(this.rotationQuaternion);\r\n if (this._initialQuaternion) {\r\n this._initialQuaternion.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion);\r\n }\r\n }\r\n\r\n /**\r\n * Reset the camera to its default orientation on the specified axis only.\r\n * @param axis The axis to reset\r\n */\r\n public resetToCurrentRotation(axis: Axis = Axis.Y): void {\r\n //can only work if this camera has a rotation quaternion already.\r\n if (!this.rotationQuaternion) {\r\n return;\r\n }\r\n\r\n if (!this._initialQuaternion) {\r\n this._initialQuaternion = new Quaternion();\r\n }\r\n\r\n this._initialQuaternion.copyFrom(this._quaternionCache || this.rotationQuaternion);\r\n\r\n [\"x\", \"y\", \"z\"].forEach((axisName) => {\r\n if (!(<any>axis)[axisName]) {\r\n (<any>this._initialQuaternion)[axisName] = 0;\r\n } else {\r\n (<any>this._initialQuaternion)[axisName] *= -1;\r\n }\r\n });\r\n this._initialQuaternion.normalize();\r\n //force rotation update\r\n this._initialQuaternion.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"deviceOrientationCamera.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Cameras/deviceOrientationCamera.ts"],"names":[],"mappings":"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","sourcesContent":["import { FreeCamera } from \"./freeCamera\";\r\nimport type { Scene } from \"../scene\";\r\nimport { Quaternion, Vector3 } from \"../Maths/math.vector\";\r\nimport { Node } from \"../node\";\r\n\r\nimport \"./Inputs/freeCameraDeviceOrientationInput\";\r\nimport { Axis } from \"../Maths/math.axis\";\r\n\r\nNode.AddNodeConstructor(\"DeviceOrientationCamera\", (name, scene) => {\r\n return () => new DeviceOrientationCamera(name, Vector3.Zero(), scene);\r\n});\r\n\r\n// We're mainly based on the logic defined into the FreeCamera code\r\n/**\r\n * This is a camera specifically designed to react to device orientation events such as a modern mobile device\r\n * being tilted forward or back and left or right.\r\n */\r\nexport class DeviceOrientationCamera extends FreeCamera {\r\n private _initialQuaternion: Quaternion;\r\n private _quaternionCache: Quaternion;\r\n private _tmpDragQuaternion = new Quaternion();\r\n private _disablePointerInputWhenUsingDeviceOrientation = true;\r\n\r\n /**\r\n * Creates a new device orientation camera\r\n * @param name The name of the camera\r\n * @param position The start position camera\r\n * @param scene The scene the camera belongs to\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene) {\r\n super(name, position, scene);\r\n this._quaternionCache = new Quaternion();\r\n this.inputs.addDeviceOrientation();\r\n\r\n // When the orientation sensor fires it's first event, disable mouse input\r\n if (this.inputs._deviceOrientationInput) {\r\n this.inputs._deviceOrientationInput._onDeviceOrientationChangedObservable.addOnce(() => {\r\n if (this._disablePointerInputWhenUsingDeviceOrientation) {\r\n if (this.inputs._mouseInput) {\r\n this.inputs._mouseInput._allowCameraRotation = false;\r\n this.inputs._mouseInput.onPointerMovedObservable.add((e) => {\r\n if (this._dragFactor != 0) {\r\n if (!this._initialQuaternion) {\r\n this._initialQuaternion = new Quaternion();\r\n }\r\n // Rotate the initial space around the y axis to allow users to \"turn around\" via touch/mouse\r\n Quaternion.FromEulerAnglesToRef(0, e.offsetX * this._dragFactor, 0, this._tmpDragQuaternion);\r\n this._initialQuaternion.multiplyToRef(this._tmpDragQuaternion, this._initialQuaternion);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating that pointer input must be disabled on first orientation sensor update (Default: true)\r\n */\r\n public get disablePointerInputWhenUsingDeviceOrientation() {\r\n return this._disablePointerInputWhenUsingDeviceOrientation;\r\n }\r\n\r\n public set disablePointerInputWhenUsingDeviceOrientation(value: boolean) {\r\n this._disablePointerInputWhenUsingDeviceOrientation = value;\r\n }\r\n\r\n private _dragFactor = 0;\r\n /**\r\n * Enabled turning on the y axis when the orientation sensor is active\r\n * @param dragFactor the factor that controls the turn speed (default: 1/300)\r\n */\r\n public enableHorizontalDragging(dragFactor = 1 / 300) {\r\n this._dragFactor = dragFactor;\r\n }\r\n\r\n /**\r\n * Gets the current instance class name (\"DeviceOrientationCamera\").\r\n * This helps avoiding instanceof at run time.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"DeviceOrientationCamera\";\r\n }\r\n\r\n /**\r\n * @internal\r\n * Checks and applies the current values of the inputs to the camera. (Internal use only)\r\n */\r\n public _checkInputs(): void {\r\n super._checkInputs();\r\n this._quaternionCache.copyFrom(this.rotationQuaternion);\r\n if (this._initialQuaternion) {\r\n this._initialQuaternion.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion);\r\n }\r\n }\r\n\r\n /**\r\n * Reset the camera to its default orientation on the specified axis only.\r\n * @param axis The axis to reset\r\n */\r\n public resetToCurrentRotation(axis: Axis = Axis.Y): void {\r\n //can only work if this camera has a rotation quaternion already.\r\n if (!this.rotationQuaternion) {\r\n return;\r\n }\r\n\r\n if (!this._initialQuaternion) {\r\n this._initialQuaternion = new Quaternion();\r\n }\r\n\r\n this._initialQuaternion.copyFrom(this._quaternionCache || this.rotationQuaternion);\r\n\r\n [\"x\", \"y\", \"z\"].forEach((axisName) => {\r\n if (!(<any>axis)[axisName]) {\r\n (<any>this._initialQuaternion)[axisName] = 0;\r\n } else {\r\n (<any>this._initialQuaternion)[axisName] *= -1;\r\n }\r\n });\r\n this._initialQuaternion.normalize();\r\n //force rotation update\r\n this._initialQuaternion.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion);\r\n }\r\n}\r\n"]}
@@ -128,9 +128,9 @@ export declare class FlyCamera extends TargetCamera {
128
128
  private _oldPosition;
129
129
  private _diffPosition;
130
130
  private _newPosition;
131
- /** @hidden */
131
+ /** @internal */
132
132
  _localDirection: Vector3;
133
- /** @hidden */
133
+ /** @internal */
134
134
  _transformedDirection: Vector3;
135
135
  /**
136
136
  * Instantiates a FlyCamera.
@@ -162,27 +162,23 @@ export declare class FlyCamera extends TargetCamera {
162
162
  */
163
163
  set collisionMask(mask: number);
164
164
  /**
165
- * @param displacement
166
- * @hidden
165
+ * @internal
167
166
  */
168
167
  _collideWithWorld(displacement: Vector3): void;
169
168
  /**
170
- * @param collisionId
171
- * @param newPosition
172
- * @param collidedMesh
173
- * @hidden
169
+ * @internal
174
170
  */
175
171
  private _onCollisionPositionChange;
176
- /** @hidden */
172
+ /** @internal */
177
173
  _checkInputs(): void;
178
- /** @hidden */
174
+ /** @internal */
179
175
  _decideIfNeedsToMove(): boolean;
180
- /** @hidden */
176
+ /** @internal */
181
177
  _updatePosition(): void;
182
178
  /**
183
179
  * Restore the Roll to its target value at the rate specified.
184
180
  * @param rate - Higher means slower restoring.
185
- * @hidden
181
+ * @internal
186
182
  */
187
183
  restoreRoll(rate: number): void;
188
184
  /**
@@ -74,10 +74,7 @@ export class FlyCamera extends TargetCamera {
74
74
  // Collisions.
75
75
  this._collisionMask = -1;
76
76
  /**
77
- * @param collisionId
78
- * @param newPosition
79
- * @param collidedMesh
80
- * @hidden
77
+ * @internal
81
78
  */
82
79
  this._onCollisionPositionChange = (collisionId, newPosition, collidedMesh = null) => {
83
80
  const updatePosition = (newPos) => {
@@ -258,8 +255,7 @@ export class FlyCamera extends TargetCamera {
258
255
  this._collisionMask = !isNaN(mask) ? mask : -1;
259
256
  }
260
257
  /**
261
- * @param displacement
262
- * @hidden
258
+ * @internal
263
259
  */
264
260
  _collideWithWorld(displacement) {
265
261
  let globalPosition;
@@ -286,7 +282,7 @@ export class FlyCamera extends TargetCamera {
286
282
  }
287
283
  coordinator.getNewPosition(this._oldPosition, actualDisplacement, this._collider, 3, null, this._onCollisionPositionChange, this.uniqueId);
288
284
  }
289
- /** @hidden */
285
+ /** @internal */
290
286
  _checkInputs() {
291
287
  if (!this._localDirection) {
292
288
  this._localDirection = Vector3.Zero();
@@ -295,11 +291,11 @@ export class FlyCamera extends TargetCamera {
295
291
  this.inputs.checkInputs();
296
292
  super._checkInputs();
297
293
  }
298
- /** @hidden */
294
+ /** @internal */
299
295
  _decideIfNeedsToMove() {
300
296
  return this._needMoveForGravity || Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0;
301
297
  }
302
- /** @hidden */
298
+ /** @internal */
303
299
  _updatePosition() {
304
300
  if (this.checkCollisions && this.getScene().collisionsEnabled) {
305
301
  this._collideWithWorld(this.cameraDirection);
@@ -311,7 +307,7 @@ export class FlyCamera extends TargetCamera {
311
307
  /**
312
308
  * Restore the Roll to its target value at the rate specified.
313
309
  * @param rate - Higher means slower restoring.
314
- * @hidden
310
+ * @internal
315
311
  */
316
312
  restoreRoll(rate) {
317
313
  const limit = this._trackRoll; // Target Roll.
@@ -1 +1 @@
1
- {"version":3,"file":"flyCamera.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Cameras/flyCamera.ts"],"names":[],"mappings":"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","sourcesContent":["import { serialize, serializeAsVector3 } from \"../Misc/decorators\";\r\nimport type { Nullable } from \"../types\";\r\nimport type { Scene } from \"../scene\";\r\nimport type { Quaternion } from \"../Maths/math.vector\";\r\nimport { Vector3 } from \"../Maths/math.vector\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { TargetCamera } from \"./targetCamera\";\r\nimport { FlyCameraInputsManager } from \"./flyCameraInputsManager\";\r\nimport type { FlyCameraMouseInput } from \"../Cameras/Inputs/flyCameraMouseInput\";\r\nimport type { FlyCameraKeyboardInput } from \"../Cameras/Inputs/flyCameraKeyboardInput\";\r\nimport { Tools } from \"../Misc/tools\";\r\n\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\n\r\n/**\r\n * This is a flying camera, designed for 3D movement and rotation in all directions,\r\n * such as in a 3D Space Shooter or a Flight Simulator.\r\n */\r\nexport class FlyCamera extends TargetCamera {\r\n /**\r\n * Define the collision ellipsoid of the camera.\r\n * This is helpful for simulating a camera body, like a player's body.\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity#arcrotatecamera\r\n */\r\n @serializeAsVector3()\r\n public ellipsoid = new Vector3(1, 1, 1);\r\n\r\n /**\r\n * Define an offset for the position of the ellipsoid around the camera.\r\n * This can be helpful if the camera is attached away from the player's body center,\r\n * such as at its head.\r\n */\r\n @serializeAsVector3()\r\n public ellipsoidOffset = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Enable or disable collisions of the camera with the rest of the scene objects.\r\n */\r\n @serialize()\r\n public checkCollisions = false;\r\n\r\n /**\r\n * Enable or disable gravity on the camera.\r\n */\r\n @serialize()\r\n public applyGravity = false;\r\n\r\n /**\r\n * Define the current direction the camera is moving to.\r\n */\r\n public cameraDirection = Vector3.Zero();\r\n\r\n /**\r\n * Define the current local rotation of the camera as a quaternion to prevent Gimbal lock.\r\n * This overrides and empties cameraRotation.\r\n */\r\n public rotationQuaternion: Quaternion;\r\n\r\n /**\r\n * Track Roll to maintain the wanted Rolling when looking around.\r\n */\r\n public _trackRoll: number = 0;\r\n\r\n /**\r\n * Slowly correct the Roll to its original value after a Pitch+Yaw rotation.\r\n */\r\n public rollCorrect: number = 100;\r\n\r\n /**\r\n * Mimic a banked turn, Rolling the camera when Yawing.\r\n * It's recommended to use rollCorrect = 10 for faster banking correction.\r\n */\r\n public bankedTurn: boolean = false;\r\n\r\n /**\r\n * Limit in radians for how much Roll banking will add. (Default: 90°)\r\n */\r\n public bankedTurnLimit: number = Math.PI / 2;\r\n\r\n /**\r\n * Value of 0 disables the banked Roll.\r\n * Value of 1 is equal to the Yaw angle in radians.\r\n */\r\n public bankedTurnMultiplier: number = 1;\r\n\r\n /**\r\n * The inputs manager loads all the input sources, such as keyboard and mouse.\r\n */\r\n public inputs: FlyCameraInputsManager;\r\n\r\n /**\r\n * Gets the input sensibility for mouse input.\r\n * Higher values reduce sensitivity.\r\n */\r\n public get angularSensibility(): number {\r\n const mouse = <FlyCameraMouseInput>this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n return mouse.angularSensibility;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n /**\r\n * Sets the input sensibility for a mouse input.\r\n * Higher values reduce sensitivity.\r\n */\r\n public set angularSensibility(value: number) {\r\n const mouse = <FlyCameraMouseInput>this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n mouse.angularSensibility = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement forward.\r\n */\r\n public get keysForward(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysForward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement forward.\r\n */\r\n public set keysForward(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysForward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement backward.\r\n */\r\n public get keysBackward(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysBackward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysBackward(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysBackward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement up.\r\n */\r\n public get keysUp(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysUp;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement up.\r\n */\r\n public set keysUp(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysUp = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement down.\r\n */\r\n public get keysDown(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysDown;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement down.\r\n */\r\n public set keysDown(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysDown = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement left.\r\n */\r\n public get keysLeft(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysLeft;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement left.\r\n */\r\n public set keysLeft(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysLeft = value;\r\n }\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement right.\r\n */\r\n public get keysRight(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysRight;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement right.\r\n */\r\n public set keysRight(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysRight = value;\r\n }\r\n }\r\n\r\n /**\r\n * Event raised when the camera collides with a mesh in the scene.\r\n */\r\n public onCollide: (collidedMesh: AbstractMesh) => void;\r\n\r\n private _collider: Collider;\r\n private _needMoveForGravity = false;\r\n private _oldPosition = Vector3.Zero();\r\n private _diffPosition = Vector3.Zero();\r\n private _newPosition = Vector3.Zero();\r\n\r\n /** @hidden */\r\n public _localDirection: Vector3;\r\n /** @hidden */\r\n public _transformedDirection: Vector3;\r\n\r\n /**\r\n * Instantiates a FlyCamera.\r\n * This is a flying camera, designed for 3D movement and rotation in all directions,\r\n * such as in a 3D Space Shooter or a Flight Simulator.\r\n * @param name Define the name of the camera in the scene.\r\n * @param position Define the starting position of the camera in the scene.\r\n * @param scene Define the scene the camera belongs to.\r\n * @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active, if no other camera has been defined as active.\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene, setActiveOnSceneIfNoneActive = true) {\r\n super(name, position, scene, setActiveOnSceneIfNoneActive);\r\n this.inputs = new FlyCameraInputsManager(this);\r\n this.inputs.addKeyboard().addMouse();\r\n }\r\n\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(noPreventDefault?: boolean): void;\r\n /**\r\n * Attached controls to the current camera.\r\n * @param ignored defines an ignored parameter kept for backward compatibility.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(ignored: any, noPreventDefault?: boolean): void {\r\n // eslint-disable-next-line prefer-rest-params\r\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\r\n this.inputs.attachElement(noPreventDefault);\r\n }\r\n\r\n /**\r\n * Detach a control from the HTML DOM element.\r\n * The camera will stop reacting to that input.\r\n */\r\n public detachControl(): void {\r\n this.inputs.detachElement();\r\n\r\n this.cameraDirection = new Vector3(0, 0, 0);\r\n }\r\n\r\n // Collisions.\r\n private _collisionMask = -1;\r\n\r\n /**\r\n * Get the mask that the camera ignores in collision events.\r\n */\r\n public get collisionMask(): number {\r\n return this._collisionMask;\r\n }\r\n\r\n /**\r\n * Set the mask that the camera ignores in collision events.\r\n */\r\n public set collisionMask(mask: number) {\r\n this._collisionMask = !isNaN(mask) ? mask : -1;\r\n }\r\n\r\n /**\r\n * @param displacement\r\n * @hidden\r\n */\r\n public _collideWithWorld(displacement: Vector3): void {\r\n let globalPosition: Vector3;\r\n\r\n if (this.parent) {\r\n globalPosition = Vector3.TransformCoordinates(this.position, this.parent.getWorldMatrix());\r\n } else {\r\n globalPosition = this.position;\r\n }\r\n\r\n globalPosition.subtractFromFloatsToRef(0, this.ellipsoid.y, 0, this._oldPosition);\r\n this._oldPosition.addInPlace(this.ellipsoidOffset);\r\n const coordinator = this.getScene().collisionCoordinator;\r\n\r\n if (!this._collider) {\r\n this._collider = coordinator.createCollider();\r\n }\r\n\r\n this._collider._radius = this.ellipsoid;\r\n this._collider.collisionMask = this._collisionMask;\r\n\r\n // No need for clone, as long as gravity is not on.\r\n let actualDisplacement = displacement;\r\n\r\n // Add gravity to direction to prevent dual-collision checking.\r\n if (this.applyGravity) {\r\n // This prevents mending with cameraDirection, a global variable of the fly camera class.\r\n actualDisplacement = displacement.add(this.getScene().gravity);\r\n }\r\n\r\n coordinator.getNewPosition(this._oldPosition, actualDisplacement, this._collider, 3, null, this._onCollisionPositionChange, this.uniqueId);\r\n }\r\n\r\n /**\r\n * @param collisionId\r\n * @param newPosition\r\n * @param collidedMesh\r\n * @hidden\r\n */\r\n private _onCollisionPositionChange = (collisionId: number, newPosition: Vector3, collidedMesh: Nullable<AbstractMesh> = null) => {\r\n const updatePosition = (newPos: Vector3) => {\r\n this._newPosition.copyFrom(newPos);\r\n\r\n this._newPosition.subtractToRef(this._oldPosition, this._diffPosition);\r\n\r\n if (this._diffPosition.length() > Engine.CollisionsEpsilon) {\r\n this.position.addInPlace(this._diffPosition);\r\n if (this.onCollide && collidedMesh) {\r\n this.onCollide(collidedMesh);\r\n }\r\n }\r\n };\r\n\r\n updatePosition(newPosition);\r\n };\r\n\r\n /** @hidden */\r\n public _checkInputs(): void {\r\n if (!this._localDirection) {\r\n this._localDirection = Vector3.Zero();\r\n this._transformedDirection = Vector3.Zero();\r\n }\r\n\r\n this.inputs.checkInputs();\r\n\r\n super._checkInputs();\r\n }\r\n\r\n /** @hidden */\r\n public _decideIfNeedsToMove(): boolean {\r\n return this._needMoveForGravity || Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0;\r\n }\r\n\r\n /** @hidden */\r\n public _updatePosition(): void {\r\n if (this.checkCollisions && this.getScene().collisionsEnabled) {\r\n this._collideWithWorld(this.cameraDirection);\r\n } else {\r\n super._updatePosition();\r\n }\r\n }\r\n\r\n /**\r\n * Restore the Roll to its target value at the rate specified.\r\n * @param rate - Higher means slower restoring.\r\n * @hidden\r\n */\r\n public restoreRoll(rate: number): void {\r\n const limit = this._trackRoll; // Target Roll.\r\n const z = this.rotation.z; // Current Roll.\r\n const delta = limit - z; // Difference in Roll.\r\n\r\n const minRad = 0.001; // Tenth of a radian is a barely noticable difference.\r\n\r\n // If the difference is noticable, restore the Roll.\r\n if (Math.abs(delta) >= minRad) {\r\n // Change Z rotation towards the target Roll.\r\n this.rotation.z += delta / rate;\r\n\r\n // Match when near enough.\r\n if (Math.abs(limit - this.rotation.z) <= minRad) {\r\n this.rotation.z = limit;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Destroy the camera and release the current resources held by it.\r\n */\r\n public dispose(): void {\r\n this.inputs.clear();\r\n super.dispose();\r\n }\r\n\r\n /**\r\n * Get the current object class name.\r\n * @returns the class name.\r\n */\r\n public getClassName(): string {\r\n return \"FlyCamera\";\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flyCamera.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Cameras/flyCamera.ts"],"names":[],"mappings":"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","sourcesContent":["import { serialize, serializeAsVector3 } from \"../Misc/decorators\";\r\nimport type { Nullable } from \"../types\";\r\nimport type { Scene } from \"../scene\";\r\nimport type { Quaternion } from \"../Maths/math.vector\";\r\nimport { Vector3 } from \"../Maths/math.vector\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { TargetCamera } from \"./targetCamera\";\r\nimport { FlyCameraInputsManager } from \"./flyCameraInputsManager\";\r\nimport type { FlyCameraMouseInput } from \"../Cameras/Inputs/flyCameraMouseInput\";\r\nimport type { FlyCameraKeyboardInput } from \"../Cameras/Inputs/flyCameraKeyboardInput\";\r\nimport { Tools } from \"../Misc/tools\";\r\n\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\n\r\n/**\r\n * This is a flying camera, designed for 3D movement and rotation in all directions,\r\n * such as in a 3D Space Shooter or a Flight Simulator.\r\n */\r\nexport class FlyCamera extends TargetCamera {\r\n /**\r\n * Define the collision ellipsoid of the camera.\r\n * This is helpful for simulating a camera body, like a player's body.\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity#arcrotatecamera\r\n */\r\n @serializeAsVector3()\r\n public ellipsoid = new Vector3(1, 1, 1);\r\n\r\n /**\r\n * Define an offset for the position of the ellipsoid around the camera.\r\n * This can be helpful if the camera is attached away from the player's body center,\r\n * such as at its head.\r\n */\r\n @serializeAsVector3()\r\n public ellipsoidOffset = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Enable or disable collisions of the camera with the rest of the scene objects.\r\n */\r\n @serialize()\r\n public checkCollisions = false;\r\n\r\n /**\r\n * Enable or disable gravity on the camera.\r\n */\r\n @serialize()\r\n public applyGravity = false;\r\n\r\n /**\r\n * Define the current direction the camera is moving to.\r\n */\r\n public cameraDirection = Vector3.Zero();\r\n\r\n /**\r\n * Define the current local rotation of the camera as a quaternion to prevent Gimbal lock.\r\n * This overrides and empties cameraRotation.\r\n */\r\n public rotationQuaternion: Quaternion;\r\n\r\n /**\r\n * Track Roll to maintain the wanted Rolling when looking around.\r\n */\r\n public _trackRoll: number = 0;\r\n\r\n /**\r\n * Slowly correct the Roll to its original value after a Pitch+Yaw rotation.\r\n */\r\n public rollCorrect: number = 100;\r\n\r\n /**\r\n * Mimic a banked turn, Rolling the camera when Yawing.\r\n * It's recommended to use rollCorrect = 10 for faster banking correction.\r\n */\r\n public bankedTurn: boolean = false;\r\n\r\n /**\r\n * Limit in radians for how much Roll banking will add. (Default: 90°)\r\n */\r\n public bankedTurnLimit: number = Math.PI / 2;\r\n\r\n /**\r\n * Value of 0 disables the banked Roll.\r\n * Value of 1 is equal to the Yaw angle in radians.\r\n */\r\n public bankedTurnMultiplier: number = 1;\r\n\r\n /**\r\n * The inputs manager loads all the input sources, such as keyboard and mouse.\r\n */\r\n public inputs: FlyCameraInputsManager;\r\n\r\n /**\r\n * Gets the input sensibility for mouse input.\r\n * Higher values reduce sensitivity.\r\n */\r\n public get angularSensibility(): number {\r\n const mouse = <FlyCameraMouseInput>this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n return mouse.angularSensibility;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n /**\r\n * Sets the input sensibility for a mouse input.\r\n * Higher values reduce sensitivity.\r\n */\r\n public set angularSensibility(value: number) {\r\n const mouse = <FlyCameraMouseInput>this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n mouse.angularSensibility = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement forward.\r\n */\r\n public get keysForward(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysForward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement forward.\r\n */\r\n public set keysForward(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysForward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement backward.\r\n */\r\n public get keysBackward(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysBackward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysBackward(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysBackward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement up.\r\n */\r\n public get keysUp(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysUp;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement up.\r\n */\r\n public set keysUp(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysUp = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement down.\r\n */\r\n public get keysDown(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysDown;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement down.\r\n */\r\n public set keysDown(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysDown = value;\r\n }\r\n }\r\n\r\n /**\r\n * Get the keys for camera movement left.\r\n */\r\n public get keysLeft(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysLeft;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement left.\r\n */\r\n public set keysLeft(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysLeft = value;\r\n }\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement right.\r\n */\r\n public get keysRight(): number[] {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysRight;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Set the keys for camera movement right.\r\n */\r\n public set keysRight(value: number[]) {\r\n const keyboard = <FlyCameraKeyboardInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysRight = value;\r\n }\r\n }\r\n\r\n /**\r\n * Event raised when the camera collides with a mesh in the scene.\r\n */\r\n public onCollide: (collidedMesh: AbstractMesh) => void;\r\n\r\n private _collider: Collider;\r\n private _needMoveForGravity = false;\r\n private _oldPosition = Vector3.Zero();\r\n private _diffPosition = Vector3.Zero();\r\n private _newPosition = Vector3.Zero();\r\n\r\n /** @internal */\r\n public _localDirection: Vector3;\r\n /** @internal */\r\n public _transformedDirection: Vector3;\r\n\r\n /**\r\n * Instantiates a FlyCamera.\r\n * This is a flying camera, designed for 3D movement and rotation in all directions,\r\n * such as in a 3D Space Shooter or a Flight Simulator.\r\n * @param name Define the name of the camera in the scene.\r\n * @param position Define the starting position of the camera in the scene.\r\n * @param scene Define the scene the camera belongs to.\r\n * @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active, if no other camera has been defined as active.\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene, setActiveOnSceneIfNoneActive = true) {\r\n super(name, position, scene, setActiveOnSceneIfNoneActive);\r\n this.inputs = new FlyCameraInputsManager(this);\r\n this.inputs.addKeyboard().addMouse();\r\n }\r\n\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(noPreventDefault?: boolean): void;\r\n /**\r\n * Attached controls to the current camera.\r\n * @param ignored defines an ignored parameter kept for backward compatibility.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(ignored: any, noPreventDefault?: boolean): void {\r\n // eslint-disable-next-line prefer-rest-params\r\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\r\n this.inputs.attachElement(noPreventDefault);\r\n }\r\n\r\n /**\r\n * Detach a control from the HTML DOM element.\r\n * The camera will stop reacting to that input.\r\n */\r\n public detachControl(): void {\r\n this.inputs.detachElement();\r\n\r\n this.cameraDirection = new Vector3(0, 0, 0);\r\n }\r\n\r\n // Collisions.\r\n private _collisionMask = -1;\r\n\r\n /**\r\n * Get the mask that the camera ignores in collision events.\r\n */\r\n public get collisionMask(): number {\r\n return this._collisionMask;\r\n }\r\n\r\n /**\r\n * Set the mask that the camera ignores in collision events.\r\n */\r\n public set collisionMask(mask: number) {\r\n this._collisionMask = !isNaN(mask) ? mask : -1;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _collideWithWorld(displacement: Vector3): void {\r\n let globalPosition: Vector3;\r\n\r\n if (this.parent) {\r\n globalPosition = Vector3.TransformCoordinates(this.position, this.parent.getWorldMatrix());\r\n } else {\r\n globalPosition = this.position;\r\n }\r\n\r\n globalPosition.subtractFromFloatsToRef(0, this.ellipsoid.y, 0, this._oldPosition);\r\n this._oldPosition.addInPlace(this.ellipsoidOffset);\r\n const coordinator = this.getScene().collisionCoordinator;\r\n\r\n if (!this._collider) {\r\n this._collider = coordinator.createCollider();\r\n }\r\n\r\n this._collider._radius = this.ellipsoid;\r\n this._collider.collisionMask = this._collisionMask;\r\n\r\n // No need for clone, as long as gravity is not on.\r\n let actualDisplacement = displacement;\r\n\r\n // Add gravity to direction to prevent dual-collision checking.\r\n if (this.applyGravity) {\r\n // This prevents mending with cameraDirection, a global variable of the fly camera class.\r\n actualDisplacement = displacement.add(this.getScene().gravity);\r\n }\r\n\r\n coordinator.getNewPosition(this._oldPosition, actualDisplacement, this._collider, 3, null, this._onCollisionPositionChange, this.uniqueId);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n private _onCollisionPositionChange = (collisionId: number, newPosition: Vector3, collidedMesh: Nullable<AbstractMesh> = null) => {\r\n const updatePosition = (newPos: Vector3) => {\r\n this._newPosition.copyFrom(newPos);\r\n\r\n this._newPosition.subtractToRef(this._oldPosition, this._diffPosition);\r\n\r\n if (this._diffPosition.length() > Engine.CollisionsEpsilon) {\r\n this.position.addInPlace(this._diffPosition);\r\n if (this.onCollide && collidedMesh) {\r\n this.onCollide(collidedMesh);\r\n }\r\n }\r\n };\r\n\r\n updatePosition(newPosition);\r\n };\r\n\r\n /** @internal */\r\n public _checkInputs(): void {\r\n if (!this._localDirection) {\r\n this._localDirection = Vector3.Zero();\r\n this._transformedDirection = Vector3.Zero();\r\n }\r\n\r\n this.inputs.checkInputs();\r\n\r\n super._checkInputs();\r\n }\r\n\r\n /** @internal */\r\n public _decideIfNeedsToMove(): boolean {\r\n return this._needMoveForGravity || Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0;\r\n }\r\n\r\n /** @internal */\r\n public _updatePosition(): void {\r\n if (this.checkCollisions && this.getScene().collisionsEnabled) {\r\n this._collideWithWorld(this.cameraDirection);\r\n } else {\r\n super._updatePosition();\r\n }\r\n }\r\n\r\n /**\r\n * Restore the Roll to its target value at the rate specified.\r\n * @param rate - Higher means slower restoring.\r\n * @internal\r\n */\r\n public restoreRoll(rate: number): void {\r\n const limit = this._trackRoll; // Target Roll.\r\n const z = this.rotation.z; // Current Roll.\r\n const delta = limit - z; // Difference in Roll.\r\n\r\n const minRad = 0.001; // Tenth of a radian is a barely noticable difference.\r\n\r\n // If the difference is noticable, restore the Roll.\r\n if (Math.abs(delta) >= minRad) {\r\n // Change Z rotation towards the target Roll.\r\n this.rotation.z += delta / rate;\r\n\r\n // Match when near enough.\r\n if (Math.abs(limit - this.rotation.z) <= minRad) {\r\n this.rotation.z = limit;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Destroy the camera and release the current resources held by it.\r\n */\r\n public dispose(): void {\r\n this.inputs.clear();\r\n super.dispose();\r\n }\r\n\r\n /**\r\n * Get the current object class name.\r\n * @returns the class name.\r\n */\r\n public getClassName(): string {\r\n return \"FlyCamera\";\r\n }\r\n}\r\n"]}
@@ -90,7 +90,7 @@ export declare class FollowCamera extends TargetCamera {
90
90
  * Detach the current controls from the specified dom element.
91
91
  */
92
92
  detachControl(): void;
93
- /** @hidden */
93
+ /** @internal */
94
94
  _checkInputs(): void;
95
95
  private _checkLimits;
96
96
  /**
@@ -139,7 +139,7 @@ export declare class ArcFollowCamera extends TargetCamera {
139
139
  */
140
140
  setMeshTarget(target: Nullable<AbstractMesh>): void;
141
141
  private _follow;
142
- /** @hidden */
142
+ /** @internal */
143
143
  _checkInputs(): void;
144
144
  /**
145
145
  * Returns the class name of the object.
@@ -135,7 +135,7 @@ export class FollowCamera extends TargetCamera {
135
135
  this._reset();
136
136
  }
137
137
  }
138
- /** @hidden */
138
+ /** @internal */
139
139
  _checkInputs() {
140
140
  this.inputs.checkInputs();
141
141
  this._checkLimits();
@@ -259,7 +259,7 @@ export class ArcFollowCamera extends TargetCamera {
259
259
  this.position = targetPosition.add(this._cartesianCoordinates);
260
260
  this.setTarget(targetPosition);
261
261
  }
262
- /** @hidden */
262
+ /** @internal */
263
263
  _checkInputs() {
264
264
  super._checkInputs();
265
265
  this._follow();
@@ -1 +1 @@
1
- {"version":3,"file":"followCamera.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Cameras/followCamera.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport { serialize, serializeAsMeshReference } from \"../Misc/decorators\";\r\nimport { Tools } from \"../Misc/tools\";\r\nimport { TargetCamera } from \"./targetCamera\";\r\nimport type { Scene } from \"../scene\";\r\nimport { TmpVectors, Vector3 } from \"../Maths/math.vector\";\r\nimport { Node } from \"../node\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { FollowCameraInputsManager } from \"./followCameraInputsManager\";\r\nNode.AddNodeConstructor(\"FollowCamera\", (name, scene) => {\r\n return () => new FollowCamera(name, Vector3.Zero(), scene);\r\n});\r\n\r\nNode.AddNodeConstructor(\"ArcFollowCamera\", (name, scene) => {\r\n return () => new ArcFollowCamera(name, 0, 0, 1.0, null, scene);\r\n});\r\n\r\n/**\r\n * A follow camera takes a mesh as a target and follows it as it moves. Both a free camera version followCamera and\r\n * an arc rotate version arcFollowCamera are available.\r\n * @see https://doc.babylonjs.com/features/cameras#follow-camera\r\n */\r\nexport class FollowCamera extends TargetCamera {\r\n /**\r\n * Distance the follow camera should follow an object at\r\n */\r\n @serialize()\r\n public radius: number = 12;\r\n\r\n /**\r\n * Minimum allowed distance of the camera to the axis of rotation\r\n * (The camera can not get closer).\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public lowerRadiusLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Maximum allowed distance of the camera to the axis of rotation\r\n * (The camera can not get further).\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public upperRadiusLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Define a rotation offset between the camera and the object it follows\r\n */\r\n @serialize()\r\n public rotationOffset: number = 0;\r\n\r\n /**\r\n * Minimum allowed angle to camera position relative to target object.\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public lowerRotationOffsetLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Maximum allowed angle to camera position relative to target object.\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public upperRotationOffsetLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Define a height offset between the camera and the object it follows.\r\n * It can help following an object from the top (like a car chasing a plane)\r\n */\r\n @serialize()\r\n public heightOffset: number = 4;\r\n\r\n /**\r\n * Minimum allowed height of camera position relative to target object.\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public lowerHeightOffsetLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Maximum allowed height of camera position relative to target object.\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public upperHeightOffsetLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Define how fast the camera can accelerate to follow it s target.\r\n */\r\n @serialize()\r\n public cameraAcceleration: number = 0.05;\r\n\r\n /**\r\n * Define the speed limit of the camera following an object.\r\n */\r\n @serialize()\r\n public maxCameraSpeed: number = 20;\r\n\r\n /**\r\n * Define the target of the camera.\r\n */\r\n @serializeAsMeshReference(\"lockedTargetId\")\r\n public lockedTarget: Nullable<AbstractMesh>;\r\n\r\n /**\r\n * Defines the input associated with the camera.\r\n */\r\n public inputs: FollowCameraInputsManager;\r\n\r\n /**\r\n * Instantiates the follow camera.\r\n * @see https://doc.babylonjs.com/features/cameras#follow-camera\r\n * @param name Define the name of the camera in the scene\r\n * @param position Define the position of the camera\r\n * @param scene Define the scene the camera belong to\r\n * @param lockedTarget Define the target of the camera\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene, lockedTarget: Nullable<AbstractMesh> = null) {\r\n super(name, position, scene);\r\n\r\n this.lockedTarget = lockedTarget;\r\n this.inputs = new FollowCameraInputsManager(this);\r\n this.inputs.addKeyboard().addMouseWheel().addPointers();\r\n // Uncomment the following line when the relevant handlers have been implemented.\r\n // this.inputs.addKeyboard().addMouseWheel().addPointers().addVRDeviceOrientation();\r\n }\r\n\r\n private _follow(cameraTarget: AbstractMesh) {\r\n if (!cameraTarget) {\r\n return;\r\n }\r\n\r\n const rotMatrix = TmpVectors.Matrix[0];\r\n cameraTarget.absoluteRotationQuaternion.toRotationMatrix(rotMatrix);\r\n const yRotation = Math.atan2(rotMatrix.m[8], rotMatrix.m[10]);\r\n\r\n const radians = Tools.ToRadians(this.rotationOffset) + yRotation;\r\n const targetPosition = cameraTarget.getAbsolutePosition();\r\n const targetX: number = targetPosition.x + Math.sin(radians) * this.radius;\r\n\r\n const targetZ: number = targetPosition.z + Math.cos(radians) * this.radius;\r\n const dx: number = targetX - this.position.x;\r\n const dy: number = targetPosition.y + this.heightOffset - this.position.y;\r\n const dz: number = targetZ - this.position.z;\r\n let vx: number = dx * this.cameraAcceleration * 2; //this is set to .05\r\n let vy: number = dy * this.cameraAcceleration;\r\n let vz: number = dz * this.cameraAcceleration * 2;\r\n\r\n if (vx > this.maxCameraSpeed || vx < -this.maxCameraSpeed) {\r\n vx = vx < 1 ? -this.maxCameraSpeed : this.maxCameraSpeed;\r\n }\r\n\r\n if (vy > this.maxCameraSpeed || vy < -this.maxCameraSpeed) {\r\n vy = vy < 1 ? -this.maxCameraSpeed : this.maxCameraSpeed;\r\n }\r\n\r\n if (vz > this.maxCameraSpeed || vz < -this.maxCameraSpeed) {\r\n vz = vz < 1 ? -this.maxCameraSpeed : this.maxCameraSpeed;\r\n }\r\n\r\n this.position = new Vector3(this.position.x + vx, this.position.y + vy, this.position.z + vz);\r\n this.setTarget(targetPosition);\r\n }\r\n\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(noPreventDefault?: boolean): void;\r\n /**\r\n * Attached controls to the current camera.\r\n * @param ignored defines an ignored parameter kept for backward compatibility.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(ignored: any, noPreventDefault?: boolean): void {\r\n // eslint-disable-next-line prefer-rest-params\r\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\r\n this.inputs.attachElement(noPreventDefault);\r\n\r\n this._reset = () => {};\r\n }\r\n\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n */\r\n public detachControl(): void {\r\n this.inputs.detachElement();\r\n\r\n if (this._reset) {\r\n this._reset();\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _checkInputs(): void {\r\n this.inputs.checkInputs();\r\n this._checkLimits();\r\n super._checkInputs();\r\n if (this.lockedTarget) {\r\n this._follow(this.lockedTarget);\r\n }\r\n }\r\n\r\n private _checkLimits() {\r\n if (this.lowerRadiusLimit !== null && this.radius < this.lowerRadiusLimit) {\r\n this.radius = this.lowerRadiusLimit;\r\n }\r\n if (this.upperRadiusLimit !== null && this.radius > this.upperRadiusLimit) {\r\n this.radius = this.upperRadiusLimit;\r\n }\r\n\r\n if (this.lowerHeightOffsetLimit !== null && this.heightOffset < this.lowerHeightOffsetLimit) {\r\n this.heightOffset = this.lowerHeightOffsetLimit;\r\n }\r\n if (this.upperHeightOffsetLimit !== null && this.heightOffset > this.upperHeightOffsetLimit) {\r\n this.heightOffset = this.upperHeightOffsetLimit;\r\n }\r\n\r\n if (this.lowerRotationOffsetLimit !== null && this.rotationOffset < this.lowerRotationOffsetLimit) {\r\n this.rotationOffset = this.lowerRotationOffsetLimit;\r\n }\r\n if (this.upperRotationOffsetLimit !== null && this.rotationOffset > this.upperRotationOffsetLimit) {\r\n this.rotationOffset = this.upperRotationOffsetLimit;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the camera class name.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"FollowCamera\";\r\n }\r\n}\r\n\r\n/**\r\n * Arc Rotate version of the follow camera.\r\n * It still follows a Defined mesh but in an Arc Rotate Camera fashion.\r\n * @see https://doc.babylonjs.com/features/cameras#follow-camera\r\n */\r\nexport class ArcFollowCamera extends TargetCamera {\r\n private _cartesianCoordinates: Vector3 = Vector3.Zero();\r\n\r\n /** Define the camera target (the mesh it should follow) */\r\n private _meshTarget: Nullable<AbstractMesh>;\r\n\r\n /**\r\n * Instantiates a new ArcFollowCamera\r\n * @see https://doc.babylonjs.com/features/cameras#follow-camera\r\n * @param name Define the name of the camera\r\n * @param alpha Define the rotation angle of the camera around the longitudinal axis\r\n * @param beta Define the rotation angle of the camera around the elevation axis\r\n * @param radius Define the radius of the camera from its target point\r\n * @param target Define the target of the camera\r\n * @param scene Define the scene the camera belongs to\r\n */\r\n constructor(\r\n name: string,\r\n /** The longitudinal angle of the camera */\r\n public alpha: number,\r\n /** The latitudinal angle of the camera */\r\n public beta: number,\r\n /** The radius of the camera from its target */\r\n public radius: number,\r\n /** Define the camera target (the mesh it should follow) */\r\n target: Nullable<AbstractMesh>,\r\n scene: Scene\r\n ) {\r\n super(name, Vector3.Zero(), scene);\r\n this.setMeshTarget(target);\r\n }\r\n\r\n /**\r\n * Sets the mesh to follow with this camera.\r\n * @param target the target to follow\r\n */\r\n public setMeshTarget(target: Nullable<AbstractMesh>) {\r\n this._meshTarget = target;\r\n this._follow();\r\n }\r\n\r\n private _follow(): void {\r\n if (!this._meshTarget) {\r\n return;\r\n }\r\n this._cartesianCoordinates.x = this.radius * Math.cos(this.alpha) * Math.cos(this.beta);\r\n this._cartesianCoordinates.y = this.radius * Math.sin(this.beta);\r\n this._cartesianCoordinates.z = this.radius * Math.sin(this.alpha) * Math.cos(this.beta);\r\n\r\n const targetPosition = this._meshTarget.getAbsolutePosition();\r\n this.position = targetPosition.add(this._cartesianCoordinates);\r\n this.setTarget(targetPosition);\r\n }\r\n\r\n /** @hidden */\r\n public _checkInputs(): void {\r\n super._checkInputs();\r\n this._follow();\r\n }\r\n\r\n /**\r\n * Returns the class name of the object.\r\n * It is mostly used internally for serialization purposes.\r\n */\r\n public getClassName(): string {\r\n return \"ArcFollowCamera\";\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"followCamera.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Cameras/followCamera.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport { serialize, serializeAsMeshReference } from \"../Misc/decorators\";\r\nimport { Tools } from \"../Misc/tools\";\r\nimport { TargetCamera } from \"./targetCamera\";\r\nimport type { Scene } from \"../scene\";\r\nimport { TmpVectors, Vector3 } from \"../Maths/math.vector\";\r\nimport { Node } from \"../node\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { FollowCameraInputsManager } from \"./followCameraInputsManager\";\r\nNode.AddNodeConstructor(\"FollowCamera\", (name, scene) => {\r\n return () => new FollowCamera(name, Vector3.Zero(), scene);\r\n});\r\n\r\nNode.AddNodeConstructor(\"ArcFollowCamera\", (name, scene) => {\r\n return () => new ArcFollowCamera(name, 0, 0, 1.0, null, scene);\r\n});\r\n\r\n/**\r\n * A follow camera takes a mesh as a target and follows it as it moves. Both a free camera version followCamera and\r\n * an arc rotate version arcFollowCamera are available.\r\n * @see https://doc.babylonjs.com/features/cameras#follow-camera\r\n */\r\nexport class FollowCamera extends TargetCamera {\r\n /**\r\n * Distance the follow camera should follow an object at\r\n */\r\n @serialize()\r\n public radius: number = 12;\r\n\r\n /**\r\n * Minimum allowed distance of the camera to the axis of rotation\r\n * (The camera can not get closer).\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public lowerRadiusLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Maximum allowed distance of the camera to the axis of rotation\r\n * (The camera can not get further).\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public upperRadiusLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Define a rotation offset between the camera and the object it follows\r\n */\r\n @serialize()\r\n public rotationOffset: number = 0;\r\n\r\n /**\r\n * Minimum allowed angle to camera position relative to target object.\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public lowerRotationOffsetLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Maximum allowed angle to camera position relative to target object.\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public upperRotationOffsetLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Define a height offset between the camera and the object it follows.\r\n * It can help following an object from the top (like a car chasing a plane)\r\n */\r\n @serialize()\r\n public heightOffset: number = 4;\r\n\r\n /**\r\n * Minimum allowed height of camera position relative to target object.\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public lowerHeightOffsetLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Maximum allowed height of camera position relative to target object.\r\n * This can help limiting how the Camera is able to move in the scene.\r\n */\r\n @serialize()\r\n public upperHeightOffsetLimit: Nullable<number> = null;\r\n\r\n /**\r\n * Define how fast the camera can accelerate to follow it s target.\r\n */\r\n @serialize()\r\n public cameraAcceleration: number = 0.05;\r\n\r\n /**\r\n * Define the speed limit of the camera following an object.\r\n */\r\n @serialize()\r\n public maxCameraSpeed: number = 20;\r\n\r\n /**\r\n * Define the target of the camera.\r\n */\r\n @serializeAsMeshReference(\"lockedTargetId\")\r\n public lockedTarget: Nullable<AbstractMesh>;\r\n\r\n /**\r\n * Defines the input associated with the camera.\r\n */\r\n public inputs: FollowCameraInputsManager;\r\n\r\n /**\r\n * Instantiates the follow camera.\r\n * @see https://doc.babylonjs.com/features/cameras#follow-camera\r\n * @param name Define the name of the camera in the scene\r\n * @param position Define the position of the camera\r\n * @param scene Define the scene the camera belong to\r\n * @param lockedTarget Define the target of the camera\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene, lockedTarget: Nullable<AbstractMesh> = null) {\r\n super(name, position, scene);\r\n\r\n this.lockedTarget = lockedTarget;\r\n this.inputs = new FollowCameraInputsManager(this);\r\n this.inputs.addKeyboard().addMouseWheel().addPointers();\r\n // Uncomment the following line when the relevant handlers have been implemented.\r\n // this.inputs.addKeyboard().addMouseWheel().addPointers().addVRDeviceOrientation();\r\n }\r\n\r\n private _follow(cameraTarget: AbstractMesh) {\r\n if (!cameraTarget) {\r\n return;\r\n }\r\n\r\n const rotMatrix = TmpVectors.Matrix[0];\r\n cameraTarget.absoluteRotationQuaternion.toRotationMatrix(rotMatrix);\r\n const yRotation = Math.atan2(rotMatrix.m[8], rotMatrix.m[10]);\r\n\r\n const radians = Tools.ToRadians(this.rotationOffset) + yRotation;\r\n const targetPosition = cameraTarget.getAbsolutePosition();\r\n const targetX: number = targetPosition.x + Math.sin(radians) * this.radius;\r\n\r\n const targetZ: number = targetPosition.z + Math.cos(radians) * this.radius;\r\n const dx: number = targetX - this.position.x;\r\n const dy: number = targetPosition.y + this.heightOffset - this.position.y;\r\n const dz: number = targetZ - this.position.z;\r\n let vx: number = dx * this.cameraAcceleration * 2; //this is set to .05\r\n let vy: number = dy * this.cameraAcceleration;\r\n let vz: number = dz * this.cameraAcceleration * 2;\r\n\r\n if (vx > this.maxCameraSpeed || vx < -this.maxCameraSpeed) {\r\n vx = vx < 1 ? -this.maxCameraSpeed : this.maxCameraSpeed;\r\n }\r\n\r\n if (vy > this.maxCameraSpeed || vy < -this.maxCameraSpeed) {\r\n vy = vy < 1 ? -this.maxCameraSpeed : this.maxCameraSpeed;\r\n }\r\n\r\n if (vz > this.maxCameraSpeed || vz < -this.maxCameraSpeed) {\r\n vz = vz < 1 ? -this.maxCameraSpeed : this.maxCameraSpeed;\r\n }\r\n\r\n this.position = new Vector3(this.position.x + vx, this.position.y + vy, this.position.z + vz);\r\n this.setTarget(targetPosition);\r\n }\r\n\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(noPreventDefault?: boolean): void;\r\n /**\r\n * Attached controls to the current camera.\r\n * @param ignored defines an ignored parameter kept for backward compatibility.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(ignored: any, noPreventDefault?: boolean): void {\r\n // eslint-disable-next-line prefer-rest-params\r\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\r\n this.inputs.attachElement(noPreventDefault);\r\n\r\n this._reset = () => {};\r\n }\r\n\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n */\r\n public detachControl(): void {\r\n this.inputs.detachElement();\r\n\r\n if (this._reset) {\r\n this._reset();\r\n }\r\n }\r\n\r\n /** @internal */\r\n public _checkInputs(): void {\r\n this.inputs.checkInputs();\r\n this._checkLimits();\r\n super._checkInputs();\r\n if (this.lockedTarget) {\r\n this._follow(this.lockedTarget);\r\n }\r\n }\r\n\r\n private _checkLimits() {\r\n if (this.lowerRadiusLimit !== null && this.radius < this.lowerRadiusLimit) {\r\n this.radius = this.lowerRadiusLimit;\r\n }\r\n if (this.upperRadiusLimit !== null && this.radius > this.upperRadiusLimit) {\r\n this.radius = this.upperRadiusLimit;\r\n }\r\n\r\n if (this.lowerHeightOffsetLimit !== null && this.heightOffset < this.lowerHeightOffsetLimit) {\r\n this.heightOffset = this.lowerHeightOffsetLimit;\r\n }\r\n if (this.upperHeightOffsetLimit !== null && this.heightOffset > this.upperHeightOffsetLimit) {\r\n this.heightOffset = this.upperHeightOffsetLimit;\r\n }\r\n\r\n if (this.lowerRotationOffsetLimit !== null && this.rotationOffset < this.lowerRotationOffsetLimit) {\r\n this.rotationOffset = this.lowerRotationOffsetLimit;\r\n }\r\n if (this.upperRotationOffsetLimit !== null && this.rotationOffset > this.upperRotationOffsetLimit) {\r\n this.rotationOffset = this.upperRotationOffsetLimit;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the camera class name.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"FollowCamera\";\r\n }\r\n}\r\n\r\n/**\r\n * Arc Rotate version of the follow camera.\r\n * It still follows a Defined mesh but in an Arc Rotate Camera fashion.\r\n * @see https://doc.babylonjs.com/features/cameras#follow-camera\r\n */\r\nexport class ArcFollowCamera extends TargetCamera {\r\n private _cartesianCoordinates: Vector3 = Vector3.Zero();\r\n\r\n /** Define the camera target (the mesh it should follow) */\r\n private _meshTarget: Nullable<AbstractMesh>;\r\n\r\n /**\r\n * Instantiates a new ArcFollowCamera\r\n * @see https://doc.babylonjs.com/features/cameras#follow-camera\r\n * @param name Define the name of the camera\r\n * @param alpha Define the rotation angle of the camera around the longitudinal axis\r\n * @param beta Define the rotation angle of the camera around the elevation axis\r\n * @param radius Define the radius of the camera from its target point\r\n * @param target Define the target of the camera\r\n * @param scene Define the scene the camera belongs to\r\n */\r\n constructor(\r\n name: string,\r\n /** The longitudinal angle of the camera */\r\n public alpha: number,\r\n /** The latitudinal angle of the camera */\r\n public beta: number,\r\n /** The radius of the camera from its target */\r\n public radius: number,\r\n /** Define the camera target (the mesh it should follow) */\r\n target: Nullable<AbstractMesh>,\r\n scene: Scene\r\n ) {\r\n super(name, Vector3.Zero(), scene);\r\n this.setMeshTarget(target);\r\n }\r\n\r\n /**\r\n * Sets the mesh to follow with this camera.\r\n * @param target the target to follow\r\n */\r\n public setMeshTarget(target: Nullable<AbstractMesh>) {\r\n this._meshTarget = target;\r\n this._follow();\r\n }\r\n\r\n private _follow(): void {\r\n if (!this._meshTarget) {\r\n return;\r\n }\r\n this._cartesianCoordinates.x = this.radius * Math.cos(this.alpha) * Math.cos(this.beta);\r\n this._cartesianCoordinates.y = this.radius * Math.sin(this.beta);\r\n this._cartesianCoordinates.z = this.radius * Math.sin(this.alpha) * Math.cos(this.beta);\r\n\r\n const targetPosition = this._meshTarget.getAbsolutePosition();\r\n this.position = targetPosition.add(this._cartesianCoordinates);\r\n this.setTarget(targetPosition);\r\n }\r\n\r\n /** @internal */\r\n public _checkInputs(): void {\r\n super._checkInputs();\r\n this._follow();\r\n }\r\n\r\n /**\r\n * Returns the class name of the object.\r\n * It is mostly used internally for serialization purposes.\r\n */\r\n public getClassName(): string {\r\n return \"ArcFollowCamera\";\r\n }\r\n}\r\n"]}
@@ -92,9 +92,9 @@ export declare class FreeCamera extends TargetCamera {
92
92
  private _oldPosition;
93
93
  private _diffPosition;
94
94
  private _newPosition;
95
- /** @hidden */
95
+ /** @internal */
96
96
  _localDirection: Vector3;
97
- /** @hidden */
97
+ /** @internal */
98
98
  _transformedDirection: Vector3;
99
99
  /**
100
100
  * Instantiates a Free Camera.
@@ -130,16 +130,15 @@ export declare class FreeCamera extends TargetCamera {
130
130
  get collisionMask(): number;
131
131
  set collisionMask(mask: number);
132
132
  /**
133
- * @param displacement
134
- * @hidden
133
+ * @internal
135
134
  */
136
135
  _collideWithWorld(displacement: Vector3): void;
137
136
  private _onCollisionPositionChange;
138
- /** @hidden */
137
+ /** @internal */
139
138
  _checkInputs(): void;
140
- /** @hidden */
139
+ /** @internal */
141
140
  _decideIfNeedsToMove(): boolean;
142
- /** @hidden */
141
+ /** @internal */
143
142
  _updatePosition(): void;
144
143
  /**
145
144
  * Destroy the camera and release the current resources hold by it.
@@ -242,8 +242,7 @@ export class FreeCamera extends TargetCamera {
242
242
  this._collisionMask = !isNaN(mask) ? mask : -1;
243
243
  }
244
244
  /**
245
- * @param displacement
246
- * @hidden
245
+ * @internal
247
246
  */
248
247
  _collideWithWorld(displacement) {
249
248
  let globalPosition;
@@ -270,7 +269,7 @@ export class FreeCamera extends TargetCamera {
270
269
  }
271
270
  coordinator.getNewPosition(this._oldPosition, actualDisplacement, this._collider, 3, null, this._onCollisionPositionChange, this.uniqueId);
272
271
  }
273
- /** @hidden */
272
+ /** @internal */
274
273
  _checkInputs() {
275
274
  if (!this._localDirection) {
276
275
  this._localDirection = Vector3.Zero();
@@ -279,11 +278,11 @@ export class FreeCamera extends TargetCamera {
279
278
  this.inputs.checkInputs();
280
279
  super._checkInputs();
281
280
  }
282
- /** @hidden */
281
+ /** @internal */
283
282
  _decideIfNeedsToMove() {
284
283
  return this._needMoveForGravity || Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0;
285
284
  }
286
- /** @hidden */
285
+ /** @internal */
287
286
  _updatePosition() {
288
287
  if (this.checkCollisions && this.getScene().collisionsEnabled) {
289
288
  this._collideWithWorld(this.cameraDirection);
@@ -1 +1 @@
1
- {"version":3,"file":"freeCamera.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Cameras/freeCamera.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport { serializeAsVector3, serialize } from \"../Misc/decorators\";\r\nimport { Vector3, Vector2 } from \"../Maths/math.vector\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport type { Scene } from \"../scene\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { TargetCamera } from \"./targetCamera\";\r\nimport { FreeCameraInputsManager } from \"./freeCameraInputsManager\";\r\nimport type { FreeCameraMouseInput } from \"../Cameras/Inputs/freeCameraMouseInput\";\r\nimport type { FreeCameraKeyboardMoveInput } from \"../Cameras/Inputs/freeCameraKeyboardMoveInput\";\r\nimport { Tools } from \"../Misc/tools\";\r\n\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\n\r\n/**\r\n * This represents a free type of camera. It can be useful in First Person Shooter game for instance.\r\n * Please consider using the new UniversalCamera instead as it adds more functionality like the gamepad.\r\n * @see https://doc.babylonjs.com/features/cameras#universal-camera\r\n */\r\nexport class FreeCamera extends TargetCamera {\r\n /**\r\n * Define the collision ellipsoid of the camera.\r\n * This is helpful to simulate a camera body like the player body around the camera\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity#arcrotatecamera\r\n */\r\n @serializeAsVector3()\r\n public ellipsoid = new Vector3(0.5, 1, 0.5);\r\n\r\n /**\r\n * Define an offset for the position of the ellipsoid around the camera.\r\n * This can be helpful to determine the center of the body near the gravity center of the body\r\n * instead of its head.\r\n */\r\n @serializeAsVector3()\r\n public ellipsoidOffset = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Enable or disable collisions of the camera with the rest of the scene objects.\r\n */\r\n @serialize()\r\n public checkCollisions = false;\r\n\r\n /**\r\n * Enable or disable gravity on the camera.\r\n */\r\n @serialize()\r\n public applyGravity = false;\r\n\r\n /**\r\n * Define the input manager associated to the camera.\r\n */\r\n public inputs: FreeCameraInputsManager;\r\n\r\n /**\r\n * Gets the input sensibility for a mouse input. (default is 2000.0)\r\n * Higher values reduce sensitivity.\r\n */\r\n public get angularSensibility(): number {\r\n const mouse = <FreeCameraMouseInput>this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n return mouse.angularSensibility;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n /**\r\n * Sets the input sensibility for a mouse input. (default is 2000.0)\r\n * Higher values reduce sensitivity.\r\n */\r\n public set angularSensibility(value: number) {\r\n const mouse = <FreeCameraMouseInput>this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n mouse.angularSensibility = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the forward move of the camera.\r\n */\r\n public get keysUp(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysUp;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysUp(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysUp = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the upward move of the camera.\r\n */\r\n public get keysUpward(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysUpward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysUpward(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysUpward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the backward move of the camera.\r\n */\r\n public get keysDown(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysDown;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysDown(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysDown = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the downward move of the camera.\r\n */\r\n public get keysDownward(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysDownward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysDownward(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysDownward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the left strafe move of the camera.\r\n */\r\n public get keysLeft(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysLeft;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysLeft(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysLeft = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the right strafe move of the camera.\r\n */\r\n public get keysRight(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysRight;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysRight(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysRight = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the left rotation move of the camera.\r\n */\r\n public get keysRotateLeft(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysRotateLeft;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysRotateLeft(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysRotateLeft = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the right rotation move of the camera.\r\n */\r\n public get keysRotateRight(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysRotateRight;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysRotateRight(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysRotateRight = value;\r\n }\r\n }\r\n\r\n /**\r\n * Event raised when the camera collide with a mesh in the scene.\r\n */\r\n public onCollide: (collidedMesh: AbstractMesh) => void;\r\n\r\n private _collider: Collider;\r\n private _needMoveForGravity = false;\r\n private _oldPosition = Vector3.Zero();\r\n private _diffPosition = Vector3.Zero();\r\n private _newPosition = Vector3.Zero();\r\n\r\n /** @hidden */\r\n public _localDirection: Vector3;\r\n /** @hidden */\r\n public _transformedDirection: Vector3;\r\n\r\n /**\r\n * Instantiates a Free Camera.\r\n * This represents a free type of camera. It can be useful in First Person Shooter game for instance.\r\n * Please consider using the new UniversalCamera instead as it adds more functionality like touch to this camera.\r\n * @see https://doc.babylonjs.com/features/cameras#universal-camera\r\n * @param name Define the name of the camera in the scene\r\n * @param position Define the start position of the camera in the scene\r\n * @param scene Define the scene the camera belongs to\r\n * @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active if not other active cameras have been defined\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene, setActiveOnSceneIfNoneActive = true) {\r\n super(name, position, scene, setActiveOnSceneIfNoneActive);\r\n this.inputs = new FreeCameraInputsManager(this);\r\n this.inputs.addKeyboard().addMouse();\r\n }\r\n\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(noPreventDefault?: boolean): void;\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param ignored defines an ignored parameter kept for backward compatibility.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n * BACK COMPAT SIGNATURE ONLY.\r\n */\r\n public attachControl(ignored: any, noPreventDefault?: boolean): void;\r\n /**\r\n * Attached controls to the current camera.\r\n * @param ignored defines an ignored parameter kept for backward compatibility.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(ignored?: any, noPreventDefault?: boolean): void {\r\n // eslint-disable-next-line prefer-rest-params\r\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\r\n this.inputs.attachElement(noPreventDefault);\r\n }\r\n\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n */\r\n public detachControl(): void {\r\n this.inputs.detachElement();\r\n\r\n this.cameraDirection = new Vector3(0, 0, 0);\r\n this.cameraRotation = new Vector2(0, 0);\r\n }\r\n\r\n // Collisions\r\n private _collisionMask = -1;\r\n\r\n /**\r\n * Define a collision mask to limit the list of object the camera can collide with\r\n */\r\n public get collisionMask(): number {\r\n return this._collisionMask;\r\n }\r\n\r\n public set collisionMask(mask: number) {\r\n this._collisionMask = !isNaN(mask) ? mask : -1;\r\n }\r\n\r\n /**\r\n * @param displacement\r\n * @hidden\r\n */\r\n public _collideWithWorld(displacement: Vector3): void {\r\n let globalPosition: Vector3;\r\n\r\n if (this.parent) {\r\n globalPosition = Vector3.TransformCoordinates(this.position, this.parent.getWorldMatrix());\r\n } else {\r\n globalPosition = this.position;\r\n }\r\n\r\n globalPosition.subtractFromFloatsToRef(0, this.ellipsoid.y, 0, this._oldPosition);\r\n this._oldPosition.addInPlace(this.ellipsoidOffset);\r\n\r\n const coordinator = this.getScene().collisionCoordinator;\r\n if (!this._collider) {\r\n this._collider = coordinator.createCollider();\r\n }\r\n\r\n this._collider._radius = this.ellipsoid;\r\n this._collider.collisionMask = this._collisionMask;\r\n\r\n //no need for clone, as long as gravity is not on.\r\n let actualDisplacement = displacement;\r\n\r\n //add gravity to the direction to prevent the dual-collision checking\r\n if (this.applyGravity) {\r\n //this prevents mending with cameraDirection, a global variable of the free camera class.\r\n actualDisplacement = displacement.add(this.getScene().gravity);\r\n }\r\n\r\n coordinator.getNewPosition(this._oldPosition, actualDisplacement, this._collider, 3, null, this._onCollisionPositionChange, this.uniqueId);\r\n }\r\n\r\n private _onCollisionPositionChange = (collisionId: number, newPosition: Vector3, collidedMesh: Nullable<AbstractMesh> = null) => {\r\n const updatePosition = (newPos: Vector3) => {\r\n this._newPosition.copyFrom(newPos);\r\n\r\n this._newPosition.subtractToRef(this._oldPosition, this._diffPosition);\r\n\r\n if (this._diffPosition.length() > Engine.CollisionsEpsilon) {\r\n this.position.addInPlace(this._diffPosition);\r\n if (this.onCollide && collidedMesh) {\r\n this.onCollide(collidedMesh);\r\n }\r\n }\r\n };\r\n\r\n updatePosition(newPosition);\r\n };\r\n\r\n /** @hidden */\r\n public _checkInputs(): void {\r\n if (!this._localDirection) {\r\n this._localDirection = Vector3.Zero();\r\n this._transformedDirection = Vector3.Zero();\r\n }\r\n\r\n this.inputs.checkInputs();\r\n\r\n super._checkInputs();\r\n }\r\n\r\n /** @hidden */\r\n public _decideIfNeedsToMove(): boolean {\r\n return this._needMoveForGravity || Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0;\r\n }\r\n\r\n /** @hidden */\r\n public _updatePosition(): void {\r\n if (this.checkCollisions && this.getScene().collisionsEnabled) {\r\n this._collideWithWorld(this.cameraDirection);\r\n } else {\r\n super._updatePosition();\r\n }\r\n }\r\n\r\n /**\r\n * Destroy the camera and release the current resources hold by it.\r\n */\r\n public dispose(): void {\r\n this.inputs.clear();\r\n super.dispose();\r\n }\r\n\r\n /**\r\n * Gets the current object class name.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"FreeCamera\";\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"freeCamera.js","sourceRoot":"","sources":["../../../../../lts/core/generated/Cameras/freeCamera.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../types\";\r\nimport { serializeAsVector3, serialize } from \"../Misc/decorators\";\r\nimport { Vector3, Vector2 } from \"../Maths/math.vector\";\r\nimport type { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport type { Scene } from \"../scene\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { TargetCamera } from \"./targetCamera\";\r\nimport { FreeCameraInputsManager } from \"./freeCameraInputsManager\";\r\nimport type { FreeCameraMouseInput } from \"../Cameras/Inputs/freeCameraMouseInput\";\r\nimport type { FreeCameraKeyboardMoveInput } from \"../Cameras/Inputs/freeCameraKeyboardMoveInput\";\r\nimport { Tools } from \"../Misc/tools\";\r\n\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\n\r\n/**\r\n * This represents a free type of camera. It can be useful in First Person Shooter game for instance.\r\n * Please consider using the new UniversalCamera instead as it adds more functionality like the gamepad.\r\n * @see https://doc.babylonjs.com/features/cameras#universal-camera\r\n */\r\nexport class FreeCamera extends TargetCamera {\r\n /**\r\n * Define the collision ellipsoid of the camera.\r\n * This is helpful to simulate a camera body like the player body around the camera\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity#arcrotatecamera\r\n */\r\n @serializeAsVector3()\r\n public ellipsoid = new Vector3(0.5, 1, 0.5);\r\n\r\n /**\r\n * Define an offset for the position of the ellipsoid around the camera.\r\n * This can be helpful to determine the center of the body near the gravity center of the body\r\n * instead of its head.\r\n */\r\n @serializeAsVector3()\r\n public ellipsoidOffset = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Enable or disable collisions of the camera with the rest of the scene objects.\r\n */\r\n @serialize()\r\n public checkCollisions = false;\r\n\r\n /**\r\n * Enable or disable gravity on the camera.\r\n */\r\n @serialize()\r\n public applyGravity = false;\r\n\r\n /**\r\n * Define the input manager associated to the camera.\r\n */\r\n public inputs: FreeCameraInputsManager;\r\n\r\n /**\r\n * Gets the input sensibility for a mouse input. (default is 2000.0)\r\n * Higher values reduce sensitivity.\r\n */\r\n public get angularSensibility(): number {\r\n const mouse = <FreeCameraMouseInput>this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n return mouse.angularSensibility;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n /**\r\n * Sets the input sensibility for a mouse input. (default is 2000.0)\r\n * Higher values reduce sensitivity.\r\n */\r\n public set angularSensibility(value: number) {\r\n const mouse = <FreeCameraMouseInput>this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n mouse.angularSensibility = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the forward move of the camera.\r\n */\r\n public get keysUp(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysUp;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysUp(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysUp = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the upward move of the camera.\r\n */\r\n public get keysUpward(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysUpward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysUpward(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysUpward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the backward move of the camera.\r\n */\r\n public get keysDown(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysDown;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysDown(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysDown = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the downward move of the camera.\r\n */\r\n public get keysDownward(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysDownward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysDownward(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysDownward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the left strafe move of the camera.\r\n */\r\n public get keysLeft(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysLeft;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysLeft(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysLeft = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the right strafe move of the camera.\r\n */\r\n public get keysRight(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysRight;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysRight(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysRight = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the left rotation move of the camera.\r\n */\r\n public get keysRotateLeft(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysRotateLeft;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysRotateLeft(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysRotateLeft = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the right rotation move of the camera.\r\n */\r\n public get keysRotateRight(): number[] {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysRotateRight;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysRotateRight(value: number[]) {\r\n const keyboard = <FreeCameraKeyboardMoveInput>this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysRotateRight = value;\r\n }\r\n }\r\n\r\n /**\r\n * Event raised when the camera collide with a mesh in the scene.\r\n */\r\n public onCollide: (collidedMesh: AbstractMesh) => void;\r\n\r\n private _collider: Collider;\r\n private _needMoveForGravity = false;\r\n private _oldPosition = Vector3.Zero();\r\n private _diffPosition = Vector3.Zero();\r\n private _newPosition = Vector3.Zero();\r\n\r\n /** @internal */\r\n public _localDirection: Vector3;\r\n /** @internal */\r\n public _transformedDirection: Vector3;\r\n\r\n /**\r\n * Instantiates a Free Camera.\r\n * This represents a free type of camera. It can be useful in First Person Shooter game for instance.\r\n * Please consider using the new UniversalCamera instead as it adds more functionality like touch to this camera.\r\n * @see https://doc.babylonjs.com/features/cameras#universal-camera\r\n * @param name Define the name of the camera in the scene\r\n * @param position Define the start position of the camera in the scene\r\n * @param scene Define the scene the camera belongs to\r\n * @param setActiveOnSceneIfNoneActive Defines whether the camera should be marked as active if not other active cameras have been defined\r\n */\r\n constructor(name: string, position: Vector3, scene?: Scene, setActiveOnSceneIfNoneActive = true) {\r\n super(name, position, scene, setActiveOnSceneIfNoneActive);\r\n this.inputs = new FreeCameraInputsManager(this);\r\n this.inputs.addKeyboard().addMouse();\r\n }\r\n\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(noPreventDefault?: boolean): void;\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param ignored defines an ignored parameter kept for backward compatibility.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n * BACK COMPAT SIGNATURE ONLY.\r\n */\r\n public attachControl(ignored: any, noPreventDefault?: boolean): void;\r\n /**\r\n * Attached controls to the current camera.\r\n * @param ignored defines an ignored parameter kept for backward compatibility.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(ignored?: any, noPreventDefault?: boolean): void {\r\n // eslint-disable-next-line prefer-rest-params\r\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\r\n this.inputs.attachElement(noPreventDefault);\r\n }\r\n\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n */\r\n public detachControl(): void {\r\n this.inputs.detachElement();\r\n\r\n this.cameraDirection = new Vector3(0, 0, 0);\r\n this.cameraRotation = new Vector2(0, 0);\r\n }\r\n\r\n // Collisions\r\n private _collisionMask = -1;\r\n\r\n /**\r\n * Define a collision mask to limit the list of object the camera can collide with\r\n */\r\n public get collisionMask(): number {\r\n return this._collisionMask;\r\n }\r\n\r\n public set collisionMask(mask: number) {\r\n this._collisionMask = !isNaN(mask) ? mask : -1;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _collideWithWorld(displacement: Vector3): void {\r\n let globalPosition: Vector3;\r\n\r\n if (this.parent) {\r\n globalPosition = Vector3.TransformCoordinates(this.position, this.parent.getWorldMatrix());\r\n } else {\r\n globalPosition = this.position;\r\n }\r\n\r\n globalPosition.subtractFromFloatsToRef(0, this.ellipsoid.y, 0, this._oldPosition);\r\n this._oldPosition.addInPlace(this.ellipsoidOffset);\r\n\r\n const coordinator = this.getScene().collisionCoordinator;\r\n if (!this._collider) {\r\n this._collider = coordinator.createCollider();\r\n }\r\n\r\n this._collider._radius = this.ellipsoid;\r\n this._collider.collisionMask = this._collisionMask;\r\n\r\n //no need for clone, as long as gravity is not on.\r\n let actualDisplacement = displacement;\r\n\r\n //add gravity to the direction to prevent the dual-collision checking\r\n if (this.applyGravity) {\r\n //this prevents mending with cameraDirection, a global variable of the free camera class.\r\n actualDisplacement = displacement.add(this.getScene().gravity);\r\n }\r\n\r\n coordinator.getNewPosition(this._oldPosition, actualDisplacement, this._collider, 3, null, this._onCollisionPositionChange, this.uniqueId);\r\n }\r\n\r\n private _onCollisionPositionChange = (collisionId: number, newPosition: Vector3, collidedMesh: Nullable<AbstractMesh> = null) => {\r\n const updatePosition = (newPos: Vector3) => {\r\n this._newPosition.copyFrom(newPos);\r\n\r\n this._newPosition.subtractToRef(this._oldPosition, this._diffPosition);\r\n\r\n if (this._diffPosition.length() > Engine.CollisionsEpsilon) {\r\n this.position.addInPlace(this._diffPosition);\r\n if (this.onCollide && collidedMesh) {\r\n this.onCollide(collidedMesh);\r\n }\r\n }\r\n };\r\n\r\n updatePosition(newPosition);\r\n };\r\n\r\n /** @internal */\r\n public _checkInputs(): void {\r\n if (!this._localDirection) {\r\n this._localDirection = Vector3.Zero();\r\n this._transformedDirection = Vector3.Zero();\r\n }\r\n\r\n this.inputs.checkInputs();\r\n\r\n super._checkInputs();\r\n }\r\n\r\n /** @internal */\r\n public _decideIfNeedsToMove(): boolean {\r\n return this._needMoveForGravity || Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0;\r\n }\r\n\r\n /** @internal */\r\n public _updatePosition(): void {\r\n if (this.checkCollisions && this.getScene().collisionsEnabled) {\r\n this._collideWithWorld(this.cameraDirection);\r\n } else {\r\n super._updatePosition();\r\n }\r\n }\r\n\r\n /**\r\n * Destroy the camera and release the current resources hold by it.\r\n */\r\n public dispose(): void {\r\n this.inputs.clear();\r\n super.dispose();\r\n }\r\n\r\n /**\r\n * Gets the current object class name.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"FreeCamera\";\r\n }\r\n}\r\n"]}
@@ -10,11 +10,11 @@ import type { Nullable } from "../types";
10
10
  */
11
11
  export declare class FreeCameraInputsManager extends CameraInputsManager<FreeCamera> {
12
12
  /**
13
- * @hidden
13
+ * @internal
14
14
  */
15
15
  _mouseInput: Nullable<FreeCameraMouseInput>;
16
16
  /**
17
- * @hidden
17
+ * @internal
18
18
  */
19
19
  _mouseWheelInput: Nullable<FreeCameraMouseWheelInput>;
20
20
  /**
@@ -16,11 +16,11 @@ export class FreeCameraInputsManager extends CameraInputsManager {
16
16
  constructor(camera) {
17
17
  super(camera);
18
18
  /**
19
- * @hidden
19
+ * @internal
20
20
  */
21
21
  this._mouseInput = null;
22
22
  /**
23
- * @hidden
23
+ * @internal
24
24
  */
25
25
  this._mouseWheelInput = null;
26
26
  }