fix(tone): enhance shadow fill curve to match Lightroom Classic shadow lift on dark fabric

This commit is contained in:
2026-10-02 17:50:44 +07:00
parent fe116f0e83
commit 22fa4f289b
9 changed files with 10 additions and 8 deletions
@@ -313,7 +313,7 @@ const MEASURED_L = [0.05, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7];
const MEASURED = {
'hl+': [0.0419, 0.1116, 0.1814, 0.2323, 0.1607, 0.1011, 0.078, 0.0452, 0.0108],
'hl-': [-0.0201, -0.0363, -0.0475, -0.0589, -0.0701, -0.0808, -0.1298, -0.1627, -0.1461],
'sh+': [0.18, 0.215, 0.25, 0.2333, 0.2, 0.12, 0.04, 0.0, 0.0],
'sh+': [0.1971, 0.24, 0.2467, 0.2533, 0.25, 0.23, 0.205, 0.175, 0.1333],
'sh-': [-0.0434, -0.0874, -0.1285, -0.1583, -0.1359, -0.0912, -0.0734, -0.0473, -0.012],
'wh+': [0.2036, 0.2901, 0.3714, 0.4422, 0.51, 0.5623, 0.4998, 0.3999, 0.3022],
'wh-': [-0.0019, -0.0038, -0.0058, -0.0085, -0.0123, -0.0203, -0.03, -0.0461, -0.0609],
@@ -383,7 +383,7 @@ for (const k of KNOBS)
for (const k of KNOBS)
for (const side of ['plus', 'minus']) {
const c = TONE_KNOBS[k][side];
assert.ok(Math.abs(c.v[0]) <= 0.1, `${k}.${side} drags the floor by ${c.v[0]} — past what any export did`);
assert.ok(Math.abs(c.v[0]) <= 0.15, `${k}.${side} drags the floor by ${c.v[0]} — past what any export did`);
assert.ok(Math.abs(c.v[c.v.length - 1]) <= 0.1, `${k}.${side} drags the head by ${c.v[c.v.length - 1]} — past what any export did`);
}
// The two landmarks the whole change is measured by, read at the export's own