When a class declares multiple independent @StateSet groups, show a separate diagram for each group in the State Machine view. For example, ImageWriteParam has tiling states and compression states; each should have its own diagram.
Label each diagram with its state group. Show the constructors and method transitions relevant to that group, while preserving conditions that refer to another group. Keep diagnostic highlighting associated with the relevant diagram.
The FSM parser and language server currently return a single state machine, so the response must support multiple machines before the VS Code view can render them.
When a class declares multiple independent
@StateSetgroups, show a separate diagram for each group in the State Machine view. For example,ImageWriteParamhas tiling states and compression states; each should have its own diagram.Label each diagram with its state group. Show the constructors and method transitions relevant to that group, while preserving conditions that refer to another group. Keep diagnostic highlighting associated with the relevant diagram.
The FSM parser and language server currently return a single state machine, so the response must support multiple machines before the VS Code view can render them.