OK, I think I’ve got it. I think that allowing at least a bit of N6 is an integral part of the AgX effect, and is the reason why highlights are shifted more than midtones. Let me demonstrate.
We already know that pure primaries are not subject to N6, but all other colours are, and that N6 affects bright tones more, as by increasing exposure by e.g. 1 EV will push all components along the x-axis, but, as the curve tapers off at the shoulder, high-valued components are not pushed much higher in y, while low-valued components are still at the part of the curve where the slope is high, and increase rapidly:
Midtones:
Brighter:
Here, we were starting from a red with just a bit of green added. But we want to see what happens to the red primary. Well, if we attenuate it, green and blue get some energy, red loses some energy, but it’s all balanced (the hue is still pure red, just a bit desaturated), and it simply goes to white.
If we rotate red towards green, we add some energy to the green channel, which (unless we add hue preservation) means N6 will occur, shifting bright, slightly rotated red more and more towards yellow, as values increase. Even if we perform unrotation on the red primary, the N6-shifted values will not be restored to pure red – which is exactly what we want: to shoft bright reds towards yellow.
In the plot with the triangle, O is the original value, R the result.
We shift the red by 1° and restore it:
I’ve now increased exposure by 3 EV. The hue shift increased to 0.5°:
At 6.5 EV (set as the white relative EV), the hue shift is 11.1°:
Applying hue preservation then allows us to keep the N6 in check, while still getting some shift in the primaries:
@s7habo , @garibaldi, @nwinspeare, @Qor , maybe this will be useful to you.
If you agree this is what’s going on, I’ll add this to the manual, too.