We've made steady progress with the animated curves docker over the course of the last year. We managed to bring more features and streamline some of the UI. However, there are plenty of tasks left to be done and usability concerns to address. I will enumerate the known workflow issues and provide possible solutions. Once a solution is implemented and in master, the issue will be checked off in order to track progress on remaining issues.
Additionally, this will be used as a hub for discussion. If you have any suggestions for the curves docker or animated transform masks' UIUX, please post them in a comments and I will consider adding it to the list of tasks.
- Ability to independently key desired channels. Right now, when animating animated transform masks, all possible channels get a keyframe. This is less than ideal, as users will want to control which channels they're animating.
Solution: we will aim for something similar to Blender, though I would like to make adjustments. With blender, when trying to add keys using the insert key hotkey (currently [i] key), the user is shown a dropdown list of combinations.
With Krita, I propose we do a similar design but show a menu with all options featured as check boxes. When the menu closes, any of the checked channels will be keyed as a single unit w/ undo support. This removes the need to add every possible combination, reducing UI spam.
This menu will be shown when clicking the popup button to the side of the add scalar keyframe. When clicking the add scalar keyframe button directly, it will add a key to whichever channels were last configured. (Default will be all keyframe channels, like current implementation) For the hotkey, the ideal solution would be to show the menu and then apply the action when the menu closes.
We might also prevent having no-channels selected, and also default to a singular channel if there aren't multiple options available.
- Overlapping selections. Currently, having multiple keyframes that overlap on the same value and time can result in multiple keys being selected. It might be nice to come up with a solution to this problem.
Solution: None yet...
- Streamline drag and drop experience and selection workflow. Improvements have been made here in the past but it seems like more can be done here.
Solution: Arguably, dragging selected nodes should only happen when you click near an already selected node. Accidental movements happen when trying to click an additional node, which feels error prone and clunky.
- Order and colors associated with channels are inconsistent. Additionally, some colors like red/green should be properly associated with x/y position coordinates.
Solution: Perhaps we should only show curves for "active" layers, and keep the colors unique for each possible scalar channel? This one is unclear to me...