Bug 478448

Summary: [Animation curves] Wrong position when creating a frame in the beginning
Product: [Applications] krita Reporter: paleh <paleh21669>
Component: AnimationAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: dimula73, mmliu
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description paleh 2023-12-12 20:00:12 UTC
SUMMARY
When adding a frame in the animation curves docker before the first existing frame, the coordinate system of the transform mask changes.


STEPS TO REPRODUCE
1. Create a non-empty paint layer, add a transform mask to it. Select the mask.
2. In the animation curves docker add a frame to it at t = A, A >= 1.
3. Using the transform tool, make a change to the mask at A, e.g. a rotation.
4. Add a frame at t = B, B < A.

OBSERVED RESULT
After adding the frame, the layer at B is now placed with its center in the upper left corner of the canvas. 

EXPECTED RESULT
After adding the frame at B, the layer should be exactly as if the transform mask was not there.

SOFTWARE/OS VERSIONS
Linux: Ubuntu 22.04
Qt Version: 5.15.7
Appimage

ADDITIONAL INFORMATION
This is not present in 5.2, only on master
git-1fc417ae3e (12/12/2023)
Comment 1 Dmitry Kazakov 2024-01-11 11:43:09 UTC
I can confirm that the bug is still reproducible. The important point is to create the frame explicitly, not use auto-keyframing of the transform tool
Comment 2 Dmitry Kazakov 2024-01-11 12:12:30 UTC
Git commit 256f7faed4b6dd7a4ae91ef5e87e8954b7bdae09 by Dmitry Kazakov.
Committed on 11/01/2024 at 13:09.
Pushed by dkazakov into branch 'master'.

Fix creation of keyframes **before** the first frame for scalar channels

M  +19   -4    plugins/dockers/animation/KisAnimUtils.cpp

https://invent.kde.org/graphics/krita/-/commit/256f7faed4b6dd7a4ae91ef5e87e8954b7bdae09
Comment 3 Dmitry Kazakov 2024-02-28 18:09:57 UTC
Git commit c7f4dbc1e45d91dc522fdb18190a2e5c86304ef3 by Dmitry Kazakov.
Committed on 28/02/2024 at 12:53.
Pushed by dkazakov into branch 'kazakov/for-5.2'.

Fix creation of keyframes **before** the first frame for scalar channels

M  +19   -4    plugins/dockers/animation/KisAnimUtils.cpp

https://invent.kde.org/graphics/krita/-/commit/c7f4dbc1e45d91dc522fdb18190a2e5c86304ef3