I am new to PlantUML, so maybe this is a simple thing. I order my sub-components 1, 2, 3; they are displayed 3, 2, 1. Since I'm using left to right direction, I guess that this affects the display order. So I reorder 3, 2, 1 -- and the display order is ... 3, 2, 1 !
What kind of logic is this? Why on earth would PlantUML ignore the order in which something is defined?
My code:
@startuml
left to right direction
skinparam componentStyle rectangle
component "Comp1" {
[Application UI 1]
[Application UI 2]
}
component "Comp2" {
[Application Service 1]
[Application Service 2]
}
' this aligns the arrows
[Application UI 1] -[hidden]-> [Application Service 2]
[Application UI 2] -[hidden]-> [Application Service 1]
[Application UI 1] -> [Application Service 1]
[Application UI 2] -> [Application Service 2]
component "Comp3" {
database "Database"
[External API]
[Message Queue]
}
[Application Service 1] --> [Database]
[Application Service 1] --> [External API]
[Application Service 1] --> [Message Queue]
component "Comp4" {
[Thing 1]
[Thing 2]
[Thing 3]
}
[Application Service 1] --> [Thing 1]
[Application Service 1] --> [Thing 2]
[Application Service 2] -> [Thing 2]
[Application Service 2] -> [Thing 3]
component "Comp5" {
[A Platform]
[An Index]
[Yes]
}
[Application Service 1] -> [A Platform]
[Application Service 1] -> [An Index]
[Thing 1] -right-> [An Index]
[Thing 1] -right-> [Yes]
"Comp4" -[hidden]r-> "Comp5"
"Comp3" -[hidden]-> "Comp5"
@enduml(The result I will put in the next message - this one is apparently too long.)
All sub-components in reverse order, and Comp 3 and Comp4 in reverse order. If I re-order the sub-components, it's exactly the same result.
BTW, I interrogated Google's AI on this for an hour, it couldn't handle it. It suggested right to left direction (syntax error) and order keyword (syntax error).
If anyone has an idea, please let me know!!