Hello Factorio players!
So the first obvious step was to show the possible positions of the signal placement, to spare the player searching for those by moving the cursor around. The indicator shows only positions around the cursor (20 tiles radius) and it looks like this.
This is a nice improvement already, but once we have it, we can go further. The typical misunderstanding, is that people don't understand why is this signal blinking:
Signals as well as junctions always divide rails into segments. A segment is a rail with one beginning and one end, with no junctions and these segments are grouped into blocks. Two distinct blocks need to have signals on the border with the other blocks, and can't have any collisions with rails of another block. This is to make sure that a train on one block can never collide with a train on another block.
The problem with the junction, is that the curved rail collides with both the left and right segments, so it merges all of the segments into one block. This renders the signal to be useless, as it is not dividing anything.
Placing signals on these positions makes no sense, so I extended the indication and building checks, to not allow the building of useless signals in junctions. This also makes it perfectly clear, what is the closest safe location after a junction to build the signal:
Once I was done with that, I remembered another annoying issue that arises when building signals. The direction problems. One small and often hard to find error can cause a lot of confusion. It is especially important with a one way rail system, which is used by most people in the late game stage. Signals like this make no sense, as there is no exit point from the center segment:
So I decided, that it won't be possible to place a signal in the opposite direction as long as there is no exit from the block in that direction. The signal can be always upgraded to a 2-way signal, by building a signal on the opposite side (the grey marks). As long as it is not done, the indicator will only show the placement on the correct side of the rail and won't allow incorrect placements by accident. This is especially useful when signaling junctions like this:
From the little testing I did, this is going to be one of those changes that will make us wonder, how could we play without it before?