I am trying to translate an Enterprise Architect diagram to PlantUML, because the EA expert has moved to another job (and licenses are scarce).
The diagram has 10 packages. I have a .puml file defining the packages, and the relationships between them. The .puml file pulls in !include files for all the classes/interfaces in the packages.
The default layout seems to be all the packages side by side as far as the .png will stretch (the rightmost package is truncated and there are a couple not shown at all) with all the arrows in a bunch of spaghetti across the top of the packages.
Now, it is possible to see the relationships between the packages if the packages were laid out in 3 columns, with service users in the left column, intermediate API packages in the middle and service providers in the right column. But I have not been able to make the layout program do this.
I tried using .right.> .up.> and .down.> to influence the layout but it seems a bit random whether the diagram accepts these suggestions or not.
I also tried using together {..} around the definitions of some of the packages, I ended up with quite a broken diagram, with some classes no longer in their proper packages. The manual does show together {...} being used for classes, not packages, so that's probably to be expected, so I gave up on together {...}
Using left to right direction and !pragma layout smetana changes the layout, but not in a way that makes the relationships readable. At least the "left to right direction" stopped the direction from being left to right and lined up the packages vertically, so they were all visible. But the arrows were still like spaghetti.
Changing the order in which the packages are defined has some influence on the layout. Why would this be? Surely the important thing is the relationships, so if there is no way for me to explicitly control the layout, the arrows should be what defines it?
(Note, I am drawing these arrows between the packages, not between the classes.)