closed Teoz grouping does not embrace all signals

0 votes
asked Apr 8 in Question / help by gtsu72 (120 points)
closed Jul 17 by gtsu72

When grouping signals using ->? or ?->, grouping does not embrace all included signals. Example code, where M2 is left outside of the group box:

@startuml
!pragma teoz true
participant A
participant B
participant C
participant D
participant E
group
A->? : M1
?->E : M2
end
@enduml

Example

When removing the teoz pragma, it renders as expected, including M2 in the group box:

@startuml
participant A
participant B
participant C
participant D
participant E
group
A->? : M1
?->E : M2
end
@enduml

good

Is there something incorrect with the syntax of the UML code or might this be a bug?

closed with the note: Bug is resolved

2 Answers

+1 vote
answered May 15 by JimN (940 points)
edited May 15 by JimN
Yes, it is a bug in the Teoz layout when a group is calculating the left side position of any short arrow with the ? on that left side, as in your example "?->E".  It treats the left position as though the arrow starts at the far left of the diagram rather than where it actually starts based on the width of the text and the target timeline.   It determined the short arrow's width correctly, but in starting at an earlier position, it doesn't surround the actual arrow.

I submitted a fix for when there is a new release.  Once the left position of those short arrows are correctly calculated, the group box embraces the short arrows as expected.

Regards.
commented Jul 17 by gtsu72 (120 points)
Thanks for the update.

I can confirm that the problem is resolved in release 1.2024.6
0 votes
answered May 27 by JimN (940 points)

Groups now surround the short arrows.   You can see your example working at the online server.  Though your exact scripts PNG is still showing the old image there, I added a footer to show the version just to change the text so the online server would process it again:

@startuml
!pragma teoz true
participant A
participant B
participant C
participant D
participant E
group
A->? : M1
?->E : M2
end
footer in version %version()
@enduml
In now generates:

https://www.plantuml.com/plantuml/uml/LSuz3i8m3CNntQSm0mA63Z0oz0Feo24iC5K4jIF7eHAd9nsplP_Uyk-JatcUFx29HjDCwAm_TCiCEz455xLtWaZcuH4YYUDGwLBfMkbMQOJ9D4SOchR3CzwFq3NjkAuJi3pXfUfi60ItNxOKLFO7wCjJwlu0
...