Hello,
Complex class diagrams are difficult to understand. Using [hidden] links helps somewhat, but adding more control over layout would help.
For instance, it is common to display class diagrams according to their inheritance hierarchy (i.e., ignoring associations for ranking). In PlantUML, as far as I understand, this is only achievable by not displaying associations at all.
Here is a suggestion: adding a [norank] link option (like [hidden]) that would ignore the link for ranking (constraint=false in graphviz) but still show it.
Basically, [norank] (shown but ignored for ranking) is the opposite of [hidden] (not shown but considered for ranking.
For instance:
@startuml
class B extends A
class C extends A
B -[norank]- C
@enduml
Note that in this specific case, using a horizontal link between B and C would probably give the same result because they are at the same inheritance level. However, the result would be quite different on more complex class diagrams.
Best regards,
Fred