From DrSensor/scdlang#29 (comment)
My review for this diagram (it might be a bit harsh 😅)
https://brucou.github.io/documentation/graphs/movie-search/TMDB-movie-query-and-detail.html
Review
Since it's not auto-generated diagram, there is 2 tips which I use as a basis:
- Avoid a lot of edges in single node
- Use pseudo-state (plus state-list when necessary). There is several tricks about this in OMG UML spec page 324-331,336
Starting from no.1


This can be avoided if you use pseudo state in several area. Also this happen because you use 2 edge on the same event

You can rewrite it something like this

It also weird that there is 2 auto transition

Just make it one edges and write it as ['/' or '/:query'] / ...
Again, make this edges one-to-many or many-to-one using pseudo-state

Regarding to naming, don't name it to long. For example display ___ screen just name it show loading or error screen. As a side note, keep in mind to target accessibility user too.
And the state name too. The context of the child state can be inferred from the parent state. For example:

Just name the state querying, selection, and error.
Lastly, there is a trick where you can separate the details in another block. It's a bit cumbersome for me to draw 😂. So, see that in OMG UML spec figure 14.12-14 page 325-326.
My review for this diagram (it might be a bit harsh 😅)
https://brucou.github.io/documentation/graphs/movie-search/TMDB-movie-query-and-detail.html
Review
Since it's not auto-generated diagram, there is 2 tips which I use as a basis:
Starting from no.1


This can be avoided if you use pseudo state in several area. Also this happen because you use 2 edge on the same event

You can rewrite it something like this
It also weird that there is 2 auto transition

Just make it one edges and write it as
['/' or '/:query'] / ...Again, make this edges one-to-many or many-to-one using pseudo-state
Regarding to naming, don't name it to long. For example
display ___ screenjust name itshow loadingorerror screen. As a side note, keep in mind to target accessibility user too.And the state name too. The context of the child state can be inferred from the parent state. For example:

Just name the state querying, selection, and error.
Lastly, there is a trick where you can separate the details in another block. It's a bit cumbersome for me to draw 😂. So, see that in OMG UML spec figure 14.12-14 page 325-326.