I’ve been working in this area recently, none of the layout engine are very good, they essentially apply the same algorithm to all the things when really a graph is often a collection of different patterns and what makes sense is often semantics driven. So yes built my own, the use case is representing cloud and enterprise architectures. Have a decent layout engine now, and created a declarative dsl for the agent to interact with, but the agent sucks, feels like we need to hand roll a lot of features/skills