This looks very interesting!
I think it would be worthwhile to work on the layout algorithm a bit, it does not seem to do a good job disentangling large graphs.
Compare, for example, this:
with WolframModelPlot
output for the same graph (with hyperedge rendering disabled as well):
mathematica
WolframModel[{{1, 2, 3}} -> {{1, 4, 3}, {5, 6, 2}, {5, 6, 4}, {5, 6,
5}}, {{1, 1, 1}}, 6]["FinalStatePlot",
"HyperedgeRendering" -> "Subgraphs"]