HavocFramework / Havoc

The Havoc Framework.
GNU General Public License v3.0
6.37k stars 903 forks source link

Implement node layout algorithm for SessionGraph Widget #378

Closed fplazar closed 11 months ago

fplazar commented 11 months ago

I saw that the Session Graph initial node layout was handled spawning new nodes at the upper left corner. As this seemed to be a known issue, I researched how to draw an n-ary tree.

This is an implementation of Buchheim's improvements over Walker's algorithm to dispose a node tree in a good looking and efficient manner. The explanation and pseudocode was taken from the paper paper.

This is how it looks like:

https://github.com/HavocFramework/Havoc/assets/4822772/43ca6c26-d91c-4ca8-abee-bc4bf21bd6f6

S4ntiagoP commented 11 months ago

wow this looks incredible, thank you so much contributing!