To summarize things so far and address some of the predictable responses:
- The suggestion, in its current iteration, is as follows:
- Currently, when a train is approaching a chain signal, it attempts to reserve not only the block behind the chain signal but the next block on its path after that - and if that signal is also a chain signal, it tries to reserve a 3rd block as well, and so on until it finds a block with an ordinary rail signal and reserves that. If it can't reserve all the blocks it needs, it doesn't reserve any of them and waits at the first chain signal until it can.
- This behaviour would be changed as follows: when the train reserves the first non-chain block, it checks the length of that block and compares it to the length of the train. If the block is not long enough to accomodate the whole train, then it must reserve the next block after that as well, and so on until the combined length of the reserved non-chain blocks is enough to accomodate the entire train. Again, if it fails to reserve every block it needs, it stops and waits at the first chain signal.
- If, while reserving additional blocks to accommodate the train, another chain signal is encountered, the train must reserve all the chain blocks as usual - and then reserve enough space on the other side, starting from scratch
- If, while reserving blocks, the train reaches the the train stop it is heading to, it reserves the blocks and proceeds, ignoring the length check
- The biggest unanswered question of the proposal is how the chain signal should indicate when it is blocked because of a lack of room on the other side
- This suggestion isn't about 'eliminating gameplay' or 'enabling bad track design'. It's about taking something tedious and manual - checking every possible exit from a chain block to ensure the next block is large enough for every possible train - and making it automated. Isn't that what Factorio is all about? 2.0 is already giving us the ability to skip assigning specific trains to specific cargo routes; why should we still be worried about measuring block lengths by hand?