9c99c9ea96
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 8s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 8s
CI/CD Pipeline / Frontend Lint (push) Successful in 2m4s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m58s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
核心变更: 1. 提取共享工具模块(ffmpeg_utils / oss_helpers / dedup_helpers) 2. 实现 UnifiedRenderService — 按 clip_type/config.role 分组为图层再合成 3. 重构 render_edit_plan() 使用 UnifiedRenderService(替换 concat demuxer) 4. 重构 generate_video() 使用 UnifiedRenderService(替换 EditingModeProcessor) 5. 集成 VideoDeduplicator 查重 6. 补 23 个单元测试 + 14 个四模式集成测试 + 6 个全链路测试 图层分组算法: main → main (z=0) main+config.role=b_roll → broll (z=0) overlay → overlay (z=1) background → background (z=-1) corner_voice → corner_voice (z=1) b_roll → broll (z=0) intro/outro → main (z=0) 合成流程:每个 clip 预处理 → 同层 xfade 串联 → overlay 合成 → 音频混入