Currently the train pathfinder approximately follows these priorities:
1. Unoccupied by a train.
2. Shortest path in rail pieces/distance.
3. Complicated rules with signals/blocks to decide between equal length paths.
It does not consider the colour of a signal when deciding on a path, resulting in some strange path choices as the train will not take alternate routes that bring it closer to it's destination. If red signals were weighted like a train occupying a block, these scenarios would all be corrected.
Train will not move, will not proceed to open green signal:

Train will choose path that is stopped early, will never path around red signals to get closer to destination:

Train will not enter bypass:
