Yeah, I mean, the solution is clear,
Watching the various channels react to changing target shapes is really interesting. Also worth noting for your documentation: You need more circle pieces than you think, like, at least 3x as many as any other if you want to keep processing from slowing down.
I also changed your supply train paths a little: instead of 5 sets of 5 trains splitting up to deliver a single platform from each colour of train, I have it running a set of trains through all platforms directly. This makes it slower to refill platform 5 if its empty, but during normal use most of the supply trains are full most of the time so they just zip through, and this means that if one platform is running through a LOT of a shape, it gets 4-5 resupplies in quick succession.