f3cabcad90
Instead of squishing the full frame to a square, optionally crops a square region around the mask bounding box (union across all frames) before resizing. Preserves aspect ratio of the subject and gives the model a focused, undistorted view. New optional inputs on SelVA Feature Extractor: - crop_to_mask (BOOLEAN, default false) — enable the crop path - crop_margin (FLOAT 0–1, default 0.1) — padding around the bbox as a fraction of the bounding box side _compute_mask_bbox: resizes mask to frame resolution, takes union over all mask frames, expands to square + margin, shifts into frame bounds to preserve square shape before clamping. Falls back to center square crop if mask is empty. Bbox is computed once from the original-resolution mask and reused for both CLIP (384px) and sync (224px) frame sequences. Combine with mask_clip/mask_sync for full background suppression on top of the crop. Cache hash includes crop_to_mask and crop_margin when mask is connected. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>