Rollback on by default; --no-rollback keeps every rip-up

Over 8 net orders it left 25 to 30 fewer connections unrouted on the
dense sense boards and 16 to 18 fewer on two PCBench boards, and was
never clearly worse. KiCad DRC on the sense harness: 41 opens to 28.
This commit is contained in:
2026-09-28 16:17:28 -06:00
parent 3462089e09
commit a2e108bc51
6 changed files with 21 additions and 17 deletions
+2 -2
View File
@@ -38,6 +38,6 @@ def test_occupancy_only_holds_routed_connections(name):
@pytest.mark.parametrize("name", ["ripup_needed.dsn", "true_density.dsn", "kicad_routable.dsn"])
def test_rollback_never_routes_fewer_than_plain_rip_up(name):
text = (FIXTURES / name).read_text()
plain, _, _ = route_dsn_board(parse_dsn(text))
undo, _, _ = route_dsn_board(parse_dsn(text), rollback=True)
plain, _, _ = route_dsn_board(parse_dsn(text), rollback=False)
undo, _, _ = route_dsn_board(parse_dsn(text))
assert undo.unrouted <= plain.unrouted