TL;DR
Provide option for entities that can send their contents to the circuit network to do so with reversed polarity, to avoid the need for an arithmetic combinator for this purpose in very common automation situations, particularly where space is constrained such as on space platforms.What?
For entities that can send their contents to the circuit network connection, provide a second checkbox to tell the entity to provide its content values as negative numbers, e.g. if a chest contains 50 copper plates, checking this box would populate a signal for copper plates with a value of -50.Why?
For circuit-automated production controls, a very common design pattern is to use a constant combinator to specify target item quantities. This often requires using an arithmetic combinator to read chest or belt or lognet contents and multiply them by -1, so that when combined with the output from the constant combinator, positive values for item quantities below the target values can be fed into say an inserter filter, assembly machine recipe, asteroid crusher, etc. for automated production of various items.While this feature request would be convenient in lots of different circumstances, the best example of where this feature request is the most valuable is on space platforms, where factory real estate is especially at a premium. It is common to use circuits to provide filter signals to asteroid collectors, inserters, and crushers in order to optimize how asteroid chunks are collected, reprocessed, and ultimately processed into their end products. These processes are randomized, and while usually the solution to randomness of products is to just scale up, this is only so feasible on space platforms. Thus, there is a strong motivation for circuit control of asteroid processing on space platforms to optimize for a given objective, whether that be equalizing asteroid chunk types or concentrating a specific chunk type with reprocessing, or setting collection filters and crushing targets based on shortfalls of specific end products, e.g. calcite or ice chunks, and so on.
With the current game as of 2.0.16, this requires the setup described above, with an arithmetic combinator taking up two tiles just to flip the inventory signals to negative values so that they subtract from the target signals from the constant combinator to produce item quantity shortfall values as positive numbers. If each entity sending its contents to the circuit network could do so with negative polarity, this would easily save half a dozen arithmetic combinators for fully automated asteroid collection, reprocessing, and crushing, even on small platforms. This might not sound like a lot, but 12+ tiles on a space platform is quite considerable. For larger platforms with multiple asteroid chunk processing sections, this area savings would multiply, and since space platform tiles also affect the total platform mass, the savings would also pay dividends in terms of travel speed and/or reduction in thrusters required for a given travel speed.
In certain circumstances it's possible to just use negative values for the targets in the constant combinators, but oftentimes this requires multiplying the net values by -1 at the end anyway to convert to positive shortfall values, because inserter filters for example are only populated by positive values.
Thank you for considering this suggestion
