Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Undoing strokes with specific timeline drawing behavior creates unwanted keyframes #1429

Closed
Jose-Moreno opened this issue Aug 17, 2020 · 0 comments

Comments

@Jose-Moreno
Copy link
Member

Jose-Moreno commented Aug 17, 2020

Issue Summary

In the preference settings under the "drawing" section the "Keep drawing on previous keyframe" is configured by default, so consider this as it will and has already affected new users.

The problem is that whenever you're drawing in an empty frame, even if you move back over to the "previous" keyframe, undoing any stroke will create a new keyframe with a copy of the drawing on the empty frame where the playhead was positioned at the time of the drawing. And not only that but if you keep pressing undo, it will undo the strokes on the copy, until the original state of the stroke previous to drawing on the empty frame, will be reached.

This is extremely frustrating even when knowing about it as sometimes you need to draw on a layer that only has a single keyframe, to trace the motion path or create a layout guide of an existing animation. So if you undo a single stroke, it will create the new keyframe for you and mess up all your drawings because undoing anymore will undo the drawing itself and leave you with a different copy.

Expected Results

Creating or deleting keyframes if you drew when the playhead was positioned over an empty frame should only work with the modes: Create a blank keyframe or Duplicate the previous keyframe.

Video or Image Reference

https://youtu.be/Cb8XRC-PzK8

Steps to reproduce

Make sure when you go to Edit > Preferences > Timeline > Drawing section > That the option mode that's enable is "Keep drawing on previous keyframe" otherwise the steps won't work.

  1. Create a new file
  2. Draw on the first keyframe on the bitmap layer a single stroke
  3. Move the playhead to any empty frame after it
  4. Draw enough strokes to notices changes once you start undoing
  5. Go back to the first frame (you can stay there but it's so you see it does not affect the behavior)
  6. Start undoing slowly. Notice how the playhead moved to the previous FRAME, creates a duplicate KEYFRAME and each stroke starts to become undone on the new keyframe.
  7. Once you reach the initial stroke that was done in the first keyframe, this will be undone on that keyframe alone, and the same stroke will remain on the new keyframe.

System Information

  • Pencil2D Version:
    Version: 0.6.5

commit: 50a0c7c
date: 2020-08-01_01:32:15

Operating System: Windows 10 (10.0)
CPU Architecture: x86_64
Qt Version: 5.12.9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Bug Fix Priority
  
Closed
Development

No branches or pull requests

2 participants