Table of Contents

Namespace FlowGraph.Core.DataFlow

Classes

GraphExecutor

Executes a graph by propagating data through connected nodes. Uses topological sorting for correct execution order. Optimized for incremental updates - only re-executes affected nodes. Thread-safe for concurrent access from multiple threads.

InputNodeProcessor<T>

A simple processor for nodes that only output values (no processing needed). Use this for input nodes like color pickers, sliders, text inputs, etc.

NodeProcessedEventArgs

Event args for node processed events.

NodeProcessor

Base class for typed node processors with specific input/output types. Provides helper methods for registering ports and managing values.

OutputNodeProcessor<T>

A processor for nodes that receive values and display/use them (no outputs). Use this for output/display nodes.

PortValueChangedEventArgs

Event args for port value changes.

PortValueChangedEventArgs<T>

Typed event args for port value changes. Note: This class sets both the base class properties AND provides typed accessors.

ReactivePort<T>

A reactive port that stores a value and notifies when it changes. Thread-safe for UI binding scenarios.

Interfaces

INodeProcessor

Interface for nodes that can process data. Implement this to create nodes that transform input values to output values.

IPortValue

Non-generic base interface for port values. Enables working with port values without knowing their concrete type.

IPortValue<T>

Represents a reactive port value that notifies when changed.