NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.54k stars 332 forks source link

(Bug): Undo doesn't work when controlling Transform via the screen controls/gizmo #839

Open HeCorr opened 1 year ago

HeCorr commented 1 year ago

Make sure to follow our issue report guidelines

Natron version

Natron version 2.4.3 Release

Operating system

Windows 10 Pro [1909]

System specs

RAM: 32GB CPU: AMD Ryzen 7 3700x GPU: NVidia RTX 3060

Did you install Natron using the official installer?

Custom installation path

No response

What were you trying to do?

Undo a transformation made using the Transform node's screen controls (a.k.a. gizmo).

What did you expect to happen? What happened instead?

Instead of reverting the transformation to it's previous state, it does nothing, except if you hold Ctrl + Z (or press it multiple times), then it slowly moves back to where it was previously, as shown in the video:

https://user-images.githubusercontent.com/75134774/196043449-58c685cd-c5b8-46a2-a0ad-8c01fddf8795.mp4

Step-by-step reproduction instructions

  1. Start Natron
  2. Add any node (Constant should work. set it's color to white so you can see it better)
  3. Add a Transform node connected to it
  4. Double click the Transform node to activate the screen controls
  5. Move, rotate or scale using the controls
  6. Try to Undo.

Additional details

My guess is that it's registering a undo "step" for each frame that it's getting moved, instead of only once when releasing the click, which can be confirmed by moving the controls really fast and holding Ctrl + Z. You can see it moves a larger distance on each step:

https://user-images.githubusercontent.com/75134774/196043990-5a32cd96-3d6c-4c24-8d40-b427c0139f42.mp4

HeCorr commented 1 year ago

Testing this again on 2.5.0, I thought it has been solved but it appears that it occasionally still adds a few extra undo steps as seen on the video below, but it's significantly better, only requiring about 3~5 Ctrl+Z's to fully undo instead of having to hold Ctrl+Z down for a few seconds.

https://user-images.githubusercontent.com/75134774/217117918-8ecb04b2-6b23-4aae-957a-df7bd74d5ea5.mp4