Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
[UX] Increase Selection Tool corner drag threshold #881
This is something really painful I've had to deal with ever since last year nightlies. It seems trying to resize any drawing via selection tool really takes time because the threshold is only taken into account from the inside of the selection, and not the outside, but this is not apparent to the user. Also if you click on top of the corners the selection will disappear, it requires ridiculous precision to resize something if you don't know the trick (clicking inside).
If possible could we increase the threshold or improve it so clicking & dragging the selection corner dots also allow us to resize the selection, and not only clicking the area inside the dotted line?
From what I've experimented the threshold is made of roughly an 8 pixel square area towards the inside of the selection radiating form the corner dot. We should increase this at least to 20px
An Improved selection resize experience.
--Steps to reproduce--
@martinvanzijl I really like that! and actually I think the circles work better than the little dots as a complement since the user immediately can tell where they are supposed to click to drag the marquee box. Thank you for all of your invaluable submissions!
Looks good @martinvanzijl
I also agree with @Jose-Moreno that we could switch to ellipses instead of rectangles.
Taking it a bit further though, I've been meaning to change its style for some time, using the blue outline like we have on some of the icons to make the UI feel lighter.
The ellipse is filled with white color and the outline Rgb(56,161,249)
I think a feature complete and bug free selection tool would be a good milestone for 0.6.2
@martinvanzijl I like the ellipses as well. I think this change might even be worth trying to add to 0.6.1 depending on how big of a change was necessary to do that.
As for a feature complete selection tool, that would require quite a bit of work depending on just how feature complete you want it. I imagine it's going to take quite a bit of working to get irregular selections working and displaying properly (for ellipse and lasso selection modes/tools). We also need to consider how these transformation tools will be displayed on irregular selections (if at all). A second minimum bounding box would be the simple solution, but then the two selection boundaries could be confusing to the user. Maybe it would be best to make the selection paths more like a temporary vector layer. Then the vector tools could be used for all transformations, manipulations and rendering of selection boundaries. Implementing addition, subtraction, and intersection selection modes is also super easy with native vector operations (union, difference, etc.). Of course this ignores the fact that our vector tools suck, but we plan on fixing those eventually so why not fix the vector tools, use them for selections, and save ourselves the work of improving and maintaining selections separately? (Obligatory "everything should be vector" reference: #578)
I didn't think it through though and I also forgot about addition, subtraction and Intersection selection modes and maybe also stuff like expand and shrink.
Depending on the software you come from though, lasso, ellipse, polygon etc.. selection tools could be subsets of selection tool but I didn't consider them that in my earlier post. The use of "feature complete" was purely based on current selection tool and not what it could be.
My only problem with waiting for a vector solution is that we have no ETA for fixing the vector tools which therefore leaves us with a bit of both but nothing complete. This may be okay for us developers but i'd certainly feel saddened as a user, especially when we've stated numerous times around the forums, discord and irc that we're focusing on the raster part of the software.
While I don't like writing code that I know will be removed later, I think that in this case it makes sense because it'll make the software feel more complete, even if temporary.
added a commit
Mar 15, 2018
OK guys, I've uploaded the branch here: https://github.com/martinvanzijl/pencil/tree/increase-corner-drag-threshold. Note: this has the green circles still intact.
Would you like me to create the PR?
And if so would you like me to remove the green circles or keep them? (I could also make a preference to show/hide them).