@babylonjs/core 6.24.0 → 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 +1 @@
1
- {"version":3,"file":"flowGraphVector3MathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { RichTypeMatrix, RichTypeNumber, RichTypeVector3 } from \"core/FlowGraph/flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport type { Matrix } from \"../../../../Maths/math.vector\";\r\nimport { Quaternion, Vector3 } from \"../../../../Maths/math.vector\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport { FlowGraphBlock } from \"../../../flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"../../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../../flowGraphDataConnection\";\r\n\r\n/**\r\n * Add two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphAddVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor() {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.add(right));\r\n }\r\n}\r\n\r\n/**\r\n * Subtract two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphSubtractVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor() {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.subtract(right));\r\n }\r\n}\r\n\r\n/**\r\n * Multiply two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphMultiplyVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor() {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.multiply(right));\r\n }\r\n}\r\n\r\n/**\r\n * Divide two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphDivideVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor() {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.divide(right));\r\n }\r\n}\r\n\r\n/**\r\n * Scale a vector by a number.\r\n * @experimental\r\n */\r\nexport class FlowGraphScaleVector3Block extends FlowGraphBinaryOperationBlock<Vector3, number, Vector3> {\r\n constructor() {\r\n super(RichTypeVector3, RichTypeNumber, RichTypeVector3, (left, right) => left.scale(right));\r\n }\r\n}\r\n\r\n/**\r\n * Get the length of a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphLengthVector3Block extends FlowGraphUnaryOperationBlock<Vector3, number> {\r\n constructor() {\r\n super(RichTypeVector3, RichTypeNumber, (value) => value.length());\r\n }\r\n}\r\n\r\n/**\r\n * Normalize a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphNormalizeVector3Block extends FlowGraphUnaryOperationBlock<Vector3, Vector3> {\r\n constructor() {\r\n super(RichTypeVector3, RichTypeVector3, (value) => value.normalizeToNew());\r\n }\r\n}\r\n\r\n/**\r\n * Get the dot product of two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphDotVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, number> {\r\n constructor() {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeNumber, (left, right) => Vector3.Dot(left, right));\r\n }\r\n}\r\n\r\n/**\r\n * Get the cross product of two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphCrossVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor() {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => Vector3.Cross(left, right));\r\n }\r\n}\r\n\r\n/**\r\n * Create a vector from its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphCreateVector3Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The created vector.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector3>;\r\n\r\n private _cachedVector: Vector3 = Vector3.Zero();\r\n\r\n constructor() {\r\n super();\r\n\r\n this.x = this._registerDataInput(\"x\", RichTypeNumber);\r\n this.y = this._registerDataInput(\"y\", RichTypeNumber);\r\n this.z = this._registerDataInput(\"y\", RichTypeNumber);\r\n this.vector = this._registerDataOutput(\"vector\", RichTypeVector3);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n this._cachedVector.x = this.x.getValue(_context);\r\n this._cachedVector.y = this.y.getValue(_context);\r\n this._cachedVector.z = this.z.getValue(_context);\r\n this.vector.setValue(this._cachedVector, _context);\r\n }\r\n}\r\n\r\n/**\r\n * Split a vector into its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphSplitVector3Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The vector to split.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Output connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n\r\n constructor() {\r\n super();\r\n\r\n this.vector = this._registerDataInput(\"vector\", RichTypeVector3);\r\n this.x = this._registerDataOutput(\"x\", RichTypeNumber);\r\n this.y = this._registerDataOutput(\"y\", RichTypeNumber);\r\n this.z = this._registerDataOutput(\"z\", RichTypeNumber);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const vector = this.vector.getValue(_context);\r\n this.x.setValue(vector.x, _context);\r\n this.y.setValue(vector.y, _context);\r\n this.z.setValue(vector.z, _context);\r\n }\r\n}\r\n\r\n/**\r\n * Rotates a vector by a given angle.\r\n */\r\nexport class FlowGraphRotate3dVector3Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The vector to rotate.\r\n */\r\n public readonly input: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Input connection: The axis to rotate around.\r\n */\r\n public readonly axis: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Input connection: The angle to rotate by.\r\n */\r\n public readonly angle: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The rotated vector.\r\n */\r\n public readonly output: FlowGraphDataConnection<Vector3>;\r\n\r\n private _cachedQuaternion = new Quaternion();\r\n\r\n constructor() {\r\n super();\r\n this.input = this._registerDataInput(\"input\", RichTypeVector3);\r\n this.angle = this._registerDataInput(\"angle\", RichTypeNumber);\r\n this.output = this._registerDataOutput(\"output\", RichTypeVector3);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const rot = Quaternion.RotationAxisToRef(this.axis.getValue(_context), this.angle.getValue(_context), this._cachedQuaternion);\r\n const input = this.input.getValue(_context);\r\n const output = this.output.getValue(_context);\r\n input.applyRotationQuaternionToRef(rot, output);\r\n }\r\n}\r\n\r\n/**\r\n * Transforms a vector by a given matrix.\r\n * @experimental\r\n */\r\nexport class FlowGraphTransformVector3Block extends FlowGraphBinaryOperationBlock<Matrix, Vector3, Vector3> {\r\n private _cachedResult: Vector3 = Vector3.Zero();\r\n constructor() {\r\n super(RichTypeMatrix, RichTypeVector3, RichTypeVector3, (left, right) => Vector3.TransformCoordinatesToRef(right, left, this._cachedResult));\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flowGraphVector3MathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { RichTypeMatrix, RichTypeNumber, RichTypeVector3 } from \"core/FlowGraph/flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport type { Matrix } from \"../../../../Maths/math.vector\";\r\nimport { Quaternion, Vector3 } from \"../../../../Maths/math.vector\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport { FlowGraphBlock, type IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport type { FlowGraphContext } from \"../../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../../flowGraphDataConnection\";\r\n\r\nconst ADDNAME = \"FGAddVector3Block\";\r\n/**\r\n * Add two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphAddVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.add(right), ADDNAME, config);\r\n }\r\n}\r\nRegisterClass(ADDNAME, FlowGraphAddVector3Block);\r\n\r\nconst SUBNAME = \"FGSubtractVector3Block\";\r\n/**\r\n * Subtract two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphSubtractVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.subtract(right), SUBNAME, config);\r\n }\r\n}\r\nRegisterClass(SUBNAME, FlowGraphSubtractVector3Block);\r\n\r\nconst MULNAME = \"FGMultiplyVector3Block\";\r\n/**\r\n * Multiply two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphMultiplyVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.multiply(right), MULNAME, config);\r\n }\r\n}\r\nRegisterClass(MULNAME, FlowGraphMultiplyVector3Block);\r\n\r\nconst DIVNAME = \"FGDivideVector3Block\";\r\n/**\r\n * Divide two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphDivideVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => left.divide(right), DIVNAME, config);\r\n }\r\n}\r\nRegisterClass(DIVNAME, FlowGraphDivideVector3Block);\r\n\r\nconst SCALNAME = \"FGScaleVector3Block\";\r\n/**\r\n * Scale a vector by a number.\r\n * @experimental\r\n */\r\nexport class FlowGraphScaleVector3Block extends FlowGraphBinaryOperationBlock<Vector3, number, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeNumber, RichTypeVector3, (left, right) => left.scale(right), SCALNAME, config);\r\n }\r\n}\r\nRegisterClass(SCALNAME, FlowGraphScaleVector3Block);\r\n\r\nconst LENNAME = \"FGLengthVector3Block\";\r\n/**\r\n * Get the length of a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphLengthVector3Block extends FlowGraphUnaryOperationBlock<Vector3, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeNumber, (value) => value.length(), LENNAME, config);\r\n }\r\n}\r\nRegisterClass(LENNAME, FlowGraphLengthVector3Block);\r\n\r\nconst NORMNAME = \"FGNormalizeVector3Block\";\r\n/**\r\n * Normalize a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphNormalizeVector3Block extends FlowGraphUnaryOperationBlock<Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, (value) => value.normalizeToNew(), NORMNAME, config);\r\n }\r\n}\r\nRegisterClass(NORMNAME, FlowGraphNormalizeVector3Block);\r\n\r\nconst DOTNAME = \"FGDotVector3Block\";\r\n/**\r\n * Get the dot product of two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphDotVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeNumber, (left, right) => Vector3.Dot(left, right), DOTNAME, config);\r\n }\r\n}\r\nRegisterClass(DOTNAME, FlowGraphDotVector3Block);\r\n\r\nconst CROSSNAME = \"FGCrossVector3Block\";\r\n/**\r\n * Get the cross product of two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphCrossVector3Block extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (left, right) => Vector3.Cross(left, right), CROSSNAME, config);\r\n }\r\n}\r\nRegisterClass(CROSSNAME, FlowGraphCrossVector3Block);\r\n\r\nconst CREATENAME = \"FGCreateVector3Block\";\r\n/**\r\n * Create a vector from its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphCreateVector3Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The created vector.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector3>;\r\n\r\n private _cachedVector: Vector3 = Vector3.Zero();\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.x = this._registerDataInput(\"x\", RichTypeNumber);\r\n this.y = this._registerDataInput(\"y\", RichTypeNumber);\r\n this.z = this._registerDataInput(\"y\", RichTypeNumber);\r\n this.vector = this._registerDataOutput(\"vector\", RichTypeVector3);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n this._cachedVector.x = this.x.getValue(_context);\r\n this._cachedVector.y = this.y.getValue(_context);\r\n this._cachedVector.z = this.z.getValue(_context);\r\n this.vector.setValue(this._cachedVector, _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return CREATENAME;\r\n }\r\n}\r\nRegisterClass(CREATENAME, FlowGraphCreateVector3Block);\r\n\r\nconst SPLITNAME = \"FGSplitVector3Block\";\r\n/**\r\n * Split a vector into its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphSplitVector3Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The vector to split.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Output connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.vector = this._registerDataInput(\"vector\", RichTypeVector3);\r\n this.x = this._registerDataOutput(\"x\", RichTypeNumber);\r\n this.y = this._registerDataOutput(\"y\", RichTypeNumber);\r\n this.z = this._registerDataOutput(\"z\", RichTypeNumber);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const vector = this.vector.getValue(_context);\r\n this.x.setValue(vector.x, _context);\r\n this.y.setValue(vector.y, _context);\r\n this.z.setValue(vector.z, _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return SPLITNAME;\r\n }\r\n}\r\nRegisterClass(SPLITNAME, FlowGraphSplitVector3Block);\r\n\r\nconst ROTATENAME = \"FGRotateVector3Block\";\r\n/**\r\n * Rotates a vector by a given angle.\r\n */\r\nexport class FlowGraphRotate3dVector3Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The vector to rotate.\r\n */\r\n public readonly input: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Input connection: The axis to rotate around.\r\n */\r\n public readonly axis: FlowGraphDataConnection<Vector3>;\r\n /**\r\n * Input connection: The angle to rotate by.\r\n */\r\n public readonly angle: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The rotated vector.\r\n */\r\n public readonly output: FlowGraphDataConnection<Vector3>;\r\n\r\n private _cachedQuaternion = new Quaternion();\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n this.input = this._registerDataInput(\"input\", RichTypeVector3);\r\n this.angle = this._registerDataInput(\"angle\", RichTypeNumber);\r\n this.output = this._registerDataOutput(\"output\", RichTypeVector3);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const rot = Quaternion.RotationAxisToRef(this.axis.getValue(_context), this.angle.getValue(_context), this._cachedQuaternion);\r\n const input = this.input.getValue(_context);\r\n const output = this.output.getValue(_context);\r\n input.applyRotationQuaternionToRef(rot, output);\r\n }\r\n\r\n public getClassName(): string {\r\n return ROTATENAME;\r\n }\r\n}\r\nRegisterClass(ROTATENAME, FlowGraphRotate3dVector3Block);\r\n\r\nconst TRANSFORMNAME = \"FGTransformVector3Block\";\r\n/**\r\n * Transforms a vector by a given matrix.\r\n * @experimental\r\n */\r\nexport class FlowGraphTransformVector3Block extends FlowGraphBinaryOperationBlock<Matrix, Vector3, Vector3> {\r\n private _cachedResult: Vector3 = Vector3.Zero();\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeMatrix, RichTypeVector3, RichTypeVector3, (left, right) => Vector3.TransformCoordinatesToRef(right, left, this._cachedResult), TRANSFORMNAME, config);\r\n }\r\n}\r\nRegisterClass(TRANSFORMNAME, FlowGraphTransformVector3Block);\r\n"]}
@@ -1,7 +1,7 @@
1
1
  import { FlowGraphBinaryOperationBlock } from "../flowGraphBinaryOperationBlock";
2
2
  import { Vector4 } from "../../../../Maths/math.vector";
3
3
  import { FlowGraphUnaryOperationBlock } from "../flowGraphUnaryOperationBlock";
4
- import { FlowGraphBlock } from "../../../flowGraphBlock";
4
+ import { FlowGraphBlock, type IFlowGraphBlockConfiguration } from "../../../flowGraphBlock";
5
5
  import type { FlowGraphContext } from "../../../flowGraphContext";
6
6
  import type { FlowGraphDataConnection } from "../../../flowGraphDataConnection";
7
7
  /**
@@ -9,49 +9,50 @@ import type { FlowGraphDataConnection } from "../../../flowGraphDataConnection";
9
9
  * @experimental
10
10
  */
11
11
  export declare class FlowGraphAddVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {
12
- constructor();
12
+ constructor(config?: IFlowGraphBlockConfiguration);
13
13
  }
14
14
  /**
15
15
  * Subtract two vectors.
16
16
  * @experimental
17
17
  */
18
18
  export declare class FlowGraphSubtractVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {
19
- constructor();
19
+ constructor(config?: IFlowGraphBlockConfiguration);
20
20
  }
21
21
  /**
22
22
  * Multiply two vectors together.
23
23
  * @experimental
24
24
  */
25
25
  export declare class FlowGraphMultiplyVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {
26
- constructor();
26
+ constructor(config?: IFlowGraphBlockConfiguration);
27
27
  }
28
28
  /**
29
29
  * Divide two vectors.
30
30
  * @experimental
31
31
  */
32
32
  export declare class FlowGraphDivideVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {
33
- constructor();
33
+ constructor(config?: IFlowGraphBlockConfiguration);
34
34
  }
35
35
  /**
36
36
  * Scale a vector by a number.
37
37
  * @experimental
38
38
  */
39
39
  export declare class FlowGraphScaleVector4Block extends FlowGraphBinaryOperationBlock<Vector4, number, Vector4> {
40
- constructor();
40
+ constructor(config?: IFlowGraphBlockConfiguration);
41
41
  }
42
42
  /**
43
43
  * Get the length of a vector.
44
44
  * @experimental
45
45
  */
46
46
  export declare class FlowGraphLengthVector4Block extends FlowGraphUnaryOperationBlock<Vector4, number> {
47
- constructor();
47
+ constructor(config?: IFlowGraphBlockConfiguration);
48
48
  }
49
49
  /**
50
50
  * Normalize a vector.
51
51
  * @experimental
52
52
  */
53
53
  export declare class FlowGraphNormalizeVector4Block extends FlowGraphUnaryOperationBlock<Vector4, Vector4> {
54
- constructor();
54
+ constructor(config?: IFlowGraphBlockConfiguration);
55
+ getClassName(): string;
55
56
  }
56
57
  /**
57
58
  * Create a vector from its components.
@@ -79,8 +80,9 @@ export declare class FlowGraphCreateVector4Block extends FlowGraphBlock {
79
80
  */
80
81
  readonly vector: FlowGraphDataConnection<Vector4>;
81
82
  private _cachedVector;
82
- constructor();
83
+ constructor(config?: IFlowGraphBlockConfiguration);
83
84
  _updateOutputs(_context: FlowGraphContext): void;
85
+ getClassName(): string;
84
86
  }
85
87
  /**
86
88
  * Split a vector into its components.
@@ -107,6 +109,7 @@ export declare class FlowGraphSplitVector4Block extends FlowGraphBlock {
107
109
  * Input connection: The w component of the vector.
108
110
  */
109
111
  readonly w: FlowGraphDataConnection<number>;
110
- constructor();
112
+ constructor(config?: IFlowGraphBlockConfiguration);
111
113
  _updateOutputs(_context: FlowGraphContext): void;
114
+ getClassName(): string;
112
115
  }
@@ -3,80 +3,99 @@ import { FlowGraphBinaryOperationBlock } from "../flowGraphBinaryOperationBlock.
3
3
  import { Vector4 } from "../../../../Maths/math.vector.js";
4
4
  import { FlowGraphUnaryOperationBlock } from "../flowGraphUnaryOperationBlock.js";
5
5
  import { FlowGraphBlock } from "../../../flowGraphBlock.js";
6
+ import { RegisterClass } from "../../../../Misc/typeStore.js";
7
+ const ADDNAME = "FGAddVector4Block";
6
8
  /**
7
9
  * Add two vectors together.
8
10
  * @experimental
9
11
  */
10
12
  export class FlowGraphAddVector4Block extends FlowGraphBinaryOperationBlock {
11
- constructor() {
12
- super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.add(right));
13
+ constructor(config) {
14
+ super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.add(right), ADDNAME, config);
13
15
  }
14
16
  }
17
+ RegisterClass(ADDNAME, FlowGraphAddVector4Block);
18
+ const SUBNAME = "FGSubtractVector4Block";
15
19
  /**
16
20
  * Subtract two vectors.
17
21
  * @experimental
18
22
  */
19
23
  export class FlowGraphSubtractVector4Block extends FlowGraphBinaryOperationBlock {
20
- constructor() {
21
- super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.subtract(right));
24
+ constructor(config) {
25
+ super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.subtract(right), SUBNAME, config);
22
26
  }
23
27
  }
28
+ RegisterClass(SUBNAME, FlowGraphSubtractVector4Block);
29
+ const MULNAME = "FGMultiplyVector4Block";
24
30
  /**
25
31
  * Multiply two vectors together.
26
32
  * @experimental
27
33
  */
28
34
  export class FlowGraphMultiplyVector4Block extends FlowGraphBinaryOperationBlock {
29
- constructor() {
30
- super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.multiply(right));
35
+ constructor(config) {
36
+ super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.multiply(right), MULNAME, config);
31
37
  }
32
38
  }
39
+ RegisterClass(MULNAME, FlowGraphMultiplyVector4Block);
40
+ const DIVNAME = "FGDivideVector4Block";
33
41
  /**
34
42
  * Divide two vectors.
35
43
  * @experimental
36
44
  */
37
45
  export class FlowGraphDivideVector4Block extends FlowGraphBinaryOperationBlock {
38
- constructor() {
39
- super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.divide(right));
46
+ constructor(config) {
47
+ super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.divide(right), DIVNAME, config);
40
48
  }
41
49
  }
50
+ RegisterClass(DIVNAME, FlowGraphDivideVector4Block);
51
+ const SCALNAME = "FGScaleVector4Block";
42
52
  /**
43
53
  * Scale a vector by a number.
44
54
  * @experimental
45
55
  */
46
56
  export class FlowGraphScaleVector4Block extends FlowGraphBinaryOperationBlock {
47
- constructor() {
48
- super(RichTypeVector4, RichTypeNumber, RichTypeVector4, (left, right) => left.scale(right));
57
+ constructor(config) {
58
+ super(RichTypeVector4, RichTypeNumber, RichTypeVector4, (left, right) => left.scale(right), SCALNAME, config);
49
59
  }
50
60
  }
61
+ RegisterClass(SCALNAME, FlowGraphScaleVector4Block);
62
+ const LENGTHNAME = "FGLengthVector4Block";
51
63
  /**
52
64
  * Get the length of a vector.
53
65
  * @experimental
54
66
  */
55
67
  export class FlowGraphLengthVector4Block extends FlowGraphUnaryOperationBlock {
56
- constructor() {
57
- super(RichTypeVector4, RichTypeNumber, (value) => value.length());
68
+ constructor(config) {
69
+ super(RichTypeVector4, RichTypeNumber, (value) => value.length(), LENGTHNAME, config);
58
70
  }
59
71
  }
72
+ RegisterClass(LENGTHNAME, FlowGraphLengthVector4Block);
73
+ const NORMALIZENAME = "FGNormalizeVector4Block";
60
74
  /**
61
75
  * Normalize a vector.
62
76
  * @experimental
63
77
  */
64
78
  export class FlowGraphNormalizeVector4Block extends FlowGraphUnaryOperationBlock {
65
- constructor() {
79
+ constructor(config) {
66
80
  super(RichTypeVector4, RichTypeVector4, (value) => {
67
81
  const clone = value.clone();
68
82
  clone.normalize();
69
83
  return clone;
70
- });
84
+ }, NORMALIZENAME, config);
85
+ }
86
+ getClassName() {
87
+ return NORMALIZENAME;
71
88
  }
72
89
  }
90
+ RegisterClass(NORMALIZENAME, FlowGraphNormalizeVector4Block);
91
+ const CREATENAME = "FGCreateVector4Block";
73
92
  /**
74
93
  * Create a vector from its components.
75
94
  * @experimental
76
95
  */
77
96
  export class FlowGraphCreateVector4Block extends FlowGraphBlock {
78
- constructor() {
79
- super();
97
+ constructor(config) {
98
+ super(config);
80
99
  this._cachedVector = Vector4.Zero();
81
100
  this.x = this._registerDataInput("x", RichTypeNumber);
82
101
  this.y = this._registerDataInput("y", RichTypeNumber);
@@ -91,14 +110,19 @@ export class FlowGraphCreateVector4Block extends FlowGraphBlock {
91
110
  this._cachedVector.w = this.w.getValue(_context);
92
111
  this.vector.setValue(this._cachedVector, _context);
93
112
  }
113
+ getClassName() {
114
+ return CREATENAME;
115
+ }
94
116
  }
117
+ RegisterClass(CREATENAME, FlowGraphCreateVector4Block);
118
+ const SPLITNAME = "FGSplitVector4Block";
95
119
  /**
96
120
  * Split a vector into its components.
97
121
  * @experimental
98
122
  */
99
123
  export class FlowGraphSplitVector4Block extends FlowGraphBlock {
100
- constructor() {
101
- super();
124
+ constructor(config) {
125
+ super(config);
102
126
  this.vector = this._registerDataInput("vector", RichTypeVector4);
103
127
  this.x = this._registerDataOutput("x", RichTypeNumber);
104
128
  this.y = this._registerDataOutput("y", RichTypeNumber);
@@ -112,5 +136,9 @@ export class FlowGraphSplitVector4Block extends FlowGraphBlock {
112
136
  this.z.setValue(vector.z, _context);
113
137
  this.w.setValue(vector.w, _context);
114
138
  }
139
+ getClassName() {
140
+ return SPLITNAME;
141
+ }
115
142
  }
143
+ RegisterClass(SPLITNAME, FlowGraphSplitVector4Block);
116
144
  //# sourceMappingURL=flowGraphVector4MathBlocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphVector4MathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,uCAA0C;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIzD;;;GAGG;AACH,MAAM,OAAO,wBAAyB,SAAQ,6BAAwD;IAClG;QACI,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,6BAA8B,SAAQ,6BAAwD;IACvG;QACI,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpG,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,6BAA8B,SAAQ,6BAAwD;IACvG;QACI,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpG,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,6BAAwD;IACrG;QACI,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClG,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,6BAAuD;IACnG;QACI,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAChG,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,4BAA6C;IAC1F;QACI,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,8BAA+B,SAAQ,4BAA8C;IAC9F;QACI,KAAK,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE;YACvD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,cAAc;IAwB3D;QACI,KAAK,EAAE,CAAC;QAHJ,kBAAa,GAAY,OAAO,CAAC,IAAI,EAAE,CAAC;QAK5C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtE,CAAC;IAEM,cAAc,CAAC,QAA0B;QAC5C,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,cAAc;IAsB1D;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;IAEM,cAAc,CAAC,QAA0B;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;CACJ","sourcesContent":["import { RichTypeNumber, RichTypeVector4 } from \"core/FlowGraph/flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport { Vector4 } from \"../../../../Maths/math.vector\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport { FlowGraphBlock } from \"../../../flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"../../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../../flowGraphDataConnection\";\r\n\r\n/**\r\n * Add two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphAddVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor() {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.add(right));\r\n }\r\n}\r\n\r\n/**\r\n * Subtract two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphSubtractVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor() {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.subtract(right));\r\n }\r\n}\r\n\r\n/**\r\n * Multiply two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphMultiplyVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor() {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.multiply(right));\r\n }\r\n}\r\n\r\n/**\r\n * Divide two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphDivideVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor() {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.divide(right));\r\n }\r\n}\r\n\r\n/**\r\n * Scale a vector by a number.\r\n * @experimental\r\n */\r\nexport class FlowGraphScaleVector4Block extends FlowGraphBinaryOperationBlock<Vector4, number, Vector4> {\r\n constructor() {\r\n super(RichTypeVector4, RichTypeNumber, RichTypeVector4, (left, right) => left.scale(right));\r\n }\r\n}\r\n\r\n/**\r\n * Get the length of a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphLengthVector4Block extends FlowGraphUnaryOperationBlock<Vector4, number> {\r\n constructor() {\r\n super(RichTypeVector4, RichTypeNumber, (value) => value.length());\r\n }\r\n}\r\n\r\n/**\r\n * Normalize a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphNormalizeVector4Block extends FlowGraphUnaryOperationBlock<Vector4, Vector4> {\r\n constructor() {\r\n super(RichTypeVector4, RichTypeVector4, (value: Vector4) => {\r\n const clone = value.clone();\r\n clone.normalize();\r\n return clone;\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Create a vector from its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphCreateVector4Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The w component of the vector.\r\n */\r\n public readonly w: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The created vector.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector4>;\r\n\r\n private _cachedVector: Vector4 = Vector4.Zero();\r\n\r\n constructor() {\r\n super();\r\n\r\n this.x = this._registerDataInput(\"x\", RichTypeNumber);\r\n this.y = this._registerDataInput(\"y\", RichTypeNumber);\r\n this.z = this._registerDataInput(\"y\", RichTypeNumber);\r\n this.w = this._registerDataInput(\"w\", RichTypeNumber);\r\n this.vector = this._registerDataOutput(\"vector\", RichTypeVector4);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n this._cachedVector.x = this.x.getValue(_context);\r\n this._cachedVector.y = this.y.getValue(_context);\r\n this._cachedVector.z = this.z.getValue(_context);\r\n this._cachedVector.w = this.w.getValue(_context);\r\n this.vector.setValue(this._cachedVector, _context);\r\n }\r\n}\r\n\r\n/**\r\n * Split a vector into its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphSplitVector4Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The vector to split.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector4>;\r\n /**\r\n * Output connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The w component of the vector.\r\n */\r\n public readonly w: FlowGraphDataConnection<number>;\r\n\r\n constructor() {\r\n super();\r\n\r\n this.vector = this._registerDataInput(\"vector\", RichTypeVector4);\r\n this.x = this._registerDataOutput(\"x\", RichTypeNumber);\r\n this.y = this._registerDataOutput(\"y\", RichTypeNumber);\r\n this.z = this._registerDataOutput(\"z\", RichTypeNumber);\r\n this.w = this._registerDataOutput(\"w\", RichTypeNumber);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const vector = this.vector.getValue(_context);\r\n this.x.setValue(vector.x, _context);\r\n this.y.setValue(vector.y, _context);\r\n this.z.setValue(vector.z, _context);\r\n this.w.setValue(vector.w, _context);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flowGraphVector4MathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { RichTypeNumber, RichTypeVector4 } from \"core/FlowGraph/flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport { Vector4 } from \"../../../../Maths/math.vector\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport { FlowGraphBlock, type IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport type { FlowGraphContext } from \"../../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../../flowGraphDataConnection\";\r\n\r\nconst ADDNAME = \"FGAddVector4Block\";\r\n/**\r\n * Add two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphAddVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.add(right), ADDNAME, config);\r\n }\r\n}\r\nRegisterClass(ADDNAME, FlowGraphAddVector4Block);\r\n\r\nconst SUBNAME = \"FGSubtractVector4Block\";\r\n/**\r\n * Subtract two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphSubtractVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.subtract(right), SUBNAME, config);\r\n }\r\n}\r\nRegisterClass(SUBNAME, FlowGraphSubtractVector4Block);\r\n\r\nconst MULNAME = \"FGMultiplyVector4Block\";\r\n/**\r\n * Multiply two vectors together.\r\n * @experimental\r\n */\r\nexport class FlowGraphMultiplyVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.multiply(right), MULNAME, config);\r\n }\r\n}\r\nRegisterClass(MULNAME, FlowGraphMultiplyVector4Block);\r\n\r\nconst DIVNAME = \"FGDivideVector4Block\";\r\n/**\r\n * Divide two vectors.\r\n * @experimental\r\n */\r\nexport class FlowGraphDivideVector4Block extends FlowGraphBinaryOperationBlock<Vector4, Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeVector4, RichTypeVector4, (left, right) => left.divide(right), DIVNAME, config);\r\n }\r\n}\r\nRegisterClass(DIVNAME, FlowGraphDivideVector4Block);\r\n\r\nconst SCALNAME = \"FGScaleVector4Block\";\r\n/**\r\n * Scale a vector by a number.\r\n * @experimental\r\n */\r\nexport class FlowGraphScaleVector4Block extends FlowGraphBinaryOperationBlock<Vector4, number, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeNumber, RichTypeVector4, (left, right) => left.scale(right), SCALNAME, config);\r\n }\r\n}\r\nRegisterClass(SCALNAME, FlowGraphScaleVector4Block);\r\n\r\nconst LENGTHNAME = \"FGLengthVector4Block\";\r\n/**\r\n * Get the length of a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphLengthVector4Block extends FlowGraphUnaryOperationBlock<Vector4, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector4, RichTypeNumber, (value) => value.length(), LENGTHNAME, config);\r\n }\r\n}\r\nRegisterClass(LENGTHNAME, FlowGraphLengthVector4Block);\r\n\r\nconst NORMALIZENAME = \"FGNormalizeVector4Block\";\r\n/**\r\n * Normalize a vector.\r\n * @experimental\r\n */\r\nexport class FlowGraphNormalizeVector4Block extends FlowGraphUnaryOperationBlock<Vector4, Vector4> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeVector4,\r\n RichTypeVector4,\r\n (value: Vector4) => {\r\n const clone = value.clone();\r\n clone.normalize();\r\n return clone;\r\n },\r\n NORMALIZENAME,\r\n config\r\n );\r\n }\r\n\r\n public getClassName(): string {\r\n return NORMALIZENAME;\r\n }\r\n}\r\nRegisterClass(NORMALIZENAME, FlowGraphNormalizeVector4Block);\r\n\r\nconst CREATENAME = \"FGCreateVector4Block\";\r\n/**\r\n * Create a vector from its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphCreateVector4Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The w component of the vector.\r\n */\r\n public readonly w: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The created vector.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector4>;\r\n\r\n private _cachedVector: Vector4 = Vector4.Zero();\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.x = this._registerDataInput(\"x\", RichTypeNumber);\r\n this.y = this._registerDataInput(\"y\", RichTypeNumber);\r\n this.z = this._registerDataInput(\"y\", RichTypeNumber);\r\n this.w = this._registerDataInput(\"w\", RichTypeNumber);\r\n this.vector = this._registerDataOutput(\"vector\", RichTypeVector4);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n this._cachedVector.x = this.x.getValue(_context);\r\n this._cachedVector.y = this.y.getValue(_context);\r\n this._cachedVector.z = this.z.getValue(_context);\r\n this._cachedVector.w = this.w.getValue(_context);\r\n this.vector.setValue(this._cachedVector, _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return CREATENAME;\r\n }\r\n}\r\nRegisterClass(CREATENAME, FlowGraphCreateVector4Block);\r\n\r\nconst SPLITNAME = \"FGSplitVector4Block\";\r\n/**\r\n * Split a vector into its components.\r\n * @experimental\r\n */\r\nexport class FlowGraphSplitVector4Block extends FlowGraphBlock {\r\n /**\r\n * Input connection: The vector to split.\r\n */\r\n public readonly vector: FlowGraphDataConnection<Vector4>;\r\n /**\r\n * Output connection: The x component of the vector.\r\n */\r\n public readonly x: FlowGraphDataConnection<number>;\r\n /**\r\n * Output connection: The y component of the vector.\r\n */\r\n public readonly y: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The z component of the vector.\r\n */\r\n public readonly z: FlowGraphDataConnection<number>;\r\n /**\r\n * Input connection: The w component of the vector.\r\n */\r\n public readonly w: FlowGraphDataConnection<number>;\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.vector = this._registerDataInput(\"vector\", RichTypeVector4);\r\n this.x = this._registerDataOutput(\"x\", RichTypeNumber);\r\n this.y = this._registerDataOutput(\"y\", RichTypeNumber);\r\n this.z = this._registerDataOutput(\"z\", RichTypeNumber);\r\n this.w = this._registerDataOutput(\"w\", RichTypeNumber);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n const vector = this.vector.getValue(_context);\r\n this.x.setValue(vector.x, _context);\r\n this.y.setValue(vector.y, _context);\r\n this.z.setValue(vector.z, _context);\r\n this.w.setValue(vector.w, _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return SPLITNAME;\r\n }\r\n}\r\nRegisterClass(SPLITNAME, FlowGraphSplitVector4Block);\r\n"]}
@@ -2,6 +2,7 @@ import type { FlowGraphDataConnection } from "../../flowGraphDataConnection";
2
2
  import { FlowGraphBlock } from "../../flowGraphBlock";
3
3
  import type { RichType } from "../../flowGraphRichTypes";
4
4
  import type { FlowGraphContext } from "../../flowGraphContext";
5
+ import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
5
6
  /**
6
7
  * @experimental
7
8
  * The base block for all binary operation blocks. Receives an input of type
@@ -9,9 +10,11 @@ import type { FlowGraphContext } from "../../flowGraphContext";
9
10
  */
10
11
  export declare class FlowGraphBinaryOperationBlock<LeftT, RightT, ResultT> extends FlowGraphBlock {
11
12
  private _operation;
13
+ private _className;
12
14
  leftInput: FlowGraphDataConnection<LeftT>;
13
15
  rightInput: FlowGraphDataConnection<RightT>;
14
16
  output: FlowGraphDataConnection<ResultT>;
15
- constructor(leftRichType: RichType<LeftT>, rightRichType: RichType<RightT>, resultRichType: RichType<ResultT>, _operation: (left: LeftT, right: RightT) => ResultT);
17
+ constructor(leftRichType: RichType<LeftT>, rightRichType: RichType<RightT>, resultRichType: RichType<ResultT>, _operation: (left: LeftT, right: RightT) => ResultT, _className: string, config?: IFlowGraphBlockConfiguration);
16
18
  _updateOutputs(_context: FlowGraphContext): void;
19
+ getClassName(): string;
17
20
  }
@@ -5,9 +5,10 @@ import { FlowGraphBlock } from "../../flowGraphBlock.js";
5
5
  * LeftT, one of type RightT, and outputs a value of type ResultT.
6
6
  */
7
7
  export class FlowGraphBinaryOperationBlock extends FlowGraphBlock {
8
- constructor(leftRichType, rightRichType, resultRichType, _operation) {
9
- super();
8
+ constructor(leftRichType, rightRichType, resultRichType, _operation, _className, config) {
9
+ super(config);
10
10
  this._operation = _operation;
11
+ this._className = _className;
11
12
  this.leftInput = this._registerDataInput("leftInput", leftRichType);
12
13
  this.rightInput = this._registerDataInput("rightInput", rightRichType);
13
14
  this.output = this._registerDataOutput("Output", resultRichType);
@@ -15,5 +16,8 @@ export class FlowGraphBinaryOperationBlock extends FlowGraphBlock {
15
16
  _updateOutputs(_context) {
16
17
  this.output.setValue(this._operation(this.leftInput.getValue(_context), this.rightInput.getValue(_context)), _context);
17
18
  }
19
+ getClassName() {
20
+ return this._className;
21
+ }
18
22
  }
19
23
  //# sourceMappingURL=flowGraphBinaryOperationBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphBinaryOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;;GAIG;AACH,MAAM,OAAO,6BAAsD,SAAQ,cAAc;IAKrF,YAAY,YAA6B,EAAE,aAA+B,EAAE,cAAiC,EAAU,UAAmD;QACtK,KAAK,EAAE,CAAC;QAD2G,eAAU,GAAV,UAAU,CAAyC;QAEtK,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC;IAEM,cAAc,CAAC,QAA0B;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3H,CAAC;CACJ","sourcesContent":["import type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\n\r\n/**\r\n * @experimental\r\n * The base block for all binary operation blocks. Receives an input of type\r\n * LeftT, one of type RightT, and outputs a value of type ResultT.\r\n */\r\nexport class FlowGraphBinaryOperationBlock<LeftT, RightT, ResultT> extends FlowGraphBlock {\r\n leftInput: FlowGraphDataConnection<LeftT>;\r\n rightInput: FlowGraphDataConnection<RightT>;\r\n output: FlowGraphDataConnection<ResultT>;\r\n\r\n constructor(leftRichType: RichType<LeftT>, rightRichType: RichType<RightT>, resultRichType: RichType<ResultT>, private _operation: (left: LeftT, right: RightT) => ResultT) {\r\n super();\r\n this.leftInput = this._registerDataInput(\"leftInput\", leftRichType);\r\n this.rightInput = this._registerDataInput(\"rightInput\", rightRichType);\r\n this.output = this._registerDataOutput(\"Output\", resultRichType);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n this.output.setValue(this._operation(this.leftInput.getValue(_context), this.rightInput.getValue(_context)), _context);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flowGraphBinaryOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;;GAIG;AACH,MAAM,OAAO,6BAAsD,SAAQ,cAAc;IAKrF,YACI,YAA6B,EAC7B,aAA+B,EAC/B,cAAiC,EACzB,UAAmD,EACnD,UAAkB,EAC1B,MAAqC;QAErC,KAAK,CAAC,MAAM,CAAC,CAAC;QAJN,eAAU,GAAV,UAAU,CAAyC;QACnD,eAAU,GAAV,UAAU,CAAQ;QAI1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC;IAEM,cAAc,CAAC,QAA0B;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3H,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ","sourcesContent":["import type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\n/**\r\n * @experimental\r\n * The base block for all binary operation blocks. Receives an input of type\r\n * LeftT, one of type RightT, and outputs a value of type ResultT.\r\n */\r\nexport class FlowGraphBinaryOperationBlock<LeftT, RightT, ResultT> extends FlowGraphBlock {\r\n leftInput: FlowGraphDataConnection<LeftT>;\r\n rightInput: FlowGraphDataConnection<RightT>;\r\n output: FlowGraphDataConnection<ResultT>;\r\n\r\n constructor(\r\n leftRichType: RichType<LeftT>,\r\n rightRichType: RichType<RightT>,\r\n resultRichType: RichType<ResultT>,\r\n private _operation: (left: LeftT, right: RightT) => ResultT,\r\n private _className: string,\r\n config?: IFlowGraphBlockConfiguration\r\n ) {\r\n super(config);\r\n this.leftInput = this._registerDataInput(\"leftInput\", leftRichType);\r\n this.rightInput = this._registerDataInput(\"rightInput\", rightRichType);\r\n this.output = this._registerDataOutput(\"Output\", resultRichType);\r\n }\r\n\r\n public _updateOutputs(_context: FlowGraphContext): void {\r\n this.output.setValue(this._operation(this.leftInput.getValue(_context), this.rightInput.getValue(_context)), _context);\r\n }\r\n\r\n public getClassName(): string {\r\n return this._className;\r\n }\r\n}\r\n"]}
@@ -1,6 +1,7 @@
1
1
  import type { FlowGraphContext } from "../../flowGraphContext";
2
2
  import { FlowGraphBlock } from "../../flowGraphBlock";
3
3
  import type { FlowGraphDataConnection } from "../../flowGraphDataConnection";
4
+ import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
4
5
  /**
5
6
  * @experimental
6
7
  * Block that returns a value based on a condition.
@@ -22,9 +23,10 @@ export declare class FlowGraphConditionalDataBlock<T> extends FlowGraphBlock {
22
23
  * Output connection: The value that was returned.
23
24
  */
24
25
  readonly output: FlowGraphDataConnection<T>;
25
- constructor();
26
+ constructor(config?: IFlowGraphBlockConfiguration);
26
27
  /**
27
28
  * @internal
28
29
  */
29
30
  _updateOutputs(context: FlowGraphContext): void;
31
+ getClassName(): string;
30
32
  }
@@ -1,12 +1,13 @@
1
1
  import { FlowGraphBlock } from "../../flowGraphBlock.js";
2
2
  import { RichTypeBoolean, RichTypeAny } from "../../flowGraphRichTypes.js";
3
+ import { RegisterClass } from "../../../Misc/typeStore.js";
3
4
  /**
4
5
  * @experimental
5
6
  * Block that returns a value based on a condition.
6
7
  */
7
8
  export class FlowGraphConditionalDataBlock extends FlowGraphBlock {
8
- constructor() {
9
- super();
9
+ constructor(config) {
10
+ super(config);
10
11
  this.condition = this._registerDataInput("condition", RichTypeBoolean);
11
12
  this.trueValue = this._registerDataInput("trueValue", RichTypeAny);
12
13
  this.falseValue = this._registerDataInput("falseValue", RichTypeAny);
@@ -18,5 +19,9 @@ export class FlowGraphConditionalDataBlock extends FlowGraphBlock {
18
19
  _updateOutputs(context) {
19
20
  this.output.setValue(this.condition.getValue(context) ? this.trueValue.getValue(context) : this.falseValue.getValue(context), context);
20
21
  }
22
+ getClassName() {
23
+ return "FGConditionalDataBlock";
24
+ }
21
25
  }
26
+ RegisterClass("FGConditionalDataBlock", FlowGraphConditionalDataBlock);
22
27
  //# sourceMappingURL=flowGraphConditionalDataBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphConditionalDataBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAExE;;;GAGG;AACH,MAAM,OAAO,6BAAiC,SAAQ,cAAc;IAmBhE;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAAyB;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3I,CAAC;CACJ","sourcesContent":["import type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { RichTypeBoolean, RichTypeAny } from \"../../flowGraphRichTypes\";\r\n\r\n/**\r\n * @experimental\r\n * Block that returns a value based on a condition.\r\n */\r\nexport class FlowGraphConditionalDataBlock<T> extends FlowGraphBlock {\r\n /**\r\n * Input connection: The condition to check.\r\n */\r\n public readonly condition: FlowGraphDataConnection<boolean>;\r\n /**\r\n * Input connection: The value to return if the condition is true.\r\n */\r\n public readonly trueValue: FlowGraphDataConnection<T>;\r\n /**\r\n * Input connection: The value to return if the condition is false.\r\n */\r\n public readonly falseValue: FlowGraphDataConnection<T>;\r\n\r\n /**\r\n * Output connection: The value that was returned.\r\n */\r\n public readonly output: FlowGraphDataConnection<T>;\r\n\r\n constructor() {\r\n super();\r\n\r\n this.condition = this._registerDataInput(\"condition\", RichTypeBoolean);\r\n this.trueValue = this._registerDataInput(\"trueValue\", RichTypeAny);\r\n this.falseValue = this._registerDataInput(\"falseValue\", RichTypeAny);\r\n\r\n this.output = this._registerDataOutput(\"output\", RichTypeAny);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _updateOutputs(context: FlowGraphContext): void {\r\n this.output.setValue(this.condition.getValue(context) ? this.trueValue.getValue(context) : this.falseValue.getValue(context), context);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flowGraphConditionalDataBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD;;;GAGG;AACH,MAAM,OAAO,6BAAiC,SAAQ,cAAc;IAmBhE,YAAY,MAAqC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAAyB;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3I,CAAC;IAEM,YAAY;QACf,OAAO,wBAAwB,CAAC;IACpC,CAAC;CACJ;AACD,aAAa,CAAC,wBAAwB,EAAE,6BAA6B,CAAC,CAAC","sourcesContent":["import type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { RichTypeBoolean, RichTypeAny } from \"../../flowGraphRichTypes\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\n/**\r\n * @experimental\r\n * Block that returns a value based on a condition.\r\n */\r\nexport class FlowGraphConditionalDataBlock<T> extends FlowGraphBlock {\r\n /**\r\n * Input connection: The condition to check.\r\n */\r\n public readonly condition: FlowGraphDataConnection<boolean>;\r\n /**\r\n * Input connection: The value to return if the condition is true.\r\n */\r\n public readonly trueValue: FlowGraphDataConnection<T>;\r\n /**\r\n * Input connection: The value to return if the condition is false.\r\n */\r\n public readonly falseValue: FlowGraphDataConnection<T>;\r\n\r\n /**\r\n * Output connection: The value that was returned.\r\n */\r\n public readonly output: FlowGraphDataConnection<T>;\r\n\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.condition = this._registerDataInput(\"condition\", RichTypeBoolean);\r\n this.trueValue = this._registerDataInput(\"trueValue\", RichTypeAny);\r\n this.falseValue = this._registerDataInput(\"falseValue\", RichTypeAny);\r\n\r\n this.output = this._registerDataOutput(\"output\", RichTypeAny);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _updateOutputs(context: FlowGraphContext): void {\r\n this.output.setValue(this.condition.getValue(context) ? this.trueValue.getValue(context) : this.falseValue.getValue(context), context);\r\n }\r\n\r\n public getClassName(): string {\r\n return \"FGConditionalDataBlock\";\r\n }\r\n}\r\nRegisterClass(\"FGConditionalDataBlock\", FlowGraphConditionalDataBlock);\r\n"]}
@@ -1,11 +1,12 @@
1
1
  import { FlowGraphBlock } from "../../flowGraphBlock.js";
2
2
  import type { FlowGraphContext } from "../../flowGraphContext.js";
3
3
  import type { FlowGraphDataConnection } from "../../flowGraphDataConnection.js";
4
+ import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
4
5
  /**
5
6
  * @experimental
6
7
  * Configuration for a constant block.
7
8
  */
8
- export interface IFlowGraphConstantBlockConfiguration<T> {
9
+ export interface IFlowGraphConstantBlockConfiguration<T> extends IFlowGraphBlockConfiguration {
9
10
  /**
10
11
  * The value of the constant.
11
12
  */
@@ -16,11 +17,12 @@ export interface IFlowGraphConstantBlockConfiguration<T> {
16
17
  * Block that returns a constant value.
17
18
  */
18
19
  export declare class FlowGraphConstantBlock<T> extends FlowGraphBlock {
19
- private _config;
20
+ config: IFlowGraphConstantBlockConfiguration<T>;
20
21
  /**
21
22
  * Output connection: The constant value.
22
23
  */
23
24
  readonly output: FlowGraphDataConnection<T>;
24
- constructor(_config: IFlowGraphConstantBlockConfiguration<T>);
25
+ constructor(config: IFlowGraphConstantBlockConfiguration<T>);
25
26
  _updateOutputs(context: FlowGraphContext): void;
27
+ getClassName(): string;
26
28
  }
@@ -1,17 +1,22 @@
1
1
  import { FlowGraphBlock } from "../../flowGraphBlock.js";
2
2
  import { getRichTypeFromValue } from "../../flowGraphRichTypes.js";
3
+ import { RegisterClass } from "../../../Misc/typeStore.js";
3
4
  /**
4
5
  * @experimental
5
6
  * Block that returns a constant value.
6
7
  */
7
8
  export class FlowGraphConstantBlock extends FlowGraphBlock {
8
- constructor(_config) {
9
- super();
10
- this._config = _config;
11
- this.output = this._registerDataOutput("output", getRichTypeFromValue(_config.value));
9
+ constructor(config) {
10
+ super(config);
11
+ this.config = config;
12
+ this.output = this._registerDataOutput("output", getRichTypeFromValue(config.value));
12
13
  }
13
14
  _updateOutputs(context) {
14
- this.output.setValue(this._config.value, context);
15
+ this.output.setValue(this.config.value, context);
16
+ }
17
+ getClassName() {
18
+ return "FGConstantBlock";
15
19
  }
16
20
  }
21
+ RegisterClass("FGConstantBlock", FlowGraphConstantBlock);
17
22
  //# sourceMappingURL=flowGraphConstantBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphConstantBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphConstantBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gCAAsC;AAG/D,OAAO,EAAE,oBAAoB,EAAE,oCAA0C;AAYzE;;;GAGG;AACH,MAAM,OAAO,sBAA0B,SAAQ,cAAc;IAMzD,YAAoB,OAAgD;QAChE,KAAK,EAAE,CAAC;QADQ,YAAO,GAAP,OAAO,CAAyC;QAGhE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEM,cAAc,CAAC,OAAyB;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACJ","sourcesContent":["import { FlowGraphBlock } from \"core/FlowGraph/flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"core/FlowGraph/flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"core/FlowGraph/flowGraphDataConnection\";\r\nimport { getRichTypeFromValue } from \"core/FlowGraph/flowGraphRichTypes\";\r\n\r\n/**\r\n * @experimental\r\n * Configuration for a constant block.\r\n */\r\nexport interface IFlowGraphConstantBlockConfiguration<T> {\r\n /**\r\n * The value of the constant.\r\n */\r\n value: T;\r\n}\r\n/**\r\n * @experimental\r\n * Block that returns a constant value.\r\n */\r\nexport class FlowGraphConstantBlock<T> extends FlowGraphBlock {\r\n /**\r\n * Output connection: The constant value.\r\n */\r\n public readonly output: FlowGraphDataConnection<T>;\r\n\r\n constructor(private _config: IFlowGraphConstantBlockConfiguration<T>) {\r\n super();\r\n\r\n this.output = this._registerDataOutput(\"output\", getRichTypeFromValue(_config.value));\r\n }\r\n\r\n public _updateOutputs(context: FlowGraphContext): void {\r\n this.output.setValue(this._config.value, context);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flowGraphConstantBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphConstantBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gCAAsC;AAG/D,OAAO,EAAE,oBAAoB,EAAE,oCAA0C;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAWxD;;;GAGG;AACH,MAAM,OAAO,sBAA0B,SAAQ,cAAc;IAMzD,YAAmB,MAA+C;QAC9D,KAAK,CAAC,MAAM,CAAC,CAAC;QADC,WAAM,GAAN,MAAM,CAAyC;QAG9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzF,CAAC;IAEM,cAAc,CAAC,OAAyB;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAEM,YAAY;QACf,OAAO,iBAAiB,CAAC;IAC7B,CAAC;CACJ;AACD,aAAa,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC","sourcesContent":["import { FlowGraphBlock } from \"core/FlowGraph/flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"core/FlowGraph/flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"core/FlowGraph/flowGraphDataConnection\";\r\nimport { getRichTypeFromValue } from \"core/FlowGraph/flowGraphRichTypes\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\n/**\r\n * @experimental\r\n * Configuration for a constant block.\r\n */\r\nexport interface IFlowGraphConstantBlockConfiguration<T> extends IFlowGraphBlockConfiguration {\r\n /**\r\n * The value of the constant.\r\n */\r\n value: T;\r\n}\r\n/**\r\n * @experimental\r\n * Block that returns a constant value.\r\n */\r\nexport class FlowGraphConstantBlock<T> extends FlowGraphBlock {\r\n /**\r\n * Output connection: The constant value.\r\n */\r\n public readonly output: FlowGraphDataConnection<T>;\r\n\r\n constructor(public config: IFlowGraphConstantBlockConfiguration<T>) {\r\n super(config);\r\n\r\n this.output = this._registerDataOutput(\"output\", getRichTypeFromValue(config.value));\r\n }\r\n\r\n public _updateOutputs(context: FlowGraphContext): void {\r\n this.output.setValue(this.config.value, context);\r\n }\r\n\r\n public getClassName(): string {\r\n return \"FGConstantBlock\";\r\n }\r\n}\r\nRegisterClass(\"FGConstantBlock\", FlowGraphConstantBlock);\r\n"]}
@@ -2,13 +2,16 @@ import type { FlowGraphContext } from "../../flowGraphContext";
2
2
  import { FlowGraphBlock } from "../../flowGraphBlock";
3
3
  import type { FlowGraphDataConnection } from "../../flowGraphDataConnection";
4
4
  import type { RichType } from "../../flowGraphRichTypes";
5
+ import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
5
6
  /**
6
7
  * @experimental
7
8
  * Block that outputs a value of type ResultT, resulting of an operation with no inputs.
8
9
  */
9
10
  export declare class FlowGraphConstantOperationBlock<ResultT> extends FlowGraphBlock {
10
11
  private _operation;
12
+ private _className;
11
13
  output: FlowGraphDataConnection<ResultT>;
12
- constructor(richType: RichType<ResultT>, _operation: () => ResultT);
14
+ constructor(richType: RichType<ResultT>, _operation: () => ResultT, _className: string, config?: IFlowGraphBlockConfiguration);
13
15
  _updateOutputs(context: FlowGraphContext): void;
16
+ getClassName(): string;
14
17
  }
@@ -4,13 +4,17 @@ import { FlowGraphBlock } from "../../flowGraphBlock.js";
4
4
  * Block that outputs a value of type ResultT, resulting of an operation with no inputs.
5
5
  */
6
6
  export class FlowGraphConstantOperationBlock extends FlowGraphBlock {
7
- constructor(richType, _operation) {
8
- super();
7
+ constructor(richType, _operation, _className, config) {
8
+ super(config);
9
9
  this._operation = _operation;
10
+ this._className = _className;
10
11
  this.output = this._registerDataOutput("output", richType);
11
12
  }
12
13
  _updateOutputs(context) {
13
14
  this.output.setValue(this._operation(), context);
14
15
  }
16
+ getClassName() {
17
+ return this._className;
18
+ }
15
19
  }
16
20
  //# sourceMappingURL=flowGraphConstantOperationBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphConstantOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;GAGG;AACH,MAAM,OAAO,+BAAyC,SAAQ,cAAc;IAGxE,YAAY,QAA2B,EAAU,UAAyB;QACtE,KAAK,EAAE,CAAC;QADqC,eAAU,GAAV,UAAU,CAAe;QAEtE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,cAAc,CAAC,OAAyB;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;CACJ","sourcesContent":["import type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\n\r\n/**\r\n * @experimental\r\n * Block that outputs a value of type ResultT, resulting of an operation with no inputs.\r\n */\r\nexport class FlowGraphConstantOperationBlock<ResultT> extends FlowGraphBlock {\r\n public output: FlowGraphDataConnection<ResultT>;\r\n\r\n constructor(richType: RichType<ResultT>, private _operation: () => ResultT) {\r\n super();\r\n this.output = this._registerDataOutput(\"output\", richType);\r\n }\r\n\r\n public _updateOutputs(context: FlowGraphContext): void {\r\n this.output.setValue(this._operation(), context);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flowGraphConstantOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;GAGG;AACH,MAAM,OAAO,+BAAyC,SAAQ,cAAc;IAGxE,YAAY,QAA2B,EAAU,UAAyB,EAAU,UAAkB,EAAE,MAAqC;QACzI,KAAK,CAAC,MAAM,CAAC,CAAC;QAD+B,eAAU,GAAV,UAAU,CAAe;QAAU,eAAU,GAAV,UAAU,CAAQ;QAElG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,cAAc,CAAC,OAAyB;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ","sourcesContent":["import type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\n/**\r\n * @experimental\r\n * Block that outputs a value of type ResultT, resulting of an operation with no inputs.\r\n */\r\nexport class FlowGraphConstantOperationBlock<ResultT> extends FlowGraphBlock {\r\n public output: FlowGraphDataConnection<ResultT>;\r\n\r\n constructor(richType: RichType<ResultT>, private _operation: () => ResultT, private _className: string, config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n this.output = this._registerDataOutput(\"output\", richType);\r\n }\r\n\r\n public _updateOutputs(context: FlowGraphContext): void {\r\n this.output.setValue(this._operation(), context);\r\n }\r\n\r\n public getClassName(): string {\r\n return this._className;\r\n }\r\n}\r\n"]}