Yup, mostly the same set of PlantUML diagrams for me, plus:
* Timing https://plantuml.com/timing-diagram - used it once or twice.
I mostly use PlantUML for myself, in lieu of drawing diagrams by hand (or pointing device).
My main use cases are a) when I'm toying with some higher-level design in my head and want to "see it" in picture form, and b) when making notes about the structure of code as I explore gnarly areas of a legacy codebase.
In that latter case, I've discovered that my "PlantUML notes" follow the code structure close enough that I should be able to coax my editor into generating these for me, semi-interactively. I might get around to doing that at some point.
Quite honestly, I'm surprised I haven't seen anyone doing a generalized "Language Server -> PlantUML" tool for asking questions about the codebase and getting responses in graphical form. As I mentioned yesterday[0], I find myself in need of being able to answer questions like "How does the code get from here to there?", and at least some language servers should have enough information to be able to give that answer[1].
That time when I spent a whole day building a sequence diagram by hand, to document how a certain subsystem is created and used in the very heart of the application, paid for itself very quickly - but I'd much prefer if it was a matter of couple minutes of tuning an invocation like:
querypuml --type=fromto --from=Foo.cpp:123 --to=Bar.cpp:456 \
--omit"::utils::*" --omit "SomeClass" \
--omit-files "module/irrelevant/*"
-o journey.puml
It would make it much easier to
refresh the diagram the next time I need it for reference.
--
[0] - https://news.ycombinator.com/item?id=26937454
[1] - If a language server supports identifying function calls and "jump to definition" (xref), it already has a lazy graph of the code structure, so it's a matter of running a path finding algorithm on it. Of course this can never be perfect (see also: halting problem), but I think a minimum-effort solution would cover 80% of cases, and most of the rest could be covered if attached to a debugger that records traces.