plantuml-stdlib / C4-PlantUML

C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
MIT License
6.41k stars 1.1k forks source link

Odd Legend Rendering for Sequence Diagrams #330

Closed chriskn closed 9 months ago

chriskn commented 11 months ago

Hi,

I have the following issue:

When I take your sequence diagram example and rendered it locally on my Windows machine with version 1.2023.12 (or 1.2023.11) of PlantUML and GraphViz 9.0.0, I get the following result:

grafik

As you can see, the legend is rendered odd. Somehow, the background rectangles are moved up and overlap.
I can reproduce this issue with all my sequence diagrams, independent of their content or legend type.

grafik

Thanks in advance

kirchsth commented 11 months ago

Hi @chriskn,

I can reproduce it even with a "simpler" plantuml script. The problem is the "teoz" layout. If I deactivate it with an additional !pragma teoz false line then it looks ok.

E.g. instead of only

!include <C4/C4_Sequence>

please use

!include <C4/C4_Sequence>
!pragma teoz false

Can you please try it on your side until we get a bugfix from PlantUML team. The disadvantage of this workaround is that it cannot display nested boxes.

BR Helmut

@startuml

!pragma teoz true

' if you remove the comment of following line it looks ok
' !pragma teoz false

c1 -> c2 : call

legend right
<#transparent,#transparent>|<color:#000000>**Legend**</color> |
|<#438DD5><color:#3C7FC0> <U+25AF></color> <color:#FFFFFF> container <size:10></size></color> |
|<#85BBF0><color:#78A8D8> <U+25AF></color> <color:#000000> component <size:10></size></color> |
|<#transparent><color:#444444> <U+25AF></color> <color:#444444> container boundary <size:10>(dashed)</size></color> |
endlegend
@enduml

grafik

kirchsth commented 11 months ago

entered a bug in plantuml forum

Updated: Can be even reproduced with normal text (I used a server based on docker image plantuml/plantuml-server:jetty) Could it be that the legend size is calculated based on a wrong font?

@startuml
!pragma teoz true

' Sequence has wrong layout
 c1 -> c2 : call5
' Component has correct layout
'[A]->[N]

legend
|ABCDEFGHI|
endlegend
@enduml

grafik

chriskn commented 11 months ago

Thank you @kirchsth, I can confirm that !pragma teoz false fixes the issue but hides nested groups

kirchsth commented 9 months ago

Hi @chriskn,

we get a PlantUML fix in v1.2024.0beta3, you can download from https://github.com/plantuml/plantuml/releases/tag/snapshot

Can you please test it with your diagrams

Thank you and best regards Helmut

chriskn commented 9 months ago

Hi @kirchsth, the bug is fixed with v1.2024.1

Thank you!