PNS allows setting vias into collision states and shorting nets

Description

With the latest changes in master, PNS occasionally forgets that vias shouldn't be set into other colliding nets:

grafik

grafik

Here's a video about the routing (very slow due to it running in debug):

collision

Steps to reproduce

  1. Use this PCB: bug_2__2_.kicad_pcb
  2. Start routing on WA11
  3. Push with an active via against WD5 / WA6
  4. See it show collisions, but still allow to place the via there:

98733A91-3CEC-4317-B0E7-55F53E21E33A

It seems the stitching via (WT-GND) might be involved when PNS starts ignoring collisions.

KiCad Version

Application: KiCad PCB Editor x64 on x64

Version: 9.0.0-rc1-6-g5e7b44938f, debug build

Libraries:
	wxWidgets 3.2.6
	FreeType 2.13.3
	HarfBuzz 10.0.1
	FontConfig 2.15.0
	libcurl/8.10.1-DEV Schannel zlib/1.3.1

Platform: Windows 11 (build 22631), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
	Date: Dec 21 2024 12:04:25
	wxWidgets: 3.2.6 (wchar_t,wx containers)
	Boost: 1.86.0
	OCC: 7.8.1
	Curl: 8.10.1-DEV
	ngspice: 43
	Compiler: Visual C++ 1942 without C++ ABI

Build settings:
	KICAD_IPC_API=ON
	KICAD_STDLIB_DEBUG=OFF
	KICAD_STDLIB_LIGHT_DEBUG=OFF
	KICAD_SANITIZE_ADDRESS=OFF
	KICAD_SANITIZE_THREADS=OFF

Locale: 
	Lang: en_GB
	Enc: UTF-8
	Num: 1,234.5
	Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)
Edited by MJay