Bug 441974

Summary: Animated transform mask breaks when using move tool instead of transform tool.
Product: [Applications] krita Reporter: wolf.chung
Component: AnimationAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 5.0.0-beta1   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: System information + Krita Log

Description wolf.chung 2021-09-03 22:17:53 UTC
Created attachment 141278 [details]
System information + Krita Log

SUMMARY
When using the animated transform mask, using the move tool, (T) instead of the transform tool (ctrl + T) causes the keyframes to no longer work. Previously made keyframes no longer preview, and additional keys will not work either. The keyframes will be deleted upon closing and reopening the file.

This does not apply to opacity keyframes.

STEPS TO REPRODUCE
1. Create blank frame, add a transform mask.
2. Add keyframe in animation curve docker
3. Use the Move tool (T)

OBSERVED RESULT
All keyframes in layer will no longer work. Basic pans revert to static stills. New keyframes will also not work. All keyframes are deleted on reopening the file.

EXPECTED RESULT
Same as using the Transform Tool. Effects the x and y values on keyframe.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Eoin O'Neill 2021-09-13 23:19:43 UTC
Git commit 4b933a691edb7c78698f3c294020951abddc971d by Eoin O'Neill.
Committed on 13/09/2021 at 23:15.
Pushed by eoinoneill into branch 'master'.

AnimTransform: Fix move tool not respecting, modifying, or outright breaking animated masks.

Should work more or less how the user expects. There could be more to streamline the process
to make it less error prone to interface with animation, and `setParameters` sometimes causing
animations to "break" will need to be investigated at some point. For now, it works.

M  +3    -0    libs/image/kis_transform_mask_params_interface.h
M  +17   -2    libs/ui/tool/strokes/move_stroke_strategy.cpp
M  +1    -0    libs/ui/tool/strokes/move_stroke_strategy.h
M  +12   -0    plugins/tools/tool_transform2/kis_animated_transform_parameters.cpp
M  +3    -0    plugins/tools/tool_transform2/kis_animated_transform_parameters.h

https://invent.kde.org/graphics/krita/commit/4b933a691edb7c78698f3c294020951abddc971d
Comment 2 Eoin O'Neill 2021-09-20 21:46:37 UTC
Git commit 84bb245b0a3d8be967c0f8b30291b7dc8f74c053 by Eoin O'Neill.
Committed on 20/09/2021 at 21:18.
Pushed by eoinoneill into branch 'krita/5.0'.

AnimTransform: Fix move tool not respecting, modifying, or outright breaking animated masks.

Should work more or less how the user expects. There could be more to streamline the process
to make it less error prone to interface with animation, and `setParameters` sometimes causing
animations to "break" will need to be investigated at some point. For now, it works.
(cherry picked from commit 4b933a691edb7c78698f3c294020951abddc971d)

M  +3    -0    libs/image/kis_transform_mask_params_interface.h
M  +17   -2    libs/ui/tool/strokes/move_stroke_strategy.cpp
M  +1    -0    libs/ui/tool/strokes/move_stroke_strategy.h
M  +12   -0    plugins/tools/tool_transform2/kis_animated_transform_parameters.cpp
M  +3    -0    plugins/tools/tool_transform2/kis_animated_transform_parameters.h

https://invent.kde.org/graphics/krita/commit/84bb245b0a3d8be967c0f8b30291b7dc8f74c053