Repository navigation
Conversation
…mes done On the streaming path the bar sat at 77% when 95% of frames were done: streaming capture only got the 25-80 band while encoding kept 80-90 for a drain that lasts under a second, because encoding is fused into capture on this path. Streaming capture now spans 25-90 via a shared helper, leaving 90-99 to assemble. The disk path keeps its 25-70 band plus a separate encode phase, which is honest there.
miguel-heygen
left a comment
There was a problem hiding this comment.
The change looks right: all 8 streaming capture call sites move to the 25-90 band, none are left on the old 55-point band, and since the encode drain starts from job.progress the bar never steps back.
One thing before it can merge: the Comments check fails on the comment ratchet. The new doc comment raises shared.ts from 17.9% (128/715) to 18.4% (134/729) comment lines, and a file's share may only go down. A one-line version keeps it under the base:
/** Streaming paths only: encoding happens inside capture, so capture spans 25-90 and assemble takes 90-99 (the disk path keeps 25-70 plus encode). */Push that and I'll approve.
….ts comment share down The Comments workflow ratchet fails when a changed source file gains comment lines and its comment share rises: shared.ts went 17.9% (128/715) to 18.4% (134/729) on the 7-line doc block for the new helper. Condense it to one line keeping the why (encoding is fused into capture); share returns to 17.9% (129/722), under the base.
miguel-heygen
left a comment
There was a problem hiding this comment.
Verified at f72b2d4 (comment trimmed to one line): all 8 streaming capture call sites move to the 25-90 band, none left on the old 55-point band; the encode drain starts from job.progress so the bar never moves back, and assemble keeps 90-99. Disk path untouched. CI green.
Summary
Fixes #7713. On the streaming render path the progress bar sat at 77% when 95% of the frames were done, because streaming capture only got the 25-80 band while encoding kept the 80-90 band for a drain that lasts under a second. Encoding is fused into capture on this path, so the 80-90 band was nearly empty by construction.
Change and scope
streamingCaptureProgresshelper inpackages/producer/src/services/render/shared.ts: streaming capture now spans 25-90, leaving 90-99 to assemble.captureStreamingStage.ts(4),captureSegmentedStage.ts(2), and the two HDR loops (1 each).Evidence and regression coverage
shared.test.ts: 2856/3000 now reads 87% (was 77%), 14912/15723 reads 87%, full capture reads 90%.bun testonshared.test.ts+captureStreamingStage.test.ts: 61 pass;captureSegmentedStage.test.ts: 40 pass.tsc --noEmitclean;oxlint0 errors;oxfmt --checkclean.Fixes #7713