Bug 427751 - Brush outline gets stuck in position when the size is reduced to zero by the transfer curve
Summary: Brush outline gets stuck in position when the size is reduced to zero by the...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Unclassified
Component: Brush engines (show other bugs)
Version: 4.4.0
Platform: Other Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2020-10-15 11:27 UTC by Felix
Modified: 2020-11-18 07:19 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Felix 2020-10-15 11:27:43 UTC
SUMMARY
If you activate the curve for the size in a brush, and assign the time or fade parameter to it, setting the curve from more than 0 to 0 (for example to draw grass from the base towards the tips), the outline freezes when reached the end, staying as a point, where it has become the end of the stroke. Only append in Krita 4.0 with graphics canvas acceleration turned on, but if you turn off canvas acceleration, the ouline directly disappears (outline missing).

STEPS TO REPRODUCE
1. In the brush size configuration, activate the time or fade parameter, set the curve to end at 0
2. make a stroke.
3. 

OBSERVED RESULT
The outline stuck at final position with canvas graphic acceleration turned on, and outline missing with canvas acceleration turned off.

EXPECTED RESULT
that the outline follow the cursor or pen (in case you only use outline as me) with canvas acceleration turned on, and can see the outline with canvas acceleration turned off.

SOFTWARE/OS VERSIONS
Windows: 10
laptop hp i5, 16g ram, integrated graphic card UHD620.
Comment 1 Felix 2020-10-15 11:37:55 UTC
Excuse me, only in 4.4 not in 4.3.
Comment 2 Ahab Greybeard 2020-10-15 14:19:48 UTC
I can confirm that this happens with the 4.4.0 appimage but not the 4.3.0 appimage.

If the size transfer curve goes down to 0% after the Distance/Fade then it happens, even if you do not draw so far that the brush outline size goes down to 0%.
If the size transfer curve is set to 1% or greater at the end then it does not happen.

However, with a curve end point of 1% or greater, if you draw a 'partial' line that does not take the size down to 0%, then you still get a small dot outline left where you stopped drawing the line.
This dot follows the cursor and the full sized brush outline does not reappear until you start a new line and move the cursor.

It would be helpful if the full sized brush outline appeared when the mouse left-click wa sended or the stylus was lifted.
Comment 3 Eoin O'Neill 2020-11-17 22:37:48 UTC
Git commit ec43d9e2f8aa82f683b06cce7824dd91f775ea46 by Eoin O'Neill.
Committed on 17/11/2020 at 22:36.
Pushed by eoinoneill into branch 'master'.

Tool Repainting now accounts for 'corrected' tool paths.

This should reenable smaller than min-threshold rendering
back to expected behavior. It was currently rendering
incorrectly in both render modes.

M  +1    -1    libs/ui/tool/kis_tool_paint.cc

https://invent.kde.org/graphics/krita/commit/ec43d9e2f8aa82f683b06cce7824dd91f775ea46
Comment 4 Halla Rempt 2020-11-18 07:19:24 UTC
Git commit 9734c50aaa4b23fa9a912c2e2a021741b3cf60a9 by Boudewijn Rempt, on behalf of Eoin O'Neill.
Committed on 18/11/2020 at 07:19.
Pushed by rempt into branch 'krita/4.3'.

Tool Repainting now accounts for 'corrected' tool paths.

This should reenable smaller than min-threshold rendering
back to expected behavior. It was currently rendering
incorrectly in both render modes.
(cherry picked from commit ec43d9e2f8aa82f683b06cce7824dd91f775ea46)

M  +1    -1    libs/ui/tool/kis_tool_paint.cc

https://invent.kde.org/graphics/krita/commit/9734c50aaa4b23fa9a912c2e2a021741b3cf60a9