This crate offers structures for constructing graphs of functions and executing them in real time. It is intended for audio applications with customizable "patches". # What is a function graph? Some applications provide an interface for configuring a graph of nodes to process some data. Each node is a function (stateful in the case of this crate) that accepts some inputs and provides some outputs. Outputs can be linked to inputs of other nodes. For example, Blender, the open source 3D graphics package, provides [nodes](https://docs.blender.org/manual/en/latest/interface/controls/nodes/index.html) for configuring many things, from textures and materials to geometry. Another example is [Bespoke Synth](https://www.bespokesynth.com/), which provides a similar interface of nodes for creating complex instruments. The goal of this crate is to provide a "backend" for "executing" such a graph configuration. You provide the nodes and the data types (e.g. you can define an audio buffer type and a MIDI buffer type, and mix them), and configure the connections. This library then "runs" the graph. # State **Crate is unfinished and documentation is nonexistent. You're on your own. Check `tests/graph_execution.rs` for an idea of how this is supposed to be used.**