Let's now try to analyze another idea in parallel. We keep portals in mind, we're not dropping it (in its various forms), but let's compare it with a concept that was proposed here earlier: a pylon network for terminals, which removes the throughput restriction for them.
Terminal nodes
StructureTerminalNode can be built in any owned/unowned room, limit of 1 per room. It's an inexpensive static unowned structure with no special methods or properties. Stats, for example: 10K construction cost, 500K hits, decay 1000 hits per 100 ticks.
Incoming terminal transfers throughput is limited to 50/tick only if there is no continuous path of nodes or terminals leading to the sender (if a room has a terminal, it counts in place of a node). Each send and deal triggers a lightweight pathfinding check across the entire shard room grid to determine whether a path exists from one terminal to another. In a cluster of adjacent owned rooms each containing a terminal, building nodes won't be necessary at all. If there are gaps of rooms without terminals, those need to be filled with nodes — and they can be destroyed to break the path. Maybe a new method Game.market.checkTerminalNodes(room1, room2) would be beneficial for checking before sending.
The throughput boost via OPERATE_TERMINAL might be better off dropped entirely, it makes things too easy. The only way to maintain terminal throughput should be to maintain the network.
Unlike portals, this doesn't provide any power projection and isn't nearly as global a feature, but it aligns well with the upcoming terminal throughput changes.