@babylonjs/core 6.33.1 → 6.33.2

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 (173) hide show
  1. package/Animations/animationGroup.js +2 -2
  2. package/Animations/animationGroup.js.map +1 -1
  3. package/Animations/animationGroupMask.d.ts +4 -0
  4. package/Animations/animationGroupMask.js +4 -0
  5. package/Animations/animationGroupMask.js.map +1 -1
  6. package/Compute/computeShader.d.ts +5 -0
  7. package/Compute/computeShader.js +42 -32
  8. package/Compute/computeShader.js.map +1 -1
  9. package/Engines/WebGPU/Extensions/engine.computeShader.js +4 -2
  10. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  11. package/Engines/engine.d.ts +16 -10
  12. package/Engines/thinEngine.js +3 -2
  13. package/Engines/thinEngine.js.map +1 -1
  14. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.d.ts +296 -0
  15. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js +758 -0
  16. package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js.map +1 -0
  17. package/FlowGraph/Blocks/Data/Math/index.d.ts +1 -5
  18. package/FlowGraph/Blocks/Data/Math/index.js +1 -5
  19. package/FlowGraph/Blocks/Data/Math/index.js.map +1 -1
  20. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.d.ts +2 -2
  21. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js +3 -3
  22. package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js.map +1 -1
  23. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.d.ts +1 -1
  24. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js +3 -3
  25. package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js.map +1 -1
  26. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.d.ts +1 -0
  27. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js +5 -0
  28. package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js.map +1 -1
  29. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.d.ts +25 -0
  30. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js +22 -0
  31. package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js.map +1 -0
  32. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +11 -5
  33. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js +12 -6
  34. package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
  35. package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.d.ts +19 -0
  36. package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js +22 -0
  37. package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js.map +1 -0
  38. package/FlowGraph/Blocks/Data/index.d.ts +1 -0
  39. package/FlowGraph/Blocks/Data/index.js +1 -0
  40. package/FlowGraph/Blocks/Data/index.js.map +1 -1
  41. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.d.ts +10 -5
  42. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +15 -5
  43. package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
  44. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +1 -0
  45. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js +2 -1
  46. package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js.map +1 -1
  47. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.d.ts +1 -0
  48. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js +3 -2
  49. package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js.map +1 -1
  50. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +2 -2
  51. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js +3 -3
  52. package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js.map +1 -1
  53. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +0 -5
  54. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +2 -3
  55. package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
  56. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +2 -2
  57. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js +3 -3
  58. package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js.map +1 -1
  59. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.d.ts +2 -2
  60. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js +3 -3
  61. package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js.map +1 -1
  62. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.d.ts +2 -2
  63. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js +2 -2
  64. package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js.map +1 -1
  65. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +2 -2
  66. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +3 -3
  67. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
  68. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +2 -2
  69. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js +3 -3
  70. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -1
  71. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +13 -5
  72. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +14 -12
  73. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
  74. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +2 -6
  75. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js +3 -4
  76. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -1
  77. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.d.ts +16 -0
  78. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js +26 -0
  79. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js.map +1 -0
  80. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +2 -2
  81. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js +3 -3
  82. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -1
  83. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.d.ts +1 -6
  84. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js +4 -4
  85. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js.map +1 -1
  86. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +2 -2
  87. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js +4 -4
  88. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -1
  89. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +3 -2
  90. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +6 -5
  91. package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
  92. package/FlowGraph/Blocks/Execution/ControlFlow/index.d.ts +1 -0
  93. package/FlowGraph/Blocks/Execution/ControlFlow/index.js +1 -0
  94. package/FlowGraph/Blocks/Execution/ControlFlow/index.js.map +1 -1
  95. package/FlowGraph/Blocks/Execution/{flowGraphLogBlock.d.ts → flowGraphConsoleLogBlock.d.ts} +3 -2
  96. package/FlowGraph/Blocks/Execution/{flowGraphLogBlock.js → flowGraphConsoleLogBlock.js} +7 -6
  97. package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js.map +1 -0
  98. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.d.ts +16 -8
  99. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js +17 -10
  100. package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js.map +1 -1
  101. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.d.ts +4 -3
  102. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js +7 -6
  103. package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js.map +1 -1
  104. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +12 -7
  105. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +10 -9
  106. package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
  107. package/FlowGraph/Blocks/Execution/index.d.ts +1 -2
  108. package/FlowGraph/Blocks/Execution/index.js +1 -3
  109. package/FlowGraph/Blocks/Execution/index.js.map +1 -1
  110. package/FlowGraph/flowGraph.d.ts +3 -1
  111. package/FlowGraph/flowGraph.js +6 -2
  112. package/FlowGraph/flowGraph.js.map +1 -1
  113. package/FlowGraph/flowGraphAsyncExecutionBlock.d.ts +6 -2
  114. package/FlowGraph/flowGraphAsyncExecutionBlock.js +2 -1
  115. package/FlowGraph/flowGraphAsyncExecutionBlock.js.map +1 -1
  116. package/FlowGraph/flowGraphBlock.d.ts +7 -2
  117. package/FlowGraph/flowGraphBlock.js +36 -14
  118. package/FlowGraph/flowGraphBlock.js.map +1 -1
  119. package/FlowGraph/flowGraphContext.d.ts +9 -5
  120. package/FlowGraph/flowGraphContext.js +7 -2
  121. package/FlowGraph/flowGraphContext.js.map +1 -1
  122. package/FlowGraph/flowGraphCoordinator.d.ts +4 -5
  123. package/FlowGraph/flowGraphCoordinator.js +12 -7
  124. package/FlowGraph/flowGraphCoordinator.js.map +1 -1
  125. package/FlowGraph/flowGraphEventBlock.js +1 -1
  126. package/FlowGraph/flowGraphEventBlock.js.map +1 -1
  127. package/FlowGraph/flowGraphExecutionBlock.d.ts +3 -2
  128. package/FlowGraph/flowGraphExecutionBlock.js +7 -11
  129. package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
  130. package/FlowGraph/flowGraphPath.d.ts +20 -2
  131. package/FlowGraph/flowGraphPath.js +27 -7
  132. package/FlowGraph/flowGraphPath.js.map +1 -1
  133. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.d.ts +3 -3
  134. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js +3 -3
  135. package/FlowGraph/flowGraphWithOnDoneExecutionBlock.js.map +1 -1
  136. package/FlowGraph/index.d.ts +3 -0
  137. package/FlowGraph/index.js +3 -0
  138. package/FlowGraph/index.js.map +1 -1
  139. package/FlowGraph/serialization.js +20 -6
  140. package/FlowGraph/serialization.js.map +1 -1
  141. package/FlowGraph/typeDefinitions.d.ts +33 -0
  142. package/FlowGraph/typeDefinitions.js +2 -0
  143. package/FlowGraph/typeDefinitions.js.map +1 -0
  144. package/Lights/light.d.ts +15 -0
  145. package/Lights/light.js +18 -0
  146. package/Lights/light.js.map +1 -1
  147. package/Lights/shadowLight.d.ts +18 -1
  148. package/Lights/shadowLight.js +34 -1
  149. package/Lights/shadowLight.js.map +1 -1
  150. package/Meshes/Node/nodeGeometryBlock.js +9 -1
  151. package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
  152. package/XR/features/WebXRMeshDetector.d.ts +14 -2
  153. package/XR/features/WebXRMeshDetector.js +43 -8
  154. package/XR/features/WebXRMeshDetector.js.map +1 -1
  155. package/package.json +1 -1
  156. package/scene.d.ts +1 -2
  157. package/scene.js.map +1 -1
  158. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.d.ts +0 -172
  159. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js +0 -235
  160. package/FlowGraph/Blocks/Data/Math/flowGraphMatrixBlocks.js.map +0 -1
  161. package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.d.ts +0 -269
  162. package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js +0 -429
  163. package/FlowGraph/Blocks/Data/Math/flowGraphNumberMathBlocks.js.map +0 -1
  164. package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.d.ts +0 -115
  165. package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js +0 -146
  166. package/FlowGraph/Blocks/Data/Math/flowGraphVector2MathBlocks.js.map +0 -1
  167. package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.d.ts +0 -155
  168. package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js +0 -190
  169. package/FlowGraph/Blocks/Data/Math/flowGraphVector3MathBlocks.js.map +0 -1
  170. package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.d.ts +0 -116
  171. package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js +0 -144
  172. package/FlowGraph/Blocks/Data/Math/flowGraphVector4MathBlocks.js.map +0 -1
  173. package/FlowGraph/Blocks/Execution/flowGraphLogBlock.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flowGraphMathBlocks.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.ts"],"names":[],"mappings":"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","sourcesContent":["import { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../../flowGraphBlock\";\r\nimport { RichTypeAny, RichTypeBoolean, RichTypeNumber, RichTypeVector2, RichTypeVector3 } from \"../../../flowGraphRichTypes\";\r\nimport { FlowGraphBinaryOperationBlock } from \"../flowGraphBinaryOperationBlock\";\r\nimport { FlowGraphConstantOperationBlock } from \"../flowGraphConstantOperationBlock\";\r\nimport { Matrix, Vector2, Vector3, Vector4 } from \"../../../../Maths/math.vector\";\r\nimport { FlowGraphUnaryOperationBlock } from \"../flowGraphUnaryOperationBlock\";\r\nimport { FlowGraphTernaryOperationBlock } from \"../flowGraphTernaryOperationBlock\";\r\n\r\n/**\r\n * @internal\r\n * @param v\r\n * @returns\r\n */\r\nfunction _getClassNameOf(v: any) {\r\n if (v.getClassName) {\r\n return v.getClassName();\r\n }\r\n return \"\";\r\n}\r\n\r\n/**\r\n * @internal\r\n * @param className\r\n * @param className2\r\n * @returns\r\n */\r\nfunction _areSameVectorClass(className: string, className2: string) {\r\n return (className === \"Vector2\" && className2 === \"Vector2\") || (className === \"Vector3\" && className2 === \"Vector3\") || (className === \"Vector4\" && className2 === \"Vector4\");\r\n}\r\n\r\n/**\r\n * @experimental\r\n * Polymorphic add block.\r\n */\r\nexport class FlowGraphAddBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAdd(a, b), FlowGraphAddBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAdd(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.add(b);\r\n } else {\r\n return a + b;\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphAddBlock.ClassName;\r\n }\r\n\r\n public static ClassName = \"FGAddBlock\";\r\n}\r\nRegisterClass(FlowGraphAddBlock.ClassName, FlowGraphAddBlock);\r\n\r\n/**\r\n * @experimental\r\n * Polymorphic add block.\r\n */\r\nexport class FlowGraphSubtractBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAdd(a, b), FlowGraphSubtractBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAdd(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.subtract(b);\r\n } else {\r\n return a - b;\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphSubtractBlock.ClassName;\r\n }\r\n\r\n public static ClassName = \"FGSubBlock\";\r\n}\r\nRegisterClass(FlowGraphSubtractBlock.ClassName, FlowGraphSubtractBlock);\r\n\r\nexport class FlowGraphMultiplyBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMultiply(a, b), FlowGraphMultiplyBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicMultiply(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.multiply(b);\r\n } else {\r\n return a * b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGMultiplyBlock\";\r\n}\r\nRegisterClass(FlowGraphMultiplyBlock.ClassName, FlowGraphMultiplyBlock);\r\n\r\nexport class FlowGraphDivideBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicDivide(a, b), FlowGraphDivideBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicDivide(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.divide(b);\r\n } else {\r\n return a / b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGDivideBlock\";\r\n}\r\nRegisterClass(FlowGraphDivideBlock.ClassName, FlowGraphDivideBlock);\r\n\r\nexport class FlowGraphRandomBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.random(), FlowGraphRandomBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGRandomBlock\";\r\n}\r\nRegisterClass(FlowGraphRandomBlock.ClassName, FlowGraphRandomBlock);\r\n\r\nexport class FlowGraphDotBlock extends FlowGraphBinaryOperationBlock<any, any, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeNumber, (a, b) => this._polymorphicDot(a, b), FlowGraphDotBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicDot(a: any, b: any) {\r\n const className = _getClassNameOf(a);\r\n switch (className) {\r\n case \"Vector2\":\r\n return Vector2.Dot(a, b);\r\n case \"Vector3\":\r\n return Vector3.Dot(a, b);\r\n case \"Vector4\":\r\n return Vector4.Dot(a, b);\r\n default:\r\n throw new Error(`Cannot get dot product of ${a} and ${b}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGDotBlock\";\r\n}\r\nRegisterClass(FlowGraphDotBlock.ClassName, FlowGraphDotBlock);\r\n\r\nexport class FlowGraphEBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.E, FlowGraphEBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGEBlock\";\r\n}\r\nRegisterClass(FlowGraphEBlock.ClassName, FlowGraphEBlock);\r\n\r\nexport class FlowGraphPiBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Math.PI, FlowGraphPiBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGPIBlock\";\r\n}\r\nRegisterClass(FlowGraphPiBlock.ClassName, FlowGraphPiBlock);\r\n\r\nexport class FlowGraphInfBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Number.POSITIVE_INFINITY, FlowGraphInfBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGInfBlock\";\r\n}\r\nRegisterClass(FlowGraphInfBlock.ClassName, FlowGraphInfBlock);\r\n\r\nexport class FlowGraphNaNBlock extends FlowGraphConstantOperationBlock<number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeNumber, () => Number.NaN, FlowGraphNaNBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGNaNBlock\";\r\n}\r\nRegisterClass(FlowGraphNaNBlock.ClassName, FlowGraphNaNBlock);\r\n\r\nfunction _componentWiseUnaryOperation(a: any, op: (a: any) => any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return new Vector2(op(a.x), op(a.y));\r\n case \"Vector3\":\r\n return new Vector3(op(a.x), op(a.y), op(a.z));\r\n case \"Vector4\":\r\n return new Vector4(op(a.x), op(a.y), op(a.z), op(a.w));\r\n default:\r\n return op(a);\r\n }\r\n}\r\n\r\nexport class FlowGraphAbsBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAbs(a), FlowGraphAbsBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAbs(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.abs);\r\n }\r\n\r\n public static ClassName = \"FGAbsBlock\";\r\n}\r\nRegisterClass(FlowGraphAbsBlock.ClassName, FlowGraphAbsBlock);\r\n\r\nexport class FlowGraphSignBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSign(a), FlowGraphSignBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSign(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sign);\r\n }\r\n\r\n public static ClassName = \"FGSignBlock\";\r\n}\r\nRegisterClass(FlowGraphSignBlock.ClassName, FlowGraphSignBlock);\r\n\r\nexport class FlowGraphTruncBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTrunc(a), FlowGraphTruncBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicTrunc(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.trunc);\r\n }\r\n\r\n public static ClassName = \"FGTruncBlock\";\r\n}\r\nRegisterClass(FlowGraphTruncBlock.ClassName, FlowGraphTruncBlock);\r\n\r\nexport class FlowGraphFloorBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicFloor(a), FlowGraphFloorBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicFloor(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.floor);\r\n }\r\n\r\n public static ClassName = \"FGFloorBlock\";\r\n}\r\nRegisterClass(FlowGraphFloorBlock.ClassName, FlowGraphFloorBlock);\r\n\r\nexport class FlowGraphCeilBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCeiling(a), FlowGraphCeilBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCeiling(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.ceil);\r\n }\r\n\r\n public static ClassName = \"FGCeilBlock\";\r\n}\r\nRegisterClass(FlowGraphCeilBlock.ClassName, FlowGraphCeilBlock);\r\n\r\nexport class FlowGraphFractBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicFract(a), FlowGraphFractBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicFract(a: any) {\r\n return _componentWiseUnaryOperation(a, (a) => a - Math.floor(a));\r\n }\r\n\r\n public static ClassName = \"FGFractBlock\";\r\n}\r\nRegisterClass(FlowGraphFractBlock.ClassName, FlowGraphFractBlock);\r\n\r\nexport class FlowGraphNegBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicNeg(a), FlowGraphNegBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicNeg(a: any) {\r\n return _componentWiseUnaryOperation(a, (a) => -a);\r\n }\r\n\r\n public static ClassName = \"FGNegBlock\";\r\n}\r\nRegisterClass(FlowGraphNegBlock.ClassName, FlowGraphNegBlock);\r\n\r\nfunction _componentWiseBinaryOperation(a: any, b: any, op: (a: any, b: any) => any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return new Vector2(op(a.x, b.x), op(a.y, b.y));\r\n case \"Vector3\":\r\n return new Vector3(op(a.x, b.x), op(a.y, b.y), op(a.z, b.z));\r\n case \"Vector4\":\r\n return new Vector4(op(a.x, b.x), op(a.y, b.y), op(a.z, b.z), op(a.w, b.w));\r\n default:\r\n return op(a, b);\r\n }\r\n}\r\n\r\nexport class FlowGraphRemainderBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicRemainder(a, b), FlowGraphRemainderBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicRemainder(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, (a, b) => a % b);\r\n }\r\n\r\n public static ClassName = \"FGRemainderBlock\";\r\n}\r\nRegisterClass(FlowGraphRemainderBlock.ClassName, FlowGraphRemainderBlock);\r\n\r\nexport class FlowGraphMinBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMin(a, b), FlowGraphMinBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicMin(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.min);\r\n }\r\n\r\n public static ClassName = \"FGMinBlock\";\r\n}\r\nRegisterClass(FlowGraphMinBlock.ClassName, FlowGraphMinBlock);\r\n\r\nexport class FlowGraphMaxBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicMax(a, b), FlowGraphMaxBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicMax(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.max);\r\n }\r\n\r\n public static ClassName = \"FGMaxBlock\";\r\n}\r\nRegisterClass(FlowGraphMaxBlock.ClassName, FlowGraphMaxBlock);\r\n\r\nfunction _clamp(a: number, b: number, c: number) {\r\n return Math.min(Math.max(a, b), c);\r\n}\r\n\r\nfunction _componentWiseTernaryOperation(a: any, b: any, c: any, op: (a: any, b: any, c: any) => any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return new Vector2(op(a.x, b.x, c.x), op(a.y, b.y, c.y));\r\n case \"Vector3\":\r\n return new Vector3(op(a.x, b.x, c.x), op(a.y, b.y, c.y), op(a.z, b.z, c.z));\r\n case \"Vector4\":\r\n return new Vector4(op(a.x, b.x, c.x), op(a.y, b.y, c.y), op(a.z, b.z, c.z), op(a.w, b.w, c.w));\r\n default:\r\n return op(a, b, c);\r\n }\r\n}\r\n\r\nexport class FlowGraphClampBlock extends FlowGraphTernaryOperationBlock<any, any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, RichTypeAny, (a, b, c) => this._polymorphicClamp(a, b, c), FlowGraphClampBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicClamp(a: any, b: any, c: any) {\r\n return _componentWiseTernaryOperation(a, b, c, _clamp);\r\n }\r\n\r\n public static ClassName = \"FGClampBlock\";\r\n}\r\nRegisterClass(FlowGraphClampBlock.ClassName, FlowGraphClampBlock);\r\n\r\nexport class FlowGraphSaturateBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSaturate(a), FlowGraphSaturateBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSaturate(a: any) {\r\n return _componentWiseUnaryOperation(a, (a) => _clamp(a, 0, 1));\r\n }\r\n\r\n public static ClassName = \"FGSaturateBlock\";\r\n}\r\nRegisterClass(FlowGraphSaturateBlock.ClassName, FlowGraphSaturateBlock);\r\n\r\nexport class FlowGraphInterpolateBlock extends FlowGraphTernaryOperationBlock<any, any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, RichTypeAny, (a, b, c) => this._polymorphicInterpolate(a, b, c), FlowGraphInterpolateBlock.ClassName, config);\r\n }\r\n\r\n private _interpolate(a: number, b: number, c: number) {\r\n return (1 - c) * a + c * b;\r\n }\r\n\r\n private _polymorphicInterpolate(a: any, b: any, c: any) {\r\n return _componentWiseTernaryOperation(a, b, c, this._interpolate);\r\n }\r\n\r\n public static ClassName = \"FGInterpolateBlock\";\r\n}\r\nRegisterClass(FlowGraphInterpolateBlock.ClassName, FlowGraphInterpolateBlock);\r\n\r\nexport class FlowGraphEqBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicEq(a, b), FlowGraphEqBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicEq(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n const bClassName = _getClassNameOf(b);\r\n if (_areSameVectorClass(aClassName, bClassName)) {\r\n return a.equals(b);\r\n } else {\r\n return a === b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGEqBlock\";\r\n}\r\nRegisterClass(FlowGraphEqBlock.ClassName, FlowGraphEqBlock);\r\n\r\nexport class FlowGraphLessThanBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicLessThan(a, b), FlowGraphLessThanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLessThan(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return a.x < b.x && a.y < b.y;\r\n case \"Vector3\":\r\n return a.x < b.x && a.y < b.y && a.z < b.z;\r\n case \"Vector4\":\r\n return a.x < b.x && a.y < b.y && a.z < b.z && a.w < b.w;\r\n default:\r\n return a < b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGLessThanBlock\";\r\n}\r\nRegisterClass(FlowGraphLessThanBlock.ClassName, FlowGraphLessThanBlock);\r\n\r\nexport class FlowGraphLessThanOrEqualBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicLessThanOrEqual(a, b), FlowGraphLessThanOrEqualBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLessThanOrEqual(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return a.x <= b.x && a.y <= b.y;\r\n case \"Vector3\":\r\n return a.x <= b.x && a.y <= b.y && a.z <= b.z;\r\n case \"Vector4\":\r\n return a.x <= b.x && a.y <= b.y && a.z <= b.z && a.w <= b.w;\r\n default:\r\n return a <= b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGLessThanOrEqualBlock\";\r\n}\r\n\r\nexport class FlowGraphGreaterThanBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicGreaterThan(a, b), FlowGraphGreaterThanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicGreaterThan(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return a.x > b.x && a.y > b.y;\r\n case \"Vector3\":\r\n return a.x > b.x && a.y > b.y && a.z > b.z;\r\n case \"Vector4\":\r\n return a.x > b.x && a.y > b.y && a.z > b.z && a.w > b.w;\r\n default:\r\n return a > b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGGreaterThanBlock\";\r\n}\r\nRegisterClass(FlowGraphGreaterThanBlock.ClassName, FlowGraphGreaterThanBlock);\r\n\r\nexport class FlowGraphGreaterThanOrEqualBlock extends FlowGraphBinaryOperationBlock<any, any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeBoolean, (a, b) => this._polymorphicGreaterThanOrEqual(a, b), FlowGraphGreaterThanOrEqualBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicGreaterThanOrEqual(a: any, b: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return a.x >= b.x && a.y >= b.y;\r\n case \"Vector3\":\r\n return a.x >= b.x && a.y >= b.y && a.z >= b.z;\r\n case \"Vector4\":\r\n return a.x >= b.x && a.y >= b.y && a.z >= b.z && a.w >= b.w;\r\n default:\r\n return a >= b;\r\n }\r\n }\r\n\r\n public static ClassName = \"FGGreaterThanOrEqualBlock\";\r\n}\r\nRegisterClass(FlowGraphGreaterThanOrEqualBlock.ClassName, FlowGraphGreaterThanOrEqualBlock);\r\n\r\nexport class FlowGraphIsNanBlock extends FlowGraphUnaryOperationBlock<any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeBoolean, (a) => this._polymorphicIsNan(a), FlowGraphIsNanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicIsNan(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return isNaN(a.x) || isNaN(a.y);\r\n case \"Vector3\":\r\n return isNaN(a.x) || isNaN(a.y) || isNaN(a.z);\r\n case \"Vector4\":\r\n return isNaN(a.x) || isNaN(a.y) || isNaN(a.z) || isNaN(a.w);\r\n default:\r\n return isNaN(a);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGIsNanBlock\";\r\n}\r\nRegisterClass(FlowGraphIsNanBlock.ClassName, FlowGraphIsNanBlock);\r\n\r\nexport class FlowGraphIsInfBlock extends FlowGraphUnaryOperationBlock<any, boolean> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeBoolean, (a) => this._polymorphicIsInf(a), FlowGraphIsInfBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicIsInf(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n return !isFinite(a.x) || !isFinite(a.y);\r\n case \"Vector3\":\r\n return !isFinite(a.x) || !isFinite(a.y) || !isFinite(a.z);\r\n case \"Vector4\":\r\n return !isFinite(a.x) || !isFinite(a.y) || !isFinite(a.z) || !isFinite(a.w);\r\n default:\r\n return !isFinite(a);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGIsInfBlock\";\r\n}\r\n\r\nexport class FlowGraphDegToRadBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicDegToRad(a), FlowGraphDegToRadBlock.ClassName, config);\r\n }\r\n\r\n private _degToRad(a: number) {\r\n return (a * Math.PI) / 180;\r\n }\r\n\r\n private _polymorphicDegToRad(a: any) {\r\n return _componentWiseUnaryOperation(a, this._degToRad);\r\n }\r\n\r\n public static ClassName = \"FGDegToRadBlock\";\r\n}\r\nRegisterClass(FlowGraphDegToRadBlock.ClassName, FlowGraphDegToRadBlock);\r\n\r\nexport class FlowGraphRadToDegBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicRadToDeg(a), FlowGraphRadToDegBlock.ClassName, config);\r\n }\r\n\r\n private _radToDeg(a: number) {\r\n return (a * 180) / Math.PI;\r\n }\r\n\r\n private _polymorphicRadToDeg(a: any) {\r\n return _componentWiseUnaryOperation(a, this._radToDeg);\r\n }\r\n\r\n public static ClassName = \"FGRadToDegBlock\";\r\n}\r\nRegisterClass(FlowGraphRadToDegBlock.ClassName, FlowGraphRadToDegBlock);\r\n\r\nexport class FlowGraphSinBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSin(a), FlowGraphSinBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSin(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sin);\r\n }\r\n\r\n public static ClassName = \"FGSinBlock\";\r\n}\r\nRegisterClass(FlowGraphSinBlock.ClassName, FlowGraphSinBlock);\r\n\r\nexport class FlowGraphCosBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCos(a), FlowGraphCosBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCos(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.cos);\r\n }\r\n\r\n public static ClassName = \"FGCosBlock\";\r\n}\r\nRegisterClass(FlowGraphCosBlock.ClassName, FlowGraphCosBlock);\r\n\r\nexport class FlowGraphTanBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTan(a), FlowGraphTanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicTan(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.tan);\r\n }\r\n\r\n public static ClassName = \"FGTanBlock\";\r\n}\r\nRegisterClass(FlowGraphTanBlock.ClassName, FlowGraphTanBlock);\r\n\r\nexport class FlowGraphAsinBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAsin(a), FlowGraphAsinBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAsin(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.asin);\r\n }\r\n\r\n public static ClassName = \"FGAsinBlock\";\r\n}\r\nRegisterClass(FlowGraphAsinBlock.ClassName, FlowGraphAsinBlock);\r\n\r\nexport class FlowGraphAcosBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAcos(a), FlowGraphAcosBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAcos(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.acos);\r\n }\r\n\r\n public static ClassName = \"FGAcosBlock\";\r\n}\r\nRegisterClass(FlowGraphAcosBlock.ClassName, FlowGraphAcosBlock);\r\n\r\nexport class FlowGraphAtanBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicAtan(a), FlowGraphAtanBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAtan(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.atan);\r\n }\r\n\r\n public static ClassName = \"FGAtanBlock\";\r\n}\r\nRegisterClass(FlowGraphAtanBlock.ClassName, FlowGraphAtanBlock);\r\n\r\nexport class FlowGraphAtan2Block extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, RichTypeAny, (a, b) => this._polymorphicAtan2(a, b), FlowGraphAtan2Block.ClassName, config);\r\n }\r\n\r\n private _polymorphicAtan2(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.atan2);\r\n }\r\n\r\n public static ClassName = \"FGAtan2Block\";\r\n}\r\nRegisterClass(FlowGraphAtan2Block.ClassName, FlowGraphAtan2Block);\r\n\r\nexport class FlowGraphSinhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicSinh(a), FlowGraphSinhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSinh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sinh);\r\n }\r\n\r\n public static ClassName = \"FGSinhBlock\";\r\n}\r\nRegisterClass(FlowGraphSinhBlock.ClassName, FlowGraphSinhBlock);\r\n\r\nexport class FlowGraphCoshBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicCosh(a), FlowGraphCoshBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCosh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.cosh);\r\n }\r\n\r\n public static ClassName = \"FGCoshBlock\";\r\n}\r\nRegisterClass(FlowGraphCoshBlock.ClassName, FlowGraphCoshBlock);\r\n\r\nexport class FlowGraphTanhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicTanh(a), FlowGraphTanhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicTanh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.tanh);\r\n }\r\n\r\n public static ClassName = \"FGTanhBlock\";\r\n}\r\nRegisterClass(FlowGraphTanhBlock.ClassName, FlowGraphTanhBlock);\r\n\r\nexport class FlowGraphAsinhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAsinh(a), FlowGraphAsinhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAsinh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.asinh);\r\n }\r\n\r\n public static ClassName = \"FGAsinhBlock\";\r\n}\r\nRegisterClass(FlowGraphAsinhBlock.ClassName, FlowGraphAsinhBlock);\r\n\r\nexport class FlowGraphAcoshBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAcosh(a), FlowGraphAcoshBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAcosh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.acosh);\r\n }\r\n\r\n public static ClassName = \"FGAcoshBlock\";\r\n}\r\nRegisterClass(FlowGraphAcoshBlock.ClassName, FlowGraphAcoshBlock);\r\n\r\nexport class FlowGraphAtanhBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicAtanh(a), FlowGraphAtanhBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicAtanh(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.atanh);\r\n }\r\n\r\n public static ClassName = \"FGAtanhBlock\";\r\n}\r\nRegisterClass(FlowGraphAtanhBlock.ClassName, FlowGraphAtanhBlock);\r\n\r\nexport class FlowGraphExpBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicExp(a), FlowGraphExpBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicExp(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.exp);\r\n }\r\n\r\n public static ClassName = \"FGExpBlock\";\r\n}\r\nRegisterClass(FlowGraphExpBlock.ClassName, FlowGraphExpBlock);\r\n\r\nexport class FlowGraphLogBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog(a), FlowGraphLogBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLog(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.log);\r\n }\r\n\r\n public static ClassName = \"FGLogBlock\";\r\n}\r\nRegisterClass(FlowGraphLogBlock.ClassName, FlowGraphLogBlock);\r\n\r\nexport class FlowGraphLog2Block extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog2(a), FlowGraphLog2Block.ClassName, config);\r\n }\r\n\r\n private _polymorphicLog2(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.log2);\r\n }\r\n\r\n public static ClassName = \"FGLog2Block\";\r\n}\r\nRegisterClass(FlowGraphLog2Block.ClassName, FlowGraphLog2Block);\r\n\r\nexport class FlowGraphLog10Block extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLog10(a), FlowGraphLog10Block.ClassName, config);\r\n }\r\n\r\n private _polymorphicLog10(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.log10);\r\n }\r\n\r\n public static ClassName = \"FGLog10Block\";\r\n}\r\nRegisterClass(FlowGraphLog10Block.ClassName, FlowGraphLog10Block);\r\n\r\nexport class FlowGraphSqrtBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicSqrt(a), FlowGraphSqrtBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicSqrt(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.sqrt);\r\n }\r\n\r\n public static ClassName = \"FGSqrtBlock\";\r\n}\r\nRegisterClass(FlowGraphSqrtBlock.ClassName, FlowGraphSqrtBlock);\r\n\r\nexport class FlowGraphCubeRootBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicCubeRoot(a), FlowGraphCubeRootBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicCubeRoot(a: any) {\r\n return _componentWiseUnaryOperation(a, Math.cbrt);\r\n }\r\n\r\n public static ClassName = \"FGCubeRootBlock\";\r\n}\r\nRegisterClass(FlowGraphCubeRootBlock.ClassName, FlowGraphCubeRootBlock);\r\n\r\nexport class FlowGraphPowBlock extends FlowGraphBinaryOperationBlock<any, any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, RichTypeNumber, (a, b) => this._polymorphicPow(a, b), FlowGraphPowBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicPow(a: any, b: any) {\r\n return _componentWiseBinaryOperation(a, b, Math.pow);\r\n }\r\n\r\n public static ClassName = \"FGPowBlock\";\r\n}\r\nRegisterClass(FlowGraphPowBlock.ClassName, FlowGraphPowBlock);\r\n\r\nexport class FlowGraphLengthBlock extends FlowGraphUnaryOperationBlock<any, number> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeNumber, (a) => this._polymorphicLength(a), FlowGraphLengthBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicLength(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n case \"Vector3\":\r\n case \"Vector4\":\r\n return a.length();\r\n default:\r\n throw new Error(`Cannot compute length of value ${a}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGLengthBlock\";\r\n}\r\nRegisterClass(FlowGraphLengthBlock.ClassName, FlowGraphLengthBlock);\r\n\r\nexport class FlowGraphNormalizeBlock extends FlowGraphUnaryOperationBlock<any, any> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeAny, RichTypeAny, (a) => this._polymorphicNormalize(a), FlowGraphNormalizeBlock.ClassName, config);\r\n }\r\n\r\n private _polymorphicNormalize(a: any) {\r\n const aClassName = _getClassNameOf(a);\r\n switch (aClassName) {\r\n case \"Vector2\":\r\n case \"Vector3\":\r\n case \"Vector4\":\r\n return a.normalize();\r\n default:\r\n throw new Error(`Cannot normalize value ${a}`);\r\n }\r\n }\r\n\r\n public static ClassName = \"FGNormalizeBlock\";\r\n}\r\nRegisterClass(FlowGraphNormalizeBlock.ClassName, FlowGraphNormalizeBlock);\r\n\r\nexport class FlowGraphCrossBlock extends FlowGraphBinaryOperationBlock<Vector3, Vector3, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector3, RichTypeVector3, RichTypeVector3, (a, b) => Vector3.Cross(a, b), FlowGraphCrossBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGCrossBlock\";\r\n}\r\nRegisterClass(FlowGraphCrossBlock.ClassName, FlowGraphCrossBlock);\r\n\r\nexport class FlowGraphRotate2DBlock extends FlowGraphBinaryOperationBlock<Vector2, number, Vector2> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(RichTypeVector2, RichTypeNumber, RichTypeVector2, (a, b) => Vector2.Transform(a, Matrix.RotationZ(b)), FlowGraphRotate2DBlock.ClassName, config);\r\n }\r\n\r\n public static ClassName = \"FGRotate2DBlock\";\r\n}\r\nRegisterClass(FlowGraphRotate2DBlock.ClassName, FlowGraphRotate2DBlock);\r\n\r\nexport class FlowGraphRotate3DBlock extends FlowGraphTernaryOperationBlock<Vector3, Vector3, number, Vector3> {\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(\r\n RichTypeVector3,\r\n RichTypeVector3,\r\n RichTypeNumber,\r\n RichTypeVector3,\r\n (a, b, c) => Vector3.TransformCoordinates(a, Matrix.RotationAxis(b, c)),\r\n FlowGraphRotate3DBlock.ClassName,\r\n config\r\n );\r\n }\r\n\r\n public static ClassName = \"FGRotate3DBlock\";\r\n}\r\nRegisterClass(FlowGraphRotate3DBlock.ClassName, FlowGraphRotate3DBlock);\r\n"]}
@@ -1,5 +1 @@
1
- export * from "./flowGraphNumberMathBlocks";
2
- export * from "./flowGraphVector2MathBlocks";
3
- export * from "./flowGraphVector3MathBlocks";
4
- export * from "./flowGraphVector4MathBlocks";
5
- export * from "./flowGraphMatrixBlocks";
1
+ export * from "./flowGraphMathBlocks";
@@ -1,6 +1,2 @@
1
- export * from "./flowGraphNumberMathBlocks.js";
2
- export * from "./flowGraphVector2MathBlocks.js";
3
- export * from "./flowGraphVector3MathBlocks.js";
4
- export * from "./flowGraphVector4MathBlocks.js";
5
- export * from "./flowGraphMatrixBlocks.js";
1
+ export * from "./flowGraphMathBlocks.js";
6
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC","sourcesContent":["export * from \"./flowGraphNumberMathBlocks\";\r\nexport * from \"./flowGraphVector2MathBlocks\";\r\nexport * from \"./flowGraphVector3MathBlocks\";\r\nexport * from \"./flowGraphVector4MathBlocks\";\r\nexport * from \"./flowGraphMatrixBlocks\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/FlowGraph/Blocks/Data/Math/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./flowGraphMathBlocks\";\r\n"]}
@@ -11,8 +11,8 @@ import { FlowGraphCachedOperationBlock } from "./flowGraphCachedOperationBlock";
11
11
  export declare class FlowGraphBinaryOperationBlock<LeftT, RightT, ResultT> extends FlowGraphCachedOperationBlock<ResultT> {
12
12
  private _operation;
13
13
  private _className;
14
- leftInput: FlowGraphDataConnection<LeftT>;
15
- rightInput: FlowGraphDataConnection<RightT>;
14
+ a: FlowGraphDataConnection<LeftT>;
15
+ b: FlowGraphDataConnection<RightT>;
16
16
  constructor(leftRichType: RichType<LeftT>, rightRichType: RichType<RightT>, resultRichType: RichType<ResultT>, _operation: (left: LeftT, right: RightT) => ResultT, _className: string, config?: IFlowGraphBlockConfiguration);
17
17
  _doOperation(context: FlowGraphContext): ResultT;
18
18
  getClassName(): string;
@@ -9,11 +9,11 @@ export class FlowGraphBinaryOperationBlock extends FlowGraphCachedOperationBlock
9
9
  super(resultRichType, config);
10
10
  this._operation = _operation;
11
11
  this._className = _className;
12
- this.leftInput = this.registerDataInput("leftInput", leftRichType);
13
- this.rightInput = this.registerDataInput("rightInput", rightRichType);
12
+ this.a = this.registerDataInput("a", leftRichType);
13
+ this.b = this.registerDataInput("b", rightRichType);
14
14
  }
15
15
  _doOperation(context) {
16
- return this._operation(this.leftInput.getValue(context), this.rightInput.getValue(context));
16
+ return this._operation(this.a.getValue(context), this.b.getValue(context));
17
17
  }
18
18
  getClassName() {
19
19
  return this._className;
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphBinaryOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF;;;;GAIG;AACH,MAAM,OAAO,6BAAsD,SAAQ,6BAAsC;IAI7G,YACI,YAA6B,EAC7B,aAA+B,EAC/B,cAAiC,EACzB,UAAmD,EACnD,UAAkB,EAC1B,MAAqC;QAErC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAJtB,eAAU,GAAV,UAAU,CAAyC;QACnD,eAAU,GAAV,UAAU,CAAQ;QAI1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;IAEe,YAAY,CAAC,OAAyB;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAChG,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ","sourcesContent":["import type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphCachedOperationBlock } from \"./flowGraphCachedOperationBlock\";\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 FlowGraphCachedOperationBlock<ResultT> {\r\n leftInput: FlowGraphDataConnection<LeftT>;\r\n rightInput: FlowGraphDataConnection<RightT>;\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(resultRichType, config);\r\n this.leftInput = this.registerDataInput(\"leftInput\", leftRichType);\r\n this.rightInput = this.registerDataInput(\"rightInput\", rightRichType);\r\n }\r\n\r\n public override _doOperation(context: FlowGraphContext): ResultT {\r\n return this._operation(this.leftInput.getValue(context), this.rightInput.getValue(context));\r\n }\r\n\r\n public getClassName(): string {\r\n return this._className;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flowGraphBinaryOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF;;;;GAIG;AACH,MAAM,OAAO,6BAAsD,SAAQ,6BAAsC;IAI7G,YACI,YAA6B,EAC7B,aAA+B,EAC/B,cAAiC,EACzB,UAAmD,EACnD,UAAkB,EAC1B,MAAqC;QAErC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAJtB,eAAU,GAAV,UAAU,CAAyC;QACnD,eAAU,GAAV,UAAU,CAAQ;QAI1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC;IAEe,YAAY,CAAC,OAAyB;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ","sourcesContent":["import type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphCachedOperationBlock } from \"./flowGraphCachedOperationBlock\";\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 FlowGraphCachedOperationBlock<ResultT> {\r\n a: FlowGraphDataConnection<LeftT>;\r\n b: FlowGraphDataConnection<RightT>;\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(resultRichType, config);\r\n this.a = this.registerDataInput(\"a\", leftRichType);\r\n this.b = this.registerDataInput(\"b\", rightRichType);\r\n }\r\n\r\n public override _doOperation(context: FlowGraphContext): ResultT {\r\n return this._operation(this.a.getValue(context), this.b.getValue(context));\r\n }\r\n\r\n public getClassName(): string {\r\n return this._className;\r\n }\r\n}\r\n"]}
@@ -10,7 +10,7 @@ export declare abstract class FlowGraphCachedOperationBlock<OutputT> extends Flo
10
10
  /**
11
11
  * The output of the operation
12
12
  */
13
- readonly output: FlowGraphDataConnection<OutputT>;
13
+ readonly value: FlowGraphDataConnection<OutputT>;
14
14
  constructor(outputRichType: RichType<OutputT>, config?: IFlowGraphBlockConfiguration);
15
15
  /**
16
16
  * @internal
@@ -7,19 +7,19 @@ const CACHE_EXEC_ID_NAME = "cachedExecutionId";
7
7
  export class FlowGraphCachedOperationBlock extends FlowGraphBlock {
8
8
  constructor(outputRichType, config) {
9
9
  super(config);
10
- this.output = this.registerDataOutput("output", outputRichType);
10
+ this.value = this.registerDataOutput("value", outputRichType);
11
11
  }
12
12
  _updateOutputs(context) {
13
13
  const cachedExecutionId = context._getExecutionVariable(this, CACHE_EXEC_ID_NAME);
14
14
  const cachedValue = context._getExecutionVariable(this, CACHE_NAME);
15
15
  if (cachedValue !== undefined && cachedExecutionId === context.executionId) {
16
- this.output.setValue(cachedValue, context);
16
+ this.value.setValue(cachedValue, context);
17
17
  }
18
18
  else {
19
19
  const calculatedValue = this._doOperation(context);
20
20
  context._setExecutionVariable(this, CACHE_NAME, calculatedValue);
21
21
  context._setExecutionVariable(this, CACHE_EXEC_ID_NAME, context.executionId);
22
- this.output.setValue(calculatedValue, context);
22
+ this.value.setValue(calculatedValue, context);
23
23
  }
24
24
  }
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphCachedOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKtD,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC1C,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAgB,6BAAuC,SAAQ,cAAc;IAM/E,YAAY,cAAiC,EAAE,MAAqC;QAChF,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC;IASM,cAAc,CAAC,OAAyB;QAC3C,MAAM,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,WAAW,KAAK,SAAS,IAAI,iBAAiB,KAAK,OAAO,CAAC,WAAW,EAAE;YACxE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;SAC9C;aAAM;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnD,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YACjE,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SAClD;IACL,CAAC;CACJ","sourcesContent":["import type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\n\r\nconst CACHE_NAME = \"cachedOperationValue\";\r\nconst CACHE_EXEC_ID_NAME = \"cachedExecutionId\";\r\n\r\n/**\r\n * @experimental\r\n */\r\nexport abstract class FlowGraphCachedOperationBlock<OutputT> extends FlowGraphBlock {\r\n /**\r\n * The output of the operation\r\n */\r\n public readonly output: FlowGraphDataConnection<OutputT>;\r\n\r\n constructor(outputRichType: RichType<OutputT>, config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.output = this.registerDataOutput(\"output\", outputRichType);\r\n }\r\n\r\n /**\r\n * @internal\r\n * Operation to realize\r\n * @param context the graph context\r\n */\r\n public abstract _doOperation(context: FlowGraphContext): OutputT;\r\n\r\n public _updateOutputs(context: FlowGraphContext) {\r\n const cachedExecutionId = context._getExecutionVariable(this, CACHE_EXEC_ID_NAME);\r\n const cachedValue = context._getExecutionVariable(this, CACHE_NAME);\r\n if (cachedValue !== undefined && cachedExecutionId === context.executionId) {\r\n this.output.setValue(cachedValue, context);\r\n } else {\r\n const calculatedValue = this._doOperation(context);\r\n context._setExecutionVariable(this, CACHE_NAME, calculatedValue);\r\n context._setExecutionVariable(this, CACHE_EXEC_ID_NAME, context.executionId);\r\n this.output.setValue(calculatedValue, context);\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"flowGraphCachedOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKtD,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC1C,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAgB,6BAAuC,SAAQ,cAAc;IAM/E,YAAY,cAAiC,EAAE,MAAqC;QAChF,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;IASM,cAAc,CAAC,OAAyB;QAC3C,MAAM,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,WAAW,KAAK,SAAS,IAAI,iBAAiB,KAAK,OAAO,CAAC,WAAW,EAAE;YACxE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;SAC7C;aAAM;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnD,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YACjE,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC7E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SACjD;IACL,CAAC;CACJ","sourcesContent":["import type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\n\r\nconst CACHE_NAME = \"cachedOperationValue\";\r\nconst CACHE_EXEC_ID_NAME = \"cachedExecutionId\";\r\n\r\n/**\r\n * @experimental\r\n */\r\nexport abstract class FlowGraphCachedOperationBlock<OutputT> extends FlowGraphBlock {\r\n /**\r\n * The output of the operation\r\n */\r\n public readonly value: FlowGraphDataConnection<OutputT>;\r\n\r\n constructor(outputRichType: RichType<OutputT>, config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.value = this.registerDataOutput(\"value\", outputRichType);\r\n }\r\n\r\n /**\r\n * @internal\r\n * Operation to realize\r\n * @param context the graph context\r\n */\r\n public abstract _doOperation(context: FlowGraphContext): OutputT;\r\n\r\n public _updateOutputs(context: FlowGraphContext) {\r\n const cachedExecutionId = context._getExecutionVariable(this, CACHE_EXEC_ID_NAME);\r\n const cachedValue = context._getExecutionVariable(this, CACHE_NAME);\r\n if (cachedValue !== undefined && cachedExecutionId === context.executionId) {\r\n this.value.setValue(cachedValue, context);\r\n } else {\r\n const calculatedValue = this._doOperation(context);\r\n context._setExecutionVariable(this, CACHE_NAME, calculatedValue);\r\n context._setExecutionVariable(this, CACHE_EXEC_ID_NAME, context.executionId);\r\n this.value.setValue(calculatedValue, context);\r\n }\r\n }\r\n}\r\n"]}
@@ -25,4 +25,5 @@ export declare class FlowGraphConstantBlock<T> extends FlowGraphBlock {
25
25
  constructor(config: IFlowGraphConstantBlockConfiguration<T>);
26
26
  _updateOutputs(context: FlowGraphContext): void;
27
27
  getClassName(): string;
28
+ serialize(serializationObject?: any, valueSerializeFunction?: (key: string, value: any, serializationObject: any) => any): void;
28
29
  }
@@ -1,6 +1,7 @@
1
1
  import { FlowGraphBlock } from "../../flowGraphBlock.js";
2
2
  import { getRichTypeFromValue } from "../../flowGraphRichTypes.js";
3
3
  import { RegisterClass } from "../../../Misc/typeStore.js";
4
+ import { defaultValueSerializationFunction } from "../../serialization.js";
4
5
  /**
5
6
  * @experimental
6
7
  * Block that returns a constant value.
@@ -17,6 +18,10 @@ export class FlowGraphConstantBlock extends FlowGraphBlock {
17
18
  getClassName() {
18
19
  return "FGConstantBlock";
19
20
  }
21
+ serialize(serializationObject = {}, valueSerializeFunction = defaultValueSerializationFunction) {
22
+ super.serialize(serializationObject);
23
+ valueSerializeFunction("value", this.config.value, serializationObject.config);
24
+ }
20
25
  }
21
26
  RegisterClass("FGConstantBlock", FlowGraphConstantBlock);
22
27
  //# 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;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,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxF,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"]}
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;AACxD,OAAO,EAAE,iCAAiC,EAAE,+BAAqC;AAWjF;;;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,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxF,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;IAEM,SAAS,CAAC,sBAA2B,EAAE,EAAE,yBAAqF,iCAAiC;QAClK,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACrC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACnF,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\nimport { defaultValueSerializationFunction } from \"core/FlowGraph/serialization\";\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\n public serialize(serializationObject: any = {}, valueSerializeFunction: (key: string, value: any, serializationObject: any) => any = defaultValueSerializationFunction) {\r\n super.serialize(serializationObject);\r\n valueSerializeFunction(\"value\", this.config.value, serializationObject.config);\r\n }\r\n}\r\nRegisterClass(\"FGConstantBlock\", FlowGraphConstantBlock);\r\n"]}
@@ -0,0 +1,25 @@
1
+ import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
2
+ import { FlowGraphBlock } from "../../flowGraphBlock";
3
+ import type { FlowGraphContext } from "../../flowGraphContext";
4
+ import type { FlowGraphDataConnection } from "../../flowGraphDataConnection";
5
+ import { FlowGraphPathComponent } from "../../flowGraphPathComponent";
6
+ import type { FlowGraphPath } from "../../flowGraphPath";
7
+ /**
8
+ * @experimental
9
+ */
10
+ export interface IFlowGraphGetPropertyBlockConfiguration extends IFlowGraphBlockConfiguration {
11
+ /**
12
+ * The variable path of the entity whose property will be set. Needs a corresponding
13
+ * entity on the context variables with that variable name.
14
+ */
15
+ path: FlowGraphPath;
16
+ }
17
+ export declare class FlowGraphGetPropertyBlock extends FlowGraphBlock {
18
+ config: IFlowGraphGetPropertyBlockConfiguration;
19
+ readonly value: FlowGraphDataConnection<any>;
20
+ readonly templateComponent: FlowGraphPathComponent;
21
+ constructor(config: IFlowGraphGetPropertyBlockConfiguration);
22
+ _updateOutputs(context: FlowGraphContext): void;
23
+ getClassName(): string;
24
+ static ClassName: string;
25
+ }
@@ -0,0 +1,22 @@
1
+ import { RegisterClass } from "../../../Misc/typeStore.js";
2
+ import { FlowGraphBlock } from "../../flowGraphBlock.js";
3
+ import { RichTypeAny } from "../../flowGraphRichTypes.js";
4
+ import { FlowGraphPathComponent } from "../../flowGraphPathComponent.js";
5
+ export class FlowGraphGetPropertyBlock extends FlowGraphBlock {
6
+ constructor(config) {
7
+ super(config);
8
+ this.config = config;
9
+ this.value = this.registerDataOutput("value", RichTypeAny);
10
+ this.templateComponent = new FlowGraphPathComponent(config.path, this);
11
+ }
12
+ _updateOutputs(context) {
13
+ const value = this.templateComponent.getProperty(context);
14
+ this.value.setValue(value, context);
15
+ }
16
+ getClassName() {
17
+ return FlowGraphGetPropertyBlock.ClassName;
18
+ }
19
+ }
20
+ FlowGraphGetPropertyBlock.ClassName = "FGGetPropertyBlock";
21
+ RegisterClass(FlowGraphGetPropertyBlock.ClassName, FlowGraphGetPropertyBlock);
22
+ //# sourceMappingURL=flowGraphGetPropertyBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flowGraphGetPropertyBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AActE,MAAM,OAAO,yBAA0B,SAAQ,cAAc;IAIzD,YAA0B,MAA+C;QACrE,KAAK,CAAC,MAAM,CAAC,CAAC;QADQ,WAAM,GAAN,MAAM,CAAyC;QAErE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAEM,cAAc,CAAC,OAAyB;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAEM,YAAY;QACf,OAAO,yBAAyB,CAAC,SAAS,CAAC;IAC/C,CAAC;;AAEa,mCAAS,GAAG,oBAAoB,CAAC;AAEnD,aAAa,CAAC,yBAAyB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC","sourcesContent":["import { RegisterClass } from \"../../../Misc/typeStore\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport { RichTypeAny } from \"../../flowGraphRichTypes\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { FlowGraphPathComponent } from \"../../flowGraphPathComponent\";\r\nimport type { FlowGraphPath } from \"../../flowGraphPath\";\r\n\r\n/**\r\n * @experimental\r\n */\r\nexport interface IFlowGraphGetPropertyBlockConfiguration extends IFlowGraphBlockConfiguration {\r\n /**\r\n * The variable path of the entity whose property will be set. Needs a corresponding\r\n * entity on the context variables with that variable name.\r\n */\r\n path: FlowGraphPath;\r\n}\r\n\r\nexport class FlowGraphGetPropertyBlock extends FlowGraphBlock {\r\n public readonly value: FlowGraphDataConnection<any>;\r\n public readonly templateComponent: FlowGraphPathComponent;\r\n\r\n public constructor(public config: IFlowGraphGetPropertyBlockConfiguration) {\r\n super(config);\r\n this.value = this.registerDataOutput(\"value\", RichTypeAny);\r\n this.templateComponent = new FlowGraphPathComponent(config.path, this);\r\n }\r\n\r\n public _updateOutputs(context: FlowGraphContext) {\r\n const value = this.templateComponent.getProperty(context);\r\n this.value.setValue(value, context);\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphGetPropertyBlock.ClassName;\r\n }\r\n\r\n public static ClassName = \"FGGetPropertyBlock\";\r\n}\r\nRegisterClass(FlowGraphGetPropertyBlock.ClassName, FlowGraphGetPropertyBlock);\r\n"]}
@@ -2,15 +2,19 @@ import type { FlowGraphContext } from "../../flowGraphContext";
2
2
  import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
3
3
  import { FlowGraphBlock } from "../../flowGraphBlock";
4
4
  import type { FlowGraphDataConnection } from "../../flowGraphDataConnection";
5
+ /**
6
+ * @experimental
7
+ * The configuration of the FlowGraphGetVariableBlock.
8
+ */
9
+ export interface IFlowGraphGetVariableBlockConfiguration extends IFlowGraphBlockConfiguration {
10
+ variableName: string;
11
+ }
5
12
  /**
6
13
  * A block that gets the value of a variable.
7
14
  * @experimental
8
15
  */
9
16
  export declare class FlowGraphGetVariableBlock<T> extends FlowGraphBlock {
10
- /**
11
- * Input connection: The name of the variable to get.
12
- */
13
- readonly variableName: FlowGraphDataConnection<string>;
17
+ config: IFlowGraphGetVariableBlockConfiguration;
14
18
  /**
15
19
  * Output connection: The value of the variable.
16
20
  */
@@ -19,10 +23,12 @@ export declare class FlowGraphGetVariableBlock<T> extends FlowGraphBlock {
19
23
  * Construct a FlowGraphGetVariableBlock.
20
24
  * @param params optional construction parameters
21
25
  */
22
- constructor(config?: IFlowGraphBlockConfiguration);
26
+ constructor(config: IFlowGraphGetVariableBlockConfiguration);
23
27
  /**
24
28
  * @internal
25
29
  */
26
30
  _updateOutputs(context: FlowGraphContext): void;
27
31
  getClassName(): string;
32
+ serialize(serializationObject?: any): void;
33
+ static ClassName: string;
28
34
  }
@@ -1,5 +1,5 @@
1
1
  import { FlowGraphBlock } from "../../flowGraphBlock.js";
2
- import { RichTypeString, RichTypeAny } from "../../flowGraphRichTypes.js";
2
+ import { RichTypeAny } from "../../flowGraphRichTypes.js";
3
3
  import { RegisterClass } from "../../../Misc/typeStore.js";
4
4
  /**
5
5
  * A block that gets the value of a variable.
@@ -12,21 +12,27 @@ export class FlowGraphGetVariableBlock extends FlowGraphBlock {
12
12
  */
13
13
  constructor(config) {
14
14
  super(config);
15
- this.variableName = this.registerDataInput("variableName", RichTypeString);
16
- this.output = this.registerDataOutput("output", RichTypeAny);
15
+ this.config = config;
16
+ // The output connection has to have the name of the variable.
17
+ this.output = this.registerDataOutput(config.variableName, RichTypeAny);
17
18
  }
18
19
  /**
19
20
  * @internal
20
21
  */
21
22
  _updateOutputs(context) {
22
- const variableNameValue = this.variableName.getValue(context);
23
+ const variableNameValue = this.config.variableName;
23
24
  if (context.hasVariable(variableNameValue)) {
24
25
  this.output.setValue(context.getVariable(variableNameValue), context);
25
26
  }
26
27
  }
27
28
  getClassName() {
28
- return "FGGetVariableBlock";
29
+ return FlowGraphGetVariableBlock.ClassName;
30
+ }
31
+ serialize(serializationObject) {
32
+ super.serialize(serializationObject);
33
+ serializationObject.config.variableName = this.config.variableName;
29
34
  }
30
35
  }
31
- RegisterClass("FGGetVariableBlock", FlowGraphGetVariableBlock);
36
+ FlowGraphGetVariableBlock.ClassName = "FGGetVariableBlock";
37
+ RegisterClass(FlowGraphGetVariableBlock.ClassName, FlowGraphGetVariableBlock);
32
38
  //# sourceMappingURL=flowGraphGetVariableBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowGraphGetVariableBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;;GAGG;AACH,MAAM,OAAO,yBAA6B,SAAQ,cAAc;IAU5D;;;OAGG;IACH,YAAY,MAAqC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAAyB;QAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;SACzE;IACL,CAAC;IAEM,YAAY;QACf,OAAO,oBAAoB,CAAC;IAChC,CAAC;CACJ;AACD,aAAa,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC","sourcesContent":["import type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { RichTypeString, RichTypeAny } from \"../../flowGraphRichTypes\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\n\r\n/**\r\n * A block that gets the value of a variable.\r\n * @experimental\r\n */\r\nexport class FlowGraphGetVariableBlock<T> extends FlowGraphBlock {\r\n /**\r\n * Input connection: The name of the variable to get.\r\n */\r\n public readonly variableName: FlowGraphDataConnection<string>;\r\n /**\r\n * Output connection: The value of the variable.\r\n */\r\n public readonly output: FlowGraphDataConnection<T>;\r\n\r\n /**\r\n * Construct a FlowGraphGetVariableBlock.\r\n * @param params optional construction parameters\r\n */\r\n constructor(config?: IFlowGraphBlockConfiguration) {\r\n super(config);\r\n\r\n this.variableName = this.registerDataInput(\"variableName\", RichTypeString);\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 const variableNameValue = this.variableName.getValue(context);\r\n if (context.hasVariable(variableNameValue)) {\r\n this.output.setValue(context.getVariable(variableNameValue), context);\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return \"FGGetVariableBlock\";\r\n }\r\n}\r\nRegisterClass(\"FGGetVariableBlock\", FlowGraphGetVariableBlock);\r\n"]}
1
+ {"version":3,"file":"flowGraphGetVariableBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAUxD;;;GAGG;AACH,MAAM,OAAO,yBAA6B,SAAQ,cAAc;IAM5D;;;OAGG;IACH,YAAmB,MAA+C;QAC9D,KAAK,CAAC,MAAM,CAAC,CAAC;QADC,WAAM,GAAN,MAAM,CAAyC;QAG9D,8DAA8D;QAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAAyB;QAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACnD,IAAI,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;SACzE;IACL,CAAC;IAEM,YAAY;QACf,OAAO,yBAAyB,CAAC,SAAS,CAAC;IAC/C,CAAC;IAEM,SAAS,CAAC,mBAAyB;QACtC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACrC,mBAAmB,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IACvE,CAAC;;AAEa,mCAAS,GAAG,oBAAoB,CAAC;AAEnD,aAAa,CAAC,yBAAyB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC","sourcesContent":["import type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphBlock } from \"../../flowGraphBlock\";\r\nimport type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport { RichTypeAny } from \"../../flowGraphRichTypes\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\n\r\n/**\r\n * @experimental\r\n * The configuration of the FlowGraphGetVariableBlock.\r\n */\r\nexport interface IFlowGraphGetVariableBlockConfiguration extends IFlowGraphBlockConfiguration {\r\n variableName: string;\r\n}\r\n\r\n/**\r\n * A block that gets the value of a variable.\r\n * @experimental\r\n */\r\nexport class FlowGraphGetVariableBlock<T> extends FlowGraphBlock {\r\n /**\r\n * Output connection: The value of the variable.\r\n */\r\n public readonly output: FlowGraphDataConnection<T>;\r\n\r\n /**\r\n * Construct a FlowGraphGetVariableBlock.\r\n * @param params optional construction parameters\r\n */\r\n constructor(public config: IFlowGraphGetVariableBlockConfiguration) {\r\n super(config);\r\n\r\n // The output connection has to have the name of the variable.\r\n this.output = this.registerDataOutput(config.variableName, RichTypeAny);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public _updateOutputs(context: FlowGraphContext): void {\r\n const variableNameValue = this.config.variableName;\r\n if (context.hasVariable(variableNameValue)) {\r\n this.output.setValue(context.getVariable(variableNameValue), context);\r\n }\r\n }\r\n\r\n public getClassName(): string {\r\n return FlowGraphGetVariableBlock.ClassName;\r\n }\r\n\r\n public serialize(serializationObject?: any): void {\r\n super.serialize(serializationObject);\r\n serializationObject.config.variableName = this.config.variableName;\r\n }\r\n\r\n public static ClassName = \"FGGetVariableBlock\";\r\n}\r\nRegisterClass(FlowGraphGetVariableBlock.ClassName, FlowGraphGetVariableBlock);\r\n"]}
@@ -0,0 +1,19 @@
1
+ import type { FlowGraphDataConnection } from "../../flowGraphDataConnection";
2
+ import type { RichType } from "../../flowGraphRichTypes";
3
+ import type { FlowGraphContext } from "../../flowGraphContext";
4
+ import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
5
+ import { FlowGraphCachedOperationBlock } from "./flowGraphCachedOperationBlock";
6
+ /**
7
+ * @experimental
8
+ * The base block for all ternary operation blocks.
9
+ */
10
+ export declare class FlowGraphTernaryOperationBlock<T1, T2, T3, ResultT> extends FlowGraphCachedOperationBlock<ResultT> {
11
+ private _operation;
12
+ private _className;
13
+ a: FlowGraphDataConnection<T1>;
14
+ b: FlowGraphDataConnection<T2>;
15
+ c: FlowGraphDataConnection<T3>;
16
+ constructor(t1Type: RichType<T1>, t2Type: RichType<T2>, t3Type: RichType<T3>, resultRichType: RichType<ResultT>, _operation: (a: T1, b: T2, c: T3) => ResultT, _className: string, config?: IFlowGraphBlockConfiguration);
17
+ _doOperation(context: FlowGraphContext): ResultT;
18
+ getClassName(): string;
19
+ }
@@ -0,0 +1,22 @@
1
+ import { FlowGraphCachedOperationBlock } from "./flowGraphCachedOperationBlock.js";
2
+ /**
3
+ * @experimental
4
+ * The base block for all ternary operation blocks.
5
+ */
6
+ export class FlowGraphTernaryOperationBlock extends FlowGraphCachedOperationBlock {
7
+ constructor(t1Type, t2Type, t3Type, resultRichType, _operation, _className, config) {
8
+ super(resultRichType, config);
9
+ this._operation = _operation;
10
+ this._className = _className;
11
+ this.a = this.registerDataInput("a", t1Type);
12
+ this.b = this.registerDataInput("b", t2Type);
13
+ this.c = this.registerDataInput("c", t3Type);
14
+ }
15
+ _doOperation(context) {
16
+ return this._operation(this.a.getValue(context), this.b.getValue(context), this.c.getValue(context));
17
+ }
18
+ getClassName() {
19
+ return this._className;
20
+ }
21
+ }
22
+ //# sourceMappingURL=flowGraphTernaryOperationBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flowGraphTernaryOperationBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF;;;GAGG;AACH,MAAM,OAAO,8BAAoD,SAAQ,6BAAsC;IAK3G,YACI,MAAoB,EACpB,MAAoB,EACpB,MAAoB,EACpB,cAAiC,EACzB,UAA4C,EAC5C,UAAkB,EAC1B,MAAqC;QAErC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAJtB,eAAU,GAAV,UAAU,CAAkC;QAC5C,eAAU,GAAV,UAAU,CAAQ;QAI1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAEe,YAAY,CAAC,OAAyB;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACzG,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ","sourcesContent":["import type { FlowGraphDataConnection } from \"../../flowGraphDataConnection\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { FlowGraphCachedOperationBlock } from \"./flowGraphCachedOperationBlock\";\r\n/**\r\n * @experimental\r\n * The base block for all ternary operation blocks.\r\n */\r\nexport class FlowGraphTernaryOperationBlock<T1, T2, T3, ResultT> extends FlowGraphCachedOperationBlock<ResultT> {\r\n a: FlowGraphDataConnection<T1>;\r\n b: FlowGraphDataConnection<T2>;\r\n c: FlowGraphDataConnection<T3>;\r\n\r\n constructor(\r\n t1Type: RichType<T1>,\r\n t2Type: RichType<T2>,\r\n t3Type: RichType<T3>,\r\n resultRichType: RichType<ResultT>,\r\n private _operation: (a: T1, b: T2, c: T3) => ResultT,\r\n private _className: string,\r\n config?: IFlowGraphBlockConfiguration\r\n ) {\r\n super(resultRichType, config);\r\n this.a = this.registerDataInput(\"a\", t1Type);\r\n this.b = this.registerDataInput(\"b\", t2Type);\r\n this.c = this.registerDataInput(\"c\", t3Type);\r\n }\r\n\r\n public override _doOperation(context: FlowGraphContext): ResultT {\r\n return this._operation(this.a.getValue(context), this.b.getValue(context), this.c.getValue(context));\r\n }\r\n\r\n public getClassName(): string {\r\n return this._className;\r\n }\r\n}\r\n"]}
@@ -2,5 +2,6 @@ export * from "./flowGraphConditionalDataBlock";
2
2
  export * from "./flowGraphGetVariableBlock";
3
3
  export * from "./flowGraphCoordinateTransformBlock";
4
4
  export * from "./flowGraphConstantBlock";
5
+ export * from "./flowGraphGetPropertyBlock";
5
6
  export * from "./Logic/index";
6
7
  export * from "./Math/index";
@@ -2,6 +2,7 @@ export * from "./flowGraphConditionalDataBlock.js";
2
2
  export * from "./flowGraphGetVariableBlock.js";
3
3
  export * from "./flowGraphCoordinateTransformBlock.js";
4
4
  export * from "./flowGraphConstantBlock.js";
5
+ export * from "./flowGraphGetPropertyBlock.js";
5
6
  // eslint-disable-next-line import/no-internal-modules
6
7
  export * from "./Logic/index.js";
7
8
  // eslint-disable-next-line import/no-internal-modules
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,sDAAsD;AACtD,cAAc,eAAe,CAAC;AAC9B,sDAAsD;AACtD,cAAc,cAAc,CAAC","sourcesContent":["export * from \"./flowGraphConditionalDataBlock\";\r\nexport * from \"./flowGraphGetVariableBlock\";\r\nexport * from \"./flowGraphCoordinateTransformBlock\";\r\nexport * from \"./flowGraphConstantBlock\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nexport * from \"./Logic/index\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nexport * from \"./Math/index\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,sDAAsD;AACtD,cAAc,eAAe,CAAC;AAC9B,sDAAsD;AACtD,cAAc,cAAc,CAAC","sourcesContent":["export * from \"./flowGraphConditionalDataBlock\";\r\nexport * from \"./flowGraphGetVariableBlock\";\r\nexport * from \"./flowGraphCoordinateTransformBlock\";\r\nexport * from \"./flowGraphConstantBlock\";\r\nexport * from \"./flowGraphGetPropertyBlock\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nexport * from \"./Logic/index\";\r\n// eslint-disable-next-line import/no-internal-modules\r\nexport * from \"./Math/index\";\r\n"]}
@@ -1,13 +1,20 @@
1
1
  import type { FlowGraphContext } from "../../flowGraphContext";
2
2
  import { FlowGraphEventBlock } from "../../flowGraphEventBlock";
3
- import type { FlowGraphDataConnection } from "../../flowGraphDataConnection";
4
3
  import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
5
4
  /**
6
5
  * @experimental
7
6
  * Parameters used to create a FlowGraphReceiveCustomEventBlock.
8
7
  */
9
8
  export interface IFlowGraphReceiveCustomEventBlockConfiguration extends IFlowGraphBlockConfiguration {
9
+ /**
10
+ * The id of the event to receive.
11
+ */
10
12
  eventId: string;
13
+ /**
14
+ * The names of the data outputs for that event. Should be in the same order as the event data in
15
+ * SendCustomEvent
16
+ */
17
+ eventData: string[];
11
18
  }
12
19
  /**
13
20
  * @experimental
@@ -16,13 +23,11 @@ export interface IFlowGraphReceiveCustomEventBlockConfiguration extends IFlowGra
16
23
  export declare class FlowGraphReceiveCustomEventBlock extends FlowGraphEventBlock {
17
24
  config: IFlowGraphReceiveCustomEventBlockConfiguration;
18
25
  private _eventObserver;
19
- /**
20
- * Output connection: The data sent with the event.
21
- */
22
- eventData: FlowGraphDataConnection<any>;
23
26
  constructor(config: IFlowGraphReceiveCustomEventBlockConfiguration);
27
+ configure(): void;
24
28
  _preparePendingTasks(context: FlowGraphContext): void;
25
29
  _cancelPendingTasks(context: FlowGraphContext): void;
26
30
  getClassName(): string;
31
+ static ClassName: string;
27
32
  serialize(serializationObject?: any): void;
28
33
  }