-
Stefy Lanza (nextime / spora ) authored
Downloads: run each model download in a clean `python -m codai.admin.download_worker` subprocess streaming JSON progress, so the Stop button reliably cancels by terminating the process (HF parallel/Xet chunk transfers ignore in-thread flags). Adds download-cancel-all. Avoids multiprocessing spawn, which re-imports the server launcher as __main__. VACE extension: detect WanVACEPipeline; new 'extend' mode + cond_frames request field condition on the previous chained part's frame tail (real motion -> forward continuation, fixing the single-frame boomerang). _build_vace_conditioning builds the (video, mask) pair; _snap_wan_frames enforces 4k+1; only the freshly generated frames are returned. VACE also serves keyframe i2v / t2v via masking; i2v/t2v fallbacks skipped for it. Township auto-uses extend for chained parts when the model is VACE. Fight prompts: full-MMA system prompt + rotating per-clip action focus (kicks/knees/elbows/takedowns/ground/submissions) and occasional blood, rebalanced fallback templates, keyframe wardrobe enforcement. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
0b355364