Bug 399120 - Animation Curves docker has strange layout (negative values, max value (100 or 255) not visible) and is not intuitive
Summary: Animation Curves docker has strange layout (negative values, max value (100 o...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Animation (show other bugs)
Version: 4.1.1
Platform: Other Microsoft Windows
: NOR wishlist
Target Milestone: ---
Assignee: Emmet O'Neill
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-26 21:42 UTC by Tiar
Modified: 2020-12-18 06:43 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Krita Animation Curves Docker (12.64 KB, image/png)
2018-09-26 21:42 UTC, Tiar
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tiar 2018-09-26 21:42:22 UTC
Created attachment 115255 [details]
Krita Animation Curves Docker

SUMMARY
Animation Curves docker on Krita 4.1.1. looks strange and unintuitive. 

- Values on the value axis (Y) are from -250 to 50 (probably; there is no number); negative values are impossible to set, while positive values can be set from 0 to 255, as expected and written in Krita Manual (https://docs.krita.org/fr/reference_manual/dockers/animation_curve.html on date: 26.09.2018). Also the docker shown in the manual seems to have correct values on the axes; I don't know, but the docker I see have wrong values (see attachment). Possible reason: no min and max values set in the widget used to show curves.

- you can't select another frame by clicking inside the curve box, you need to click on the number of the frame or on the little rectangle below it; only then you can add a new frame in that location by clicking on the "Add opacity frame" icon in the docker

- you can't add a new opacity frame on the docker with the method mentioned above if the layer doesn't have any opacity frames yet (you need to do it by clicking "Add opacity frame" in another docker, i.e. Animation Docker)

- the default value of the opacity frame is 0% instead of 100% or the general opacity of the layer

- it would be nice if there were lines showing the levels of opacity: 25%, 50%, 75%, 100% or even just values 50, 100, 150, 200, 255 - now it's hard to maintain the same level for different key frames (it's hard to set 100% of opacity, too)



STEPS TO REPRODUCE
1. Create a new document.
2. In Animation docker, add a new opacity frame on current layer.
3. In Animation Curves docker, observe the values on axis Y.
4. Try to select another frame by clicking inside the curve rectangle.
5. Add a new opacity frame.
6. Set the new opacity frame to 100% of opacity (value 255).



OBSERVED RESULT
As described in Summary

EXPECTED RESULT
As described in Summary
Comment 1 joupent 2018-09-27 14:50:26 UTC
The reason for most of these shortcomings is that the curve docker was designed to be a generic interface for all kinds of animated properties, but we haven't had time to flesh out this feature yet. For example, this is why you see negative values despite opacity only supporting the 0-255 range.

(In reply to Tymond from comment #0)
> - Values on the value axis (Y) are from -250 to 50 (probably; there is no
> number); negative values are impossible to set, while positive values can be
> set from 0 to 255, as expected and written in Krita Manual
> (https://docs.krita.org/fr/reference_manual/dockers/animation_curve.html on
> date: 26.09.2018). Also the docker shown in the manual seems to have correct
> values on the axes; I don't know, but the docker I see have wrong values
> (see attachment). Possible reason: no min and max values set in the widget
> used to show curves.
The scale is chosen to fit the curve. I agree this not working well for opacity. For channels with a well-defined range we should fit to that range instead.

> - you can't add a new opacity frame on the docker with the method mentioned
> above if the layer doesn't have any opacity frames yet (you need to do it by
> clicking "Add opacity frame" in another docker, i.e. Animation Docker)
The first keyframe cannot be added because the docker has no channel to add it to. We could add a way to create one with the add keyframe button on the docker much like in the animation docker.

> - the default value of the opacity frame is 0% instead of 100% or the
> general opacity of the layer
The default value should be the layer's current opacity. This is a clear bug.

I also agree that showing percentages, adding grid lines and allowing scrubbing by clicking and dragging outside the nodes would be useful.
Comment 2 Manas Kashyap 2019-06-10 16:34:02 UTC
I would like to work on this bug and resolve it . 
Thank you
Comment 3 Emmet O'Neill 2020-07-28 20:39:43 UTC
Good feedback but I'm marking this as "needsinfo later" for now, as we will do a design pass on the curves docker in the coming months.
Comment 4 Bug Janitor Service 2020-08-12 04:33:09 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Bug Janitor Service 2020-08-27 04:33:07 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!
Comment 6 Eoin O'Neill 2020-12-18 06:43:32 UTC
There's more work to be done on the curves docker, but some of these have been taken care of and we can continue the discussion elsewhere. I'm going to close this for now.

Thanks for the suggestions!