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
+3 -3
View File
@@ -90,7 +90,7 @@ this is the structure the Python `reader.py` mirrors):
**Python port status:** items 1 (tokenizer), the shape grammar, and every
structure/library/network/placement/parser/resolution scope above are
implemented in `src/freeroute/dsn/` this session (see below).
implemented in `src/rpmroute/dsn/` this session (see below).
## 2. Board data model — `board/`
@@ -175,7 +175,7 @@ converge toward FreeRouting's free-space rooms. Not started this session.
into the read result).
## Port order (this file drives the roadmap)
1. **DSN parser** — done this session (`src/freeroute/dsn/`).
1. **DSN parser** — done this session (`src/rpmroute/dsn/`).
2. **SES writer** — next. Start with an empty/no-op session to prove the loop
end-to-end through `kicad-cli pcb import specctra-ses`. See `SesWriter.java`
and `SpecctraSesFileWriter.java`: `(session <name> (base_design <name>)
@@ -184,6 +184,6 @@ converge toward FreeRouting's free-space rooms. Not started this session.
3. **Geometry primitives** — `geometry/planar` subset needed by the board model.
4. **Board model** — `board` items + spatial index.
5. **Autorouter** — maze/rip-up core, then optimize pass.
6. **CLI + kicad-mcp integration** — `freeroute board.dsn -o board.ses`.
6. **CLI + kicad-mcp integration** — `rpmroute board.dsn -o board.ses`.
</content>
</invoke>