During regular curves adjustment hues are shifted especially blues and yellows. This problem can be solved using Film-like curve originally created by Adobe: (So how does actually Adobe’s tone curve work? It’s an RGB curve where the tone curve is applied on the largest and smallest value, and then the middle value is adapted to keep a constant hue as defined by RGB-HSL/HSV. In terms of look and saturation increase it’s very similar to a pure RGB curve, more so than a HSL-L curve or HSV-V curve, but some color shift problems are avoided.) from: https://www.ludd.ltu.se/~torger/dcamprof.html#tone_curves This feature is implemented in RawTherapee and currently in Natron. It also fits Krita where linear workflow is used for painting. With this curve type hue shifts can be avoided during final curves adjustment using adjustment layers. http://rawpedia.rawtherapee.com/Exposure#Film-Like Additional reading: http://scribble-jpc.blogspot.com/2012/09/in-search-of-perfect-color-new-tone.html Source (AdobeToneCurve) https://github.com/Beep6581/RawTherapee/blob/dev/rtengine/curves.h https://github.com/Beep6581/RawTherapee/blob/dev/rtengine/curves.cc Sidenote: there are also more curve types available inside source that can be implemented along adobe type.
Relevant code (from Natron dev): https://github.com/Beep6581/RawTherapee/blob/3ff2519302e3bc529b111462a4697ac4dfba30c4/rtengine/curves.h#L919 https://github.com/Beep6581/RawTherapee/blob/3ff2519302e3bc529b111462a4697ac4dfba30c4/rtengine/curves.h#L974
Now, after 5.0, maybe there's chance to include this into roadmap?