GridFlow 0.9.7 has [#many], which is an abstraction that makes a GOP with many IEMGUI together. It doesn't support abstractions yet, which requires some extra hacks that I'm adding soon. But I'm using several externals for doing all that, because doing it without externals is too limited to my taste.
This sounds very promising. I can imagine that without externals it is way to limited. Especially deleting/changing existing stuff.
The focus of Pd-Dom is very different though, it does dynamically "chain" abstractions that send and receive audio. It handles also loadbang to the freshly created instances. This should all be error free and within 0 latency (using subpatches).
Pd-Dom itself has actually nothing to do with GUI.
An example usage could be dynamically chaining of: [tone-generator] -> [filter] -> [envelope] -> [effect] or an FM orgy.
All you need at the moment is an [pdom.r~] and [pdom.s~] inside your abstraction (this abs name subject to change). Each abstraction instance gets a $1 parameter and can be loaded (multiple times) in parallel. So you could do:
[mega-synth] -> [delay] -> [mega-synth] -> [delay] -> [delay]
Whether the abstraction adds to the incoming signal or modifies it, has to be decided by the abstraction author. IMO a compressor/limiter should change the incoming signal (*~), whereas a synth should only add signal (+~).
Pd-Dom can also mixin abstractions that don't do dsp, and wont waste any cpu on additional send and receives. just use pd-dom.r (without the ~)
One of the examples does dynamically create a GUI for testing purpose, but I think the examples should not have any dependencies on externals. Naturally if one would write an example using gridflow, I would like to add it. Just fork it on git and send me a pull request! :)
At the moment Pd-Dom has 3 methods (messages) "add", "delete" and "set", that allow you to add an abstraction to the sound-chain or delete/set an existing one. There is some additional methods like vis that lets you open a specific instance of one instantiated abstraction.
Pd-Dom for now is build with unofficial dyn-patching methods and works with Pd-Vanilla. In the future I'd like to build it, additionally, on top of dyn~. This with exactly same API so it works on both or fallback to pd-vanilla.
eni