I’ve just had my first experience with the magnetic selection tool and it was miserable enough that I signed up here to complain about it. The relevant context is that I didn’t have my keyboard with me for the majority of the experience.
First off, if I complete a full selection with the tool and then switch to another tool, say, a brush, not only does my selection vanish completely but the entire selection tool stops working. I had to restart krita five times before I figured out that you can confirm the selection by going to Selection > Reselect. The only way to cancel the selection without a keyboard is selecting a different tool, but in order to avoid the tool breaking you’d better do it before you complete a selection. I’d like if both cancelling and confirming selections were available through buttons in the Tool Options docker, similarly to how the Crop action is available in the Crop tool’s options.
(By the way, the reason the Polygon Select Tool doesn’t need those options is because it confirms a selection immediately after completing one. A cancel is as easy as completing a selection and undoing it.)
Though, the Magnetic Selection Tool doesn’t confirm the selection automatically because the points are editable after the fact. This in itself is fine, but the thing you can actually drag seems to be around the end of the selection line rather than the little square handle that each point has that changes color when you hover over the drag-able point. Depending on the zoom level, this offset can make most of the handle not react to anything (and you can actually turn multiple of them red at the same time even though only one will react to a drag). So when trying to modify points, you’re likely to accidentally make more of them. I’d like if the handle was actually fully functional as a handle.
So, you have an extra point that you want to delete. The current way to do this is to drag the point out of the canvas area. This, however, forces you to completely abandon your working position and change the view so that you can see past the canvas. The new zoom level might make it incredibly difficult to pick out the one point you wanted to remove if they’ve all ended up too close to tell. And if you miss your point now at the beginning of the drag, you’ll instead have a couple hundred points running along your image and you might as well start over with the selection. I’d like if the way of disposing unneeded points was to merge them into other points when they get close enough. Such behavior can be found in 3DCG applications and in tools that allow you to modify curves by dragging around points. It could even lead to users being able to backtrack their interactive selection lines by going over them in the opposite direction, allowing for big mistakes to be removed easily.
Another reason for abandoning the drag outside of the canvas to delete idea is that selection tools should generally function outside of the canvas bounds. Layers might still have content there, and users might try to select things touching the edges of the canvas by selecting outside the canvas. Currently, the magnetic selection tool can’t be used in this way, most probably because points aren’t allowed to exist out of the canvas bounds.
Lastly, the minimum anchor gap shouldn’t be 20 pixels. I tried selecting something that had a part smaller than that, and the tool just cut through the entire thing instead of going along the edge. I understand why you might not want to have the number too small, but 20 pixels can very well be too big for some things.
To summarize:
- Add Cancel Selection and Confirm Selection as actions in the Tool Options docker
- Correct the handle bounding box
- Replace the drag-outside-the-canvas method of deleting points, hopefully with something that lets users remove lots of them at once
- Make the tool work outside the canvas area
- Allow for smaller Anchor Gaps
As an aside, the tools that make use of Shift + Z should all have the action available in Tool Options.
And, I hope it’s fine for me to resurrect this thread. The edge detection of this tool seems great, and I’d love to be able to use it properly.