TL;DR
The default output quality should be determined by the minimum quality of all available inputs, and nothing else, including no selection in an assembler.What?
Currently, the target quality has to be selected in assemblers. This determines which inputs are accepted; they must match exactly (no worse and no better).I propose that higher quality input should always be accepted as valid input to a lower tier recipe.
Assemblers should not offer to select a target quality. Instead, they should always produce items of the lowest common quality among its inputs.
Why?
In another post, someone wrote:> Treat items of a different Quality as a belt contaminant. Remove it with a Splitter filtered to that contaminant. Put it either into a box, or route it to where you want it used.
Now, it does work. It is easy to have quality be a separate line, to build closed loops to produce good quality items. But it simply does not make sense that we have to do that.
Imagine you're working at an assembly line in a factory. You job is to take an A thing, cut it in half and drop it in a box. Usually the A thing is kind of scratched up and has sharp edges, but you don't care, you are careful about the edges and the resulting product is still good enough. But one day, you get an A thing that is not scratched. In fact, it looks like it was lovingly polished, so you handle it easily without gloves. Now what do you do? Answer: You refuse to use it because it does not pose a danger to your health, like usual items would. Makes sense? Certainly not!
Higher quality input should always be accepted as valid input to a lower tier recipe. This way good quality items do not "contaminate" a belt. The worst case is now that their quality is lost uselessly, but at least they do not nonsensically clog everything up. Note that, to get better quality, the player would have to do custom item routing anyway, so there is no difference if the player does want to do that. So this is easier and more robust with no downside at all.
In the same tune, also change assemblers to always produce items of the lowest common quality among its inputs. That way, you don't need to specify the target quality. You simply put it lots of quality input, and the result will have the same quality without need to change anything. I found it annoying to keep selecting qualities over and over again when I simply wanted to get something built. I can figure out which quality input to request or route to the assembler later, and I can change the output simply by changing the input, but not the recipe. So I either don't care about quality and it still works; or if I want quality, I have to do the same work as I would have to do anyway. Again, easier with no downside.
To reiterate, these changes would not change the complexity of builds that use quality. It may break existing builds but is reasonably easy to implement. It would not affect builds that do not use quality. What it does is to make quality more fluent, easier to use, with fewer clicks and less UI clutter.
I think this can be somewhat annoying to implement, as it deviates from usual recipes and requires a notable change to the game engine. But many players have a love-hate relationship with quality, and felt forced to separate instead of integrate it. I think it is fair to say that it is one of the least polished interactions the game currently offers.