light: AUTO and the shipped recipes ride the halved knobs too — AUTO's ceiling doubles with them so a blown frame still comes back the way it did, and each recipe's HIGHLIGHT/SHADOW doubles so its look stays on the knot it was tuned to
This commit is contained in:
@@ -81,10 +81,16 @@ export function autoExposureStops(lum: number[]): number {
|
||||
return Math.max(-AUTO_EV_MAX, Math.min(AUTO_EV_MAX, stops));
|
||||
}
|
||||
|
||||
// How far AUTO may push HIGHLIGHT and SHADOW, in the sliders' own units: half
|
||||
// of the ±10 ruler, so the frame is corrected but a hand can still finish the
|
||||
// move. The knob then reports the number AUTO chose, the way the EV knob does.
|
||||
const AUTO_TONE_MAX = 5;
|
||||
// How far AUTO may push HIGHLIGHT and SHADOW, in the sliders' own units: the
|
||||
// whole ±10 ruler, so a frame that really is clipped (or really is crushed)
|
||||
// really does come back. It was 5 when a unit of HIGHLIGHT or SHADOW moved its
|
||||
// knot a whole anchor; both now ride HALF an anchor (see a1/a3 in toneShader.ts),
|
||||
// so 5 would have halved AUTO's own correction with the knob's reach. At 10 it
|
||||
// draws the knot as far as the old number did — HIGHLIGHT to 0.625, SHADOW to
|
||||
// 0.375 — where the quarter beside it is still 0.5 of its own slope and never
|
||||
// flat — and the knob then reports the number AUTO chose, the way the EV knob
|
||||
// does.
|
||||
const AUTO_TONE_MAX = 10;
|
||||
|
||||
// The value `p` of the way up the binned ramp (0.99 for the top 1% of pixels):
|
||||
// walk the cumulative count to the first bin that passes `p * total`, and report
|
||||
|
||||
Reference in New Issue
Block a user