I pride myself in the fact that, when I give advice and people follow it, their life usually improves. And people who keep ignoring them often complain that darktable is bad, scene-referred sucks, and why-the-fuck-did-you-change-display-referred-that-got-me-faster-results. But said advice usually have a context, out of which they become irrelevant.
The context of scene-referred is a need for more accurate colorimetry as sensor dynamic ranges increased while display dynamic range stayed mostly the same. Namely, I got a Nikon D810, and while everyone praised it for its “HDR” capabilities (13.something EV at 64 ISO), I couldn’t get good color out of raised shadows for the life of me.
More accurate is linked to scalable color models. And, by definition, the only scalable operators are linear, aka proportional to light emission, aka exposure-independent. That’s why scene-referred: it’s exposure-independent and output-agnostic. Much more robust (and, yes, more complicated).
In 2018, I created filmic off Troy’s filmic plugin for Blender, and adapted it to darktable’s pipeline requirements. I’m currently finishing the v6 with built-in gamut mapping.
Then I said “basecurve is bad”. But then I said why. And people forgot the “why” part. Which leads to people citing stuff I said 3 years ago out of context.
In 2018, darktable’s pipeline was rigid : the order in which modules were applied was determined at compilation time, based on a graph-dependency solve. Meaning users couldn’t change the order of modules in the pipeline.
In this rigid pipeline, base curve happened before input profile, which is, for RAW pictures, a matrix profile. Yet matrix profiles are linear and expect linear input. Putting (the heavily non-linear) base curve before the profile voided its core assumptions, leading to very bad colors that were magnified as shadows were brightened to recover HDR-like scenes.
That’s where I created another module, put at the end of the pipeline, to do essentially the same thing with a different GUI. That went into darktable 2.6.
Now, when darktable 3.0 introduced the ability to reorder the pipeline, base curve was moved by default pretty much at the same place as filmic by default (unless you use the legacy pipe order). So now, base curve is color-safe, as far as color profiles and chromatic adaptation are concerned.
So, as of darktable 3.0 and later, base curve or filmic achieve the same goal mostly the same way (you get those chromaticity-preserving norms in base curve too), the only difference being in the GUI and the ability to scale the curve look to the input dynamic range.
So filmic is essentially a base curve with a different GUI. And a shitload of other features because just applying a tone curve is not nearly enough to get a smooth highlights roll-off. But, now, filmic or base curve is pretty much a matter of taste, and whether you keep a pipeline normalized between [0;1] or not.