Plantuml (graphviz-dot) has been great for Non Hierarchical State Machines but It doesnt handle even small HSMs well. My main problem is state spacing that I think is because of the long transition lines. I have done some searching and I didnt find satisfactory answers. I have found these threads
https://forum.plantuml.net/977/change-a-distance-between-classeshttps://stackoverflow.com/questions/48712801/how-to-correct-plantuml-line-path
using `->` instead of `-->` helps if you are very careful. Same is true with `left,right,up,down` directions but the default behavior of `-->` should not be to draw lines that are this long. Additionally the directions dont seem to work for nested states only `->` seems to be effective. Here is my plantuml code
```
@startuml
state Top {
[*] --> A
state B {
[*] --> C
state D {
[*] --> E
state E {
[*] --> G
state G {
[*] --> H
state H {
H --> I : e4
}
state I
}
}
}
state C {
C --> D : e9 [*]
}
}
state A {
A --> B : e15
}
}
@enduml
```