Repository navigation
v0.30.0
Highlights
Export quality
- BT.709 color space tagged on every output (container + VUI metadata via
setparams). Prevents color shifts on Safari, TVs, and mobile players. - x264 adaptive quantization (
aq-mode=3:aq-strength=0.8:deblock=1,1) kills gradient banding on dark-theme recordings. - Full-range → TV-range conversion (
scale=in_range=pc:out_range=tv) so blacks don't clip. - GPU encoder auto-detection — VideoToolbox (macOS), NVENC (NVIDIA), VAAPI (Linux), QSV (Intel). 3–10× speedup typical. Opt out with
ARGO_USE_GPU=0for deterministic CI. - Blur-fill variants (
1:1,9:16) inherit the same treatment.
Overlay blocks
Curated catalog for narrative inserts. Drop them into .scenes.json via overlay: { type: 'block', block: '<name>', props: {...} }:
x-post— social proof cardmacos-notification— system-style banneryt-lower-third— speaker intro with accent bardata-chart— compact bar/line SVG for metricsspotify-card— now-playing card
WebGL shader transitions
5 shaders adapted from gl-transitions.com (MIT). Pre-rendered via Playwright Chromium, content-addressed cached. Configure with transition: { type: 'shader', shader: '<name>', durationMs: 800 }:
crosswarp·swirl·ripple·luma-mask·light-leak
Per-demo config discovery
demos/<name>.config.{ts,js,mjs} auto-loads — no -c flag needed. Explicit -c still wins.
Fixes
filter_complexrouting when downstream stages add-iinputs- VAAPI
hwuploaddeferred to last filter - Playwright
testMatchscoped to exact demo file (no longer runs all*.demo.tson substring match) - Shader splice clamps transition windows near video start/end; skips boundaries with no room
data-chartescapesaccentColorto prevent SVG attribute injectiondetectGpuEncodercaches null results — no-GPU machines don't re-probe every export- CI workflow installs ffmpeg for shader integration tests
Stats
50+ commits · 552 tests · 3 showcase videos in videos/ (showcase, blocks-showcase, shaders-showcase)
Full changelog: v0.29.2...v0.30.0