Commit graph

3 commits

Author SHA1 Message Date
8401aa3d37 fix: bound synthetic silence beds with atrim — unbounded anullsrc deadlocked concat
Card and audio-less-clip anullsrc sources are infinite; concat never
terminates an infinite segment, so the encode hung forever at 30%. atrim
pins each bed to its item's span (card duration / clip trim).
2026-10-16 22:16:53 +00:00
6373715ffe fix: allow .bin scratch names in the assemble builder
Direct-object sources download as <sha>.bin (scratchAssetName's fallback for
non-sha256 keys); the allowlist rejected them before spawn.
2026-10-16 22:01:16 +00:00
10dfda3b7c feat: editor-v2 assemble lane — multi-clip/card timeline rendering in the worker
Per the adopted qwen38 plan §2 (+ glm53 amendments): video_processing_jobs
kind 'assemble' (claim widened via 044), EdlPlan mirror validation
(lenient-fail), the filter_complex builder (interleaved concat pairs, fit
cover/contain chains, absolute-timeline PNG overlays with enable windows,
VO adelay/sidechain duck, hard-breaking word wrap for card PNGs), and the
runner's assemble path with pre-spawn trim gates, attempt backoff and 15-min
cap. Sources open by magic (SPENC1 kek / SPENC2 direct key) so direct-to-R2
uploads assemble without the api ever seeing bytes. Tests: builder 18,
edl-plan 12, overlay-png 3, runner fakes extended.
2026-10-16 21:12:55 +00:00