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)
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
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
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