Sound quite nice to look around that.
Had a play with working on a nice back end system for it, only went trough the subsystem but the idea was to use AddonFactory + Hde nodes to deal with threading.
Roughly filters implements a separate interface, like IImageFilter/IImageSource (so they should not deal with threading/sync, and technically they know nothing about vvvv).
AddonFactory would register Node infos/Pins, and use Hde features to build a subgraph (which runs on it's own thread), with a node holder to wrap filters.
Advantage of this is any improvement to the node holder/graph is immediately benefiting all filters.
Made some working prototypes for that concept, AddonFactory is fairly complete for this, but Hde was missing a few features (mainly Pin Connected/Disconnected Event), Pin Direction, and global graph events, to make it reliable enough.
As datatype Filters have:
* Streams : Roughly it's an input/output image, it is passed on the separate thread.
* Parameters (vvvv input pins like value/string), which are synced to the subgraph
* Output Data (same as above but output, things like contour data for example)
IImageFilter interface has the following methods:
* Evaluation model (keeping that for later, enough to do already).
Questions/Ideas welcome :)