On a real board, one net (V3V3 -> U1 pin 6 VDDIO) comes out of the router as two disconnected F.Cu segments that never join, leaving the pad unconnected:
Track [V3V3] on F.Cu, length 0.2436 mm @ (94.84, 94.80)
Track [V3V3] on F.Cu, length 0.9956 mm @ (95.08, 95.60)
Pad 6 [V3V3] of U1 on F.Cu @ (95.08, 94.80)
- All three are on the same layer (F.Cu), roughly collinear (x≈95.08), with a clear path between them (no pad or obstacle in the ~0.8mm gap - verified by scanning all footprint pads in the region).
- The router produced the trace fragments but did not stitch them to each other or to the pad.
- Effort-independent: identical result at effort 1, 3, 10, 25 (the board otherwise routes in ~7s, so this isn't an iteration-budget issue). It's deterministic.
- Every other net on the board (21/22) routes and connects cleanly.
Looks like a completeness gap in the final route-stitching / pad-connection step of the TinyHypergraph pipeline: it can leave a net as disjoint same-layer segments instead of one connected route (or failing the net outright).
Repro board: nRF52840 module + BME690 (U1) + OLED + USB-C, dual GND <copperpour>; available on request. Happens on AutoroutingPipelineSolver4 (the default).
On a real board, one net (V3V3 -> U1 pin 6 VDDIO) comes out of the router as two disconnected F.Cu segments that never join, leaving the pad unconnected:
Looks like a completeness gap in the final route-stitching / pad-connection step of the TinyHypergraph pipeline: it can leave a net as disjoint same-layer segments instead of one connected route (or failing the net outright).
Repro board: nRF52840 module + BME690 (U1) + OLED + USB-C, dual GND
<copperpour>; available on request. Happens onAutoroutingPipelineSolver4(the default).