Table of Contents

Interlocking Route Programming Rework

Collection of goals and things to keep in mind working on route_prog_rework

General action plan (steps):

  1. Create a new, better formspec railway map (like itrainmap) with extension points
  2. Create a new route programming and editing procedure
  3. (later) Signalbox view (Example)

Formspec railmap

Current plan is to use a grid of label[ elements containing the asterisk * or hashtag # character in different colors to render the tracks.

New route programming

With the reworked system, it must be possible to edit routes after creation. Also, the process should be less manual.

Autorouter

Most routes (esp. main routes) follow a simple pattern: signal to signal. It would make sense to search and add useful routes automatically.

Better consistency of track sections

Track section consistency should be taken more seriously, and be automatically enforced. Situations like “same TS on both sides of a TCB” must not occur, and in this case section should be split automatically instead of relying on the user to fix this. Same for track sections that were joined. This can be done by simple walk searches using the new TrackIterator.

Routes should fix up as far as they can. If they cannot, they should be marked as “faulty” and the user can fix them in edit mode. In case of autorouter, there should be an option to autoroute again.

Proper shunt routes

The existing implementation does not allow for real shunt/call-on routes, because a route cannot be set into a section that is blocked.

More things to fix along the way

Add more as it appears.