1. I’d like to add my support to your undertaking. I too am excited at the potential of what you are doing.
2. Signalling. The purpose of signals is mostly to promote safety by enforcing sufficient gaps between trains (“headway”), speeds and caution to prevent collisions, but also to assist the integrity of the timetable. Traditionally, signals not only protect junctions but also subdivide a route into sections. Since you are having lineside rather than dynamic (“moving-block”) signalling, a block section approach is implicit. On the other hand, all this could get very complicated and I wouldn’t expect you to go for ultra-realism. What, then, will happen if a train catches another up? Will it stop intelligently (i.e. its braking characteristics are always assumed to be adequate to do this by line-of-sight) or will there be block sections between signals? i.e. if we put signals only at junctions, the entire route from one junction to the next will be considered a block section and no train will be admitted into it until the previous one has left it at the other end. This would be beautifully realistic!