Treat KiCad /net vs schematic net as one hierarchy finding.

Pad-net compare strips leading slash and nested sheet path so /ESP32_EN
matches ESP32_EN. If every mismatch is only that prefix, emit PE-LAY-003
once instead of per-pad reconnect errors.
This commit is contained in:
2026-09-20 08:10:34 +02:00
parent 89a484830e
commit f3f96ea4d1
4 changed files with 208 additions and 26 deletions
+2 -1
View File
@@ -14,6 +14,7 @@ from pydantic import BaseModel
from backend.periscopex.functional_groups import FunctionalGroupsReport, PlacementIcGroup
from backend.periscopex.models import DesignGraph, LayoutGraph, LayoutPad
from backend.periscopex.pcb_net_match import kicad_nets_match
SkipReason = Literal[
"no_pcb_footprints",
@@ -179,7 +180,7 @@ def _anchor_pad(
return pad
# No matching pad number — pick any pad on that net.
for pad in fp.pads:
if pad.net and pad.net == net:
if pad.net and kicad_nets_match(pad.net, net):
return pad
# Prefer a pad on a power-looking net shared with decoupling sats.
for pad in fp.pads: