TL;DR
Add train capacity-based wait conditions to make schedules work cleanly with mixed fluid/cargo trains across different wagon qualities.What?
For my uranium mining outpost, I run trains that deliver sulfuric acid and pick up ore — one schedule, two conditions: fill fluid on the way out, fill items on the way back. I built this with Item count and Fluid count conditions using hardcoded numbers.With quality cargo/fluid wagons, a wagon's capacity is no longer fixed, so those hardcoded counts break as soon as I mix wagon qualities. To get the same behavior I'd need a separate schedule per quality combination, which doesn't scale.
The existing "Full cargo" condition already solves the "no hardcoded numbers" problem, but it ANDs fluid and item fullness together — it fires only when both are full. That doesn't fit my case, where I want fluid-full/items-empty outbound and items-full/(fluid-empty) inbound.
Suggestion: add "Full Items" and "Full Fluid" as separate wait conditions, so a train fills/empties fluid and items independently. For symmetry with "Full/Empty cargo," an "Empty Items"/"Empty Fluid" pair could be added too — though this is already achievable today with Item/Fluid count conditions set to 0.
I also thought about a wildcard signal Item/Fluid capacity so it can be used in the existing Item/Fluid count conditions. This could work for Fluid capacity, but Items are bound to the number of stacks and stack size varies per item. A Stack capacity signal isn't very useful without a way to multiply it by the relevant item's stack size — and it breaks entirely if a train carries multiple items with different stack sizes.




