Megalomaniak In fact I think the failure with VisualScript was that it was too much straight up visual graph version of GDScript rather than higher level scene graph for bringing together different elements(nodes with attached scripts, FSMs ... maybe even push things to and pull things from databases and hooking everything up with signals and drivers/event triggers in a visual 'nodal' way.
Yeah it's just a different interface for GDScript, that's probably why it's called VisualScript 🙂
Imho, adding some sort of higher level graph would be powerful if implemented well but could considerably complexify the architecture and consequentially bog down the performance.
This reminds me of Maya where you have two types of nodes, composing two partially overlapping types of graphs. One is classic hierarchical tree of mostly displayable nodes (similar to Godot's scene tree), and the other is directed, non-hierarchical dependency graph. Dependency graph can "pass through" some nodes from the tree graph but typically employs a bunch of non displayable worker nodes that munch and spit data. This architecture is extremely flexible. That's why Maya is to this day virtually unbeaten when it comes to complex rigs and setups. You can do almost anything imaginable with it. However, as most modern 3d apps, Maya is not real-time scriptable (save for expressions), and any scriptable system would blow it out of the water in terms of flexibility. With real-time scripting you can implicitly establish any inter-node connection achievable by graphs, and then go beyond. Scripting can, for example, handle cyclical data flow which most graphs would refuse to do.
Another problem with graphs is the precise visualization of data flow. Ironically, flow visualization is often touted as a main advantage of graph based systems. Notable example is Blender's geometry nodes. It's basically a geometry shader in graph form, but it struggles to discern between field and "normal" data representation (in glsl terminology; vertex attributes and uniforms/varyings). Two fundamentally distinct things are differentiated only by color coding of noodles. This does almost nothing to depict what's actually happening with the data. The nature of geometry shader data flow simply does not lend itself well to box+noodle representation. That's why geometry nodes tend to confuse people unfamiliar with the concept of vertex/geometry shader.