fritzing / fritzing-app

Fritzing desktop application
http://fritzing.org
Other
4.04k stars 834 forks source link

Mouse handles should remain the same size across zoom levels #3177

Closed deshipu closed 1 month ago

deshipu commented 8 years ago

This is a usability observation, and I think following this could greatly improve the ease of use for Fritzing.

Currently, when we zoom into the PCB view (and possibly other views too), all the mouse handles (trace benpoints, footprint outlines, etc.) zoom too. This means that zooming doesn't help with working with very tight designs, where those handles overlap. If instead the handles remained a constant size (large enough to conveniently click, small enough to not obscure too much), then zooming in would result in them being displayed farther apart, and thus easier to manipulate accurately. You can see how GIMP and Inkscape handle that, and how that makes it much easier to work both at large and small zoom levels.

idontusenumbers commented 6 years ago

This times a hundred. I regularly find it absolutely impossible to select a wire end point, drop it on the appropriate connector, move a component, etc.

KjellMorgenstern commented 1 month ago

There are (or hopefully, were) multiple things to fix for this issue.

All screenshots taken at zoom level 3000% . Most show an RP2040 (QFN part) , wires are 8mil Comparing 1.0.3 to the upcoming 1.0.4.

1. Ratsnest lines getting in the way.

Fritzing 1.0.3 ratsnest lines with way to big hitbox image The Hitbox for ratsnest line obstructs wire end. Note: I modifed 1.0.3 to show the hitbox. A vanilla Fritzing would give no indication that a click will grab the ratsnest line. Annoying.

Fritzing 1.0.4 ratsnest lines don't increase with zoom image The hitbox of the ratsnest line is only slightly bigger than the line itself. It is now shown with a hover shadow by default. Ratsnest and their hitbox keep the same absolute width across all zoom levels.

2. Dotted selection markers not helpful on zoom

Fritzing 1.0.3 selection markers are irritating at best image

Fritzing 1.0.4 selection markers are relative to the trace width image

3. Mouse handles clutter view.

Did you spot that there is a unnecessary bendpoint between the 6th and 7th connector of the row? Overlapping mouse handles often mean that there are more hitbox candiates than useful. Of course it is always the wrong item that takes priority.

Fritzing 1.0.3 bendpoint hard to spot, mouse needs to be at a seemingly random spot far away to hit it image

Fritzing 1.0.4 directly hover over the bendpoint image

and remove it with double click to get a straight wire. Fritzing 1.0.3 image

1.0.4 ... image

KjellMorgenstern commented 1 month ago

4a. Wires easily jump to nearby connectors

Fritzing 1.0.3 detaching the wire from VDD (7th pad of the row) image but it directly snaps to the nearby bendpoint :-1: image

Fritzing 1.0.4 grab the wire image and drop it at an empty place to detach it image

KjellMorgenstern commented 1 month ago

4b. Wires easily jump to nearby connectors

Same effect as 4a, but quite a different part of the code, so worth to mention. Connecting the lose wire to a connector.

Fritzing 1.0.3. Where will it snap? image adding insult to the damage, the hover text already told us it will use this connector image

Fritzing 1.0.4 even with shaky hands image probably the correct connector. Using the distance to the candidates for a guess what the user wanted image

*) If there are multiple candidates, we still prioritize by layer, but we now also take the distance into account. We don't need to rely on the layers as much anymore. This will probably enable some more improvements for edge cases, e.g in the breadboard view.