Replace torch.cat with pre-allocated tensor + in-place copy.
Clone only small context slices for blending instead of holding
full source/vace tensors during the blend loop.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Middle Extend: split_index=0 now auto-splits at B//2 instead of empty first half
- Middle Extend/Replace: raise ValueError when split_index >= frame count
- Merge blend loops: add bounds checks to prevent index-out-of-bounds
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add source_clip_2 and original_clip_2 to README input tables, update
Join Extend mode reference with two-clip diagram, update MergeBack
description and behavior section, fix mode output type label.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SourcePrep gets optional source_clip_2 input — when connected in Join
Extend mode, joins two separate clips instead of splitting one in half.
MergeBack gets optional original_clip_2 to reconstruct the full result
from both originals. Single-clip behavior is unchanged.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace 3 separate forceInput wires (mode, trim_start, trim_end) plus
mask and blend_frames with a single VACE_PIPE dict carrying mode, trim
bounds, and context frame counts. SourcePrep outputs reduced from 12 to
7 (segments removed), MergeBack inputs reduced from 9 to 5. Blending
now auto-derives from context counts instead of manual blend_frames.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a new node that reconstructs full-length video by splicing VACE
sampler output back into the original clip at the trim positions. Supports
optical flow, alpha, and hard-cut blending at context/generated seams.
Also adds trim_start/trim_end INT outputs to VACESourcePrep.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>