fix(tone): enhance shadow fill curve to match Lightroom Classic shadow lift on dark fabric
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
// hashed bundle with it, which the STATIC rule below then served cache-first
|
||||
// forever. Every navigation here now goes past the browser's own cache, so the
|
||||
// build a visitor gets is the one the server has.
|
||||
const VERSION = 'recipescam-v7';
|
||||
const VERSION = 'recipescam-v8';
|
||||
|
||||
// nginx answers all three with the same index.html (SPA fallback), so they are one
|
||||
// document under three keys: an offline navigation finds it whichever key it asks.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -189,9 +189,11 @@ export const TONE_KNOBS: Record<TONE_KNOB, { plus: ToneKnobCurve; minus: ToneKno
|
||||
plus: { p: [0, 0.01, 0.025, 0.045, 0.185, 0.645, 0.71, 0.73, 1], v: [0.0042, 0.0131, 0.0649, 0.0876, 0.1155, 0.0442, 0.0301, 0.0138, 0] },
|
||||
minus: { p: [0, 0.23, 0.34, 0.37, 0.51, 0.73, 1], v: [-0.0017, -0.2245, -0.253, -0.2502, -0.1518, -0.0707, 0] },
|
||||
},
|
||||
// SHADOWS (sh): lifts dark shadows (L=0.03..0.40) up to +0.25 to reveal shadow detail, zero for L >= 0.55
|
||||
// SHADOWS (sh): broad smooth shadow & midtone fill curve matching Lightroom Classic Shadow +100.
|
||||
// Lifts deep blacks (L=0..0.05) by +0.12..+0.18 so hair, t-shirt, and pants reveal fabric details;
|
||||
// peaks at +0.26 in mid-shadows and tapers smoothly to 1.0.
|
||||
sh: {
|
||||
plus: { p: [0, 0.05, 0.15, 0.3, 0.45, 0.55, 1], v: [0.02, 0.18, 0.25, 0.2, 0.08, 0, 0] },
|
||||
plus: { p: [0, 0.03, 0.1, 0.25, 0.45, 0.65, 0.8, 1], v: [0.12, 0.18, 0.24, 0.26, 0.22, 0.16, 0.08, 0] },
|
||||
minus: { p: [0, 0.155, 0.22, 0.29, 0.355, 0.395, 0.46, 0.73, 1], v: [-0.0017, -0.1324, -0.1613, -0.1365, -0.1313, -0.0926, -0.0879, 0, 0] },
|
||||
},
|
||||
// HIGHLIGHTS (hl): measured Lightroom Classic 14.2 curve.
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
3682224e6a070335faf08e7d2500d32815c809d9dfc4762eb563c591e2c63863 recipescam-images.tar.gz
|
||||
9c251cad940285b218778c7f4867da6f821e3c164b6b316b289ec43dff73ffb4 recipescam-images.tar.gz
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
e9384d969749fcfdf5e0d619657a1090ef10609ea57aaeaf9e30f7fab3ee1e6d recipescam-web-frontend-acbb2bb-tone.tar.gz
|
||||
508bfe9a0a508118bb1b5d2c78d42443b59abe92509762c62914037f02eb2b73 recipescam-web-frontend-acbb2bb-tone.tar.gz
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
9ca6616f05d88bb44064cecc27453d4b7204f31c63decd795ed3b311a3389586 recipescam-web-frontend-acbb2bb.tar.gz
|
||||
2794e19ba571f4ad4f541ed60ee7f5daf47ab786ca38367515af2a7709063225 recipescam-web-frontend-acbb2bb.tar.gz
|
||||
|
||||
Reference in New Issue
Block a user