build_base_obstacle_map(nets_to_route=...) excludes every net being escaped,
so check_line_clearance cannot see those nets' pre-existing vias and
via_clears tests only the via centre. Measured on U2: 5 emitted stubs inside
a foreign pre-existing via's clearance floor, one at 0.0000 mm — count
identical before and after the run_output_conflict fix, so it is
pre-existing and wants its own fix in the stub check rather than an accidental
partial cover via reuse rejection.
build_base_obstacle_map(nets_to_route=...)excludes every net being escaped,so
check_line_clearancecannot see those nets' pre-existing vias andvia_clearstests only the via centre. Measured on U2: 5 emitted stubs insidea foreign pre-existing via's clearance floor, one at 0.0000 mm — count
identical before and after the run_output_conflict fix, so it is
pre-existing and wants its own fix in the stub check rather than an accidental
partial cover via reuse rejection.