If you're at all familiar with DirectShow basically imagine that, but re purposed for something... different. For those who don't know, essentially we're working in Blocks that I call the IFlowBlock interface. A block defines a procedure that handles a certain type of data. This part is somewhat different from what DirectShow does. The data is generic, where in DirectShow it's always a type of media passed by a buffer of bytes. RuneEngine's Flow system can pass more or less whatever you see fit. There are just a few rules. So, in DirectShow a sample or data is passed downstream all the way to the end, in every case. Well... Flow is not going to do the same necessarily. It can, but generally speaking the end block is going to be a renderer or finalizing state, so it should only be hit when the rest is complete. Flow data starts upstream and passes downstream until it hits a breaking condition. Data can be flagged for passthrough transit meaning, it's going all the way to the end or to a certain point before processing itself.
I could go on and on about how data moves and the different possibilities, but the key thing to understand about Flow vs DirectShow. DirectShow has rules, while Flow is more user defined. The both have Pins and "Filters" or "Blocks", even "Graphs", but ultimately they are completely different beasts.
Flow is not designed for processing video/image data, it is designed for processing some data in a specified sequence using a system of interchangeable blocks. Within the upcoming particle system this will be used by the ParticleController.
The blocks though will control a state of a particle. A particle graph may look rather complicated, but it houses some insane possibilities compared to other particle systems. And it does this without creating 20 emitters and controllers. Below is an example of what a simple particle system graph may look like:
This demonstrates that this system is more sequence driven. One block does not start til the following is complete, though that is not a forced behavior. It was the design. However, particles are small instances so the overall will almost seem like streaming update, it's not exactly. Now, in theory could you create a loop back effect to handling particles, without changing the underlying system? Absolutely!!! You could easily create a block that has a loop back output pin which send's items back to another block if the parameter to pass forward has not been met.
Given that this system is newish, and purpose is different than similar systems these are only speculations of ideas. The actual implementation and design of graphs will come after some testing. If I find some cool tricks to do with the FlowGraphs they will likely get shared as examples. =)
That's all I got for now though.