I've been on a journey for a while to understand how to layout diagrams / graphs in an "aesthetically pleasing but structured" way. Long story short, DOT[0] is the best language I've found for defining graphs (compared to doing something with Mermaid.js or any other markup language), but rendering with the DOT engine in GraphViz fails the "aesthetic" test for me.
Did a bit of a literature review[1] to understand better the different approaches, and to understand the scope of the field. This book does great job of defining and providing the keywords for the different levels of requirements, starting with "principles" that are provable in the academic sense, to "conventions" that are like principles, but cannot be necessarily computed (eg NP hard, so requiring heuristics or simulations to achieve), and ending with actual "aesthetics" where things get very subjective.
Ultimately got pretty deep writing my own force-directed graph simulation in Rust and visualizing with egui[2] (needed an excuse to work on UIs and I've always wanted to write less Python), but I'm taking a break to use what I've learned writing Rust to shore up the REST API testing suite for my dayjob.
Runs really well within a Docker container on my M1 Mac Mini with 3 2K (2560x1440p) Reolink cameras.
Paired with running Scrypted for HomeKit Secure Video (have also found using the RTSP streams rebroadcast from it to be more stable than having multiple sinks connected straight to the camera), and this makes a really good persistent NVR solution that I can also use to monitor remotely without necessarily VPN’ing back into my home network or exposing Frigate thru a separate reverse proxy.
[0] https://github.com/TaKO8Ki/gobang