@babylonjs/core 6.23.1 → 6.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/Buffers/buffer.align.d.ts +25 -0
  2. package/Buffers/buffer.align.js +120 -0
  3. package/Buffers/buffer.align.js.map +1 -0
  4. package/Buffers/buffer.d.ts +15 -3
  5. package/Buffers/buffer.js +27 -7
  6. package/Buffers/buffer.js.map +1 -1
  7. package/Buffers/index.d.ts +1 -0
  8. package/Buffers/index.js +1 -0
  9. package/Buffers/index.js.map +1 -1
  10. package/Cameras/Inputs/BaseCameraPointersInput.js +0 -3
  11. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  12. package/Cameras/Inputs/flyCameraMouseInput.js +1 -4
  13. package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
  14. package/Cameras/Inputs/freeCameraMouseInput.js +0 -6
  15. package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
  16. package/Cameras/RigModes/index.d.ts +0 -1
  17. package/Cameras/RigModes/index.js +0 -1
  18. package/Cameras/RigModes/index.js.map +1 -1
  19. package/Cameras/RigModes/vrRigMode.js +1 -1
  20. package/Cameras/RigModes/vrRigMode.js.map +1 -1
  21. package/Cameras/VR/index.d.ts +0 -1
  22. package/Cameras/VR/index.js +0 -1
  23. package/Cameras/VR/index.js.map +1 -1
  24. package/Cameras/VR/vrExperienceHelper.d.ts +7 -66
  25. package/Cameras/VR/vrExperienceHelper.js +17 -702
  26. package/Cameras/VR/vrExperienceHelper.js.map +1 -1
  27. package/Cameras/camera.d.ts +15 -20
  28. package/Cameras/camera.js +41 -36
  29. package/Cameras/camera.js.map +1 -1
  30. package/Cameras/targetCamera.js +1 -1
  31. package/Cameras/targetCamera.js.map +1 -1
  32. package/Engines/Extensions/index.d.ts +0 -1
  33. package/Engines/Extensions/index.js +0 -1
  34. package/Engines/Extensions/index.js.map +1 -1
  35. package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +4 -0
  36. package/Engines/WebGL/webGLRenderTargetWrapper.js +4 -0
  37. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  38. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +8 -7
  39. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  40. package/Engines/WebGPU/webgpuCacheSampler.js +1 -1
  41. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  42. package/Engines/constants.d.ts +0 -4
  43. package/Engines/constants.js +0 -4
  44. package/Engines/constants.js.map +1 -1
  45. package/Engines/engine.d.ts +38 -258
  46. package/Engines/engine.js +0 -65
  47. package/Engines/engine.js.map +1 -1
  48. package/Engines/engineFactory.js +9 -14
  49. package/Engines/engineFactory.js.map +1 -1
  50. package/Engines/engineFeatures.d.ts +2 -0
  51. package/Engines/engineFeatures.js.map +1 -1
  52. package/Engines/nativeEngine.js +1 -0
  53. package/Engines/nativeEngine.js.map +1 -1
  54. package/Engines/nullEngine.js +1 -0
  55. package/Engines/nullEngine.js.map +1 -1
  56. package/Engines/thinEngine.d.ts +22 -5
  57. package/Engines/thinEngine.js +55 -22
  58. package/Engines/thinEngine.js.map +1 -1
  59. package/Engines/webgpuEngine.d.ts +1 -0
  60. package/Engines/webgpuEngine.js +4 -2
  61. package/Engines/webgpuEngine.js.map +1 -1
  62. package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.d.ts +9 -8
  63. package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.js +34 -16
  64. package/FlowGraph/Blocks/Data/Logic/flowGraphBitwiseBlocks.js.map +1 -1
  65. package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.d.ts +4 -3
  66. package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.js +14 -6
  67. package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.js.map +1 -1
  68. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.d.ts +19 -14
  69. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js +64 -27
  70. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js.map +1 -1
  71. package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.d.ts +39 -41
  72. package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js +152 -74
  73. package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js.map +1 -1
  74. package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.d.ts +12 -12
  75. package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js +42 -21
  76. package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js.map +1 -1
  77. package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.d.ts +17 -14
  78. package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js +62 -26
  79. package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js.map +1 -1
  80. package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.d.ts +13 -10
  81. package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js +46 -18
  82. package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js.map +1 -1
  83. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.d.ts +4 -1
  84. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js +6 -2
  85. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js.map +1 -1
  86. package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.d.ts +3 -1
  87. package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js +7 -2
  88. package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js.map +1 -1
  89. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.d.ts +5 -3
  90. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js +10 -5
  91. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js.map +1 -1
  92. package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.d.ts +4 -1
  93. package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js +6 -2
  94. package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js.map +1 -1
  95. package/FlowGraph/Blocks/Data/flowGraphCoordinateTransformBlock.d.ts +3 -1
  96. package/FlowGraph/Blocks/Data/flowGraphCoordinateTransformBlock.js +7 -2
  97. package/FlowGraph/Blocks/Data/flowGraphCoordinateTransformBlock.js.map +1 -1
  98. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +3 -1
  99. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js +7 -2
  100. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
  101. package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.d.ts +4 -1
  102. package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js +6 -2
  103. package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js.map +1 -1
  104. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.d.ts +6 -2
  105. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js +12 -3
  106. package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -1
  107. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.d.ts +5 -3
  108. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +11 -6
  109. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
  110. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +1 -0
  111. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js +7 -2
  112. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js.map +1 -1
  113. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.d.ts +1 -0
  114. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js +7 -2
  115. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js.map +1 -1
  116. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +3 -1
  117. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js +7 -2
  118. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js.map +1 -1
  119. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +3 -1
  120. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +8 -3
  121. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
  122. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +3 -1
  123. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js +7 -2
  124. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js.map +1 -1
  125. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.d.ts +3 -1
  126. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js +7 -2
  127. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js.map +1 -1
  128. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.d.ts +3 -1
  129. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js +7 -2
  130. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js.map +1 -1
  131. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.d.ts +3 -1
  132. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js +7 -2
  133. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js.map +1 -1
  134. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +3 -1
  135. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +7 -2
  136. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
  137. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +3 -1
  138. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js +7 -2
  139. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -1
  140. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +3 -1
  141. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +7 -2
  142. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
  143. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.d.ts +3 -1
  144. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js +7 -2
  145. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js.map +1 -1
  146. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +3 -1
  147. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js +7 -2
  148. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -1
  149. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.d.ts +6 -3
  150. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js +22 -16
  151. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js.map +1 -1
  152. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.d.ts +7 -4
  153. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js +15 -10
  154. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js.map +1 -1
  155. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +3 -1
  156. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js +7 -2
  157. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -1
  158. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.d.ts +3 -1
  159. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js +8 -3
  160. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js.map +1 -1
  161. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +7 -4
  162. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js +14 -7
  163. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -1
  164. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +5 -3
  165. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +9 -4
  166. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
  167. package/FlowGraph/Blocks/Execution/flowGraphLogBlock.d.ts +3 -1
  168. package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js +7 -2
  169. package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js.map +1 -1
  170. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.d.ts +3 -1
  171. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js +8 -3
  172. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js.map +1 -1
  173. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.d.ts +3 -1
  174. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js +7 -2
  175. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js.map +1 -1
  176. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +3 -1
  177. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +7 -2
  178. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
  179. package/FlowGraph/flowGraph.d.ts +41 -3
  180. package/FlowGraph/flowGraph.js +135 -0
  181. package/FlowGraph/flowGraph.js.map +1 -1
  182. package/FlowGraph/flowGraphAsyncExecutionBlock.d.ts +2 -1
  183. package/FlowGraph/flowGraphAsyncExecutionBlock.js +2 -2
  184. package/FlowGraph/flowGraphAsyncExecutionBlock.js.map +1 -1
  185. package/FlowGraph/flowGraphBlock.d.ts +15 -3
  186. package/FlowGraph/flowGraphBlock.js +50 -7
  187. package/FlowGraph/flowGraphBlock.js.map +1 -1
  188. package/FlowGraph/flowGraphConnection.d.ts +34 -4
  189. package/FlowGraph/flowGraphConnection.js +49 -3
  190. package/FlowGraph/flowGraphConnection.js.map +1 -1
  191. package/FlowGraph/flowGraphContext.d.ts +25 -5
  192. package/FlowGraph/flowGraphContext.js +86 -4
  193. package/FlowGraph/flowGraphContext.js.map +1 -1
  194. package/FlowGraph/flowGraphCoordinator.d.ts +7 -1
  195. package/FlowGraph/flowGraphCoordinator.js +18 -2
  196. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  197. package/FlowGraph/flowGraphDataConnection.d.ts +4 -11
  198. package/FlowGraph/flowGraphDataConnection.js +16 -14
  199. package/FlowGraph/flowGraphDataConnection.js.map +1 -1
  200. package/FlowGraph/flowGraphExecutionBlock.d.ts +8 -3
  201. package/FlowGraph/flowGraphExecutionBlock.js +37 -6
  202. package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
  203. package/FlowGraph/flowGraphRichTypes.d.ts +5 -9
  204. package/FlowGraph/flowGraphRichTypes.js +29 -44
  205. package/FlowGraph/flowGraphRichTypes.js.map +1 -1
  206. package/FlowGraph/flowGraphSignalConnection.js +2 -0
  207. package/FlowGraph/flowGraphSignalConnection.js.map +1 -1
  208. package/FlowGraph/flowGraphVariableDefinitions.d.ts +22 -2
  209. package/FlowGraph/flowGraphVariableDefinitions.js +29 -0
  210. package/FlowGraph/flowGraphVariableDefinitions.js.map +1 -1
  211. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.d.ts +2 -1
  212. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js +2 -2
  213. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js.map +1 -1
  214. package/Gamepads/gamepadManager.js +0 -5
  215. package/Gamepads/gamepadManager.js.map +1 -1
  216. package/Gamepads/index.d.ts +0 -1
  217. package/Gamepads/index.js +0 -2
  218. package/Gamepads/index.js.map +1 -1
  219. package/Gizmos/gizmo.js +1 -4
  220. package/Gizmos/gizmo.js.map +1 -1
  221. package/Materials/GreasedLine/greasedLineMaterialDefaults.d.ts +24 -0
  222. package/Materials/GreasedLine/greasedLineMaterialDefaults.js +19 -0
  223. package/Materials/GreasedLine/greasedLineMaterialDefaults.js.map +1 -0
  224. package/Materials/GreasedLine/greasedLineMaterialInterfaces.d.ts +243 -0
  225. package/Materials/GreasedLine/greasedLineMaterialInterfaces.js +55 -0
  226. package/Materials/GreasedLine/greasedLineMaterialInterfaces.js.map +1 -0
  227. package/Materials/GreasedLine/greasedLinePluginMaterial.d.ts +253 -0
  228. package/Materials/{greasedLinePluginMaterial.js → GreasedLine/greasedLinePluginMaterial.js} +148 -205
  229. package/Materials/GreasedLine/greasedLinePluginMaterial.js.map +1 -0
  230. package/Materials/{greasedLineSimpleMaterial.d.ts → GreasedLine/greasedLineSimpleMaterial.d.ts} +20 -48
  231. package/Materials/{greasedLineSimpleMaterial.js → GreasedLine/greasedLineSimpleMaterial.js} +74 -91
  232. package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -0
  233. package/Materials/Node/Blocks/Input/prePassTextureBlock.d.ts +1 -1
  234. package/Materials/Node/Blocks/Input/prePassTextureBlock.js.map +1 -1
  235. package/Materials/Textures/texture.js +1 -0
  236. package/Materials/Textures/texture.js.map +1 -1
  237. package/Materials/index.d.ts +4 -1
  238. package/Materials/index.js +4 -1
  239. package/Materials/index.js.map +1 -1
  240. package/Maths/math.vector.d.ts +32 -22
  241. package/Maths/math.vector.js +54 -43
  242. package/Maths/math.vector.js.map +1 -1
  243. package/Meshes/Builders/greasedLineBuilder.d.ts +7 -6
  244. package/Meshes/Builders/greasedLineBuilder.js +65 -31
  245. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  246. package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +216 -0
  247. package/Meshes/GreasedLine/greasedLineBaseMesh.js +247 -0
  248. package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -0
  249. package/Meshes/GreasedLine/greasedLineMesh.d.ts +92 -0
  250. package/Meshes/{greasedLineMesh.js → GreasedLine/greasedLineMesh.js} +29 -223
  251. package/Meshes/GreasedLine/greasedLineMesh.js.map +1 -0
  252. package/Meshes/GreasedLine/greasedLineRibbonMesh.d.ts +107 -0
  253. package/Meshes/GreasedLine/greasedLineRibbonMesh.js +462 -0
  254. package/Meshes/GreasedLine/greasedLineRibbonMesh.js.map +1 -0
  255. package/Meshes/Node/Blocks/Sources/meshBlock.d.ts +9 -2
  256. package/Meshes/Node/Blocks/Sources/meshBlock.js +17 -5
  257. package/Meshes/Node/Blocks/Sources/meshBlock.js.map +1 -1
  258. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.d.ts +15 -0
  259. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js +50 -1
  260. package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js.map +1 -1
  261. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js +5 -5
  262. package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js.map +1 -1
  263. package/Meshes/Node/nodeGeometry.d.ts +1 -2
  264. package/Meshes/Node/nodeGeometry.js +3 -4
  265. package/Meshes/Node/nodeGeometry.js.map +1 -1
  266. package/Meshes/Node/nodeGeometryBlock.d.ts +1 -2
  267. package/Meshes/Node/nodeGeometryBlock.js +1 -2
  268. package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
  269. package/Meshes/geometry.js +6 -12
  270. package/Meshes/geometry.js.map +1 -1
  271. package/Meshes/index.d.ts +3 -1
  272. package/Meshes/index.js +3 -1
  273. package/Meshes/index.js.map +1 -1
  274. package/Meshes/mesh.d.ts +4 -0
  275. package/Meshes/mesh.js +7 -0
  276. package/Meshes/mesh.js.map +1 -1
  277. package/Misc/deepCopier.js +3 -0
  278. package/Misc/deepCopier.js.map +1 -1
  279. package/Misc/greasedLineTools.d.ts +52 -5
  280. package/Misc/greasedLineTools.js +180 -10
  281. package/Misc/greasedLineTools.js.map +1 -1
  282. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +9 -2
  283. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  284. package/PostProcesses/motionBlurPostProcess.js +4 -1
  285. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  286. package/PostProcesses/postProcess.js +1 -6
  287. package/PostProcesses/postProcess.js.map +1 -1
  288. package/Rendering/geometryBufferRenderer.js +4 -0
  289. package/Rendering/geometryBufferRenderer.js.map +1 -1
  290. package/Shaders/greasedLine.fragment.js +2 -5
  291. package/Shaders/greasedLine.fragment.js.map +1 -1
  292. package/Shaders/greasedLine.vertex.js +15 -4
  293. package/Shaders/greasedLine.vertex.js.map +1 -1
  294. package/XR/webXRDefaultExperience.d.ts +1 -1
  295. package/XR/webXRDefaultExperience.js +1 -1
  296. package/XR/webXRDefaultExperience.js.map +1 -1
  297. package/package.json +1 -1
  298. package/scene.d.ts +17 -10
  299. package/scene.js +25 -30
  300. package/scene.js.map +1 -1
  301. package/Cameras/RigModes/webVRRigMode.d.ts +0 -5
  302. package/Cameras/RigModes/webVRRigMode.js +0 -34
  303. package/Cameras/RigModes/webVRRigMode.js.map +0 -1
  304. package/Cameras/VR/webVRCamera.d.ts +0 -316
  305. package/Cameras/VR/webVRCamera.js +0 -618
  306. package/Cameras/VR/webVRCamera.js.map +0 -1
  307. package/Engines/Extensions/engine.webVR.d.ts +0 -91
  308. package/Engines/Extensions/engine.webVR.js +0 -195
  309. package/Engines/Extensions/engine.webVR.js.map +0 -1
  310. package/FlowGraph/Blocks/Execution/flowGraphCustomFunctionBlock.d.ts +0 -23
  311. package/FlowGraph/Blocks/Execution/flowGraphCustomFunctionBlock.js +0 -18
  312. package/FlowGraph/Blocks/Execution/flowGraphCustomFunctionBlock.js.map +0 -1
  313. package/Gamepads/Controllers/daydreamController.d.ts +0 -38
  314. package/Gamepads/Controllers/daydreamController.js +0 -70
  315. package/Gamepads/Controllers/daydreamController.js.map +0 -1
  316. package/Gamepads/Controllers/gearVRController.d.ts +0 -39
  317. package/Gamepads/Controllers/gearVRController.js +0 -79
  318. package/Gamepads/Controllers/gearVRController.js.map +0 -1
  319. package/Gamepads/Controllers/genericController.d.ts +0 -34
  320. package/Gamepads/Controllers/genericController.js +0 -48
  321. package/Gamepads/Controllers/genericController.js.map +0 -1
  322. package/Gamepads/Controllers/index.d.ts +0 -8
  323. package/Gamepads/Controllers/index.js +0 -9
  324. package/Gamepads/Controllers/index.js.map +0 -1
  325. package/Gamepads/Controllers/oculusTouchController.d.ts +0 -78
  326. package/Gamepads/Controllers/oculusTouchController.js +0 -196
  327. package/Gamepads/Controllers/oculusTouchController.js.map +0 -1
  328. package/Gamepads/Controllers/poseEnabledController.d.ts +0 -219
  329. package/Gamepads/Controllers/poseEnabledController.js +0 -293
  330. package/Gamepads/Controllers/poseEnabledController.js.map +0 -1
  331. package/Gamepads/Controllers/viveController.d.ts +0 -52
  332. package/Gamepads/Controllers/viveController.js +0 -115
  333. package/Gamepads/Controllers/viveController.js.map +0 -1
  334. package/Gamepads/Controllers/webVRController.d.ts +0 -85
  335. package/Gamepads/Controllers/webVRController.js +0 -122
  336. package/Gamepads/Controllers/webVRController.js.map +0 -1
  337. package/Gamepads/Controllers/windowsMotionController.d.ts +0 -212
  338. package/Gamepads/Controllers/windowsMotionController.js +0 -519
  339. package/Gamepads/Controllers/windowsMotionController.js.map +0 -1
  340. package/Materials/greasedLinePluginMaterial.d.ts +0 -496
  341. package/Materials/greasedLinePluginMaterial.js.map +0 -1
  342. package/Materials/greasedLineSimpleMaterial.js.map +0 -1
  343. package/Meshes/greasedLineMesh.d.ts +0 -204
  344. package/Meshes/greasedLineMesh.js.map +0 -1
@@ -1,115 +0,0 @@
1
- import { SceneLoader } from "../../Loading/sceneLoader.js";
2
- import { WebVRController } from "./webVRController.js";
3
- import { PoseEnabledControllerType, PoseEnabledControllerHelper } from "./poseEnabledController.js";
4
- /**
5
- * Vive Controller
6
- */
7
- export class ViveController extends WebVRController {
8
- /**
9
- * Creates a new ViveController from a gamepad
10
- * @param vrGamepad the gamepad that the controller should be created from
11
- */
12
- constructor(vrGamepad) {
13
- super(vrGamepad);
14
- this.controllerType = PoseEnabledControllerType.VIVE;
15
- this._invertLeftStickY = true;
16
- }
17
- /**
18
- * Implements abstract method on WebVRController class, loading controller meshes and calling this.attachToMesh if successful.
19
- * @param scene scene in which to add meshes
20
- * @param meshLoaded optional callback function that will be called if the mesh loads successfully.
21
- */
22
- initControllerMesh(scene, meshLoaded) {
23
- SceneLoader.ImportMesh("", ViveController.MODEL_BASE_URL, ViveController.MODEL_FILENAME, scene, (newMeshes) => {
24
- /*
25
- Parent Mesh name: ViveWand
26
- - body
27
- - r_gripper
28
- - l_gripper
29
- - menu_button
30
- - system_button
31
- - trackpad
32
- - trigger
33
- - LED
34
- */
35
- this._defaultModel = newMeshes[1];
36
- this.attachToMesh(this._defaultModel);
37
- if (meshLoaded) {
38
- meshLoaded(this._defaultModel);
39
- }
40
- });
41
- }
42
- /**
43
- * Fired when the left button on this controller is modified
44
- */
45
- get onLeftButtonStateChangedObservable() {
46
- return this.onMainButtonStateChangedObservable;
47
- }
48
- /**
49
- * Fired when the right button on this controller is modified
50
- */
51
- get onRightButtonStateChangedObservable() {
52
- return this.onMainButtonStateChangedObservable;
53
- }
54
- /**
55
- * Fired when the menu button on this controller is modified
56
- */
57
- get onMenuButtonStateChangedObservable() {
58
- return this.onSecondaryButtonStateChangedObservable;
59
- }
60
- /**
61
- * Called once for each button that changed state since the last frame
62
- * Vive mapping:
63
- * 0: touchpad
64
- * 1: trigger
65
- * 2: left AND right buttons
66
- * 3: menu button
67
- * @param buttonIdx Which button index changed
68
- * @param state New state of the button
69
- */
70
- _handleButtonChange(buttonIdx, state) {
71
- const notifyObject = state; //{ state: state, changes: changes };
72
- switch (buttonIdx) {
73
- case 0:
74
- this.onPadStateChangedObservable.notifyObservers(notifyObject);
75
- return;
76
- case 1: // index trigger
77
- if (this._defaultModel) {
78
- this._defaultModel.getChildren()[6].rotation.x = -notifyObject.value * 0.15;
79
- }
80
- this.onTriggerStateChangedObservable.notifyObservers(notifyObject);
81
- return;
82
- case 2: // left AND right button
83
- this.onMainButtonStateChangedObservable.notifyObservers(notifyObject);
84
- return;
85
- case 3:
86
- if (this._defaultModel) {
87
- if (notifyObject.pressed) {
88
- this._defaultModel.getChildren()[2].position.y = -0.001;
89
- }
90
- else {
91
- this._defaultModel.getChildren()[2].position.y = 0;
92
- }
93
- }
94
- this.onSecondaryButtonStateChangedObservable.notifyObservers(notifyObject);
95
- return;
96
- }
97
- }
98
- }
99
- /**
100
- * Base Url for the controller model.
101
- */
102
- ViveController.MODEL_BASE_URL = "https://controllers.babylonjs.com/vive/";
103
- /**
104
- * File name for the controller model.
105
- */
106
- ViveController.MODEL_FILENAME = "wand.babylon";
107
- PoseEnabledControllerHelper._ControllerFactories.push({
108
- canCreate: (gamepadInfo) => {
109
- return gamepadInfo.id.toLowerCase().indexOf("openvr") !== -1;
110
- },
111
- create: (gamepadInfo) => {
112
- return new ViveController(gamepadInfo);
113
- },
114
- });
115
- //# sourceMappingURL=viveController.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viveController.js","sourceRoot":"","sources":["../../../../../dev/core/src/Gamepads/Controllers/viveController.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Scene } from \"../../scene\";\r\nimport type { AbstractMesh } from \"../../Meshes/abstractMesh\";\r\nimport { SceneLoader } from \"../../Loading/sceneLoader\";\r\nimport { WebVRController } from \"./webVRController\";\r\nimport type { ExtendedGamepadButton } from \"./poseEnabledController\";\r\nimport { PoseEnabledControllerType, PoseEnabledControllerHelper } from \"./poseEnabledController\";\r\nimport type { Observable } from \"../../Misc/observable\";\r\n\r\n/**\r\n * Vive Controller\r\n */\r\nexport class ViveController extends WebVRController {\r\n /**\r\n * Base Url for the controller model.\r\n */\r\n public static MODEL_BASE_URL: string = \"https://controllers.babylonjs.com/vive/\";\r\n /**\r\n * File name for the controller model.\r\n */\r\n public static MODEL_FILENAME: string = \"wand.babylon\";\r\n\r\n /**\r\n * Creates a new ViveController from a gamepad\r\n * @param vrGamepad the gamepad that the controller should be created from\r\n */\r\n constructor(vrGamepad: any) {\r\n super(vrGamepad);\r\n this.controllerType = PoseEnabledControllerType.VIVE;\r\n this._invertLeftStickY = true;\r\n }\r\n\r\n /**\r\n * Implements abstract method on WebVRController class, loading controller meshes and calling this.attachToMesh if successful.\r\n * @param scene scene in which to add meshes\r\n * @param meshLoaded optional callback function that will be called if the mesh loads successfully.\r\n */\r\n public initControllerMesh(scene: Scene, meshLoaded?: (mesh: AbstractMesh) => void) {\r\n SceneLoader.ImportMesh(\"\", ViveController.MODEL_BASE_URL, ViveController.MODEL_FILENAME, scene, (newMeshes) => {\r\n /*\r\n Parent Mesh name: ViveWand\r\n - body\r\n - r_gripper\r\n - l_gripper\r\n - menu_button\r\n - system_button\r\n - trackpad\r\n - trigger\r\n - LED\r\n */\r\n this._defaultModel = newMeshes[1];\r\n this.attachToMesh(this._defaultModel);\r\n if (meshLoaded) {\r\n meshLoaded(this._defaultModel);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Fired when the left button on this controller is modified\r\n */\r\n public get onLeftButtonStateChangedObservable(): Observable<ExtendedGamepadButton> {\r\n return this.onMainButtonStateChangedObservable;\r\n }\r\n\r\n /**\r\n * Fired when the right button on this controller is modified\r\n */\r\n public get onRightButtonStateChangedObservable(): Observable<ExtendedGamepadButton> {\r\n return this.onMainButtonStateChangedObservable;\r\n }\r\n\r\n /**\r\n * Fired when the menu button on this controller is modified\r\n */\r\n public get onMenuButtonStateChangedObservable(): Observable<ExtendedGamepadButton> {\r\n return this.onSecondaryButtonStateChangedObservable;\r\n }\r\n\r\n /**\r\n * Called once for each button that changed state since the last frame\r\n * Vive mapping:\r\n * 0: touchpad\r\n * 1: trigger\r\n * 2: left AND right buttons\r\n * 3: menu button\r\n * @param buttonIdx Which button index changed\r\n * @param state New state of the button\r\n */\r\n protected _handleButtonChange(buttonIdx: number, state: ExtendedGamepadButton) {\r\n const notifyObject = state; //{ state: state, changes: changes };\r\n switch (buttonIdx) {\r\n case 0:\r\n this.onPadStateChangedObservable.notifyObservers(notifyObject);\r\n return;\r\n case 1: // index trigger\r\n if (this._defaultModel) {\r\n (<AbstractMesh>this._defaultModel.getChildren()[6]).rotation.x = -notifyObject.value * 0.15;\r\n }\r\n this.onTriggerStateChangedObservable.notifyObservers(notifyObject);\r\n return;\r\n case 2: // left AND right button\r\n this.onMainButtonStateChangedObservable.notifyObservers(notifyObject);\r\n return;\r\n case 3:\r\n if (this._defaultModel) {\r\n if (notifyObject.pressed) {\r\n (<AbstractMesh>this._defaultModel.getChildren()[2]).position.y = -0.001;\r\n } else {\r\n (<AbstractMesh>this._defaultModel.getChildren()[2]).position.y = 0;\r\n }\r\n }\r\n this.onSecondaryButtonStateChangedObservable.notifyObservers(notifyObject);\r\n return;\r\n }\r\n }\r\n}\r\n\r\nPoseEnabledControllerHelper._ControllerFactories.push({\r\n canCreate: (gamepadInfo) => {\r\n return gamepadInfo.id.toLowerCase().indexOf(\"openvr\") !== -1;\r\n },\r\n create: (gamepadInfo) => {\r\n return new ViveController(gamepadInfo);\r\n },\r\n});\r\n"]}
@@ -1,85 +0,0 @@
1
- import { Observable } from "../../Misc/observable";
2
- import type { Scene } from "../../scene";
3
- import type { AbstractMesh } from "../../Meshes/abstractMesh";
4
- import type { ExtendedGamepadButton, MutableGamepadButton } from "./poseEnabledController";
5
- import { PoseEnabledController } from "./poseEnabledController";
6
- import type { StickValues, GamepadButtonChanges } from "../../Gamepads/gamepad";
7
- import type { Nullable } from "../../types";
8
- /**
9
- * Defines the WebVRController object that represents controllers tracked in 3D space
10
- * @deprecated Use WebXR instead
11
- */
12
- export declare abstract class WebVRController extends PoseEnabledController {
13
- /**
14
- * Internal, the default controller model for the controller
15
- */
16
- protected _defaultModel: Nullable<AbstractMesh>;
17
- /**
18
- * Fired when the trigger state has changed
19
- */
20
- onTriggerStateChangedObservable: Observable<ExtendedGamepadButton>;
21
- /**
22
- * Fired when the main button state has changed
23
- */
24
- onMainButtonStateChangedObservable: Observable<ExtendedGamepadButton>;
25
- /**
26
- * Fired when the secondary button state has changed
27
- */
28
- onSecondaryButtonStateChangedObservable: Observable<ExtendedGamepadButton>;
29
- /**
30
- * Fired when the pad state has changed
31
- */
32
- onPadStateChangedObservable: Observable<ExtendedGamepadButton>;
33
- /**
34
- * Fired when controllers stick values have changed
35
- */
36
- onPadValuesChangedObservable: Observable<StickValues>;
37
- /**
38
- * Array of button available on the controller
39
- */
40
- protected _buttons: Array<MutableGamepadButton>;
41
- private _onButtonStateChange;
42
- /**
43
- * Fired when a controller button's state has changed
44
- * @param callback the callback containing the button that was modified
45
- */
46
- onButtonStateChange(callback: (controlledIndex: number, buttonIndex: number, state: ExtendedGamepadButton) => void): void;
47
- /**
48
- * X and Y axis corresponding to the controllers joystick
49
- */
50
- pad: StickValues;
51
- /**
52
- * 'left' or 'right', see https://w3c.github.io/gamepad/extensions.html#gamepadhand-enum
53
- */
54
- hand: string;
55
- /**
56
- * The default controller model for the controller
57
- */
58
- get defaultModel(): Nullable<AbstractMesh>;
59
- /**
60
- * Creates a new WebVRController from a gamepad
61
- * @param vrGamepad the gamepad that the WebVRController should be created from
62
- */
63
- constructor(vrGamepad: any);
64
- /**
65
- * Updates the state of the controller and mesh based on the current position and rotation of the controller
66
- */
67
- update(): void;
68
- /**
69
- * Function to be called when a button is modified
70
- */
71
- protected abstract _handleButtonChange(buttonIdx: number, value: ExtendedGamepadButton, changes: GamepadButtonChanges): void;
72
- /**
73
- * Loads a mesh and attaches it to the controller
74
- * @param scene the scene the mesh should be added to
75
- * @param meshLoaded callback for when the mesh has been loaded
76
- */
77
- abstract initControllerMesh(scene: Scene, meshLoaded?: (mesh: AbstractMesh) => void): void;
78
- private _setButtonValue;
79
- private _changes;
80
- private _checkChanges;
81
- /**
82
- * Disposes of th webVRController
83
- */
84
- dispose(): void;
85
- }
@@ -1,122 +0,0 @@
1
- import { Observable } from "../../Misc/observable.js";
2
- import { PoseEnabledController } from "./poseEnabledController.js";
3
- /**
4
- * Defines the WebVRController object that represents controllers tracked in 3D space
5
- * @deprecated Use WebXR instead
6
- */
7
- export class WebVRController extends PoseEnabledController {
8
- /**
9
- * Fired when a controller button's state has changed
10
- * @param callback the callback containing the button that was modified
11
- */
12
- onButtonStateChange(callback) {
13
- this._onButtonStateChange = callback;
14
- }
15
- /**
16
- * The default controller model for the controller
17
- */
18
- get defaultModel() {
19
- return this._defaultModel;
20
- }
21
- /**
22
- * Creates a new WebVRController from a gamepad
23
- * @param vrGamepad the gamepad that the WebVRController should be created from
24
- */
25
- constructor(vrGamepad) {
26
- super(vrGamepad);
27
- // Observables
28
- /**
29
- * Fired when the trigger state has changed
30
- */
31
- this.onTriggerStateChangedObservable = new Observable();
32
- /**
33
- * Fired when the main button state has changed
34
- */
35
- this.onMainButtonStateChangedObservable = new Observable();
36
- /**
37
- * Fired when the secondary button state has changed
38
- */
39
- this.onSecondaryButtonStateChangedObservable = new Observable();
40
- /**
41
- * Fired when the pad state has changed
42
- */
43
- this.onPadStateChangedObservable = new Observable();
44
- /**
45
- * Fired when controllers stick values have changed
46
- */
47
- this.onPadValuesChangedObservable = new Observable();
48
- /**
49
- * X and Y axis corresponding to the controllers joystick
50
- */
51
- this.pad = { x: 0, y: 0 };
52
- // avoid GC, store state in a tmp object
53
- this._changes = {
54
- pressChanged: false,
55
- touchChanged: false,
56
- valueChanged: false,
57
- changed: false,
58
- };
59
- this._buttons = new Array(vrGamepad.buttons.length);
60
- this.hand = vrGamepad.hand;
61
- }
62
- /**
63
- * Updates the state of the controller and mesh based on the current position and rotation of the controller
64
- */
65
- update() {
66
- super.update();
67
- for (let index = 0; index < this._buttons.length; index++) {
68
- this._setButtonValue(this.browserGamepad.buttons[index], this._buttons[index], index);
69
- }
70
- if (this.leftStick.x !== this.pad.x || this.leftStick.y !== this.pad.y) {
71
- this.pad.x = this.leftStick.x;
72
- this.pad.y = this.leftStick.y;
73
- this.onPadValuesChangedObservable.notifyObservers(this.pad);
74
- }
75
- }
76
- _setButtonValue(newState, currentState, buttonIndex) {
77
- if (!newState) {
78
- newState = {
79
- pressed: false,
80
- touched: false,
81
- value: 0,
82
- };
83
- }
84
- if (!currentState) {
85
- this._buttons[buttonIndex] = {
86
- pressed: newState.pressed,
87
- touched: newState.touched,
88
- value: newState.value,
89
- };
90
- return;
91
- }
92
- this._checkChanges(newState, currentState);
93
- if (this._changes.changed) {
94
- this._onButtonStateChange && this._onButtonStateChange(this.index, buttonIndex, newState);
95
- this._handleButtonChange(buttonIndex, newState, this._changes);
96
- }
97
- this._buttons[buttonIndex].pressed = newState.pressed;
98
- this._buttons[buttonIndex].touched = newState.touched;
99
- // oculus triggers are never 0, thou not touched.
100
- this._buttons[buttonIndex].value = newState.value < 0.00000001 ? 0 : newState.value;
101
- }
102
- _checkChanges(newState, currentState) {
103
- this._changes.pressChanged = newState.pressed !== currentState.pressed;
104
- this._changes.touchChanged = newState.touched !== currentState.touched;
105
- this._changes.valueChanged = newState.value !== currentState.value;
106
- this._changes.changed = this._changes.pressChanged || this._changes.touchChanged || this._changes.valueChanged;
107
- return this._changes;
108
- }
109
- /**
110
- * Disposes of th webVRController
111
- */
112
- dispose() {
113
- super.dispose();
114
- this._defaultModel = null;
115
- this.onTriggerStateChangedObservable.clear();
116
- this.onMainButtonStateChangedObservable.clear();
117
- this.onSecondaryButtonStateChangedObservable.clear();
118
- this.onPadStateChangedObservable.clear();
119
- this.onPadValuesChangedObservable.clear();
120
- }
121
- }
122
- //# sourceMappingURL=webVRController.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webVRController.js","sourceRoot":"","sources":["../../../../../dev/core/src/Gamepads/Controllers/webVRController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable } from \"../../Misc/observable\";\r\nimport type { Scene } from \"../../scene\";\r\nimport type { AbstractMesh } from \"../../Meshes/abstractMesh\";\r\nimport type { ExtendedGamepadButton, MutableGamepadButton } from \"./poseEnabledController\";\r\nimport { PoseEnabledController } from \"./poseEnabledController\";\r\nimport type { StickValues, GamepadButtonChanges } from \"../../Gamepads/gamepad\";\r\nimport type { Nullable } from \"../../types\";\r\n\r\n/**\r\n * Defines the WebVRController object that represents controllers tracked in 3D space\r\n * @deprecated Use WebXR instead\r\n */\r\nexport abstract class WebVRController extends PoseEnabledController {\r\n /**\r\n * Internal, the default controller model for the controller\r\n */\r\n protected _defaultModel: Nullable<AbstractMesh>;\r\n\r\n // Observables\r\n /**\r\n * Fired when the trigger state has changed\r\n */\r\n public onTriggerStateChangedObservable = new Observable<ExtendedGamepadButton>();\r\n /**\r\n * Fired when the main button state has changed\r\n */\r\n public onMainButtonStateChangedObservable = new Observable<ExtendedGamepadButton>();\r\n /**\r\n * Fired when the secondary button state has changed\r\n */\r\n public onSecondaryButtonStateChangedObservable = new Observable<ExtendedGamepadButton>();\r\n /**\r\n * Fired when the pad state has changed\r\n */\r\n public onPadStateChangedObservable = new Observable<ExtendedGamepadButton>();\r\n /**\r\n * Fired when controllers stick values have changed\r\n */\r\n public onPadValuesChangedObservable = new Observable<StickValues>();\r\n\r\n /**\r\n * Array of button available on the controller\r\n */\r\n protected _buttons: Array<MutableGamepadButton>;\r\n\r\n private _onButtonStateChange: (controlledIndex: number, buttonIndex: number, state: ExtendedGamepadButton) => void;\r\n\r\n /**\r\n * Fired when a controller button's state has changed\r\n * @param callback the callback containing the button that was modified\r\n */\r\n public onButtonStateChange(callback: (controlledIndex: number, buttonIndex: number, state: ExtendedGamepadButton) => void) {\r\n this._onButtonStateChange = callback;\r\n }\r\n\r\n /**\r\n * X and Y axis corresponding to the controllers joystick\r\n */\r\n public pad: StickValues = { x: 0, y: 0 };\r\n\r\n /**\r\n * 'left' or 'right', see https://w3c.github.io/gamepad/extensions.html#gamepadhand-enum\r\n */\r\n public hand: string;\r\n\r\n /**\r\n * The default controller model for the controller\r\n */\r\n public get defaultModel(): Nullable<AbstractMesh> {\r\n return this._defaultModel;\r\n }\r\n\r\n /**\r\n * Creates a new WebVRController from a gamepad\r\n * @param vrGamepad the gamepad that the WebVRController should be created from\r\n */\r\n constructor(vrGamepad: any) {\r\n super(vrGamepad);\r\n this._buttons = new Array<ExtendedGamepadButton>(vrGamepad.buttons.length);\r\n this.hand = vrGamepad.hand;\r\n }\r\n\r\n /**\r\n * Updates the state of the controller and mesh based on the current position and rotation of the controller\r\n */\r\n public update() {\r\n super.update();\r\n for (let index = 0; index < this._buttons.length; index++) {\r\n this._setButtonValue(this.browserGamepad.buttons[index], this._buttons[index], index);\r\n }\r\n if (this.leftStick.x !== this.pad.x || this.leftStick.y !== this.pad.y) {\r\n this.pad.x = this.leftStick.x;\r\n this.pad.y = this.leftStick.y;\r\n this.onPadValuesChangedObservable.notifyObservers(this.pad);\r\n }\r\n }\r\n\r\n /**\r\n * Function to be called when a button is modified\r\n */\r\n protected abstract _handleButtonChange(buttonIdx: number, value: ExtendedGamepadButton, changes: GamepadButtonChanges): void;\r\n\r\n /**\r\n * Loads a mesh and attaches it to the controller\r\n * @param scene the scene the mesh should be added to\r\n * @param meshLoaded callback for when the mesh has been loaded\r\n */\r\n public abstract initControllerMesh(scene: Scene, meshLoaded?: (mesh: AbstractMesh) => void): void;\r\n\r\n private _setButtonValue(newState: ExtendedGamepadButton, currentState: ExtendedGamepadButton, buttonIndex: number) {\r\n if (!newState) {\r\n newState = {\r\n pressed: false,\r\n touched: false,\r\n value: 0,\r\n };\r\n }\r\n if (!currentState) {\r\n this._buttons[buttonIndex] = {\r\n pressed: newState.pressed,\r\n touched: newState.touched,\r\n value: newState.value,\r\n };\r\n return;\r\n }\r\n this._checkChanges(newState, currentState);\r\n if (this._changes.changed) {\r\n this._onButtonStateChange && this._onButtonStateChange(this.index, buttonIndex, newState);\r\n\r\n this._handleButtonChange(buttonIndex, newState, this._changes);\r\n }\r\n this._buttons[buttonIndex].pressed = newState.pressed;\r\n this._buttons[buttonIndex].touched = newState.touched;\r\n // oculus triggers are never 0, thou not touched.\r\n this._buttons[buttonIndex].value = newState.value < 0.00000001 ? 0 : newState.value;\r\n }\r\n\r\n // avoid GC, store state in a tmp object\r\n private _changes: GamepadButtonChanges = {\r\n pressChanged: false,\r\n touchChanged: false,\r\n valueChanged: false,\r\n changed: false,\r\n };\r\n\r\n private _checkChanges(newState: ExtendedGamepadButton, currentState: ExtendedGamepadButton) {\r\n this._changes.pressChanged = newState.pressed !== currentState.pressed;\r\n this._changes.touchChanged = newState.touched !== currentState.touched;\r\n this._changes.valueChanged = newState.value !== currentState.value;\r\n this._changes.changed = this._changes.pressChanged || this._changes.touchChanged || this._changes.valueChanged;\r\n return this._changes;\r\n }\r\n\r\n /**\r\n * Disposes of th webVRController\r\n */\r\n public dispose(): void {\r\n super.dispose();\r\n\r\n this._defaultModel = null;\r\n\r\n this.onTriggerStateChangedObservable.clear();\r\n this.onMainButtonStateChangedObservable.clear();\r\n this.onSecondaryButtonStateChangedObservable.clear();\r\n this.onPadStateChangedObservable.clear();\r\n this.onPadValuesChangedObservable.clear();\r\n }\r\n}\r\n"]}
@@ -1,212 +0,0 @@
1
- import { Observable } from "../../Misc/observable";
2
- import type { Scene } from "../../scene";
3
- import type { AbstractMesh } from "../../Meshes/abstractMesh";
4
- import { Ray } from "../../Culling/ray";
5
- import { WebVRController } from "./webVRController";
6
- import type { ExtendedGamepadButton } from "./poseEnabledController";
7
- import type { StickValues } from "../../Gamepads/gamepad";
8
- /**
9
- * Defines the WindowsMotionController object that the state of the windows motion controller
10
- */
11
- export declare class WindowsMotionController extends WebVRController {
12
- /**
13
- * The base url used to load the left and right controller models
14
- */
15
- static MODEL_BASE_URL: string;
16
- /**
17
- * The name of the left controller model file
18
- */
19
- static MODEL_LEFT_FILENAME: string;
20
- /**
21
- * The name of the right controller model file
22
- */
23
- static MODEL_RIGHT_FILENAME: string;
24
- /**
25
- * The controller name prefix for this controller type
26
- */
27
- static readonly GAMEPAD_ID_PREFIX: string;
28
- /**
29
- * The controller id pattern for this controller type
30
- */
31
- private static readonly GAMEPAD_ID_PATTERN;
32
- private _loadedMeshInfo;
33
- protected readonly _mapping: {
34
- buttons: string[];
35
- buttonMeshNames: {
36
- trigger: string;
37
- menu: string;
38
- grip: string;
39
- thumbstick: string;
40
- trackpad: string;
41
- };
42
- buttonObservableNames: {
43
- trigger: string;
44
- menu: string;
45
- grip: string;
46
- thumbstick: string;
47
- trackpad: string;
48
- };
49
- axisMeshNames: string[];
50
- pointingPoseMeshName: string;
51
- };
52
- /**
53
- * Fired when the trackpad on this controller is clicked
54
- */
55
- onTrackpadChangedObservable: Observable<ExtendedGamepadButton>;
56
- /**
57
- * Fired when the trackpad on this controller is modified
58
- */
59
- onTrackpadValuesChangedObservable: Observable<StickValues>;
60
- /**
61
- * The current x and y values of this controller's trackpad
62
- */
63
- trackpad: StickValues;
64
- /**
65
- * Creates a new WindowsMotionController from a gamepad
66
- * @param vrGamepad the gamepad that the controller should be created from
67
- */
68
- constructor(vrGamepad: any);
69
- /**
70
- * Fired when the trigger on this controller is modified
71
- */
72
- get onTriggerButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
73
- /**
74
- * Fired when the menu button on this controller is modified
75
- */
76
- get onMenuButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
77
- /**
78
- * Fired when the grip button on this controller is modified
79
- */
80
- get onGripButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
81
- /**
82
- * Fired when the thumbstick button on this controller is modified
83
- */
84
- get onThumbstickButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
85
- /**
86
- * Fired when the touchpad button on this controller is modified
87
- */
88
- get onTouchpadButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
89
- /**
90
- * Fired when the touchpad values on this controller are modified
91
- */
92
- get onTouchpadValuesChangedObservable(): Observable<StickValues>;
93
- protected _updateTrackpad(): void;
94
- /**
95
- * Called once per frame by the engine.
96
- */
97
- update(): void;
98
- /**
99
- * Called once for each button that changed state since the last frame
100
- * @param buttonIdx Which button index changed
101
- * @param state New state of the button
102
- */
103
- protected _handleButtonChange(buttonIdx: number, state: ExtendedGamepadButton): void;
104
- /**
105
- * Moves the buttons on the controller mesh based on their current state
106
- * @param buttonName the name of the button to move
107
- * @param buttonValue the value of the button which determines the buttons new position
108
- */
109
- protected _lerpButtonTransform(buttonName: string, buttonValue: number): void;
110
- /**
111
- * Moves the axis on the controller mesh based on its current state
112
- * @param axis the index of the axis
113
- * @param axisValue the value of the axis which determines the meshes new position
114
- * @internal
115
- */
116
- protected _lerpAxisTransform(axis: number, axisValue: number): void;
117
- /**
118
- * Implements abstract method on WebVRController class, loading controller meshes and calling this.attachToMesh if successful.
119
- * @param scene scene in which to add meshes
120
- * @param meshLoaded optional callback function that will be called if the mesh loads successfully.
121
- * @param forceDefault
122
- */
123
- initControllerMesh(scene: Scene, meshLoaded?: (mesh: AbstractMesh) => void, forceDefault?: boolean): void;
124
- /**
125
- * Takes a list of meshes (as loaded from the glTF file) and finds the root node, as well as nodes that
126
- * can be transformed by button presses and axes values, based on this._mapping.
127
- *
128
- * @param scene scene in which the meshes exist
129
- * @param meshes list of meshes that make up the controller model to process
130
- * @returns structured view of the given meshes, with mapping of buttons and axes to meshes that can be transformed.
131
- */
132
- private _processModel;
133
- private _createMeshInfo;
134
- /**
135
- * Gets the ray of the controller in the direction the controller is pointing
136
- * @param length the length the resulting ray should be
137
- * @returns a ray in the direction the controller is pointing
138
- */
139
- getForwardRay(length?: number): Ray;
140
- /**
141
- * Disposes of the controller
142
- */
143
- dispose(): void;
144
- }
145
- /**
146
- * This class represents a new windows motion controller in XR.
147
- */
148
- export declare class XRWindowsMotionController extends WindowsMotionController {
149
- /**
150
- * Changing the original WIndowsMotionController mapping to fir the new mapping
151
- */
152
- protected readonly _mapping: {
153
- buttons: string[];
154
- buttonMeshNames: {
155
- trigger: string;
156
- menu: string;
157
- grip: string;
158
- thumbstick: string;
159
- trackpad: string;
160
- };
161
- buttonObservableNames: {
162
- trigger: string;
163
- menu: string;
164
- grip: string;
165
- thumbstick: string;
166
- trackpad: string;
167
- };
168
- axisMeshNames: string[];
169
- pointingPoseMeshName: string;
170
- };
171
- /**
172
- * Construct a new XR-Based windows motion controller
173
- *
174
- * @param gamepadInfo the gamepad object from the browser
175
- */
176
- constructor(gamepadInfo: any);
177
- /**
178
- * holds the thumbstick values (X,Y)
179
- */
180
- thumbstickValues: StickValues;
181
- /**
182
- * Fired when the thumbstick on this controller is clicked
183
- */
184
- onThumbstickStateChangedObservable: Observable<ExtendedGamepadButton>;
185
- /**
186
- * Fired when the thumbstick on this controller is modified
187
- */
188
- onThumbstickValuesChangedObservable: Observable<StickValues>;
189
- /**
190
- * Fired when the touchpad button on this controller is modified
191
- */
192
- onTrackpadChangedObservable: Observable<ExtendedGamepadButton>;
193
- /**
194
- * Fired when the touchpad values on this controller are modified
195
- */
196
- onTrackpadValuesChangedObservable: Observable<StickValues>;
197
- /**
198
- * Fired when the thumbstick button on this controller is modified
199
- * here to prevent breaking changes
200
- */
201
- get onThumbstickButtonStateChangedObservable(): Observable<ExtendedGamepadButton>;
202
- /**
203
- * updating the thumbstick(!) and not the trackpad.
204
- * This is named this way due to the difference between WebVR and XR and to avoid
205
- * changing the parent class.
206
- */
207
- protected _updateTrackpad(): void;
208
- /**
209
- * Disposes the class with joy
210
- */
211
- dispose(): void;
212
- }