web: move WHITE/BLACK onto the WB tab as per-channel points
LIGHT already spends its slope budget on the tone knees, so the two end points were doing nothing a tone knob could not. On WB they act on each channel's own distance from the end: the darker channel of a shadow and the brighter channel of a highlight move most, which neutralises a cast at the toe and the shoulder. Both shuffles stay cubic in the channel value, so every channel's curve is still monotonic (>= 0.46).
This commit is contained in:
@@ -105,30 +105,6 @@ export const PARAM_DEFS: {
|
||||
get: (a) => a.shadow ?? 0,
|
||||
set: (v) => ({ shadow: v }),
|
||||
},
|
||||
{
|
||||
// The end points of the tone curve: WHITE lifts/crushes the top, BLACK the
|
||||
// toe. Same range as the CREATE form's rows, so a look round-trips.
|
||||
key: 'whites',
|
||||
label: 'WHITE',
|
||||
min: -10,
|
||||
max: 10,
|
||||
step: 1,
|
||||
defaultValue: 0,
|
||||
display: sign,
|
||||
get: (a) => a.whites ?? 0,
|
||||
set: (v) => ({ whites: v }),
|
||||
},
|
||||
{
|
||||
key: 'blacks',
|
||||
label: 'BLACK',
|
||||
min: -10,
|
||||
max: 10,
|
||||
step: 1,
|
||||
defaultValue: 0,
|
||||
display: sign,
|
||||
get: (a) => a.blacks ?? 0,
|
||||
set: (v) => ({ blacks: v }),
|
||||
},
|
||||
],
|
||||
wb: [
|
||||
{
|
||||
@@ -153,6 +129,32 @@ export const PARAM_DEFS: {
|
||||
get: (a) => a.tint ?? 0,
|
||||
set: (v) => ({ tint: v }),
|
||||
},
|
||||
{
|
||||
// The two points live on WB, not on LIGHT: they shift each channel's own
|
||||
// end of the ramp, which balances a cast at the toe and the shoulder
|
||||
// rather than adding another tone knob. Same range as the CREATE form's
|
||||
// rows, so a look round-trips.
|
||||
key: 'whites',
|
||||
label: 'WHITE',
|
||||
min: -10,
|
||||
max: 10,
|
||||
step: 1,
|
||||
defaultValue: 0,
|
||||
display: sign,
|
||||
get: (a) => a.whites ?? 0,
|
||||
set: (v) => ({ whites: v }),
|
||||
},
|
||||
{
|
||||
key: 'blacks',
|
||||
label: 'BLACK',
|
||||
min: -10,
|
||||
max: 10,
|
||||
step: 1,
|
||||
defaultValue: 0,
|
||||
display: sign,
|
||||
get: (a) => a.blacks ?? 0,
|
||||
set: (v) => ({ blacks: v }),
|
||||
},
|
||||
],
|
||||
filters: [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user