| Summary: | brush with snapping to any curved assistants (ellipse, spline) creates tangent lines | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | mikelezhnin <mikelezhnin> |
| Component: | Tool/Assistants | Assignee: | vanyossi <ghevan> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | ahab.greybeard, ghevan, tamtamy.tymona |
| Priority: | NOR | ||
| Version First Reported In: | 4.4.2 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Microsoft Windows | ||
| Latest Commit: | https://invent.kde.org/graphics/krita/commit/6069fd80e1914640381a345639e9cf8185f208d9 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: |
krita log
Screenshot of the issue (both lines between different parts of the spline, and worse, lines between the spline and canvas edges) |
||
|
Description
mikelezhnin@gmail.com
2021-03-22 23:22:04 UTC
I don't see this with 4.4.2 on Debian 10. With Magnetism set to 1000, the drawn line follows the spline assistant with mouse or stylus when doing the short rapid movements as shown in in the attached video. With Magnetism set to lower values, the drawn line does drift away from the assistant but there are no long tangent lines drawn. For long rapid movements of the mouse or stylus, going away from the assistant, there is 'corner cutting' if the cursor is a long way from the spline but otherwise it works as it should. (In reply to Ahab Greybeard from comment #1) Well, that is unfortunate. Meanwhile I found a more consistent way of reproducing the same effect, maybe that can be of some help: 1. start with a spline looking more or less as a semicircle. 2. choose the brush with snap to assistants; use Magnetism at max. 3. as for the mouse movement, while holding the mouse down, start near the center of the "circle" and go leftwards, constantly slightly stroking up and down. At the start it would draw straight arcs connecting parts of the spline; then, a bit more to the left, when one no longer gets those jumps - that is the sweet spot. Again, a recording for the process - https://youtu.be/t5MBT-hhIlU On the bright side, it looks like lowering Magnetism makes this appear less often, so I am quite satisfied. Created attachment 137118 [details]
Screenshot of the issue (both lines between different parts of the spline, and worse, lines between the spline and canvas edges)
I can confirm this behaviour.
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1628 Git commit dc474d91150e9da37fe431c33014153605adde81 by Ivan Yossi. Committed on 10/11/2022 at 00:32. Pushed by ivany into branch 'master'. First attempt at fixing tangent lines for spline Assitant M +144 -11 plugins/assistants/Assistants/SplineAssistant.cc M +6 -1 plugins/assistants/Assistants/SplineAssistant.h https://invent.kde.org/graphics/krita/commit/dc474d91150e9da37fe431c33014153605adde81 Git commit 6069fd80e1914640381a345639e9cf8185f208d9 by Ivan Yossi. Committed on 10/11/2022 at 00:32. Pushed by ivany into branch 'master'. Use KisBezierUtils for finding nearest point We use goldenSearch for local region search as it is faster than cutting the curve using deCastelJau and recalculating nearestPoint for the new subcurves. M +12 -19 plugins/assistants/Assistants/SplineAssistant.cc https://invent.kde.org/graphics/krita/commit/6069fd80e1914640381a345639e9cf8185f208d9 |