Rename to rpmroute

The router began as a port of FreeRouting and has grown its own engine
(negotiated congestion, tree nets, exact checks, axis escapes), and
'freeroute' was one letter from the project it no longer follows. The
package, module and command are now rpmroute; the freeroute command stays
as an alias, and the RPMROUTE / RPMROUTE_ORACLE_JAVA variables fall back
to the old FREEROUTE names. Version 2026.10.07. Routing is unchanged: a
PCBench board routes to a byte-identical session either way.
This commit is contained in:
2026-10-07 14:10:36 -06:00
parent 45aee463a8
commit a6aa1991a1
95 changed files with 346 additions and 334 deletions
+11 -11
View File
@@ -32,12 +32,12 @@ import sys
import pytest
from freeroute.board import build_board
from freeroute.dsn import parse_dsn
from freeroute.dsn.sexp import parse
from freeroute.geometry import IntBox, IntPoint, Polyline, PolylineShape
from freeroute.route import route, route_dsn_board_exact, route_dsn_board_rooms
from freeroute.route.pipeline import _rule_clearance_dsn
from rpmroute.board import build_board
from rpmroute.dsn import parse_dsn
from rpmroute.dsn.sexp import parse
from rpmroute.geometry import IntBox, IntPoint, Polyline, PolylineShape
from rpmroute.route import route, route_dsn_board_exact, route_dsn_board_rooms
from rpmroute.route.pipeline import _rule_clearance_dsn
def _emitted_drc_violations(result, clearance):
@@ -265,8 +265,8 @@ def test_shove_is_byte_identical_on_foundation_fixtures(fixture):
def test_project_gate_reduces_to_clamp_without_occupancy():
from freeroute.board.search_tree import ShapeSearchTree
from freeroute.route.room_router import _Door, _edge_gate, _project_gate
from rpmroute.board.search_tree import ShapeSearchTree
from rpmroute.route.room_router import _Door, _edge_gate, _project_gate
door = _Door(other=1, kind="edge", lo=IntPoint(0, 100), hi=IntPoint(200, 100))
tree = ShapeSearchTree()
@@ -277,8 +277,8 @@ def test_project_gate_reduces_to_clamp_without_occupancy():
def test_project_gate_avoids_other_net_copper_on_the_door():
from freeroute.board.search_tree import ShapeSearchTree, TreeShape
from freeroute.route.room_router import _Door, _project_gate
from rpmroute.board.search_tree import ShapeSearchTree, TreeShape
from rpmroute.route.room_router import _Door, _project_gate
door = _Door(other=1, kind="edge", lo=IntPoint(0, 100), hi=IntPoint(200, 100))
tree = ShapeSearchTree()
@@ -293,7 +293,7 @@ def test_project_gate_avoids_other_net_copper_on_the_door():
def test_free_intervals_splits_around_forbidden_band():
from freeroute.route.room_router import _best_free_point, _free_intervals
from rpmroute.route.room_router import _best_free_point, _free_intervals
free = _free_intervals(0, 200, [(87, 113)])
assert free == [(0, 87), (113, 200)]