Zone boundary hit area doesn't scale with zoom.

Bug #1803362 reported by Art on 2018-11-14
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
Undecided
Jeff Young

Bug Description

I noticed that, when I was trying to edit a track width that was going parallel and very close to a zone outline. Every time I tried to select it I would select the zone. Any other keyboard shortcuts (edit, move etc.) would work only on the zone as well. There needs to be a disambiguation selection menu. The same problem applies to footprints which are right next to a zone edge

Application: kicad
Version: (6.0.0-rc1-dev-1156-g4b931aeb5), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Jeff Young (jeyjey) wrote :

You can always use the Alt key to request a disambiguation menu.

Changed in kicad:
status: New → Won't Fix
Art (diametrix) wrote :

While you are at it, why not just say don't put any objects close to the edge of a zone and you wouldn't have a problem in the first place. :) Can I ask you, have you tested your suggestion first? The reason I ask is because ALT key doesn't work for me at all. I can see the context menu flicker for an instant and then disappear again. I can left click at several objects grouped together (anywhere on the board, even if there is no zone nearby) and would get a disambiguation menu. However if I click at the same place while holding ALT key I get the behavior described above. So, unless I'm the only one who is getting this odd disappearing pop-up window, you suggestion is to use a feature that doesn't work to solve a feature that doesn't work :)

It might be a radical thought, but what if we just fix the problem? I mean it shouldn't be that hard to look at the location of the mouse pointer, detect that there are more than one object in the vicinity and ask the user to clarify the selection. It works for all the objects on the board except for the zones, so clearly it is not an intended behavior.

Jeff Young (jeyjey) wrote :

Because it *is* intended behaviour. A zone border is very thin; if you click on it chances are pretty good that you want the zone. If you want to select one of the other (larger) objects, just click on them where they don't overlap with the zone border.

We do the same thing with pads in footprints, text in footprints, etc.

And yes, I tried alt-click. It works fine for me. There was another bug logged about the right-click menu coming up and going away immediately (on GTK I think?), but I thought that was fixed. Maybe there's a similar problem on MSW?

Art (diametrix) wrote :

Well, if it was intended, that's very unfortunate. "Thin" doesn't strike me as an engineering term. It certainly look very thin on the screen. However it creates a "dead zone" around its border, in which only that zone (and other zones can be selected). If we try to quantify that "zone" with numbers rather than adjectives, the width of that zone comes to be around 0.020", which doesn't seem like a lot until you try to work at higher zoom levels in a busy design with multiple intersecting zones and keep out areas. Then you can't really select anything, even if you ALT key was working, adding additional actions to every mouse click you make, doesn't seem like a good solution.

The analogy with selecting the pads in footprints, text in footprints etc. is not really a correct one. Footprints, texts etc. have clearly visible borders and no invisible zone around them. While I personally would prefer selecting those with an extra key (like holding ALT, because honestly how often do you really have to select a pad in a footprint), I know better by now not to click on the pad when selecting a footprint. It is subconscious by now and I don't have to think about it. Zones are not really visible and extend their influence far beyond their borders (far=0.020 :)

What I fail to understand is what benefit such logic gives? Was there a lot of complaints that people didn't like disambiguation menu when they were trying to select a zone? What do they do with the rest of the design processes?

I created a short video illustrating an attempt to select a footprint or a pad when there are two zones near the footprint and a keepout around it as well. At the very end of the clip you can see my attempts to use ALT key to force the menu.

Jeff Young (jeyjey) wrote :

In this case "thin" was an engineering term: they have no width so they're drawn at 1 pixel no matter the scale.

It does sound like the "hot zone" around "thin" *is* getting scaled with the zoom, which is incorrect. That could be fixed.

(But yes, to answer the other question, we got lots of feedback on people not liking the disambiguation menu coming up in various circumstances. We've also allowed selecting of the interior of zones -- when shown filled -- to address user feedback.)

Changed in kicad:
status: Won't Fix → Triaged
summary: - Tracks/footprints near a zone outline can't be selected/edited
+ Zone boundary hit area doesn't scale with zoom.
Jeff Young (jeyjey) on 2018-11-16
Changed in kicad:
assignee: nobody → Jeff Young (jeyjey)
status: Triaged → In Progress
milestone: none → 5.1.0
Jeff Young (jeyjey) on 2018-11-17
Changed in kicad:
status: In Progress → Fix Committed
Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers