• Stefy Lanza (nextime / spora )'s avatar
    longcat: report the real denoise step, over every segment (v0.2.87) · e685859a
    Stefy Lanza (nextime / spora ) authored
    A 304-frame request sat at "generating 0/16 (0%)" for its whole nine-minute
    first segment while the service's log showed Denoising: 15/16. Two defects.
    
    The service set _progress["step"] = 0 at the start of every segment and never
    again, so the step count existed only inside the vendored pipeline's
    tqdm(total=len(timesteps), desc="Denoising") -- which takes no callback.
    Nothing reached GET /progress; the poller in video.py faithfully reported the
    0 it was handed. Each pipeline module did `from tqdm import tqdm`, so the bar
    is instrumented by rebinding the name on the MODULE (patching tqdm.tqdm would
    be too late), and only bars labelled "Denoising" are tracked so a
    checkpoint-shard bar cannot move a request's progress.
    
    The totals also counted ONE segment: a four-segment render would have run
    0->16 four times against a denominator of 16. `step` now carries the completed
    segments' offset so it counts the stage end to end, and the bar spans
    steps x segments -- with refinement excluded, being a single pass over the
    finished video. A request that asked for a duration rather than a segment
    count only learns the real count from the service, so the denominator is
    corrected on the first report, through a setter that does not restart the bar
    and lose the elapsed time the rate is derived from.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    e685859a
video.py 236 KB