@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
@@ -3,338 +3,412 @@ import { RichTypeBoolean, RichTypeNumber } from "../../../flowGraphRichTypes.js"
3
3
  import { FlowGraphBinaryOperationBlock } from "../flowGraphBinaryOperationBlock.js";
4
4
  import { FlowGraphConstantOperationBlock } from "../flowGraphConstantOperationBlock.js";
5
5
  import { FlowGraphUnaryOperationBlock } from "../flowGraphUnaryOperationBlock.js";
6
+ import { RegisterClass } from "../../../../Misc/typeStore.js";
6
7
  /**
7
8
  * Module for all of the number math blocks.
8
9
  * @see https://docs.google.com/spreadsheets/d/1wSFUFLPpRFVlL-va3YtYC6sepNvPapVawG1-nzoTF34/edit#gid=0
9
10
  */
11
+ const ADDNAME = "FGAddNumberBlock";
10
12
  /**
11
13
  * Outputs the addition of the left and right inputs.
12
14
  * @experimental
13
15
  */
14
16
  export class FlowGraphAddNumberBlock extends FlowGraphBinaryOperationBlock {
15
- constructor() {
16
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left + right);
17
+ constructor(config) {
18
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left + right, ADDNAME, config);
17
19
  }
18
20
  }
21
+ RegisterClass(ADDNAME, FlowGraphAddNumberBlock);
22
+ const SUBNAME = "FGSubtractNumberBlock";
19
23
  /**
20
24
  * Outputs the subtraction of the left and right inputs.
21
25
  * @experimental
22
26
  */
23
27
  export class FlowGraphSubtractNumberBlock extends FlowGraphBinaryOperationBlock {
24
- constructor() {
25
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left - right);
28
+ constructor(config) {
29
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left - right, SUBNAME, config);
26
30
  }
27
31
  }
32
+ RegisterClass(SUBNAME, FlowGraphSubtractNumberBlock);
33
+ const MULTIPLYNAME = "FGMultiplyNumberBlock";
28
34
  /**
29
35
  * Outputs the multiplication of the left and right inputs.
30
36
  * @experimental
31
37
  */
32
38
  export class FlowGraphMultiplyNumberBlock extends FlowGraphBinaryOperationBlock {
33
- constructor() {
34
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left * right);
39
+ constructor(config) {
40
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left * right, MULTIPLYNAME, config);
35
41
  }
36
42
  }
43
+ RegisterClass(MULTIPLYNAME, FlowGraphMultiplyNumberBlock);
44
+ const DIVIDENAME = "FGDivideNumberBlock";
37
45
  /**
38
46
  * Ouputs the division of the left and right inputs.
39
47
  * @experimental
40
48
  */
41
49
  export class FlowGraphDivideNumberBlock extends FlowGraphBinaryOperationBlock {
42
- constructor() {
43
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left / right);
50
+ constructor(config) {
51
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left / right, DIVIDENAME, config);
44
52
  }
45
53
  }
54
+ RegisterClass(DIVIDENAME, FlowGraphDivideNumberBlock);
55
+ const MODNAME = "FGModNumberBlock";
46
56
  /**
47
57
  * Outputs the modulo of the left and right inputs.
48
58
  * @experimental
49
59
  */
50
60
  export class FlowGraphModNumberBlock extends FlowGraphBinaryOperationBlock {
51
- constructor() {
52
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left % right);
61
+ constructor(config) {
62
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left % right, MODNAME, config);
53
63
  }
54
64
  }
65
+ RegisterClass(MODNAME, FlowGraphModNumberBlock);
66
+ const POWNAME = "FGPowNumberBlock";
55
67
  /**
56
68
  * Outputs left to the power of right.
57
69
  * @experimental
58
70
  */
59
71
  export class FlowGraphPowNumberBlock extends FlowGraphBinaryOperationBlock {
60
- constructor() {
61
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.pow(left, right));
72
+ constructor(config) {
73
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.pow(left, right), POWNAME, config);
62
74
  }
63
75
  }
76
+ RegisterClass(POWNAME, FlowGraphPowNumberBlock);
77
+ const ISNANNAME = "FGIsNaNNumberBlock";
64
78
  /**
65
79
  * Outputs true if the number is NaN, false otherwise.
66
80
  * @experimental
67
81
  */
68
82
  export class FlowGraphIsNaNNumberBlock extends FlowGraphUnaryOperationBlock {
69
- constructor() {
70
- super(RichTypeNumber, RichTypeBoolean, (input) => isNaN(input));
83
+ constructor(config) {
84
+ super(RichTypeNumber, RichTypeBoolean, (input) => isNaN(input), ISNANNAME, config);
71
85
  }
72
86
  }
87
+ RegisterClass(ISNANNAME, FlowGraphIsNaNNumberBlock);
88
+ const ISINFINITENAME = "FGIsInfinityNumberBlock";
73
89
  /**
74
90
  * Outputs true if the number is infinite, false otherwise.
75
91
  * @experimental
76
92
  */
77
93
  export class FlowGraphIsInfinityNumberBlock extends FlowGraphUnaryOperationBlock {
78
- constructor() {
79
- super(RichTypeNumber, RichTypeBoolean, (input) => !isFinite(input));
94
+ constructor(config) {
95
+ super(RichTypeNumber, RichTypeBoolean, (input) => !isFinite(input), ISINFINITENAME, config);
80
96
  }
81
97
  }
98
+ RegisterClass(ISINFINITENAME, FlowGraphIsInfinityNumberBlock);
99
+ const SQRTNAME = "FGSqrtNumberBlock";
82
100
  /**
83
101
  * Outputs the square root of the input.
84
102
  * @experimental
85
103
  */
86
104
  export class FlowGraphSqrtNumberBlock extends FlowGraphUnaryOperationBlock {
87
- constructor() {
88
- super(RichTypeNumber, RichTypeNumber, (input) => Math.sqrt(input));
105
+ constructor(config) {
106
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.sqrt(input), SQRTNAME, config);
89
107
  }
90
108
  }
109
+ RegisterClass(SQRTNAME, FlowGraphSqrtNumberBlock);
110
+ const ABSNAME = "FGAbsNumberBlock";
91
111
  /**
92
112
  * Outputs the absolute value of the input.
93
113
  * @experimental
94
114
  */
95
115
  export class FlowGraphAbsNumberBlock extends FlowGraphUnaryOperationBlock {
96
- constructor() {
97
- super(RichTypeNumber, RichTypeNumber, (input) => Math.abs(input));
116
+ constructor(config) {
117
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.abs(input), ABSNAME, config);
98
118
  }
99
119
  }
120
+ RegisterClass(ABSNAME, FlowGraphAbsNumberBlock);
121
+ const NEGNAME = "FGNegateNumberBlock";
100
122
  /**
101
123
  * Negates the input.
102
124
  * @experimental
103
125
  */
104
126
  export class FlowGraphNegateNumberBlock extends FlowGraphUnaryOperationBlock {
105
- constructor() {
106
- super(RichTypeNumber, RichTypeNumber, (input) => -input);
127
+ constructor(config) {
128
+ super(RichTypeNumber, RichTypeNumber, (input) => -input, NEGNAME, config);
107
129
  }
108
130
  }
131
+ RegisterClass(NEGNAME, FlowGraphNegateNumberBlock);
132
+ const FLOORNAME = "FGFloorNumberBlock";
109
133
  /**
110
134
  * Outputs the floor of the input.
111
135
  * @experimental
112
136
  */
113
137
  export class FlowGraphFloorNumberBlock extends FlowGraphUnaryOperationBlock {
114
- constructor() {
115
- super(RichTypeNumber, RichTypeNumber, (input) => Math.floor(input));
138
+ constructor(config) {
139
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.floor(input), FLOORNAME, config);
116
140
  }
117
141
  }
142
+ RegisterClass(FLOORNAME, FlowGraphFloorNumberBlock);
143
+ const CEILNAME = "FGCeilNumberBlock";
118
144
  /**
119
145
  * Outputs the ceiling of the input.
120
146
  * @experimental
121
147
  */
122
148
  export class FlowGraphCeilNumberBlock extends FlowGraphUnaryOperationBlock {
123
- constructor() {
124
- super(RichTypeNumber, RichTypeNumber, (input) => Math.ceil(input));
149
+ constructor(config) {
150
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.ceil(input), CEILNAME, config);
125
151
  }
126
152
  }
153
+ RegisterClass(CEILNAME, FlowGraphCeilNumberBlock);
154
+ const ROUNDNAME = "FGRoundNumberBlock";
127
155
  /**
128
156
  * Rounds the left input to right digits of precision.
129
157
  * @see rounding function from: https://docs.google.com/spreadsheets/d/1wSFUFLPpRFVlL-va3YtYC6sepNvPapVawG1-nzoTF34/edit#gid=0
130
158
  * @experimental
131
159
  */
132
160
  export class FlowGraphRoundNumberBlock extends FlowGraphBinaryOperationBlock {
133
- constructor() {
134
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (input, digits) => Math.round(input / Math.pow(10, digits)) / Math.pow(10, digits));
161
+ constructor(config) {
162
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (input, digits) => Math.round(input / Math.pow(10, digits)) / Math.pow(10, digits), ROUNDNAME, config);
135
163
  }
136
164
  }
165
+ RegisterClass(ROUNDNAME, FlowGraphRoundNumberBlock);
166
+ const TRUNCNAME = "FGTruncNumberBlock";
137
167
  /**
138
168
  * Truncates the input.
139
169
  * @experimental
140
170
  */
141
171
  export class FlowGraphTruncNumberBlock extends FlowGraphUnaryOperationBlock {
142
- constructor() {
143
- super(RichTypeNumber, RichTypeNumber, (input) => Math.trunc(input));
172
+ constructor(config) {
173
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.trunc(input), TRUNCNAME, config);
144
174
  }
145
175
  }
176
+ RegisterClass(TRUNCNAME, FlowGraphTruncNumberBlock);
177
+ const EXPNAME = "FGExpNumberBlock";
146
178
  /**
147
179
  * Outputs the exponential of the input.
148
180
  * @experimental
149
181
  */
150
182
  export class FlowGraphExpNumberBlock extends FlowGraphUnaryOperationBlock {
151
- constructor() {
152
- super(RichTypeNumber, RichTypeNumber, (input) => Math.exp(input));
183
+ constructor(config) {
184
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.exp(input), EXPNAME, config);
153
185
  }
154
186
  }
187
+ RegisterClass(EXPNAME, FlowGraphExpNumberBlock);
188
+ const LOG10NAME = "FGLog10NumberBlock";
155
189
  /**
156
190
  * Outputs the base 10 logarithm of the input.
157
191
  * @experimental
158
192
  */
159
193
  export class FlowGraphLog10NumberBlock extends FlowGraphUnaryOperationBlock {
160
- constructor() {
161
- super(RichTypeNumber, RichTypeNumber, (input) => Math.log10(input));
194
+ constructor(config) {
195
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.log10(input), LOG10NAME, config);
162
196
  }
163
197
  }
198
+ RegisterClass(LOG10NAME, FlowGraphLog10NumberBlock);
199
+ const LOGNAME = "FGLogNumberBlock";
164
200
  /**
165
201
  * Outputs the natural logarithm of the input.
166
202
  * @experimental
167
203
  */
168
204
  export class FlowGraphLogNumberBlock extends FlowGraphUnaryOperationBlock {
169
- constructor() {
170
- super(RichTypeNumber, RichTypeNumber, (input) => Math.log(input));
205
+ constructor(config) {
206
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.log(input), LOGNAME, config);
171
207
  }
172
208
  }
209
+ RegisterClass(LOGNAME, FlowGraphLogNumberBlock);
210
+ const LNNAME = "FGLnNumberBlock";
173
211
  /**
174
212
  * Outputs the base 2 logarithm of the input.
175
213
  * @experimental
176
214
  */
177
215
  export class FlowGraphLnNumberBlock extends FlowGraphUnaryOperationBlock {
178
- constructor() {
179
- super(RichTypeNumber, RichTypeNumber, (input) => Math.log(input) / Math.LN2);
216
+ constructor(config) {
217
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.log(input) / Math.LN2, LNNAME, config);
180
218
  }
181
219
  }
220
+ RegisterClass(LNNAME, FlowGraphLnNumberBlock);
221
+ const SINENAME = "FGSineNumberBlock";
182
222
  /**
183
223
  * Outputs the sine of the input.
184
224
  * @experimental
185
225
  */
186
226
  export class FlowGraphSinNumberBlock extends FlowGraphUnaryOperationBlock {
187
- constructor() {
188
- super(RichTypeNumber, RichTypeNumber, (input) => Math.sin(input));
227
+ constructor(config) {
228
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.sin(input), SINENAME, config);
189
229
  }
190
230
  }
231
+ RegisterClass(SINENAME, FlowGraphSinNumberBlock);
232
+ const COSNAME = "FGCosNumberBlock";
191
233
  /**
192
234
  * Outputs the cosine of the input.
193
235
  * @experimental
194
236
  */
195
237
  export class FlowGraphCosNumberBlock extends FlowGraphUnaryOperationBlock {
196
- constructor() {
197
- super(RichTypeNumber, RichTypeNumber, (input) => Math.cos(input));
238
+ constructor(config) {
239
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.cos(input), COSNAME, config);
198
240
  }
199
241
  }
242
+ RegisterClass(COSNAME, FlowGraphCosNumberBlock);
243
+ const TANNAME = "FGTanNumberBlock";
200
244
  /**
201
245
  * Outputs the tangent of the input.
202
246
  * @experimental
203
247
  */
204
248
  export class FlowGraphTanNumberBlock extends FlowGraphUnaryOperationBlock {
205
- constructor() {
206
- super(RichTypeNumber, RichTypeNumber, (input) => Math.tan(input));
249
+ constructor(config) {
250
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.tan(input), TANNAME, config);
207
251
  }
208
252
  }
253
+ RegisterClass(TANNAME, FlowGraphTanNumberBlock);
254
+ const ASINENAME = "FGASineNumberBlock";
209
255
  /**
210
256
  * Outputs the arcsine of the input.
211
257
  * @experimental
212
258
  */
213
259
  export class FlowGraphASinNumberBlock extends FlowGraphUnaryOperationBlock {
214
- constructor() {
215
- super(RichTypeNumber, RichTypeNumber, (input) => Math.asin(input));
260
+ constructor(config) {
261
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.asin(input), ASINENAME, config);
216
262
  }
217
263
  }
264
+ RegisterClass(ASINENAME, FlowGraphASinNumberBlock);
265
+ const ACOSNAME = "FGACosNumberBlock";
218
266
  /**
219
267
  * Outputs the arccosine of the input.
220
268
  * @experimental
221
269
  */
222
270
  export class FlowGraphACosNumberBlock extends FlowGraphUnaryOperationBlock {
223
- constructor() {
224
- super(RichTypeNumber, RichTypeNumber, (input) => Math.acos(input));
271
+ constructor(config) {
272
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.acos(input), ACOSNAME, config);
225
273
  }
226
274
  }
275
+ RegisterClass(ACOSNAME, FlowGraphACosNumberBlock);
276
+ const ATANNAME = "FGATanNumberBlock";
227
277
  /**
228
278
  * Outputs the arctangent of the input.
229
279
  * @experimental
230
280
  */
231
281
  export class FlowGraphATanNumberBlock extends FlowGraphUnaryOperationBlock {
232
- constructor() {
233
- super(RichTypeNumber, RichTypeNumber, (input) => Math.atan(input));
282
+ constructor(config) {
283
+ super(RichTypeNumber, RichTypeNumber, (input) => Math.atan(input), ATANNAME, config);
234
284
  }
235
285
  }
286
+ RegisterClass(ATANNAME, FlowGraphATanNumberBlock);
287
+ const ENAME = "FGENumberBlock";
236
288
  /**
237
289
  * Outputs the number E.
238
290
  * @experimental
239
291
  */
240
292
  export class FlowGraphENumberBlock extends FlowGraphConstantOperationBlock {
241
- constructor() {
242
- super(RichTypeNumber, () => Math.E);
293
+ constructor(config) {
294
+ super(RichTypeNumber, () => Math.E, ENAME, config);
243
295
  }
244
296
  }
297
+ RegisterClass(ENAME, FlowGraphENumberBlock);
298
+ const PINAME = "FGPiNumberBlock";
245
299
  /**
246
300
  * Outputs the number PI.
247
301
  * @experimental
248
302
  */
249
303
  export class FlowGraphPiNumberBlock extends FlowGraphConstantOperationBlock {
250
- constructor() {
251
- super(RichTypeNumber, () => Math.PI);
304
+ constructor(config) {
305
+ super(RichTypeNumber, () => Math.PI, PINAME, config);
252
306
  }
253
307
  }
308
+ RegisterClass(PINAME, FlowGraphPiNumberBlock);
309
+ const ATAN2NAME = "FGATan2NumberBlock";
254
310
  /**
255
311
  * Outputs the arctan2 of the left and right inputs.
256
312
  * @experimental
257
313
  */
258
314
  export class FlowGraphATan2NumberBlock extends FlowGraphBinaryOperationBlock {
259
- constructor() {
260
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.atan2(left, right));
315
+ constructor(config) {
316
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.atan2(left, right), ATAN2NAME, config);
261
317
  }
262
318
  }
319
+ RegisterClass(ATAN2NAME, FlowGraphATan2NumberBlock);
320
+ const RNDNAME = "FGRandomNumberBlock";
263
321
  /**
264
322
  * @experimental
265
323
  * Outputs a number between left and right.
266
324
  */
267
325
  export class FlowGraphRandomNumberBlock extends FlowGraphBinaryOperationBlock {
268
- constructor() {
269
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left + Math.random() * (right - left));
326
+ constructor(config) {
327
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left + Math.random() * (right - left), RNDNAME, config);
270
328
  }
271
329
  }
330
+ RegisterClass(RNDNAME, FlowGraphRandomNumberBlock);
331
+ const MINNAME = "FGMinNumberBlock";
272
332
  /**
273
333
  * Outputs the minimum of the left and right inputs.
274
334
  * @experimental
275
335
  */
276
336
  export class FlowGraphMinNumberBlock extends FlowGraphBinaryOperationBlock {
277
- constructor() {
278
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.min(left, right));
337
+ constructor(config) {
338
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.min(left, right), MINNAME, config);
279
339
  }
280
340
  }
341
+ RegisterClass(MINNAME, FlowGraphMinNumberBlock);
342
+ const MAXNAME = "FGMaxNumberBlock";
281
343
  /**
282
344
  * Outputs the maximum of the left and right inputs.
283
345
  * @experimental
284
346
  */
285
347
  export class FlowGraphMaxNumberBlock extends FlowGraphBinaryOperationBlock {
286
- constructor() {
287
- super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.max(left, right));
348
+ constructor(config) {
349
+ super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.max(left, right), MAXNAME, config);
288
350
  }
289
351
  }
352
+ RegisterClass(MAXNAME, FlowGraphMaxNumberBlock);
353
+ const EQUALSNAME = "FGEqualsNumberBlock";
290
354
  /**
291
355
  * Outputs true if left is equal to right, false otherwise.
292
356
  * @experimental
293
357
  */
294
358
  export class FlowGraphEqualsNumberBlock extends FlowGraphBinaryOperationBlock {
295
- constructor() {
296
- super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left === right);
359
+ constructor(config) {
360
+ super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left === right, EQUALSNAME, config);
297
361
  }
298
362
  }
363
+ RegisterClass(EQUALSNAME, FlowGraphEqualsNumberBlock);
364
+ const GREATERTHANNAME = "FGGreaterThanNumberBlock";
299
365
  /**
300
366
  * Outputs true if left is greater than right, false otherwise.
301
367
  */
302
368
  export class FlowGraphGreaterThanNumberBlock extends FlowGraphBinaryOperationBlock {
303
- constructor() {
304
- super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left > right);
369
+ constructor(config) {
370
+ super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left > right, GREATERTHANNAME, config);
305
371
  }
306
372
  }
373
+ RegisterClass(GREATERTHANNAME, FlowGraphGreaterThanNumberBlock);
374
+ const GREATEROREQUALNAME = "FGGreaterThanOrEqualsNumberBlock";
307
375
  /**
308
376
  * Outputs true if left is greater than or equal to right, false otherwise.
309
377
  */
310
378
  export class FlowGraphGreaterThanOrEqualsNumberBlock extends FlowGraphBinaryOperationBlock {
311
- constructor() {
312
- super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left >= right);
379
+ constructor(config) {
380
+ super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left >= right, GREATEROREQUALNAME, config);
313
381
  }
314
382
  }
383
+ RegisterClass(GREATEROREQUALNAME, FlowGraphGreaterThanOrEqualsNumberBlock);
384
+ const LESSTHANNAME = "FGLessThanNumberBlock";
315
385
  /**
316
386
  * Outputs true if left is less than right, false otherwise.
317
387
  */
318
388
  export class FlowGraphLessThanNumberBlock extends FlowGraphBinaryOperationBlock {
319
- constructor() {
320
- super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left < right);
389
+ constructor(config) {
390
+ super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left < right, LESSTHANNAME, config);
321
391
  }
322
392
  }
393
+ RegisterClass(LESSTHANNAME, FlowGraphLessThanNumberBlock);
394
+ const LESSOREQUALNAME = "FGLessThanOrEqualsNumberBlock";
323
395
  /**
324
396
  * Outputs true if left is less than or equal to right, false otherwise.
325
397
  */
326
398
  export class FlowGraphLessThanOrEqualsNumberBlock extends FlowGraphBinaryOperationBlock {
327
- constructor() {
328
- super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left <= right);
399
+ constructor(config) {
400
+ super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left <= right, LESSOREQUALNAME, config);
329
401
  }
330
402
  }
403
+ RegisterClass(LESSOREQUALNAME, FlowGraphLessThanOrEqualsNumberBlock);
404
+ const MIXNAME = "FGMixNumberBlock";
331
405
  /**
332
406
  * Outputs a mix of left and right based on alpha.
333
407
  * @experimental
334
408
  */
335
409
  export class FlowGraphMixNumberBlock extends FlowGraphBlock {
336
- constructor() {
337
- super();
410
+ constructor(config) {
411
+ super(config);
338
412
  this.leftInput = this._registerDataInput("leftInput", RichTypeNumber);
339
413
  this.rightInput = this._registerDataInput("rightInput", RichTypeNumber);
340
414
  this.alphaInput = this._registerDataInput("alphaInput", RichTypeNumber);
@@ -347,5 +421,9 @@ export class FlowGraphMixNumberBlock extends FlowGraphBlock {
347
421
  const mix = left + (right - left) * alpha;
348
422
  this.resultOutput.setValue(mix, _context);
349
423
  }
424
+ getClassName() {
425
+ return MIXNAME;
426
+ }
350
427
  }
428
+ RegisterClass(MIXNAME, FlowGraphMixNumberBlock);
351
429
  //# sourceMappingURL=flowGraphNumberMathBlocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphNumberMathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { FlowGraphBlock } from \"../../../flowGraphBlock\";\r\nimport { RichTypeBoolean, RichTypeNumber } from \"../../../flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport { FlowGraphConstantOperationBlock } from \"../flowGraphConstantOperationBlock\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport type { FlowGraphDataConnection } from \"../../../flowGraphDataConnection\";\r\nimport type { FlowGraphContext } from \"../../../flowGraphContext\";\r\n\r\n/**\r\n * Module for all of the number math blocks.\r\n * @see https://docs.google.com/spreadsheets/d/1wSFUFLPpRFVlL-va3YtYC6sepNvPapVawG1-nzoTF34/edit#gid=0\r\n */\r\n\r\n/**\r\n * Outputs the addition of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphAddNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left + right);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the subtraction of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphSubtractNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left - right);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the multiplication of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphMultiplyNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left * right);\r\n }\r\n}\r\n\r\n/**\r\n * Ouputs the division of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphDivideNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left / right);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the modulo of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphModNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left % right);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs left to the power of right.\r\n * @experimental\r\n */\r\nexport class FlowGraphPowNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.pow(left, right));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs true if the number is NaN, false otherwise.\r\n * @experimental\r\n */\r\nexport class FlowGraphIsNaNNumberBlock extends FlowGraphUnaryOperationBlock<number, boolean> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeBoolean, (input) => isNaN(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs true if the number is infinite, false otherwise.\r\n * @experimental\r\n */\r\nexport class FlowGraphIsInfinityNumberBlock extends FlowGraphUnaryOperationBlock<number, boolean> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeBoolean, (input) => !isFinite(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the square root of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphSqrtNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.sqrt(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the absolute value of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphAbsNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.abs(input));\r\n }\r\n}\r\n\r\n/**\r\n * Negates the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphNegateNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => -input);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the floor of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphFloorNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.floor(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the ceiling of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphCeilNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.ceil(input));\r\n }\r\n}\r\n\r\n/**\r\n * Rounds the left input to right digits of precision.\r\n * @see rounding function from: https://docs.google.com/spreadsheets/d/1wSFUFLPpRFVlL-va3YtYC6sepNvPapVawG1-nzoTF34/edit#gid=0\r\n * @experimental\r\n */\r\nexport class FlowGraphRoundNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (input, digits) => Math.round(input / Math.pow(10, digits)) / Math.pow(10, digits));\r\n }\r\n}\r\n\r\n/**\r\n * Truncates the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphTruncNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.trunc(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the exponential of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphExpNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.exp(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the base 10 logarithm of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphLog10NumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.log10(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the natural logarithm of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphLogNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.log(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the base 2 logarithm of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphLnNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.log(input) / Math.LN2);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the sine of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphSinNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.sin(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the cosine of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphCosNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.cos(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the tangent of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphTanNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.tan(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the arcsine of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphASinNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.asin(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the arccosine of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphACosNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.acos(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the arctangent of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphATanNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.atan(input));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the number E.\r\n * @experimental\r\n */\r\nexport class FlowGraphENumberBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor() {\r\n super(RichTypeNumber, () => Math.E);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the number PI.\r\n * @experimental\r\n */\r\nexport class FlowGraphPiNumberBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor() {\r\n super(RichTypeNumber, () => Math.PI);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the arctan2 of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphATan2NumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.atan2(left, right));\r\n }\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Outputs a number between left and right.\r\n */\r\nexport class FlowGraphRandomNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left + Math.random() * (right - left));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the minimum of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphMinNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.min(left, right));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs the maximum of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphMaxNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.max(left, right));\r\n }\r\n}\r\n\r\n/**\r\n * Outputs true if left is equal to right, false otherwise.\r\n * @experimental\r\n */\r\nexport class FlowGraphEqualsNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left === right);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs true if left is greater than right, false otherwise.\r\n */\r\nexport class FlowGraphGreaterThanNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left > right);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs true if left is greater than or equal to right, false otherwise.\r\n */\r\nexport class FlowGraphGreaterThanOrEqualsNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left >= right);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs true if left is less than right, false otherwise.\r\n */\r\nexport class FlowGraphLessThanNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left < right);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs true if left is less than or equal to right, false otherwise.\r\n */\r\nexport class FlowGraphLessThanOrEqualsNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor() {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left <= right);\r\n }\r\n}\r\n\r\n/**\r\n * Outputs a mix of left and right based on alpha.\r\n * @experimental\r\n */\r\nexport class FlowGraphMixNumberBlock extends FlowGraphBlock {\r\n public leftInput: FlowGraphDataConnection<number>;\r\n public rightInput: FlowGraphDataConnection<number>;\r\n public alphaInput: FlowGraphDataConnection<number>;\r\n\r\n public resultOutput: FlowGraphDataConnection<number>;\r\n\r\n constructor() {\r\n super();\r\n this.leftInput = this._registerDataInput(\"leftInput\", RichTypeNumber);\r\n this.rightInput = this._registerDataInput(\"rightInput\", RichTypeNumber);\r\n this.alphaInput = this._registerDataInput(\"alphaInput\", RichTypeNumber);\r\n this.resultOutput = this._registerDataOutput(\"resultOutput\", RichTypeNumber);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const left = this.leftInput.getValue(_context);\r\n const right = this.rightInput.getValue(_context);\r\n const alpha = this.alphaInput.getValue(_context);\r\n const mix = left + (right - left) * alpha;\r\n this.resultOutput.setValue(mix, _context);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flowGraphNumberMathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport { FlowGraphBlock } from \"../../../flowGraphBlock\";\r\nimport { RichTypeBoolean, RichTypeNumber } from \"../../../flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport { FlowGraphConstantOperationBlock } from \"../flowGraphConstantOperationBlock\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport type { FlowGraphDataConnection } from \"../../../flowGraphDataConnection\";\r\nimport type { FlowGraphContext } from \"../../../flowGraphContext\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\n/**\r\n * Module for all of the number math blocks.\r\n * @see https://docs.google.com/spreadsheets/d/1wSFUFLPpRFVlL-va3YtYC6sepNvPapVawG1-nzoTF34/edit#gid=0\r\n */\r\n\r\nconst ADDNAME = \"FGAddNumberBlock\";\r\n/**\r\n * Outputs the addition of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphAddNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left + right, ADDNAME, config);\r\n }\r\n}\r\nRegisterClass(ADDNAME, FlowGraphAddNumberBlock);\r\n\r\nconst SUBNAME = \"FGSubtractNumberBlock\";\r\n/**\r\n * Outputs the subtraction of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphSubtractNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left - right, SUBNAME, config);\r\n }\r\n}\r\nRegisterClass(SUBNAME, FlowGraphSubtractNumberBlock);\r\n\r\nconst MULTIPLYNAME = \"FGMultiplyNumberBlock\";\r\n/**\r\n * Outputs the multiplication of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphMultiplyNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left * right, MULTIPLYNAME, config);\r\n }\r\n}\r\nRegisterClass(MULTIPLYNAME, FlowGraphMultiplyNumberBlock);\r\n\r\nconst DIVIDENAME = \"FGDivideNumberBlock\";\r\n/**\r\n * Ouputs the division of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphDivideNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left / right, DIVIDENAME, config);\r\n }\r\n}\r\nRegisterClass(DIVIDENAME, FlowGraphDivideNumberBlock);\r\n\r\nconst MODNAME = \"FGModNumberBlock\";\r\n/**\r\n * Outputs the modulo of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphModNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left % right, MODNAME, config);\r\n }\r\n}\r\nRegisterClass(MODNAME, FlowGraphModNumberBlock);\r\n\r\nconst POWNAME = \"FGPowNumberBlock\";\r\n/**\r\n * Outputs left to the power of right.\r\n * @experimental\r\n */\r\nexport class FlowGraphPowNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.pow(left, right), POWNAME, config);\r\n }\r\n}\r\nRegisterClass(POWNAME, FlowGraphPowNumberBlock);\r\n\r\nconst ISNANNAME = \"FGIsNaNNumberBlock\";\r\n/**\r\n * Outputs true if the number is NaN, false otherwise.\r\n * @experimental\r\n */\r\nexport class FlowGraphIsNaNNumberBlock extends FlowGraphUnaryOperationBlock<number, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeBoolean, (input) => isNaN(input), ISNANNAME, config);\r\n }\r\n}\r\nRegisterClass(ISNANNAME, FlowGraphIsNaNNumberBlock);\r\n\r\nconst ISINFINITENAME = \"FGIsInfinityNumberBlock\";\r\n/**\r\n * Outputs true if the number is infinite, false otherwise.\r\n * @experimental\r\n */\r\nexport class FlowGraphIsInfinityNumberBlock extends FlowGraphUnaryOperationBlock<number, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeBoolean, (input) => !isFinite(input), ISINFINITENAME, config);\r\n }\r\n}\r\nRegisterClass(ISINFINITENAME, FlowGraphIsInfinityNumberBlock);\r\n\r\nconst SQRTNAME = \"FGSqrtNumberBlock\";\r\n/**\r\n * Outputs the square root of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphSqrtNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.sqrt(input), SQRTNAME, config);\r\n }\r\n}\r\nRegisterClass(SQRTNAME, FlowGraphSqrtNumberBlock);\r\n\r\nconst ABSNAME = \"FGAbsNumberBlock\";\r\n/**\r\n * Outputs the absolute value of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphAbsNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.abs(input), ABSNAME, config);\r\n }\r\n}\r\nRegisterClass(ABSNAME, FlowGraphAbsNumberBlock);\r\n\r\nconst NEGNAME = \"FGNegateNumberBlock\";\r\n/**\r\n * Negates the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphNegateNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => -input, NEGNAME, config);\r\n }\r\n}\r\nRegisterClass(NEGNAME, FlowGraphNegateNumberBlock);\r\n\r\nconst FLOORNAME = \"FGFloorNumberBlock\";\r\n/**\r\n * Outputs the floor of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphFloorNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.floor(input), FLOORNAME, config);\r\n }\r\n}\r\n\r\nRegisterClass(FLOORNAME, FlowGraphFloorNumberBlock);\r\n\r\nconst CEILNAME = \"FGCeilNumberBlock\";\r\n/**\r\n * Outputs the ceiling of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphCeilNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.ceil(input), CEILNAME, config);\r\n }\r\n}\r\nRegisterClass(CEILNAME, FlowGraphCeilNumberBlock);\r\n\r\nconst ROUNDNAME = \"FGRoundNumberBlock\";\r\n/**\r\n * Rounds the left input to right digits of precision.\r\n * @see rounding function from: https://docs.google.com/spreadsheets/d/1wSFUFLPpRFVlL-va3YtYC6sepNvPapVawG1-nzoTF34/edit#gid=0\r\n * @experimental\r\n */\r\nexport class FlowGraphRoundNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (input, digits) => Math.round(input / Math.pow(10, digits)) / Math.pow(10, digits), ROUNDNAME, config);\r\n }\r\n}\r\nRegisterClass(ROUNDNAME, FlowGraphRoundNumberBlock);\r\n\r\nconst TRUNCNAME = \"FGTruncNumberBlock\";\r\n/**\r\n * Truncates the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphTruncNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.trunc(input), TRUNCNAME, config);\r\n }\r\n}\r\nRegisterClass(TRUNCNAME, FlowGraphTruncNumberBlock);\r\n\r\nconst EXPNAME = \"FGExpNumberBlock\";\r\n/**\r\n * Outputs the exponential of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphExpNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.exp(input), EXPNAME, config);\r\n }\r\n}\r\nRegisterClass(EXPNAME, FlowGraphExpNumberBlock);\r\n\r\nconst LOG10NAME = \"FGLog10NumberBlock\";\r\n/**\r\n * Outputs the base 10 logarithm of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphLog10NumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.log10(input), LOG10NAME, config);\r\n }\r\n}\r\nRegisterClass(LOG10NAME, FlowGraphLog10NumberBlock);\r\n\r\nconst LOGNAME = \"FGLogNumberBlock\";\r\n/**\r\n * Outputs the natural logarithm of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphLogNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.log(input), LOGNAME, config);\r\n }\r\n}\r\nRegisterClass(LOGNAME, FlowGraphLogNumberBlock);\r\n\r\nconst LNNAME = \"FGLnNumberBlock\";\r\n/**\r\n * Outputs the base 2 logarithm of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphLnNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.log(input) / Math.LN2, LNNAME, config);\r\n }\r\n}\r\nRegisterClass(LNNAME, FlowGraphLnNumberBlock);\r\n\r\nconst SINENAME = \"FGSineNumberBlock\";\r\n/**\r\n * Outputs the sine of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphSinNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.sin(input), SINENAME, config);\r\n }\r\n}\r\nRegisterClass(SINENAME, FlowGraphSinNumberBlock);\r\n\r\nconst COSNAME = \"FGCosNumberBlock\";\r\n/**\r\n * Outputs the cosine of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphCosNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.cos(input), COSNAME, config);\r\n }\r\n}\r\nRegisterClass(COSNAME, FlowGraphCosNumberBlock);\r\n\r\nconst TANNAME = \"FGTanNumberBlock\";\r\n/**\r\n * Outputs the tangent of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphTanNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.tan(input), TANNAME, config);\r\n }\r\n}\r\nRegisterClass(TANNAME, FlowGraphTanNumberBlock);\r\n\r\nconst ASINENAME = \"FGASineNumberBlock\";\r\n/**\r\n * Outputs the arcsine of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphASinNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.asin(input), ASINENAME, config);\r\n }\r\n}\r\nRegisterClass(ASINENAME, FlowGraphASinNumberBlock);\r\n\r\nconst ACOSNAME = \"FGACosNumberBlock\";\r\n/**\r\n * Outputs the arccosine of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphACosNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.acos(input), ACOSNAME, config);\r\n }\r\n}\r\nRegisterClass(ACOSNAME, FlowGraphACosNumberBlock);\r\n\r\nconst ATANNAME = \"FGATanNumberBlock\";\r\n/**\r\n * Outputs the arctangent of the input.\r\n * @experimental\r\n */\r\nexport class FlowGraphATanNumberBlock extends FlowGraphUnaryOperationBlock<number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, (input) => Math.atan(input), ATANNAME, config);\r\n }\r\n}\r\nRegisterClass(ATANNAME, FlowGraphATanNumberBlock);\r\n\r\nconst ENAME = \"FGENumberBlock\";\r\n/**\r\n * Outputs the number E.\r\n * @experimental\r\n */\r\nexport class FlowGraphENumberBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.E, ENAME, config);\r\n }\r\n}\r\nRegisterClass(ENAME, FlowGraphENumberBlock);\r\n\r\nconst PINAME = \"FGPiNumberBlock\";\r\n/**\r\n * Outputs the number PI.\r\n * @experimental\r\n */\r\nexport class FlowGraphPiNumberBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.PI, PINAME, config);\r\n }\r\n}\r\nRegisterClass(PINAME, FlowGraphPiNumberBlock);\r\n\r\nconst ATAN2NAME = \"FGATan2NumberBlock\";\r\n/**\r\n * Outputs the arctan2 of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphATan2NumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.atan2(left, right), ATAN2NAME, config);\r\n }\r\n}\r\nRegisterClass(ATAN2NAME, FlowGraphATan2NumberBlock);\r\n\r\nconst RNDNAME = \"FGRandomNumberBlock\";\r\n/**\r\n * @experimental\r\n * Outputs a number between left and right.\r\n */\r\nexport class FlowGraphRandomNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => left + Math.random() * (right - left), RNDNAME, config);\r\n }\r\n}\r\nRegisterClass(RNDNAME, FlowGraphRandomNumberBlock);\r\n\r\nconst MINNAME = \"FGMinNumberBlock\";\r\n/**\r\n * Outputs the minimum of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphMinNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.min(left, right), MINNAME, config);\r\n }\r\n}\r\nRegisterClass(MINNAME, FlowGraphMinNumberBlock);\r\n\r\nconst MAXNAME = \"FGMaxNumberBlock\";\r\n/**\r\n * Outputs the maximum of the left and right inputs.\r\n * @experimental\r\n */\r\nexport class FlowGraphMaxNumberBlock extends FlowGraphBinaryOperationBlock<number, number, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeNumber, (left, right) => Math.max(left, right), MAXNAME, config);\r\n }\r\n}\r\nRegisterClass(MAXNAME, FlowGraphMaxNumberBlock);\r\n\r\nconst EQUALSNAME = \"FGEqualsNumberBlock\";\r\n/**\r\n * Outputs true if left is equal to right, false otherwise.\r\n * @experimental\r\n */\r\nexport class FlowGraphEqualsNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left === right, EQUALSNAME, config);\r\n }\r\n}\r\nRegisterClass(EQUALSNAME, FlowGraphEqualsNumberBlock);\r\n\r\nconst GREATERTHANNAME = \"FGGreaterThanNumberBlock\";\r\n/**\r\n * Outputs true if left is greater than right, false otherwise.\r\n */\r\nexport class FlowGraphGreaterThanNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left > right, GREATERTHANNAME, config);\r\n }\r\n}\r\nRegisterClass(GREATERTHANNAME, FlowGraphGreaterThanNumberBlock);\r\n\r\nconst GREATEROREQUALNAME = \"FGGreaterThanOrEqualsNumberBlock\";\r\n/**\r\n * Outputs true if left is greater than or equal to right, false otherwise.\r\n */\r\nexport class FlowGraphGreaterThanOrEqualsNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left >= right, GREATEROREQUALNAME, config);\r\n }\r\n}\r\nRegisterClass(GREATEROREQUALNAME, FlowGraphGreaterThanOrEqualsNumberBlock);\r\n\r\nconst LESSTHANNAME = \"FGLessThanNumberBlock\";\r\n/**\r\n * Outputs true if left is less than right, false otherwise.\r\n */\r\nexport class FlowGraphLessThanNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left < right, LESSTHANNAME, config);\r\n }\r\n}\r\nRegisterClass(LESSTHANNAME, FlowGraphLessThanNumberBlock);\r\n\r\nconst LESSOREQUALNAME = \"FGLessThanOrEqualsNumberBlock\";\r\n/**\r\n * Outputs true if left is less than or equal to right, false otherwise.\r\n */\r\nexport class FlowGraphLessThanOrEqualsNumberBlock extends FlowGraphBinaryOperationBlock<number, number, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, RichTypeNumber, RichTypeBoolean, (left, right) => left <= right, LESSOREQUALNAME, config);\r\n }\r\n}\r\nRegisterClass(LESSOREQUALNAME, FlowGraphLessThanOrEqualsNumberBlock);\r\n\r\nconst MIXNAME = \"FGMixNumberBlock\";\r\n/**\r\n * Outputs a mix of left and right based on alpha.\r\n * @experimental\r\n */\r\nexport class FlowGraphMixNumberBlock extends FlowGraphBlock {\r\n public leftInput: FlowGraphDataConnection<number>;\r\n public rightInput: FlowGraphDataConnection<number>;\r\n public alphaInput: FlowGraphDataConnection<number>;\r\n\r\n public resultOutput: FlowGraphDataConnection<number>;\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n this.leftInput = this._registerDataInput(\"leftInput\", RichTypeNumber);\r\n this.rightInput = this._registerDataInput(\"rightInput\", RichTypeNumber);\r\n this.alphaInput = this._registerDataInput(\"alphaInput\", RichTypeNumber);\r\n this.resultOutput = this._registerDataOutput(\"resultOutput\", RichTypeNumber);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const left = this.leftInput.getValue(_context);\r\n const right = this.rightInput.getValue(_context);\r\n const alpha = this.alphaInput.getValue(_context);\r\n const mix = left + (right - left) * alpha;\r\n this.resultOutput.setValue(mix, _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return MIXNAME;\r\n }\r\n}\r\nRegisterClass(MIXNAME, FlowGraphMixNumberBlock);\r\n"]}