Hi Ray,
To be clear, I approach this from a nuts-and-bolts ground-up perspective. I am ignorant of the big-picture of prototypical signaling, ctc, and so on. That is, in the linked thread someone inquired about the 3PDT method and I took it at face value. That said, perhaps this clarifies my way of thinking:
I believe this is what you call Example Two. The train positions determine the signaling output. The electronics or smarts to convert the occupancy detection information into R-Y-G signal output is performed using 3PDT relays (as used by member Chris A). Per the above diagram, this function is the bedrock.
Then, if desired, the ATC function can be built onto the signaling function. The ATC electronics is also performed with relays.
The diagram shows the R-Y-G signal for, say, block N. The R-Y-G color is a function of the occupancy in block N and block N+1. The ATC function takes the R-Y-G state and steers the appropriate track voltage to block N-1 which is before the signal.
This would be the bare-bones configuration. Then the bells-and-whistles creep in! I was studying some of Rich's real signaling. In one case it suggests if a consist is going over a switch, you want reduced speed operation even if it's clear track ahead. Makes sense to me. So now you would add another input to the occupancy detection electronics to "force" the Yellow signal state whenever the switch is in the diverge position near the signal. There are obviously dozens of conditions that might affect the signals if you want the two main loops "interacting" with each other when the switches are set to move consists between the loops. If you are willing to keep the 2 main loops independent with respect to signaling, I'd think that was the easiest and the 3PDT method gets the job done. Otherwise the sky's the limit on complexity and probably best to go with an off-the-shelf system that supports whatever complex interactions you want.
Same thinking with the ATC. If you only use the normal-reduced-stop speeds, then a few dollars in relays per block gets the job done. As Rich points out, real trains might have up to 5 (or probably more!) speeds of operation. I'd have to think about how to practically implement something like that when you have a dozen or more total zones! But if content with the bare-bones ATC, then I'd see a single toggle switch that would turn the ATC on/off to all the blocks in the loop. When ON, the ATC would control train speed by applying zero, reduced, or full voltage to the N-1 block. When OFF (for switching between loops), the ATC would simply apply, say, the NORMAL voltage to all blocks and you would manually control train speed until the correct trains on on the correct loops...and flip the ATC switch to ON and back to automatic operation. Note that even with ATC turned OFF, the signals still "work" with respect to the occupancy conditions of the loop.