From 61abfece8ef10a8657aa650b4b2df7584f915145 Mon Sep 17 00:00:00 2001 From: AI Machine Date: Sun, 19 Jul 2026 18:10:11 +0200 Subject: [PATCH] =?UTF-8?q?fix(ltx):=20Soften=20Schedule=20=E2=80=94=20war?= =?UTF-8?q?n=20once=20when=20patched=20but=20no=20usable=20sigmas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #266 review finding #2. When the hook has no reference sigma from the run AND none wired to the 'sigmas' input, it returns the original mask — correct, but silent, so a patched node on a sampler path that doesn't pass sigmas looked disabled with no signal. Emit a single warning ("soften inactive this run — connect SIGMAS") the first time it happens. Behavior unchanged (still a clean no-op); this only surfaces the state. Tests unchanged (21/21). Co-Authored-By: Claude Opus 4.8 --- k_ltx_keyframe_soften_schedule.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/k_ltx_keyframe_soften_schedule.py b/k_ltx_keyframe_soften_schedule.py index 67598e5..6f108f3 100644 --- a/k_ltx_keyframe_soften_schedule.py +++ b/k_ltx_keyframe_soften_schedule.py @@ -178,6 +178,7 @@ class LTXKeyframeSoftenSchedule: except Exception: connected_ref = None logged = [False] + warned = [False] def denoise_mask_function(sigma, denoise_mask, extra_options=None): if prev_fn is not None: @@ -202,6 +203,16 @@ class LTXKeyframeSoftenSchedule: if ref is None: ref = connected_ref if not ref or ref <= 0.0: + # No usable reference sigma from the run and none wired: the node + # is patched but inert this run. Warn ONCE so a silent no-op on a + # sampler path that doesn't pass sigmas doesn't look like a bug. + if not warned[0]: + warned[0] = True + log.warning( + "[LTXKeyframeSoftenSchedule] no usable sigmas from the run " + "and none wired to the 'sigmas' input — soften inactive this " + "run. Connect your sampler's SIGMAS to enable it.", + ) return denoise_mask try: