• Stefy Lanza (nextime / spora )'s avatar
    township: generate a match shot with LongCat in one request (v0.2.38) · 611a175b
    Stefy Lanza (nextime / spora ) authored
    Plan item I, the last of the LongCat work.
    
    The tool chains clips because the server generates one clip per request and VACE
    frame-tail conditioning is the only continuation a Wan model has. That machinery exists
    to fight drift — the dual-expert and VACE-extension notes are both about chained parts
    going wrong — and every join is a re-encode.
    
    LongCat was pretrained on continuation, so:
    
    - the client-side split is LIFTED for it (_chunk_max becomes unbounded): a clip's whole
      frame budget goes in ONE request and the server runs the segment loop. Chaining it from
      here would reintroduce exactly the drift the chaining was invented to avoid. Wan/VACE
      keeps the cap it always had;
    - between DELIBERATE shots the tool still chains, because a cut is a cut — but LongCat is
      tail-capable too, so it takes the same cond_frames handover. What differs is underneath,
      not the call;
    - the tail length follows the model: 13 of 93 frames, which is what LongCat's continuation
      pretraining used, against VACE's 5. Handing it 5 would condition it on less than it
      expects. The constant is asserted against tools/longcat_common.py so the two cannot
      drift apart;
    - the log says which continuation produced a shot, because diagnosing a seam starts
      there.
    
    Server side, so a client asks for the frames it wants rather than reimplementing the
    loop: num_frames is the PER-CALL count, and a request for more than one call's worth now
    derives total_frames and lets the segment loop cover it. An explicit num_segments or
    duration_seconds still wins. Passing 400 straight through would have asked the pipeline
    for a 400-frame single call.
    
    The uploader and the odds generation are untouched — they are downstream of the frames.
    
    17 tests. No match has been rendered with it: that needs the weights.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_0182DhR1eFNPQyGmDrpHbedY
    611a175b
Name
Last commit
Last update
..
__init__.py Loading commit data...
_film_net.py Loading commit data...
_rife_ifnet.py Loading commit data...
app.py Loading commit data...
archive.py Loading commit data...
audio_backends.py Loading commit data...
audio_clean.py Loading commit data...
audio_gen.py Loading commit data...
audio_stems.py Loading commit data...
audiocraft_worker.py Loading commit data...
canary_worker.py Loading commit data...
characters.py Loading commit data...
colibri_worker.py Loading commit data...
compose.py Loading commit data...
crisperwhisper_worker.py Loading commit data...
custom_pipelines.py Loading commit data...
diarization.py Loading commit data...
ds4_kv_janitor.py Loading commit data...
ds4_worker.py Loading commit data...
embeddings.py Loading commit data...
environments.py Loading commit data...
faceswap.py Loading commit data...
fastlog.py Loading commit data...
h3_worker.py Loading commit data...
host_worker.py Loading commit data...
hub_compat.py Loading commit data...
images.py Loading commit data...
k3_worker.py Loading commit data...
kt_worker.py Loading commit data...
lipsync.py Loading commit data...
log.py Loading commit data...
longcat_worker.py Loading commit data...
lora_archs.py Loading commit data...
loras.py Loading commit data...
melotts_worker.py Loading commit data...
model_test.py Loading commit data...
models_transfer.py Loading commit data...
mux_remote.py Loading commit data...
ocr.py Loading commit data...
parler_worker.py Loading commit data...
pipelines.py Loading commit data...
pod_http.py Loading commit data...
pod_tls.py Loading commit data...
prompt_cache.py Loading commit data...
pyannote_worker.py Loading commit data...
ratelimit.py Loading commit data...
remote_gateway.py Loading commit data...
rerank.py Loading commit data...
runpod_client.py Loading commit data...
runpod_ledger.py Loading commit data...
runpod_worker.py Loading commit data...
spatial.py Loading commit data...
speaker_embeddings.py Loading commit data...
speaker_registry.py Loading commit data...
state.py Loading commit data...
stt_backends.py Loading commit data...
text.py Loading commit data...
transcriptions.py Loading commit data...
tts.py Loading commit data...
tts_backends.py Loading commit data...
uploads.py Loading commit data...
urlutils.py Loading commit data...
video.py Loading commit data...
vllm_worker.py Loading commit data...
voice_clone.py Loading commit data...
voice_convert.py Loading commit data...
vpr_salad_server.py Loading commit data...
xtts_worker.py Loading commit data...