Hi!
I tried to request this feature within the C4 library workstream (from stdlib) but it seems the core feature that would be needed for this isn't available in PlantUML yet.
Would it be possible to align the label of the rectangle vertically in a way it could sit at least at the bottom of the box if needed? This is specially useful when nesting shapes and you want the label of the shape to be placed below the nested shape instead of on top.
This is the typical behavior:

and this is what I would like to be able to do (sans the additional unwanted line breaks or void space):

There are a couple of workarounds to get to something roughly similar, but none of those are clear/straightforward in terms of declaration nor it achieves the exact requirement, graphically speaking. Also, we need something simple that can be used in libraries that are going to be built upon basic PlantUML directives.
Whatever implementation would be great, but I think a nice way of defining it would be to add a modifier to the shape declaration. Maybe something like:
@startuml
rectangle "\bLABEL" {
rectangle "nested\nrectangle" {
}
}
@enduml
where the "\b" means "bottom" and it will place the label at the very bottom of the rectangle, regardless of other objects being nested inside the rectangle or not.
Not sure if "\l" already exists with the purpose of aligning the text horizontally to the left, but id it's there, the two should be compatible so they can be used together like this to achieve a bottom-left alignment:
@startuml
rectangle "\l\bLABEL" {
rectangle "nested\nrectangle" {
}
}
@enduml
I really don't know how PlantUML/GraphViz work at their core and if this can be done, but I believe it would be useful on all UML diagrams aside from C4. I'm using the rectangle shape as an example but it'd be great if it worked for all types of shapes.
Thanks!