Page 1 of 1

Selector Combinator - Quality Transfer: simplifying its functionality

Posted: Wed Nov 27, 2024 12:16 am
by Lighthouse
TL;DR
Selector Combinators should have the option to output the signal with its highest available quality among any set of signals.
What?
My use case is "Of all the input signals, what is the highest quality of signal X?"

Sample Set 1:
Image

Settings of Selector Combinator:
Image


Desired Result:
Image

Actual Result:
no signal

I understand this reason:
The Target Signal is set to Quality = Normal, which does not exist in the set of source signals. Signals with strength = 0 are not propagated/part of any output.
I could change the Target Signal to Image so the actual output would be Image, which would have the desired signal type and quality.
But the set of input signals is dynamic (e.g. items in a chest); sometimes the highest quality of signal A will be normal quality and then the target signal Image would yield zero output again.

With the current functionality this setting:
Image

would have this output (with the given set of signals above):Image

The use case for this eludes me - but may be I am using the Selector Combinator all wrong anyhow and you can add a helpful comment for me and others.
Why?
The usage of the Quality Transfer function of the Selector Combinator is hard to understand. It seems to be applicable in fewer use cases.
My use case in mind is to prioritize the (un)loading of trains/chests, which is currently not as feasible and feels buggy.

Re: Selector Combinator - Quality Transfer: adding/changing its functionality

Posted: Wed Nov 27, 2024 6:20 am
by Techjar
Can't you already do this using quality filter instead of quality transfer? And then if you need to transfer that quality you could just use 2 combinators. Unless I'm not quite understanding what you're trying to accomplish.

Re: Selector Combinator - Quality Transfer: adding/changing its functionality

Posted: Wed Nov 27, 2024 1:27 pm
by Lighthouse
No, the Quality Filter would not work. The Quality Filter outputs all signals that pass the quality filter, which is a comparison of all input signals to a specified quality.

I use the Quality Transfer in my setup to load a train with the highest available quality. The output of the Selector Combinator sets the filter of Inserters which receive its output. In the train station it works because all qualities are usually present. Later in the factory the prioritized unloading of chests does not work, because the normal quality sometimes is not present in those chests.

At first I did not understand why, thought it was a bug and I was about to create a bug ticket. Then I figured out that it was actually working according to design. But I assume that players with less circuit network expertise would have even more problems understanding the Quality Filter. So this is mostly a wish to have a simpler filter/selector that is easy to use.

As for workarounds: I connect a Constant Combinator to the input of the Selector Combinator. In my sample set this is providing Image constantly, thus making it work. Thus the solution is neither expensive nor complicated nor does it use much space. But it must not be forgotten and seems superfluous.

Re: Selector Combinator - Quality Transfer: simplifying its functionality

Posted: Sat Nov 30, 2024 7:17 pm
by blastinburn
I was really confused why my quality transfer wasn't working, so big thank you for explaining what is happening and providing the constant combinator work-around.

100% agree this is confusing and unintuitive, I was expecting it to output a chosen signal (like how other combinator outputs work) not modify an existing signal. It's silly and superfluous you need to have a constant combinator outputting a single 1 signal in order to make this combinator function work as expected.

Re: Selector Combinator - Quality Transfer: simplifying its functionality

Posted: Sat Nov 30, 2024 8:31 pm
by PureTilt
well it doesn't work in your examples coz there no A signal of normal quality (you can select signal quality in target signal) so i transfers nighest quality of signal A to signal A of normal quality but since it 0 it doesn't output anything, you want to have consonant combinator with normal quality A going in to selector and filter after to remove normal quality