visual filtering
awaiting sketch
A system for changing the appearance of task nodes based on properties of the task, e.g:
- Family
- Parameterisation
- (Re)Flow
This "visual filtering" is intended to make it easier for users to gain an at-a-glance overview of the higher-level-structure of a flow without needing to delve into deeper inspection.
Example use cases:
- Style components of systems differently.
- Mark critical components of a workflow.
- Group parameterisations.
Suggested groupings:
- Flow number (quite critical as this information is not presently visible in the UI).
- Family (i.e. top-level family name).
- Task "[meta]"data (user-defined fields).
- N-window level.
Implementation:
- Visual filters are orthogonal:
- You can only have one filter at a time.
- Visual filtering local to a tab.
- Turned off by default though can be automatically activated by events (e.g. user creates a new [re]flow).
- Use colour as the primary means to distinguish between nodes:
- Since task-job separation nodes are now all grey.
- Define a colourmap which doesn't conflict too much with the job status colours (preferably duller).
- Accessibility Allow a user-definable colourmap for colour blind users.
- Use opacity as the secondary means to distinguish between nodes:
- Users toggle the opacity of a group of tasks by (de)selecting them or by hovering over the options from the filter menu.
- Accessibility This does not depend on colour at all.
This has risen up the priority ladder partly as a result of planned changes to cylc remove which would see it strip flow-numbers from tasks. This needs to be communicated through the UI to make sense.
Proof of concept flow nums display added in https://github.com/MetRonnie/cylc-ui/tree/flow-nums