Page MenuHome

GPencil: When cancel a extrude point, the point is not removed and creates two points on same location
Closed, ArchivedPublic

Description

System Information
Operating system: Darwin-19.3.0-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon Pro 580 OpenGL Engine ATI Technologies Inc. 4.1 ATI-3.5.5

Blender Version
Broken: version: 2.90.0 Alpha, branch: master, commit date: 2020-06-28 15:13, hash: rBb21ba5e57974

Short description of error
When a GPencil point at the end of a stroke is extruded, but the extrusion operation is cancelled before committing it, the Custom Curve of the thickness modifier seems to treat the stroke as though the cancelled point exists (the end of the stroke doesn't have the expected thickness applied by the modifier)

Exact steps for others to reproduce the error

  • Open attached blend file
  • In draw mode, do a momentary click to add a new stroke with a single point, beneath the other strokes.
  • In edit mode select the new point and press E to extrude. Move the extruded point to the right and confirm the operation.
  • Repeatedly extrude the newest point until there are four points
  • Begin to extrude a 5th point in the same way, move the extruded point to the right, but instead of clicking to confirm, press Escape to cancel the extrusion.
  • Now the thickness at the right-hand end of the stroke is being set incorrectly by the Thickness modifier.

Event Timeline

Antonio Vazquez (antoniov) changed the task status from Needs Triage to Needs Information from Developers.Jul 25 2020, 5:27 PM
Antonio Vazquez (antoniov) changed the subtype of this task from "Report" to "Bug".

The thickness modifier is working as expected, but the stroke has 2 points on the same coordinates.

I need review when you escape the extrude to Undo the created point. It looks is undoing the posicion, but must remove the point.

Antonio Vazquez (antoniov) renamed this task from GPencil. Thickness modifier gives incorrect result if point extrude operation is cancelled to GPencil: When cancel a extrude point, the point is not removed and creates two points on same location.Jul 25 2020, 5:27 PM
Antonio Vazquez (antoniov) claimed this task.
Antonio Vazquez (antoniov) changed the subtype of this task from "Bug" to "Report".

I have been looking at code and how works a mesh and it has the same issue. If you add a mesh plane, and extrude one vertex and cancel, the vertex is added (now the plane has 5 vertex) but it's in the same location.

The problem is when you extrude (a mesh or a gpencil), you are executing two operatos, first the add point (this cannot be canceled) and later the transform (this can be canceled). As you extruded, but canceled the transform, really you only executed the first operator (add point). In your example, as both points are on the same position in the extreme of the stroke, the thickness modifier cannot calculate propertly the result.

As this is by design and due the internal design of the transform operators (not only for GPencil), we can consider this report is not a bug, but a design limitation in general, so I'm going to close it.

Thanks for the explanation. that helps me find a workaround for my use case.

In the case of a cancelled extrude, could Blender delete the newly created point(s) vertex(es)? or is there some case where you'd want them to remain there?