Snapping in PCB Editor

Can someone explain how to use (and disable) snapping to board elements?

Documentation states that “Snapping to different types of objects (pads, tracks, and graphics) can be configured in the Editing Options section of the PCB Editor preferences”.

I set all options to never snap to objects, but while routing the cursor is attracted to pads and tracks.
This is not what I expected.

I submitted a bug report:

But it was closed and received status “as-designed”.

Maybe I don’t understand something.

For me it does work as expected:

I did notice something strange though. After the first time disabling the magnetic points in the preferences, the KiCad canvas went black. Footprints, tracks and the “paper” outline just disappeared for a while. After going to the preferences a few more times it came back. This looks like a bug.

Application: KiCad PCB Editor x86_64 on x86_64

Version: 8.0.3-8.0.3-0~ubuntu20.04.1, release build

Libraries:
	wxWidgets 3.2.2
	FreeType 2.10.1
	HarfBuzz 2.6.4
	FontConfig 2.13.1
	libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

Platform: Linux Mint 20.3, 64 bit, Little endian, wxGTK, X11, xfce, x11
OpenGL: AMD, AMD RENOIR (DRM 3.42.0, 5.15.0-113-generic, LLVM 12.0.0), 4.6 (Compatibility Profile) Mesa 21.2.6

Build Info:
	Date: Jun  4 2024 12:41:44
	wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.71.0
	OCC: 7.6.3
	Curl: 7.68.0
	ngspice: 42
	Compiler: GCC 9.4.0 with C++ ABI 1013

Build settings:

Maybe this is OS platform related - I noticed your OS is Linux, mine is Windows.
I did not experienced any graphics artifacts.

I frequently route VCC with wider track than the pads to which I route it. Snapping to pad makes my track end extending to the other pad side. I have reported a bug about it (probably 2018) suggesting to limit snapping action to some distance counted in screen pixels so just zooming in I would be able to avoid snapping to pad without avoiding snapping to grid (I want to stop routing at first grid point inside track and then reduce track width and finish track with connection to pad center (I think it is useful if footprint will be dragged in future).
The solution to avoid snapping to pad is to use Shift key while close to destination pad.

As it is now, snapping can grab the cursor and move it halfway across the screen what certainly is not the helping hand precision what for snapping was invented, I think.
I don’t see any disadvantage, and don’t imagine special coding problems in limiting snapping to some (editable or even not) screen distance.

That is true for wide tracks, but I do not find your solution a good answer. There are also open issues on gitlab for other types then round ends of tracks:

And another one:

@Piotr Can you compare these issues with the issue you have opened? Maybe they should be linked, maybe one can be closed as a duplicate.

The older one of my issues I see is 4 years old while it must have been in the past.

I found it in my mails - here it is:

Since it is somewhere else, it probably cannot be linked.

Your Launchpad issue is yet a bit different again. It’s about a (configurable?) snap distance.
There was an (already closed) issue for snapping improvement on gitlab in 2020.

And I’m not absolutely sure, but I think nothing on Launchpad is still being used for KiCad. The Launchpad website also responds extremely slow. Like 20+ seconds to show a page, and I quickly loose my patience to figure out it’s status.

I recorded a video, but for some reason Windows Game Bar did not record the opening of the menu and preferences window. Sometimes the cursor is also missing.


Perhaps I didn’t describe the problem precisely enough.
Snapping works whenever trace routing starts. Pressing the Shift key doesn’t help.
When I bring the cursor with the phantom track attached to it closer to the pad, snapping works as expected (it may be disabled).

My point is whether such action is desirable - as my bug report was marked “as-designed”. Currently I have to start creating a track from a pad with clearance checking turned off and then try to move the start of the track.

In the project shown, I am routing wide paths to the power LED.
Ideally, the tracks could have a rectangular ending in the middle of the pad. Currently I had to do fan-out (escape routing), in this case I did it using a filled rectangle.