Page MenuHome

Grease pencil layer advances a frame without updating active frame with freehand session, then box selection
Closed, ArchivedPublic

Description

System Information
Operating system: Ubuntu 18.04.1
Graphics card: RX 480

Blender Version
Broken:
2.80, 5af85d904e5b, blender2.8, 2019-03-07
Worked:
don't use box selection while doing a freehand session

Short description of error

Exact steps for others to reproduce the error

  1. Add Grease pencil monkey
  2. Enter draw mode
  3. press V, it goes to freehand session mode, then press B for box selection, the object name at the upper left of the viewport becomes white as if the object gets deselected.
  4. make a stroke
  5. the strokes are placed in the old frame, not the current one

The blend file has 3 monkeys with the same issue.

Details

Type
Bug

Event Timeline

Really, I don't understand the problem.

One side note, the Box selector in Draw mode works as a Eraser...all strokes selected are removed. This is only in Draw Mode.

@iszotic (iszotic) Could you verify in grease pencil dopesheet how many frames you have? not sure if you are creating a new keyframe and this is why the layer is empty.

@Charlie Jolly (charlie) You added the V key. Could you review why and what is going on here. Review these keymaps.

# Freehand
        ("gpencil.draw", {"type": 'O', "value": 'PRESS'}, None),
        ("gpencil.draw", {"type": 'J', "value": 'PRESS'}, None),
        ("gpencil.draw", {"type": 'J', "value": 'PRESS', "alt": True}, None),
        ("gpencil.draw", {"type": 'J', "value": 'PRESS', "shift": True}, None),
        ("gpencil.draw", {"type": 'K', "value": 'PRESS'}, None),
        ("gpencil.draw", {"type": 'K', "value": 'PRESS', "alt": True}, None),
        ("gpencil.draw", {"type": 'K', "value": 'PRESS', "shift": True}, None),
        ("gpencil.draw", {"type": 'L', "value": 'PRESS'}, None),
        ("gpencil.draw", {"type": 'L', "value": 'PRESS', "alt": True}, None),
        ("gpencil.draw", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
        ("gpencil.draw", {"type": 'V', "value": 'PRESS'}, None),

@Antonio Vazquez (antoniov) it's some other bug, nothing to do with the V key. Just select a monkey in draw mode then adding a new monkey from the space menu causes the current layer to be deleted.

@Antonio Vazquez (antoniov) it's some other bug, nothing to do with the V key. Just select a monkey in draw mode then adding a new monkey from the space menu causes the current layer to be deleted.

I have fixed the operator for adding new datablock. This operator must be used only in OBJECT mode.

One side note, the Box selector in Draw mode works as a Eraser...all strokes selected are removed. This is only in Draw Mode.
You added the V key

It looks like keymap of Grease Pencil is not reliable at all.
There are 4 sections corresponding to draw mode (Draw brush, Fill, Eraser, Global Paint). They are at same level than other modes but they should be sub-section of one draw mode.
There should be a global section of draw mode to call different active tools.
Currently, user can press a key that is supposed to be a modal key of an active tool while using another active tool.

@ronan ducluzeau (zeauro) I don't know how is now because I did not made the conversion of the keymaps to new python format, but when this was in C code, there was a poll method to disable/enable keymaps depending of the brush, so, for example, you could not use a Fill keymap with a Draw brush selected.

The keymaps were defied hierarchy: General Draw keymaps + Brush specific keymaps

There are 4 keymaps relative to active tools. But that is not obvious, there is a hierarchy between them.

There is no Draw mode (global) keymap.

Operators are repeated in several tool keymaps.

But that is useless. A shortcut like B is used by 3D View (global ) keymap, you will define a box although that has no effect whatever grease pencil tool is active.
And if at the end, if Box Select does not select anything but reacts as cutter tool ; why re-using box select name and panel ?

But the worst is that same panel is re-used for almost everything.


How user is supposed to understand that O is used for replacing origin of guides ? to what feature corresponds J,K,L,V,M,C ?
Such panel makes sense for annotation.
But all little options of the mode needs to be identifiable by a proper panel.

@Charlie Jolly (charlie) You added J, K, L, etc. keypmaps, do you know why? what is the use? can we remove them?

The B for box selection is the same key, but the operator is not the same. Anyway, as I told you, I did not convert this to python, so not sure how works now the keymaps, maybe it's possible to merge in one group.

@Campbell Barton (campbellbarton) What do you think here?

@Charlie Jolly (charlie) You added J, K, L, etc. keypmaps, do you know why? what is the use? can we remove them?

L is shortcut for parallel line guide.
C is shortcut for circular guide.

J & K rotate the line guide. These could be removed and replaced with a plugin if they are causing problems.

Sebastian Parborg (zeddb) triaged this task as Confirmed, Medium priority.

Any update on this? If nothing else, it seem like this report doesn't need triaging...

@Sebastian Parborg (zeddb) I cannot reproduce it... really I don't know what is the bug here (never had this situation).

Sebastian Parborg (zeddb) lowered the priority of this task from Confirmed, Medium to Needs Information from User.Jun 11 2019, 12:14 PM

@iszotic (iszotic) is this still an issue?

iszotic (iszotic) added a comment.EditedJun 14 2019, 6:23 AM

yes, still happening, following the same steps and here's a video, now I understand, it moves the frame one frame further without updating the frame that should be drawn upon to (active frame??) when you draw it places the strokes in the old frame, then going from draw mode to object mode and back to draw mode when you place a stroke it updates and places the strokes in the new current frame. Ok I change the issue, it doesn't get corrupted, sorry, apparently it doesn't update the active frame, for example If I change the frame with the arrow keys and draw it draws in the current frame.

iszotic (iszotic) renamed this task from Grease pencil layer gets corrupted (then it cleans) when toggling freehand session, then box selection to Grease pencil layer advances a frame without updating active frame with freehand session, then box selection.

What is not clear for me is why you press V and B keys?

The V is not needed and the B is used in Draw mode to Erase selection.

Changing from modes as you did in your video works fine all the time (in the video I cannot see if/what keys you pressed).

Bastien Montagne (mont29) closed this task as Archived.

More than a week without reply or activity. Due to the policy of the tracker archiving for until required info/data are provided.