I'm currently developing an algorithm to create a mind map. The key focus is on organizing the nodes intelligently to prevent any overlap and ensure a visually pleasing layout. Take a look at this snapshot (from MindNode) as an example:
Any suggestions on how to effectively arrange this structure considering the space each node occupies? Are there any specific codes or resources you recommend exploring that are simpler than graphviz?
Just to clarify, I am not interested in "physical simulation" algorithms like this one, or ready-to-use programs like dot. Ultimately, my goal is to implement it in JS, but I'm open to understanding the algorithm using any programming language.