@babylonjs/core 7.51.1 → 7.51.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.
- package/Animations/animation.js +2 -1
- package/Animations/animation.js.map +1 -1
- package/Buffers/bufferUtils.d.ts +7 -5
- package/Buffers/bufferUtils.js +13 -9
- package/Buffers/bufferUtils.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/constants.d.ts +32 -0
- package/Engines/constants.js +33 -0
- package/Engines/constants.js.map +1 -1
- package/Engines/webgpuEngine.js +6 -3
- package/Engines/webgpuEngine.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.d.ts +148 -465
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js +394 -691
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMathCombineExtractBlocks.d.ts +142 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMathCombineExtractBlocks.js +342 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMathCombineExtractBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixMathBlocks.d.ts +107 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixMathBlocks.js +130 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixMathBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.d.ts +77 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.js +139 -0
- package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Math/index.d.ts +3 -0
- package/FlowGraph/Blocks/Data/Math/index.js +3 -0
- package/FlowGraph/Blocks/Data/Math/index.js.map +1 -1
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.d.ts +85 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.js +133 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphTypeToTypeBlocks.d.ts +49 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphTypeToTypeBlocks.js +71 -0
- package/FlowGraph/Blocks/Data/Transformers/flowGraphTypeToTypeBlocks.js.map +1 -0
- package/FlowGraph/Blocks/Data/Transformers/index.d.ts +2 -0
- package/FlowGraph/Blocks/Data/Transformers/index.js +3 -0
- package/FlowGraph/Blocks/Data/Transformers/index.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.d.ts +39 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.js +46 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphArrayIndexBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.d.ts +35 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.js +34 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphCodeExecutionBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphContextBlock.d.ts +20 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphContextBlock.js +25 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphContextBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphFunctionReferenceBlock.d.ts +34 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphFunctionReferenceBlock.js +35 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphFunctionReferenceBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphIndexOfBlock.d.ts +39 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphIndexOfBlock.js +42 -0
- package/FlowGraph/Blocks/Data/Utils/flowGraphIndexOfBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/Utils/index.d.ts +5 -0
- package/FlowGraph/Blocks/Data/Utils/index.js +6 -0
- package/FlowGraph/Blocks/Data/Utils/index.js.map +1 -0
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.d.ts +0 -1
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js +3 -2
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js +4 -4
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.d.ts +6 -3
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js +12 -6
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.d.ts +0 -2
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js +2 -3
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.d.ts +5 -4
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js +5 -4
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetAssetBlock.d.ts +62 -0
- package/FlowGraph/Blocks/Data/flowGraphGetAssetBlock.js +41 -0
- package/FlowGraph/Blocks/Data/flowGraphGetAssetBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.d.ts +38 -33
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js +42 -25
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +11 -16
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js +9 -17
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js +1 -1
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/{flowGraphCoordinateTransformBlock.d.ts → flowGraphTransformCoordinatesSystemBlock.d.ts} +1 -2
- package/FlowGraph/Blocks/Data/{flowGraphCoordinateTransformBlock.js → flowGraphTransformCoordinatesSystemBlock.js} +4 -5
- package/FlowGraph/Blocks/Data/flowGraphTransformCoordinatesSystemBlock.js.map +1 -0
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js +1 -1
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Data/index.d.ts +7 -3
- package/FlowGraph/Blocks/Data/index.js +9 -4
- package/FlowGraph/Blocks/Data/index.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.d.ts +45 -24
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js +45 -51
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.d.ts +61 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.js +39 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.js.map +1 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.d.ts +61 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.js +40 -0
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.js.map +1 -0
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.d.ts +12 -14
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js +19 -26
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +6 -12
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js +13 -24
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.d.ts +31 -7
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js +22 -20
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.js.map +1 -1
- package/FlowGraph/Blocks/{Execution → Event}/flowGraphSendCustomEventBlock.d.ts +12 -7
- package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.js +39 -0
- package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.js.map +1 -0
- package/FlowGraph/Blocks/Event/index.d.ts +3 -0
- package/FlowGraph/Blocks/Event/index.js +3 -0
- package/FlowGraph/Blocks/Event/index.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphBezierCurveEasingBlock.d.ts +44 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphBezierCurveEasingBlock.js +46 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphBezierCurveEasingBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphEasingBlock.d.ts +60 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphEasingBlock.js +93 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphEasingBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.d.ts +82 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.js +105 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js +2 -2
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +40 -42
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js +116 -50
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +12 -4
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js +86 -8
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/index.d.ts +3 -0
- package/FlowGraph/Blocks/Execution/Animation/index.js +3 -0
- package/FlowGraph/Blocks/Execution/Animation/index.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.d.ts +1 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js +3 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/{Audio/flowGraphStopAudioBlock.d.ts → ControlFlow/flowGraphCancelDelayBlock.d.ts} +6 -8
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.js +31 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +0 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js +2 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +5 -10
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js +11 -15
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.d.ts +11 -3
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js +5 -6
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +27 -7
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js +28 -30
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.d.ts +13 -16
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js +50 -52
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.d.ts +8 -9
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js +26 -13
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.d.ts +32 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.js +84 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.js.map +1 -0
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.d.ts +20 -6
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js +55 -16
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +3 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js +36 -13
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +13 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js +22 -17
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +12 -16
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js +21 -21
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/index.d.ts +2 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/index.js +2 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/index.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.d.ts +4 -5
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js +13 -8
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.d.ts +33 -36
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js +42 -26
- package/FlowGraph/Blocks/Execution/flowGraphSetPropertyBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +10 -25
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js +38 -24
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/index.d.ts +0 -3
- package/FlowGraph/Blocks/Execution/index.js +0 -3
- package/FlowGraph/Blocks/Execution/index.js.map +1 -1
- package/FlowGraph/Blocks/flowGraphBlockFactory.d.ts +16 -0
- package/FlowGraph/Blocks/flowGraphBlockFactory.js +292 -0
- package/FlowGraph/Blocks/flowGraphBlockFactory.js.map +1 -0
- package/FlowGraph/Blocks/flowGraphBlockNames.d.ts +145 -0
- package/FlowGraph/Blocks/flowGraphBlockNames.js +147 -0
- package/FlowGraph/Blocks/flowGraphBlockNames.js.map +1 -0
- package/FlowGraph/Blocks/index.d.ts +2 -0
- package/FlowGraph/Blocks/index.js +2 -0
- package/FlowGraph/Blocks/index.js.map +1 -1
- package/FlowGraph/{flowGraphInteger.d.ts → CustomTypes/flowGraphInteger.d.ts} +2 -3
- package/FlowGraph/{flowGraphInteger.js → CustomTypes/flowGraphInteger.js} +4 -5
- package/FlowGraph/CustomTypes/flowGraphInteger.js.map +1 -0
- package/FlowGraph/CustomTypes/flowGraphMatrix.d.ts +196 -0
- package/FlowGraph/CustomTypes/flowGraphMatrix.js +272 -0
- package/FlowGraph/CustomTypes/flowGraphMatrix.js.map +1 -0
- package/FlowGraph/CustomTypes/index.d.ts +2 -0
- package/FlowGraph/CustomTypes/index.js +3 -0
- package/FlowGraph/CustomTypes/index.js.map +1 -0
- package/FlowGraph/flowGraph.d.ts +29 -34
- package/FlowGraph/flowGraph.js +120 -104
- package/FlowGraph/flowGraph.js.map +1 -1
- package/FlowGraph/flowGraphAssetsContext.d.ts +29 -0
- package/FlowGraph/flowGraphAssetsContext.js +52 -0
- package/FlowGraph/flowGraphAssetsContext.js.map +1 -0
- package/FlowGraph/flowGraphAsyncExecutionBlock.d.ts +15 -8
- package/FlowGraph/flowGraphAsyncExecutionBlock.js +25 -5
- package/FlowGraph/flowGraphAsyncExecutionBlock.js.map +1 -1
- package/FlowGraph/flowGraphBlock.d.ts +22 -15
- package/FlowGraph/flowGraphBlock.js +31 -52
- package/FlowGraph/flowGraphBlock.js.map +1 -1
- package/FlowGraph/flowGraphConnection.d.ts +13 -12
- package/FlowGraph/flowGraphConnection.js +31 -16
- package/FlowGraph/flowGraphConnection.js.map +1 -1
- package/FlowGraph/flowGraphContext.d.ts +89 -13
- package/FlowGraph/flowGraphContext.js +210 -23
- package/FlowGraph/flowGraphContext.js.map +1 -1
- package/FlowGraph/flowGraphCoordinator.d.ts +4 -10
- package/FlowGraph/flowGraphCoordinator.js +4 -16
- package/FlowGraph/flowGraphCoordinator.js.map +1 -1
- package/FlowGraph/flowGraphDataConnection.d.ts +52 -14
- package/FlowGraph/flowGraphDataConnection.js +73 -26
- package/FlowGraph/flowGraphDataConnection.js.map +1 -1
- package/FlowGraph/flowGraphEventBlock.d.ts +17 -1
- package/FlowGraph/flowGraphEventBlock.js +13 -2
- package/FlowGraph/flowGraphEventBlock.js.map +1 -1
- package/FlowGraph/flowGraphEventType.d.ts +16 -0
- package/FlowGraph/flowGraphEventType.js +18 -0
- package/FlowGraph/flowGraphEventType.js.map +1 -0
- package/FlowGraph/flowGraphExecutionBlock.d.ts +11 -1
- package/FlowGraph/flowGraphExecutionBlock.js +21 -2
- package/FlowGraph/flowGraphExecutionBlock.js.map +1 -1
- package/FlowGraph/flowGraphExecutionBlockWithOutSignal.d.ts +2 -2
- package/FlowGraph/flowGraphExecutionBlockWithOutSignal.js +0 -1
- package/FlowGraph/flowGraphExecutionBlockWithOutSignal.js.map +1 -1
- package/FlowGraph/flowGraphLogger.d.ts +60 -0
- package/FlowGraph/flowGraphLogger.js +53 -0
- package/FlowGraph/flowGraphLogger.js.map +1 -0
- package/FlowGraph/flowGraphParser.d.ts +85 -0
- package/FlowGraph/flowGraphParser.js +271 -0
- package/FlowGraph/flowGraphParser.js.map +1 -0
- package/FlowGraph/flowGraphPathConverter.d.ts +1 -1
- package/FlowGraph/flowGraphPathConverter.js +3 -2
- package/FlowGraph/flowGraphPathConverter.js.map +1 -1
- package/FlowGraph/flowGraphPathConverterComponent.d.ts +8 -1
- package/FlowGraph/flowGraphPathConverterComponent.js +18 -2
- package/FlowGraph/flowGraphPathConverterComponent.js.map +1 -1
- package/FlowGraph/flowGraphRichTypes.d.ts +51 -9
- package/FlowGraph/flowGraphRichTypes.js +160 -50
- package/FlowGraph/flowGraphRichTypes.js.map +1 -1
- package/FlowGraph/flowGraphSceneEventCoordinator.d.ts +45 -0
- package/FlowGraph/flowGraphSceneEventCoordinator.js +77 -0
- package/FlowGraph/flowGraphSceneEventCoordinator.js.map +1 -0
- package/FlowGraph/flowGraphSignalConnection.d.ts +8 -5
- package/FlowGraph/flowGraphSignalConnection.js +26 -9
- package/FlowGraph/flowGraphSignalConnection.js.map +1 -1
- package/FlowGraph/index.d.ts +6 -1
- package/FlowGraph/index.js +7 -1
- package/FlowGraph/index.js.map +1 -1
- package/FlowGraph/serialization.d.ts +5 -2
- package/FlowGraph/serialization.js +94 -22
- package/FlowGraph/serialization.js.map +1 -1
- package/FlowGraph/typeDefinitions.d.ts +74 -12
- package/FlowGraph/typeDefinitions.js.map +1 -1
- package/FlowGraph/utils.d.ts +47 -0
- package/FlowGraph/utils.js +55 -0
- package/FlowGraph/utils.js.map +1 -1
- package/Maths/math.path.js +3 -0
- package/Maths/math.path.js.map +1 -1
- package/Meshes/geometry.d.ts +2 -1
- package/Meshes/geometry.js +8 -2
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/mesh.d.ts +2 -1
- package/Meshes/mesh.js +3 -2
- package/Meshes/mesh.js.map +1 -1
- package/ObjectModel/objectModelInterfaces.d.ts +2 -2
- package/ObjectModel/objectModelInterfaces.js.map +1 -1
- package/package.json +1 -1
- package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.d.ts +0 -24
- package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.js +0 -39
- package/FlowGraph/Blocks/Data/Logic/flowGraphLogicBlocks.js.map +0 -1
- package/FlowGraph/Blocks/Data/Logic/index.d.ts +0 -1
- package/FlowGraph/Blocks/Data/Logic/index.js +0 -2
- package/FlowGraph/Blocks/Data/Logic/index.js.map +0 -1
- package/FlowGraph/Blocks/Data/flowGraphCoordinateTransformBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.d.ts +0 -19
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js +0 -26
- package/FlowGraph/Blocks/Execution/Audio/flowGraphPlayAudioBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js +0 -25
- package/FlowGraph/Blocks/Execution/Audio/flowGraphStopAudioBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/Audio/index.d.ts +0 -2
- package/FlowGraph/Blocks/Execution/Audio/index.js +0 -3
- package/FlowGraph/Blocks/Execution/Audio/index.js.map +0 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.d.ts +0 -31
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js +0 -69
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphTimerBlock.js.map +0 -1
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js +0 -38
- package/FlowGraph/Blocks/Execution/flowGraphSendCustomEventBlock.js.map +0 -1
- package/FlowGraph/flowGraphContextLogger.d.ts +0 -9
- package/FlowGraph/flowGraphContextLogger.js +0 -14
- package/FlowGraph/flowGraphContextLogger.js.map +0 -1
- package/FlowGraph/flowGraphInteger.js.map +0 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { FlowGraphContext } from "../../flowGraphContext.js";
|
|
2
|
+
import { FlowGraphEventBlock } from "../../flowGraphEventBlock.js";
|
|
3
|
+
import { FlowGraphEventType } from "../../flowGraphEventType.js";
|
|
4
|
+
import { FlowGraphBlockNames } from "../flowGraphBlockNames";
|
|
5
|
+
import type { AbstractMesh } from "../../../Meshes/abstractMesh.js";
|
|
6
|
+
import type { FlowGraphDataConnection } from "../../flowGraphDataConnection.js";
|
|
7
|
+
import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock.js";
|
|
8
|
+
/**
|
|
9
|
+
* Configuration for the pointer out event block.
|
|
10
|
+
*/
|
|
11
|
+
export interface IFlowGraphPointerOutEventBlockConfiguration extends IFlowGraphBlockConfiguration {
|
|
12
|
+
/**
|
|
13
|
+
* Should this mesh block propagation of the event.
|
|
14
|
+
*/
|
|
15
|
+
stopPropagation?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The mesh to listen to. Can also be set by the asset input.
|
|
18
|
+
*/
|
|
19
|
+
targetMesh?: AbstractMesh;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Payload for the pointer out event.
|
|
23
|
+
*/
|
|
24
|
+
export interface IFlowGraphPointerOutEventPayload {
|
|
25
|
+
/**
|
|
26
|
+
* The pointer id.
|
|
27
|
+
*/
|
|
28
|
+
pointerId: number;
|
|
29
|
+
/**
|
|
30
|
+
* The mesh that was picked.
|
|
31
|
+
*/
|
|
32
|
+
mesh: AbstractMesh;
|
|
33
|
+
/**
|
|
34
|
+
* If populated, the hover event moved to this mesh from the `mesh` variable
|
|
35
|
+
*/
|
|
36
|
+
over?: AbstractMesh;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A pointe out event block.
|
|
40
|
+
* This block can be used as an entry pointer to when a pointer is out of a specific target mesh.
|
|
41
|
+
*/
|
|
42
|
+
export declare class FlowGraphPointerOutEventBlock extends FlowGraphEventBlock {
|
|
43
|
+
/**
|
|
44
|
+
* Output connection: The pointer id.
|
|
45
|
+
*/
|
|
46
|
+
readonly pointerId: FlowGraphDataConnection<number>;
|
|
47
|
+
/**
|
|
48
|
+
* Input connection: The mesh to listen to.
|
|
49
|
+
*/
|
|
50
|
+
readonly targetMesh: FlowGraphDataConnection<AbstractMesh>;
|
|
51
|
+
/**
|
|
52
|
+
* Output connection: The mesh that the pointer is out of.
|
|
53
|
+
*/
|
|
54
|
+
readonly meshOutOfPointer: FlowGraphDataConnection<AbstractMesh>;
|
|
55
|
+
readonly type: FlowGraphEventType;
|
|
56
|
+
constructor(config?: IFlowGraphPointerOutEventBlockConfiguration);
|
|
57
|
+
_executeEvent(context: FlowGraphContext, payload: IFlowGraphPointerOutEventPayload): boolean;
|
|
58
|
+
_preparePendingTasks(_context: FlowGraphContext): void;
|
|
59
|
+
_cancelPendingTasks(_context: FlowGraphContext): void;
|
|
60
|
+
getClassName(): FlowGraphBlockNames;
|
|
61
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { FlowGraphEventBlock } from "../../flowGraphEventBlock.js";
|
|
2
|
+
import { RichTypeAny, RichTypeNumber } from "../../flowGraphRichTypes.js";
|
|
3
|
+
import { RegisterClass } from "../../../Misc/typeStore.js";
|
|
4
|
+
import { _isADescendantOf } from "../../utils.js";
|
|
5
|
+
/**
|
|
6
|
+
* A pointe out event block.
|
|
7
|
+
* This block can be used as an entry pointer to when a pointer is out of a specific target mesh.
|
|
8
|
+
*/
|
|
9
|
+
export class FlowGraphPointerOutEventBlock extends FlowGraphEventBlock {
|
|
10
|
+
constructor(config) {
|
|
11
|
+
super(config);
|
|
12
|
+
this.type = "PointerOut" /* FlowGraphEventType.PointerOut */;
|
|
13
|
+
this.pointerId = this.registerDataOutput("pointerId", RichTypeNumber);
|
|
14
|
+
this.targetMesh = this.registerDataInput("targetMesh", RichTypeAny, config?.targetMesh);
|
|
15
|
+
this.meshOutOfPointer = this.registerDataOutput("meshOutOfPointer", RichTypeAny);
|
|
16
|
+
}
|
|
17
|
+
_executeEvent(context, payload) {
|
|
18
|
+
const mesh = this.targetMesh.getValue(context);
|
|
19
|
+
this.meshOutOfPointer.setValue(payload.mesh, context);
|
|
20
|
+
this.pointerId.setValue(payload.pointerId, context);
|
|
21
|
+
const skipEvent = payload.over && _isADescendantOf(payload.mesh, mesh);
|
|
22
|
+
if (!skipEvent && (payload.mesh === mesh || _isADescendantOf(payload.mesh, mesh))) {
|
|
23
|
+
this._execute(context);
|
|
24
|
+
return !this.config?.stopPropagation;
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
_preparePendingTasks(_context) {
|
|
29
|
+
// no-op
|
|
30
|
+
}
|
|
31
|
+
_cancelPendingTasks(_context) {
|
|
32
|
+
// no-op
|
|
33
|
+
}
|
|
34
|
+
getClassName() {
|
|
35
|
+
return "FlowGraphPointerOutEventBlock" /* FlowGraphBlockNames.PointerOutEvent */;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
RegisterClass("FlowGraphPointerOutEventBlock" /* FlowGraphBlockNames.PointerOutEvent */, FlowGraphPointerOutEventBlock);
|
|
39
|
+
//# sourceMappingURL=flowGraphPointerOutEventBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowGraphPointerOutEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,qCAA2C;AAMzE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,oCAA0C;AAChF,OAAO,EAAE,aAAa,EAAE,mCAA4B;AACpD,OAAO,EAAE,gBAAgB,EAAE,uBAA6B;AAoCxD;;;GAGG;AACH,MAAM,OAAO,6BAA8B,SAAQ,mBAAmB;IAkBlE,YAAmB,MAAoD;QACnE,KAAK,CAAC,MAAM,CAAC,CAAC;QAHO,SAAI,oDAAqD;QAI9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACxF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IACrF,CAAC;IAEe,aAAa,CAAC,OAAyB,EAAE,OAAyC;QAC9F,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACe,oBAAoB,CAAC,QAA0B;QAC3D,QAAQ;IACZ,CAAC;IACe,mBAAmB,CAAC,QAA0B;QAC1D,QAAQ;IACZ,CAAC;IACe,YAAY;QACxB,iFAA2C;IAC/C,CAAC;CACJ;AAED,aAAa,4EAAsC,6BAA6B,CAAC,CAAC","sourcesContent":["import type { FlowGraphContext } from \"core/FlowGraph/flowGraphContext\";\nimport { FlowGraphEventBlock } from \"core/FlowGraph/flowGraphEventBlock\";\nimport { FlowGraphEventType } from \"core/FlowGraph/flowGraphEventType\";\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\nimport type { FlowGraphDataConnection } from \"core/FlowGraph/flowGraphDataConnection\";\nimport type { IFlowGraphBlockConfiguration } from \"core/FlowGraph/flowGraphBlock\";\nimport { RichTypeAny, RichTypeNumber } from \"core/FlowGraph/flowGraphRichTypes\";\nimport { RegisterClass } from \"core/Misc/typeStore\";\nimport { _isADescendantOf } from \"core/FlowGraph/utils\";\n\n/**\n * Configuration for the pointer out event block.\n */\nexport interface IFlowGraphPointerOutEventBlockConfiguration extends IFlowGraphBlockConfiguration {\n /**\n * Should this mesh block propagation of the event.\n */\n stopPropagation?: boolean;\n\n /**\n * The mesh to listen to. Can also be set by the asset input.\n */\n targetMesh?: AbstractMesh;\n}\n\n/**\n * Payload for the pointer out event.\n */\nexport interface IFlowGraphPointerOutEventPayload {\n /**\n * The pointer id.\n */\n pointerId: number;\n /**\n * The mesh that was picked.\n */\n mesh: AbstractMesh;\n\n /**\n * If populated, the hover event moved to this mesh from the `mesh` variable\n */\n over?: AbstractMesh;\n}\n\n/**\n * A pointe out event block.\n * This block can be used as an entry pointer to when a pointer is out of a specific target mesh.\n */\nexport class FlowGraphPointerOutEventBlock extends FlowGraphEventBlock {\n /**\n * Output connection: The pointer id.\n */\n public readonly pointerId: FlowGraphDataConnection<number>;\n\n /**\n * Input connection: The mesh to listen to.\n */\n public readonly targetMesh: FlowGraphDataConnection<AbstractMesh>;\n\n /**\n * Output connection: The mesh that the pointer is out of.\n */\n public readonly meshOutOfPointer: FlowGraphDataConnection<AbstractMesh>;\n\n public override readonly type: FlowGraphEventType = FlowGraphEventType.PointerOut;\n\n public constructor(config?: IFlowGraphPointerOutEventBlockConfiguration) {\n super(config);\n this.pointerId = this.registerDataOutput(\"pointerId\", RichTypeNumber);\n this.targetMesh = this.registerDataInput(\"targetMesh\", RichTypeAny, config?.targetMesh);\n this.meshOutOfPointer = this.registerDataOutput(\"meshOutOfPointer\", RichTypeAny);\n }\n\n public override _executeEvent(context: FlowGraphContext, payload: IFlowGraphPointerOutEventPayload): boolean {\n const mesh = this.targetMesh.getValue(context);\n this.meshOutOfPointer.setValue(payload.mesh, context);\n this.pointerId.setValue(payload.pointerId, context);\n const skipEvent = payload.over && _isADescendantOf(payload.mesh, mesh);\n if (!skipEvent && (payload.mesh === mesh || _isADescendantOf(payload.mesh, mesh))) {\n this._execute(context);\n return !this.config?.stopPropagation;\n }\n return true;\n }\n public override _preparePendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n public override _cancelPendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n public override getClassName() {\n return FlowGraphBlockNames.PointerOutEvent;\n }\n}\n\nRegisterClass(FlowGraphBlockNames.PointerOutEvent, FlowGraphPointerOutEventBlock);\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { FlowGraphContext } from "../../flowGraphContext.js";
|
|
2
|
+
import { FlowGraphEventBlock } from "../../flowGraphEventBlock.js";
|
|
3
|
+
import { FlowGraphEventType } from "../../flowGraphEventType.js";
|
|
4
|
+
import { FlowGraphBlockNames } from "../flowGraphBlockNames";
|
|
5
|
+
import type { AbstractMesh } from "../../../Meshes/abstractMesh.js";
|
|
6
|
+
import type { FlowGraphDataConnection } from "../../flowGraphDataConnection.js";
|
|
7
|
+
import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock.js";
|
|
8
|
+
/**
|
|
9
|
+
* Configuration for the pointer over event block.
|
|
10
|
+
*/
|
|
11
|
+
export interface IFlowGraphPointerOverEventBlockConfiguration extends IFlowGraphBlockConfiguration {
|
|
12
|
+
/**
|
|
13
|
+
* Should this mesh block propagation of the event.
|
|
14
|
+
*/
|
|
15
|
+
stopPropagation?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The mesh to listen to. Can also be set by the asset input.
|
|
18
|
+
*/
|
|
19
|
+
targetMesh?: AbstractMesh;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Payload for the pointer over event.
|
|
23
|
+
*/
|
|
24
|
+
export interface IFlowGraphPointerOverEventPayload {
|
|
25
|
+
/**
|
|
26
|
+
* The pointer id.
|
|
27
|
+
*/
|
|
28
|
+
pointerId: number;
|
|
29
|
+
/**
|
|
30
|
+
* The mesh that was picked.
|
|
31
|
+
*/
|
|
32
|
+
mesh: AbstractMesh;
|
|
33
|
+
/**
|
|
34
|
+
* If populated, the hover event moved from this mesh to the `mesh` variable
|
|
35
|
+
*/
|
|
36
|
+
out?: AbstractMesh;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A pointer over event block.
|
|
40
|
+
* This block can be used as an entry pointer to when a pointer is over a specific target mesh.
|
|
41
|
+
*/
|
|
42
|
+
export declare class FlowGraphPointerOverEventBlock extends FlowGraphEventBlock {
|
|
43
|
+
/**
|
|
44
|
+
* Output connection: The pointer id.
|
|
45
|
+
*/
|
|
46
|
+
readonly pointerId: FlowGraphDataConnection<number>;
|
|
47
|
+
/**
|
|
48
|
+
* Input connection: The mesh to listen to.
|
|
49
|
+
*/
|
|
50
|
+
readonly targetMesh: FlowGraphDataConnection<AbstractMesh>;
|
|
51
|
+
/**
|
|
52
|
+
* Output connection: The mesh that is under the pointer.
|
|
53
|
+
*/
|
|
54
|
+
readonly meshUnderPointer: FlowGraphDataConnection<AbstractMesh>;
|
|
55
|
+
readonly type: FlowGraphEventType;
|
|
56
|
+
constructor(config?: IFlowGraphPointerOverEventBlockConfiguration);
|
|
57
|
+
_executeEvent(context: FlowGraphContext, payload: IFlowGraphPointerOverEventPayload): boolean;
|
|
58
|
+
_preparePendingTasks(_context: FlowGraphContext): void;
|
|
59
|
+
_cancelPendingTasks(_context: FlowGraphContext): void;
|
|
60
|
+
getClassName(): FlowGraphBlockNames;
|
|
61
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { FlowGraphEventBlock } from "../../flowGraphEventBlock.js";
|
|
2
|
+
import { RichTypeAny, RichTypeNumber } from "../../flowGraphRichTypes.js";
|
|
3
|
+
import { RegisterClass } from "../../../Misc/typeStore.js";
|
|
4
|
+
import { _isADescendantOf } from "../../utils.js";
|
|
5
|
+
/**
|
|
6
|
+
* A pointer over event block.
|
|
7
|
+
* This block can be used as an entry pointer to when a pointer is over a specific target mesh.
|
|
8
|
+
*/
|
|
9
|
+
export class FlowGraphPointerOverEventBlock extends FlowGraphEventBlock {
|
|
10
|
+
constructor(config) {
|
|
11
|
+
super(config);
|
|
12
|
+
this.type = "PointerOver" /* FlowGraphEventType.PointerOver */;
|
|
13
|
+
this.pointerId = this.registerDataOutput("pointerId", RichTypeNumber);
|
|
14
|
+
this.targetMesh = this.registerDataInput("targetMesh", RichTypeAny, config?.targetMesh);
|
|
15
|
+
this.meshUnderPointer = this.registerDataOutput("meshUnderPointer", RichTypeAny);
|
|
16
|
+
}
|
|
17
|
+
_executeEvent(context, payload) {
|
|
18
|
+
const mesh = this.targetMesh.getValue(context);
|
|
19
|
+
this.meshUnderPointer.setValue(payload.mesh, context);
|
|
20
|
+
// skip if we moved from a mesh that is under the hierarchy of the target mesh
|
|
21
|
+
const skipEvent = payload.out && _isADescendantOf(payload.out, mesh);
|
|
22
|
+
this.pointerId.setValue(payload.pointerId, context);
|
|
23
|
+
if (!skipEvent && (payload.mesh === mesh || _isADescendantOf(payload.mesh, mesh))) {
|
|
24
|
+
this._execute(context);
|
|
25
|
+
return !this.config?.stopPropagation;
|
|
26
|
+
}
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
_preparePendingTasks(_context) {
|
|
30
|
+
// no-op
|
|
31
|
+
}
|
|
32
|
+
_cancelPendingTasks(_context) {
|
|
33
|
+
// no-op
|
|
34
|
+
}
|
|
35
|
+
getClassName() {
|
|
36
|
+
return "FlowGraphPointerOverEventBlock" /* FlowGraphBlockNames.PointerOverEvent */;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
RegisterClass("FlowGraphPointerOverEventBlock" /* FlowGraphBlockNames.PointerOverEvent */, FlowGraphPointerOverEventBlock);
|
|
40
|
+
//# sourceMappingURL=flowGraphPointerOverEventBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowGraphPointerOverEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,qCAA2C;AAMzE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,oCAA0C;AAChF,OAAO,EAAE,aAAa,EAAE,mCAA4B;AACpD,OAAO,EAAE,gBAAgB,EAAE,uBAA6B;AAoCxD;;;GAGG;AACH,MAAM,OAAO,8BAA+B,SAAQ,mBAAmB;IAkBnE,YAAmB,MAAqD;QACpE,KAAK,CAAC,MAAM,CAAC,CAAC;QAHO,SAAI,sDAAsD;QAI/E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACxF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IACrF,CAAC;IAEe,aAAa,CAAC,OAAyB,EAAE,OAA0C;QAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,8EAA8E;QAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACe,oBAAoB,CAAC,QAA0B;QAC3D,QAAQ;IACZ,CAAC;IACe,mBAAmB,CAAC,QAA0B;QAC1D,QAAQ;IACZ,CAAC;IACe,YAAY;QACxB,mFAA4C;IAChD,CAAC;CACJ;AAED,aAAa,8EAAuC,8BAA8B,CAAC,CAAC","sourcesContent":["import type { FlowGraphContext } from \"core/FlowGraph/flowGraphContext\";\nimport { FlowGraphEventBlock } from \"core/FlowGraph/flowGraphEventBlock\";\nimport { FlowGraphEventType } from \"core/FlowGraph/flowGraphEventType\";\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\nimport type { FlowGraphDataConnection } from \"core/FlowGraph/flowGraphDataConnection\";\nimport type { IFlowGraphBlockConfiguration } from \"core/FlowGraph/flowGraphBlock\";\nimport { RichTypeAny, RichTypeNumber } from \"core/FlowGraph/flowGraphRichTypes\";\nimport { RegisterClass } from \"core/Misc/typeStore\";\nimport { _isADescendantOf } from \"core/FlowGraph/utils\";\n\n/**\n * Configuration for the pointer over event block.\n */\nexport interface IFlowGraphPointerOverEventBlockConfiguration extends IFlowGraphBlockConfiguration {\n /**\n * Should this mesh block propagation of the event.\n */\n stopPropagation?: boolean;\n\n /**\n * The mesh to listen to. Can also be set by the asset input.\n */\n targetMesh?: AbstractMesh;\n}\n\n/**\n * Payload for the pointer over event.\n */\nexport interface IFlowGraphPointerOverEventPayload {\n /**\n * The pointer id.\n */\n pointerId: number;\n /**\n * The mesh that was picked.\n */\n mesh: AbstractMesh;\n\n /**\n * If populated, the hover event moved from this mesh to the `mesh` variable\n */\n out?: AbstractMesh;\n}\n\n/**\n * A pointer over event block.\n * This block can be used as an entry pointer to when a pointer is over a specific target mesh.\n */\nexport class FlowGraphPointerOverEventBlock extends FlowGraphEventBlock {\n /**\n * Output connection: The pointer id.\n */\n public readonly pointerId: FlowGraphDataConnection<number>;\n\n /**\n * Input connection: The mesh to listen to.\n */\n public readonly targetMesh: FlowGraphDataConnection<AbstractMesh>;\n\n /**\n * Output connection: The mesh that is under the pointer.\n */\n public readonly meshUnderPointer: FlowGraphDataConnection<AbstractMesh>;\n\n public override readonly type: FlowGraphEventType = FlowGraphEventType.PointerOver;\n\n public constructor(config?: IFlowGraphPointerOverEventBlockConfiguration) {\n super(config);\n this.pointerId = this.registerDataOutput(\"pointerId\", RichTypeNumber);\n this.targetMesh = this.registerDataInput(\"targetMesh\", RichTypeAny, config?.targetMesh);\n this.meshUnderPointer = this.registerDataOutput(\"meshUnderPointer\", RichTypeAny);\n }\n\n public override _executeEvent(context: FlowGraphContext, payload: IFlowGraphPointerOverEventPayload): boolean {\n const mesh = this.targetMesh.getValue(context);\n this.meshUnderPointer.setValue(payload.mesh, context);\n // skip if we moved from a mesh that is under the hierarchy of the target mesh\n const skipEvent = payload.out && _isADescendantOf(payload.out, mesh);\n this.pointerId.setValue(payload.pointerId, context);\n if (!skipEvent && (payload.mesh === mesh || _isADescendantOf(payload.mesh, mesh))) {\n this._execute(context);\n return !this.config?.stopPropagation;\n }\n return true;\n }\n public override _preparePendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n public override _cancelPendingTasks(_context: FlowGraphContext): void {\n // no-op\n }\n public override getClassName() {\n return FlowGraphBlockNames.PointerOverEvent;\n }\n}\n\nRegisterClass(FlowGraphBlockNames.PointerOverEvent, FlowGraphPointerOverEventBlock);\n"]}
|
|
@@ -1,31 +1,37 @@
|
|
|
1
1
|
import type { FlowGraphContext } from "../../flowGraphContext";
|
|
2
2
|
import { FlowGraphEventBlock } from "../../flowGraphEventBlock";
|
|
3
|
+
import type { RichType } from "../../flowGraphRichTypes";
|
|
3
4
|
import type { IFlowGraphBlockConfiguration } from "../../flowGraphBlock";
|
|
4
5
|
/**
|
|
5
|
-
* @experimental
|
|
6
6
|
* Parameters used to create a FlowGraphReceiveCustomEventBlock.
|
|
7
7
|
*/
|
|
8
8
|
export interface IFlowGraphReceiveCustomEventBlockConfiguration extends IFlowGraphBlockConfiguration {
|
|
9
9
|
/**
|
|
10
10
|
* The id of the event to receive.
|
|
11
|
+
* This event id is unique to the environment (not the context).
|
|
11
12
|
*/
|
|
12
13
|
eventId: string;
|
|
13
14
|
/**
|
|
14
15
|
* The names of the data outputs for that event. Should be in the same order as the event data in
|
|
15
16
|
* SendCustomEvent
|
|
16
17
|
*/
|
|
17
|
-
eventData:
|
|
18
|
+
eventData: {
|
|
19
|
+
[key: string]: {
|
|
20
|
+
type: RichType<any>;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
18
23
|
}
|
|
19
24
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
25
|
+
* A block that receives a custom event.
|
|
26
|
+
* It saves the event data in the data outputs, based on the provided eventData in the configuration. For example, if the event data is
|
|
27
|
+
* `{ x: { type: RichTypeNumber }, y: { type: RichTypeNumber } }`, the block will have two data outputs: x and y.
|
|
22
28
|
*/
|
|
23
29
|
export declare class FlowGraphReceiveCustomEventBlock extends FlowGraphEventBlock {
|
|
24
30
|
/**
|
|
25
31
|
* the configuration of the block
|
|
26
32
|
*/
|
|
27
33
|
config: IFlowGraphReceiveCustomEventBlockConfiguration;
|
|
28
|
-
|
|
34
|
+
initPriority: number;
|
|
29
35
|
constructor(
|
|
30
36
|
/**
|
|
31
37
|
* the configuration of the block
|
|
@@ -33,17 +39,9 @@ export declare class FlowGraphReceiveCustomEventBlock extends FlowGraphEventBloc
|
|
|
33
39
|
config: IFlowGraphReceiveCustomEventBlockConfiguration);
|
|
34
40
|
_preparePendingTasks(context: FlowGraphContext): void;
|
|
35
41
|
_cancelPendingTasks(context: FlowGraphContext): void;
|
|
42
|
+
_executeEvent(_context: FlowGraphContext, _payload: any): boolean;
|
|
36
43
|
/**
|
|
37
44
|
* @returns class name of the block.
|
|
38
45
|
*/
|
|
39
46
|
getClassName(): string;
|
|
40
|
-
/**
|
|
41
|
-
* the class name of the block.
|
|
42
|
-
*/
|
|
43
|
-
static ClassName: string;
|
|
44
|
-
/**
|
|
45
|
-
* Serializes this block
|
|
46
|
-
* @param serializationObject the object to serialize to
|
|
47
|
-
*/
|
|
48
|
-
serialize(serializationObject?: any): void;
|
|
49
47
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { FlowGraphEventBlock } from "../../flowGraphEventBlock.js";
|
|
2
2
|
import { Tools } from "../../../Misc/tools.js";
|
|
3
|
-
import { RichTypeAny } from "../../flowGraphRichTypes.js";
|
|
4
3
|
import { RegisterClass } from "../../../Misc/typeStore.js";
|
|
5
4
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* A block that receives a custom event.
|
|
6
|
+
* It saves the event data in the data outputs, based on the provided eventData in the configuration. For example, if the event data is
|
|
7
|
+
* `{ x: { type: RichTypeNumber }, y: { type: RichTypeNumber } }`, the block will have two data outputs: x and y.
|
|
8
8
|
*/
|
|
9
9
|
export class FlowGraphReceiveCustomEventBlock extends FlowGraphEventBlock {
|
|
10
10
|
constructor(
|
|
@@ -14,48 +14,41 @@ export class FlowGraphReceiveCustomEventBlock extends FlowGraphEventBlock {
|
|
|
14
14
|
config) {
|
|
15
15
|
super(config);
|
|
16
16
|
this.config = config;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
this.initPriority = 1;
|
|
18
|
+
// use event data to register data outputs
|
|
19
|
+
for (const key in this.config.eventData) {
|
|
20
|
+
this.registerDataOutput(key, this.config.eventData[key].type);
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
_preparePendingTasks(context) {
|
|
23
24
|
const observable = context.configuration.coordinator.getCustomEventObservable(this.config.eventId);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.
|
|
27
|
-
}
|
|
25
|
+
const eventObserver = observable.add((eventData) => {
|
|
26
|
+
Object.keys(eventData).forEach((key) => {
|
|
27
|
+
this.getDataOutput(key)?.setValue(eventData[key], context);
|
|
28
|
+
});
|
|
28
29
|
this._execute(context);
|
|
29
30
|
});
|
|
31
|
+
context._setExecutionVariable(this, "_eventObserver", eventObserver);
|
|
30
32
|
}
|
|
31
33
|
_cancelPendingTasks(context) {
|
|
32
34
|
const observable = context.configuration.coordinator.getCustomEventObservable(this.config.eventId);
|
|
33
35
|
if (observable) {
|
|
34
|
-
|
|
36
|
+
const eventObserver = context._getExecutionVariable(this, "_eventObserver", null);
|
|
37
|
+
observable.remove(eventObserver);
|
|
35
38
|
}
|
|
36
39
|
else {
|
|
37
40
|
Tools.Warn(`FlowGraphReceiveCustomEventBlock: Missing observable for event ${this.config.eventId}`);
|
|
38
41
|
}
|
|
39
42
|
}
|
|
43
|
+
_executeEvent(_context, _payload) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
40
46
|
/**
|
|
41
47
|
* @returns class name of the block.
|
|
42
48
|
*/
|
|
43
49
|
getClassName() {
|
|
44
|
-
return FlowGraphReceiveCustomEventBlock.
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Serializes this block
|
|
48
|
-
* @param serializationObject the object to serialize to
|
|
49
|
-
*/
|
|
50
|
-
serialize(serializationObject) {
|
|
51
|
-
super.serialize(serializationObject);
|
|
52
|
-
serializationObject.eventId = this.config.eventId;
|
|
53
|
-
serializationObject.eventData = this.config.eventData;
|
|
50
|
+
return "FlowGraphReceiveCustomEventBlock" /* FlowGraphBlockNames.ReceiveCustomEvent */;
|
|
54
51
|
}
|
|
55
52
|
}
|
|
56
|
-
|
|
57
|
-
* the class name of the block.
|
|
58
|
-
*/
|
|
59
|
-
FlowGraphReceiveCustomEventBlock.ClassName = "FGReceiveCustomEventBlock";
|
|
60
|
-
RegisterClass(FlowGraphReceiveCustomEventBlock.ClassName, FlowGraphReceiveCustomEventBlock);
|
|
53
|
+
RegisterClass("FlowGraphReceiveCustomEventBlock" /* FlowGraphBlockNames.ReceiveCustomEvent */, FlowGraphReceiveCustomEventBlock);
|
|
61
54
|
//# sourceMappingURL=flowGraphReceiveCustomEventBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphReceiveCustomEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"flowGraphReceiveCustomEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAkBxD;;;;GAIG;AACH,MAAM,OAAO,gCAAiC,SAAQ,mBAAmB;IAGrE;IACI;;OAEG;IACa,MAAsD;QAEtE,KAAK,CAAC,MAAM,CAAC,CAAC;QAFE,WAAM,GAAN,MAAM,CAAgD;QAN1D,iBAAY,GAAW,CAAC,CAAC;QASrC,0CAA0C;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAEM,oBAAoB,CAAC,OAAyB;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnG,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAiC,EAAE,EAAE;YACvE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IACzE,CAAC;IACM,mBAAmB,CAAC,OAAyB;QAChD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnG,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAA4B,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC7G,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,kEAAkE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAEe,aAAa,CAAC,QAA0B,EAAE,QAAa;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACa,YAAY;QACxB,uFAA8C;IAClD,CAAC;CACJ;AACD,aAAa,kFAAyC,gCAAgC,CAAC,CAAC","sourcesContent":["import type { Observer } from \"../../../Misc/observable\";\r\nimport type { FlowGraphContext } from \"../../flowGraphContext\";\r\nimport { FlowGraphEventBlock } from \"../../flowGraphEventBlock\";\r\nimport type { Nullable } from \"../../../types\";\r\nimport { Tools } from \"../../../Misc/tools\";\r\nimport type { RichType } from \"../../flowGraphRichTypes\";\r\nimport type { IFlowGraphBlockConfiguration } from \"../../flowGraphBlock\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\r\n/**\r\n * Parameters used to create a FlowGraphReceiveCustomEventBlock.\r\n */\r\nexport interface IFlowGraphReceiveCustomEventBlockConfiguration extends IFlowGraphBlockConfiguration {\r\n /**\r\n * The id of the event to receive.\r\n * This event id is unique to the environment (not the context).\r\n */\r\n eventId: string;\r\n /**\r\n * The names of the data outputs for that event. Should be in the same order as the event data in\r\n * SendCustomEvent\r\n */\r\n eventData: { [key: string]: { type: RichType<any> } };\r\n}\r\n\r\n/**\r\n * A block that receives a custom event.\r\n * It saves the event data in the data outputs, based on the provided eventData in the configuration. For example, if the event data is\r\n * `{ x: { type: RichTypeNumber }, y: { type: RichTypeNumber } }`, the block will have two data outputs: x and y.\r\n */\r\nexport class FlowGraphReceiveCustomEventBlock extends FlowGraphEventBlock {\r\n public override initPriority: number = 1;\r\n\r\n constructor(\r\n /**\r\n * the configuration of the block\r\n */\r\n public override config: IFlowGraphReceiveCustomEventBlockConfiguration\r\n ) {\r\n super(config);\r\n // use event data to register data outputs\r\n for (const key in this.config.eventData) {\r\n this.registerDataOutput(key, this.config.eventData[key].type);\r\n }\r\n }\r\n\r\n public _preparePendingTasks(context: FlowGraphContext): void {\r\n const observable = context.configuration.coordinator.getCustomEventObservable(this.config.eventId);\r\n const eventObserver = observable.add((eventData: { [key: string]: any }) => {\r\n Object.keys(eventData).forEach((key) => {\r\n this.getDataOutput(key)?.setValue(eventData[key], context);\r\n });\r\n this._execute(context);\r\n });\r\n context._setExecutionVariable(this, \"_eventObserver\", eventObserver);\r\n }\r\n public _cancelPendingTasks(context: FlowGraphContext): void {\r\n const observable = context.configuration.coordinator.getCustomEventObservable(this.config.eventId);\r\n if (observable) {\r\n const eventObserver = context._getExecutionVariable<Nullable<Observer<any[]>>>(this, \"_eventObserver\", null);\r\n observable.remove(eventObserver);\r\n } else {\r\n Tools.Warn(`FlowGraphReceiveCustomEventBlock: Missing observable for event ${this.config.eventId}`);\r\n }\r\n }\r\n\r\n public override _executeEvent(_context: FlowGraphContext, _payload: any): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * @returns class name of the block.\r\n */\r\n public override getClassName(): string {\r\n return FlowGraphBlockNames.ReceiveCustomEvent;\r\n }\r\n}\r\nRegisterClass(FlowGraphBlockNames.ReceiveCustomEvent, FlowGraphReceiveCustomEventBlock);\r\n"]}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
import { FlowGraphEventBlock } from "../../flowGraphEventBlock";
|
|
2
2
|
import type { FlowGraphContext } from "../../flowGraphContext.js";
|
|
3
|
+
import { FlowGraphBlockNames } from "../flowGraphBlockNames";
|
|
4
|
+
import { FlowGraphEventType } from "../../flowGraphEventType.js";
|
|
3
5
|
/**
|
|
4
|
-
* @experimental
|
|
5
6
|
* Block that triggers when a scene is ready.
|
|
6
7
|
*/
|
|
7
8
|
export declare class FlowGraphSceneReadyEventBlock extends FlowGraphEventBlock {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
initPriority: number;
|
|
10
|
+
readonly type: FlowGraphEventType;
|
|
11
|
+
_executeEvent(context: FlowGraphContext, _payload: any): boolean;
|
|
11
12
|
_preparePendingTasks(context: FlowGraphContext): void;
|
|
12
|
-
/**
|
|
13
|
-
* @internal
|
|
14
|
-
*/
|
|
15
13
|
_cancelPendingTasks(context: FlowGraphContext): void;
|
|
16
14
|
/**
|
|
17
15
|
* @returns class name of the block.
|
|
18
16
|
*/
|
|
19
|
-
getClassName():
|
|
20
|
-
/**
|
|
21
|
-
* the class name of the block.
|
|
22
|
-
*/
|
|
23
|
-
static ClassName: string;
|
|
17
|
+
getClassName(): FlowGraphBlockNames;
|
|
24
18
|
}
|
|
@@ -1,41 +1,30 @@
|
|
|
1
1
|
import { FlowGraphEventBlock } from "../../flowGraphEventBlock.js";
|
|
2
2
|
import { RegisterClass } from "../../../Misc/typeStore.js";
|
|
3
3
|
/**
|
|
4
|
-
* @experimental
|
|
5
4
|
* Block that triggers when a scene is ready.
|
|
6
5
|
*/
|
|
7
6
|
export class FlowGraphSceneReadyEventBlock extends FlowGraphEventBlock {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.initPriority = -1;
|
|
10
|
+
this.type = "SceneReady" /* FlowGraphEventType.SceneReady */;
|
|
11
|
+
}
|
|
12
|
+
_executeEvent(context, _payload) {
|
|
13
|
+
this._execute(context);
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
11
16
|
_preparePendingTasks(context) {
|
|
12
|
-
|
|
13
|
-
const scene = context.configuration.scene;
|
|
14
|
-
const contextObserver = scene.onReadyObservable.add(() => {
|
|
15
|
-
this._execute(context);
|
|
16
|
-
});
|
|
17
|
-
context._setExecutionVariable(this, "sceneReadyObserver", contextObserver);
|
|
18
|
-
}
|
|
17
|
+
// no-op
|
|
19
18
|
}
|
|
20
|
-
/**
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
19
|
_cancelPendingTasks(context) {
|
|
24
|
-
|
|
25
|
-
const scene = context.configuration.scene;
|
|
26
|
-
scene.onReadyObservable.remove(contextObserver);
|
|
27
|
-
context._deleteExecutionVariable(this, "sceneReadyObserver");
|
|
20
|
+
// no-op
|
|
28
21
|
}
|
|
29
22
|
/**
|
|
30
23
|
* @returns class name of the block.
|
|
31
24
|
*/
|
|
32
25
|
getClassName() {
|
|
33
|
-
return FlowGraphSceneReadyEventBlock.
|
|
26
|
+
return "FlowGraphSceneReadyEventBlock" /* FlowGraphBlockNames.SceneReadyEvent */;
|
|
34
27
|
}
|
|
35
28
|
}
|
|
36
|
-
|
|
37
|
-
* the class name of the block.
|
|
38
|
-
*/
|
|
39
|
-
FlowGraphSceneReadyEventBlock.ClassName = "FGSceneReadyEventBlock";
|
|
40
|
-
RegisterClass("FGSceneReadyEventBlock", FlowGraphSceneReadyEventBlock);
|
|
29
|
+
RegisterClass("FlowGraphSceneReadyEventBlock" /* FlowGraphBlockNames.SceneReadyEvent */, FlowGraphSceneReadyEventBlock);
|
|
41
30
|
//# sourceMappingURL=flowGraphSceneReadyEventBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowGraphSceneReadyEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"flowGraphSceneReadyEventBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,mBAAmB;IAAtE;;QACoB,iBAAY,GAAW,CAAC,CAAC,CAAC;QAEjB,SAAI,oDAAqD;IAkBtF,CAAC;IAhBmB,aAAa,CAAC,OAAyB,EAAE,QAAa;QAClE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IACe,oBAAoB,CAAC,OAAyB;QAC1D,QAAQ;IACZ,CAAC;IACe,mBAAmB,CAAC,OAAyB;QACzD,QAAQ;IACZ,CAAC;IACD;;OAEG;IACa,YAAY;QACxB,iFAA2C;IAC/C,CAAC;CACJ;AACD,aAAa,4EAAsC,6BAA6B,CAAC,CAAC","sourcesContent":["import { FlowGraphEventBlock } from \"../../flowGraphEventBlock\";\r\nimport type { FlowGraphContext } from \"core/FlowGraph/flowGraphContext\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\nimport { FlowGraphBlockNames } from \"../flowGraphBlockNames\";\r\nimport { FlowGraphEventType } from \"core/FlowGraph/flowGraphEventType\";\r\n/**\r\n * Block that triggers when a scene is ready.\r\n */\r\nexport class FlowGraphSceneReadyEventBlock extends FlowGraphEventBlock {\r\n public override initPriority: number = -1;\r\n\r\n public override readonly type: FlowGraphEventType = FlowGraphEventType.SceneReady;\r\n\r\n public override _executeEvent(context: FlowGraphContext, _payload: any): boolean {\r\n this._execute(context);\r\n return true;\r\n }\r\n public override _preparePendingTasks(context: FlowGraphContext): void {\r\n // no-op\r\n }\r\n public override _cancelPendingTasks(context: FlowGraphContext): void {\r\n // no-op\r\n }\r\n /**\r\n * @returns class name of the block.\r\n */\r\n public override getClassName() {\r\n return FlowGraphBlockNames.SceneReadyEvent;\r\n }\r\n}\r\nRegisterClass(FlowGraphBlockNames.SceneReadyEvent, FlowGraphSceneReadyEventBlock);\r\n"]}
|
|
@@ -1,24 +1,48 @@
|
|
|
1
1
|
import { FlowGraphEventBlock } from "../../flowGraphEventBlock";
|
|
2
2
|
import type { FlowGraphContext } from "../../flowGraphContext.js";
|
|
3
|
+
import type { FlowGraphDataConnection } from "../../flowGraphDataConnection.js";
|
|
4
|
+
import { FlowGraphEventType } from "../../flowGraphEventType.js";
|
|
5
|
+
/**
|
|
6
|
+
* Payload for the scene tick event.
|
|
7
|
+
*/
|
|
8
|
+
export interface IFlowGraphOnTickEventPayload {
|
|
9
|
+
/**
|
|
10
|
+
* the time in seconds since the scene started.
|
|
11
|
+
*/
|
|
12
|
+
timeSinceStart: number;
|
|
13
|
+
/**
|
|
14
|
+
* the time in seconds since the last frame.
|
|
15
|
+
*/
|
|
16
|
+
deltaTime: number;
|
|
17
|
+
}
|
|
3
18
|
/**
|
|
4
|
-
* @experimental
|
|
5
19
|
* Block that triggers on scene tick (before each render).
|
|
6
20
|
*/
|
|
7
21
|
export declare class FlowGraphSceneTickEventBlock extends FlowGraphEventBlock {
|
|
22
|
+
/**
|
|
23
|
+
* the time in seconds since the scene started.
|
|
24
|
+
*/
|
|
25
|
+
readonly timeSinceStart: FlowGraphDataConnection<number>;
|
|
26
|
+
/**
|
|
27
|
+
* the time in seconds since the last frame.
|
|
28
|
+
*/
|
|
29
|
+
readonly deltaTime: FlowGraphDataConnection<number>;
|
|
30
|
+
readonly type: FlowGraphEventType;
|
|
31
|
+
constructor();
|
|
8
32
|
/**
|
|
9
33
|
* @internal
|
|
10
34
|
*/
|
|
11
|
-
_preparePendingTasks(
|
|
35
|
+
_preparePendingTasks(_context: FlowGraphContext): void;
|
|
12
36
|
/**
|
|
13
37
|
* @internal
|
|
14
38
|
*/
|
|
15
|
-
|
|
39
|
+
_executeEvent(context: FlowGraphContext, payload: IFlowGraphOnTickEventPayload): boolean;
|
|
16
40
|
/**
|
|
17
|
-
* @
|
|
41
|
+
* @internal
|
|
18
42
|
*/
|
|
19
|
-
|
|
43
|
+
_cancelPendingTasks(_context: FlowGraphContext): void;
|
|
20
44
|
/**
|
|
21
|
-
*
|
|
45
|
+
* @returns class name of the block.
|
|
22
46
|
*/
|
|
23
|
-
|
|
47
|
+
getClassName(): string;
|
|
24
48
|
}
|
|
@@ -1,41 +1,43 @@
|
|
|
1
1
|
import { FlowGraphEventBlock } from "../../flowGraphEventBlock.js";
|
|
2
2
|
import { RegisterClass } from "../../../Misc/typeStore.js";
|
|
3
|
+
import { RichTypeNumber } from "../../flowGraphRichTypes.js";
|
|
3
4
|
/**
|
|
4
|
-
* @experimental
|
|
5
5
|
* Block that triggers on scene tick (before each render).
|
|
6
6
|
*/
|
|
7
7
|
export class FlowGraphSceneTickEventBlock extends FlowGraphEventBlock {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.type = "SceneBeforeRender" /* FlowGraphEventType.SceneBeforeRender */;
|
|
11
|
+
this.timeSinceStart = this.registerDataOutput("timeSinceStart", RichTypeNumber);
|
|
12
|
+
this.deltaTime = this.registerDataOutput("deltaTime", RichTypeNumber);
|
|
13
|
+
}
|
|
8
14
|
/**
|
|
9
15
|
* @internal
|
|
10
16
|
*/
|
|
11
|
-
_preparePendingTasks(
|
|
12
|
-
|
|
13
|
-
const scene = context.configuration.scene;
|
|
14
|
-
const contextObserver = scene.onBeforeRenderObservable.add(() => {
|
|
15
|
-
this._execute(context);
|
|
16
|
-
});
|
|
17
|
-
context._setExecutionVariable(this, "sceneBeforeRender", contextObserver);
|
|
18
|
-
}
|
|
17
|
+
_preparePendingTasks(_context) {
|
|
18
|
+
// no-op
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* @internal
|
|
22
22
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
_executeEvent(context, payload) {
|
|
24
|
+
this.timeSinceStart.setValue(payload.timeSinceStart, context);
|
|
25
|
+
this.deltaTime.setValue(payload.deltaTime, context);
|
|
26
|
+
this._execute(context);
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
_cancelPendingTasks(_context) {
|
|
33
|
+
// no-op
|
|
28
34
|
}
|
|
29
35
|
/**
|
|
30
36
|
* @returns class name of the block.
|
|
31
37
|
*/
|
|
32
38
|
getClassName() {
|
|
33
|
-
return FlowGraphSceneTickEventBlock.
|
|
39
|
+
return "FlowGraphSceneTickEventBlock" /* FlowGraphBlockNames.SceneTickEvent */;
|
|
34
40
|
}
|
|
35
41
|
}
|
|
36
|
-
|
|
37
|
-
* the class name of the block.
|
|
38
|
-
*/
|
|
39
|
-
FlowGraphSceneTickEventBlock.ClassName = "FGSceneTickEventBlock";
|
|
40
|
-
RegisterClass(FlowGraphSceneTickEventBlock.ClassName, FlowGraphSceneTickEventBlock);
|
|
42
|
+
RegisterClass("FlowGraphSceneTickEventBlock" /* FlowGraphBlockNames.SceneTickEvent */, FlowGraphSceneTickEventBlock);
|
|
41
43
|
//# sourceMappingURL=flowGraphSceneTickEventBlock.js.map
|