A transit network editor for designing and visualizing metro/rail systems. Draw stations and lines on a real map, then generate a clean schematic diagram.
- Map-based editing — place stations on a real OpenStreetMap base layer
- Line management — create lines with custom names and colors, draw edges per line
- Schematic generation — automatically generates an octilinear schematic diagram from the geographic layout using simulated annealing
- Frontend — React, TypeScript, Leaflet
- Backend — Rust
Terminal 1 — backend:
cd core
cargo run -p apiTerminal 2 — frontend:
cd frontend
npm install
npm run devThen open http://localhost:5173.
- Add stations — select the Add Station tool and click on the map
- Create a line — click + New Line in the sidebar, give it a name and color
- Draw edges — click Draw on a line, then click pairs of stations on the map to connect them. Edges are automatically assigned to that line. Multiple lines can share the same edge.
- Generate schematic — click Generate Schematic to produce an octilinear diagram on the right panel
- Export — use the export buttons to save your network as JSON or the diagram as SVG