f28759f1e3
- Replace zero-fill with neutral gray (0.5) fill so masked background pixels stay in-distribution: 0.5 maps to ~0 in CLIP normalized space and exactly 0 after sync's [-1,1] normalization - Add mask_strength float (0–1) for partial background suppression - Add mask_clip / mask_sync booleans to toggle masking independently on the CLIP (384px) and TextSynchformer (224px) encoding paths - Fix temporal mask sampling: use fps-accurate index formula (same as _sample_frames) instead of proportional int(i*M/N) - Include mask_strength, mask_clip, mask_sync in cache hash when mask is connected, so changing any param correctly busts the cache - Log lines now report masked/skipped state and strength per path Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>