Logistic-Train-Network icon indicating copy to clipboard operation
Logistic-Train-Network copied to clipboard

Enhancement: Waypoint signal

Open thatspsychotic opened this issue 2 years ago • 0 comments

TL;DR Add an "encoded waypoint ID" circuit signal type and "waypoint rail signal" entity for finer-grained train pathing control

What ? Overall idea is to be able to place a "waypoint" rail signal on a rail section (or some other mechanism to denote location) that adds a temporary stop (zero time) at that location to the train schedule when the destination LTN station is being fed an "encoded waypoint ID" that matches the value being fed to the "waypoint" rail signal. "Encoded waypoint ID" signal value would behave similar to the "encoded network ID" behavior. The temporary stops would be set at the time that the train schedule is generated, without updating if signal conditions change. Bonus points if this can be achieved without a new signal entity.

For example, for a waypoint rail signal being fed a value of 3, LTN trains with destination stations being fed a value of 1 or 2 would have a temporary stop at the location of the waypoint rail signal added to the schedule prior to the destination. As well, a train schedule with a destination station being fed a value of 3 would have temporary stops for waypoints being fed 1 and 2 (if they exist) added to the schedule, in order from lowest to highest value.

Why ? One use case for waypoints is for train stackers that service multiple stations. Using waypoint rail signals in the stacker lanes would allow making the stacker lanes fit 2 or 3 trains in series with the same destination station. Without waypoints, stackers like this have the problem of a train waiting for a station blocking a train behind it whose destination station is open. Using waypoints (as long as every station serviced by the stacker has this implemented) would get around this issue. The idea is similar to using VLANs in networking, segmenting the physical rail network into virtual paths when a specific behavior is wanted. With a generic waypoint implementation though, there is ample opportunity for unique use cases (and frustrating mis-implementations) to come to life. I realize it's not a small ask, but there could be quite a bit of value.

thatspsychotic avatar Mar 08 '22 22:03 thatspsychotic