[Bug] Packer throughput problems

Packer won’t accept new input while a box is waiting to be output from its built-in belt. This doesn’t appear to match the behavior of other machines. For example, the pill printer will accept the next unit of input even if a pill hasn’t had a chance to exit the machine yet, and the pill will come out as soon as the output belt has a chance to move.

This is exacerbated by the fact that T junctions aren’t prioritizing accepting output boxes from an adjacent packer over an adjacent input belt. In most other situations, particularly with machines like pill printers, the machine output typically gets preference and moves out onto the T junction even if there is an item waiting on the adjacent belt that also wants to move into the T.

Reproduction:

Research packers, do not upgrade (or use more packers to match the upgrade level). Place two packers side by side (touching) with a belt running across in front of them, connecting their outputs. Continue that belt past one of the packers, creating a T junction in front of it, attaching it to a socket for output. Place two pill printers behind each packer with just enough room to connect each pair to the respective packer with belts. Set up some simple drug production to feed both pairs of printers.

If a box from the first packer is waiting to move into the T junction, the T will accept that box even if the attached packer has output ready, and that packer will stall, not accepting any input and causing the entire production line behind it to skip a day. This results in frequent gaps on the output belt, significantly degrading the utility of the packer.

Thanks for the bug report. I will try to get this fixed.

I think this might be fixed from v0.45.02. Can you check?