mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-26 11:09:23 -06:00
`tol = 0.04 + 0.16·refine` fully selected anything within 0.06 OkLab of a sample at the default Refine 50. Through `tonemap_for_select` the report's teal mid-grey and neutral light grey are only ~0.063 apart (L 0.60 vs 0.72, a/b ≤ 0.02), so the second patch was 99 % selected and the mask covered the whole photo; Refine 85 and 100 kept most of it too. Now `0.015 + 0.06·refine` (full ≤ 0.0225 / gone ≥ 0.045 at Refine 50, gone ≥ 0.066 at 85, 0.075 at 100), computed once in `lightcraft_pipeline::masks::color_range_tolerance` and used by both the CPU evaluator and the GPU `mask.wgsl` kind-3 parameter so the two keep agreeing. Test: two flat patches at the report's sRGB values, sampled as `mask.sampleColor` does; the sampled patch stays fully selected and the other one is out at Refine 0, 50 and 85 and mostly out at 100. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>