Replace the sigma-progress `crossover` knob (which covered a wildly different
number of steps per sigma curve — flat front-loaded curves stretched it across
~half the run, steep curves collapsed it to ~1 step) with `protect_until`: a
FRACTION OF THE STEPS, resolved against the sampler's ACTUAL schedule at run
time via resolve_soften_window(). 0.4 now means "soften the first 40% of the
steps" on any curve / step count — no per-schedule re-tuning.
Add an optional SIGMAS input + an `info` STRING output so the resolved window
(softened steps + sigma range) is visible in-graph via a text node. A coverage
line is also logged at run time. max_soften (amplitude) is unchanged.
Pure resolve_soften_window unit-tested (6 cases incl. curve-independence);
model wiring render-validated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>