Bug 438767 - Animation curves - Value not taken in account immediately
Summary: Animation curves - Value not taken in account immediately
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Animation (show other bugs)
Version: nightly build (please specify the git hash!)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Emmet O'Neill
URL:
Keywords: release_blocker
Depends on:
Blocks:
 
Reported: 2021-06-16 19:44 UTC by grum999
Modified: 2021-06-28 17:54 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Example (773.10 KB, video/webm)
2021-06-16 19:44 UTC, grum999
Details

Note You need to log in before you can comment on or make changes to this bug.
Description grum999 2021-06-16 19:44:57 UTC
Created attachment 139411 [details]
Example

SUMMARY


When updating a property value from animation curves, it's not applied immedtiately; we need to do previous/next frame to see updated result


STEPS TO REPRODUCE
1. On an animated transform mask, select a node
2. Modify value manually
   ==> curve is updated, but animation frame is not updated 
3. Go to previous frame, the next frame 
   ==> frame is up to date
4. Modify value by moving node in animation curve graph

OBSERVED RESULT
Described in steps to reproduce


EXPECTED RESULT
When a property value is modified, it should be applied immediately without need to do go to previous/go to next frame
When a node is moved, it should always been taken in account 


SOFTWARE/OS VERSIONS
krita-5.0.0-prealpha-949e869-x86_64.appimage
Comment 1 Ahab Greybeard 2021-06-17 11:50:04 UTC
I can confirm this for the Jun 16 5.0.0-prealpha (git 949e869) appimage on Debian 10.
Tested with a simple animated transform mask using a position change in the animation curves.

Should the update be continuous with node value change using the Val number adjustment? (The node position is updated as Val is changed.)
Should the update be continuous with node position change by dragging? (The Val number is only updated after the node drag action is completed.)
Comment 2 grum999 2021-06-18 19:10:45 UTC
(In reply to Ahab Greybeard from comment #1)
> I can confirm this for the Jun 16 5.0.0-prealpha (git 949e869) appimage on
> Debian 10.
> Tested with a simple animated transform mask using a position change in the
> animation curves.
> 
> Should the update be continuous with node value change using the Val number
> adjustment? (The node position is updated as Val is changed.)
> Should the update be continuous with node position change by dragging? (The
> Val number is only updated after the node drag action is completed.)

Hi

Ideally, from a user point of view a continuous update is the best :-)
But, I'm not sure that's good idea according to CPU consuming. 

On a simple animation (ie: on transform mask on one paint layer) you might not be worried by CPU usage.
But on more complex animation, this could be CPU killer (I have an animation with nested transform mask + filter layer + layer styles...)
I'm not sure of result of continuous update on a such animation; I can provide it if needed (but .kra file is ~12MB, not sure I can upload it)

Maybe as an option?

At least:
 - when value is modified from spinbox: update
 - when stop dragging in graph: update


Grum999
Comment 3 Emmet O'Neill 2021-06-25 01:56:51 UTC
Git commit ba8c627c145397e815cd8aa15d9d928aa78a3474 by Emmet O'Neill.
Committed on 25/06/2021 at 01:56.
Pushed by emmetoneill into branch 'master'.

Transform mask now properly updates when active keyframe's value changes.

M  +4    -2    libs/image/kis_node.cpp

https://invent.kde.org/graphics/krita/commit/ba8c627c145397e815cd8aa15d9d928aa78a3474
Comment 4 grum999 2021-06-28 17:54:21 UTC
(In reply to Emmet O'Neill from comment #3)
> Git commit ba8c627c145397e815cd8aa15d9d928aa78a3474 by Emmet O'Neill.
> Committed on 25/06/2021 at 01:56.
Tested, that's ok on my side, thanks :) 

Grum999