Router can place traces that violate DRC
Description
When routing tracks, using the push and shove router, it's possible to create a track that violates DRC.
Steps to reproduce
- Begin a trace and route near a via so that it gets shoved. (Screenshot 1)
- Move the cursor a single grid (in this case 0.05mm) away. The via returns to its location but the trace remains.
- Click and the track is placed. (Screenshot 2)
- Carry on routing the trace. (Screenshot 3)
Doesn't occur for me unless the grid is 0.05mm or less. Track width is 0.15mm, clearance is 0.15mm, I'm not sure if that's needed to recreate the issue.
The level to which you can carry on varies for me, sometimes it's barely noticeable, sometimes I have to wiggle the mouse around a bit. I'm finding this happens to be a fair amount, as I'm used to just running and clicking the mouse about for the router to generate path options. DRC check does catch this later. I've only checked to see if this happens near a via. In this example, the trace is on an internal layer.
KiCad Version
Application: KiCad PCB Editor (64-bit)
Version: (6.0.1), release build
Libraries:
wxWidgets 3.1.5
libcurl/7.78.0-DEV Schannel zlib/1.2.11
Platform: Windows 10 (build 19042), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
Date: Jan 15 2022 13:36:27
wxWidgets: 3.1.5 (wchar_t,wx containers)
Boost: 1.76.0
OCC: 7.5.0
Curl: 7.78.0-DEV
ngspice: 35
Compiler: Visual C++ 1929 without C++ ABI
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON