Regarding structure, I agree with you that directed graph is most powerful. But for visualization and editing I would propose shaping graph into a tree. This reshaping can be done many ways, it's like a query into a DB. Here's a quick mockup made in yEd: https://i.imgur.com/LGTNbuz.png
While directed graph is necessary for internal data representation, tree structure is a perfect fit for many specific cases: categorization; argumentation (like this HN thread); tagging/grouping; lisp s-expressions. Trees capture those things beautifully, while enabling easy navigation with arrow keys or finger swipe.
Reshaping into tree allows for some neat layouts. For example, by scaling geometry down with each child, your whole graph can fit inside predictable area, without any node overlapping. See more here: http://treevis.net/
One could add a reactive capabilities to each graph node. The node would respond to different triggers by changing it's attributes, or relations to other nodes. The graph/tree can be built step by step via triggering specific node responses (add child, delete node, connect/disconnect). Responses could also change node attributes, to bring interactivity and ability to simulate mental models.
This is what I'm working on in spare time, but these days the bread-bringing job drains my energy away :( \
Great thread, BTW.
We should join some kind of communication group to see if we are after the same thing, and to track each others progress. Maybe a new reddit group?
I've created a Discord chat group for the project I've been wanting to work on. Please feel free to join with this link: https://discord.gg/7Ca3R8
I think we might have a few people in here who are working on different ideas in the same space, so it would be great to bounce ideas off each other. A Reddit group also sounds good!
I hope a bunch of interested people manage to organize and build something great!
I though about this topic a bit on numerous occasions, and I keep feeling that trees don't map well to this use case. I still think a directed graph is necessary, and likely one supporting cycles. The structure will be imposed by reality itself. Anything less than a directed graph will fail to capture causal relationships between entities.
yEd... well, I spent a lot of hours with yEd Live recently, and I have complaints :). Like, where's the ability to simply place a piece of text on a diagram as a node?! It's ironic, but it seems to me that in 2019, there still isn't a good tool implementing the simple concept of infinite, pannable, zoomable canvas for typing on it and building arbitrary directed graphs on it.