User Details
- User Since
- May 13 2017, 8:35 PM (362 w, 5 d)
- Availability
- Available
Jul 3 2017
Jul 1 2017
It looks like Arcanist included more changes in the diff than I intended. I have updated the diff manually.
Jun 30 2017
Okay, I have pushed the patch. (I still can't figure out how to close the revision.)
Jun 24 2017
Jun 21 2017
I must be doing something wrong with my commit messages. I included "Differential Revision: https://phabricator.kde.org/D6263" in the merge commit message and pushed, but it doesn't seem to have closed the revision. I don't see an option to close the revision through the Web interface either. Do you have any ideas as to what I am missing?
Okay, great! I will make the changes you suggested and merge to master.
Jun 18 2017
Jun 13 2017
Okay, great! I will change those asserts then merge into master. I still want to do something about the issue of having to wait 1 second if the pressure curve goes to zero, but I will work on that in a separate revision.
Jun 9 2017
@dkazakov: I think this new diff addresses the issues you pointed out in the previous diff. I have added back the safety check in KisToolFreehandHelper::doAirbrushing, removed the reliance on parsing string options during painting, and added the call to qBound you suggested. I have also changed the KisToolFreehandHelper::paintAt workaround so that the initial paintAt call only happens when airbrushing, which should avoid the zero-rotation dab at the beginning of a stroke when angle-dependent brushes are used without airbrushing. For the case where an angle-dependent brush is used with airbrushing, I added the ability for KisToolFreehandHelper to supply an initial drawing angle based on the most recent cursor movement, so the initial dab's rotation will at least make some sense. I also changed the angle-computing code so that, if two consecutive dabs are at the same position, the drawing angle from the previous dab is reused. Airbrushing and angle-dependent brushes still don't work very well together, since it can be hard to avoid small movements that change the angle when trying to airbrush at a single point, but the behavior seems at least somewhat reasonable now.
Jun 7 2017
Jun 4 2017
Jun 2 2017
May 31 2017
May 30 2017
I don't think it was. Should I merge it myself? Is there any particular protocol to follow with merging revisions to master?
Thanks for the feedback. I will try to get the issues fixed soon.
May 27 2017
I have made a new version of the diff that addresses some of the issues, but I think further discussion is needed. In the new version, KisDistanceInformation clamps the airbrush interval to the range [0.5, 1000.0], meaning the rate can't be less than 1 dab per second. I changed the code back to only updating the spacing when a dab is painted, which should fix the problems I introduced with the previous diff. It is still possible to get an unpleasant effect where the pressure can make the dab rate slow (but no slower than 1 dab/s), forcing the user to wait 1 second before the next dab. This especially happens at the start of strokes, as the pressure is low when the pen first touches the tablet. The ideas I have for solving this are:
- Increase the minimum rate to more than 1 dab per second, so that it won't be as noticeable.
- Implement some form of spacing updates that can happen between dabs. From my previous attempt at this, it seems prone to causing bugs and performance issues.
- Leave it as is and let users work around it by setting a Rate curve that doesn't go too low. (Possibly changing the default Rate curve as well?)
We need to discuss which idea works best, or if there are any other solutions.