feat: 统一渲染引擎 + 打通一键生成全链路 #202

Merged
xiaoxia merged 6 commits from feature/unified-rendering-and-pipeline into develop 2026-07-09 22:59:19 +08:00

6 Commits

Author SHA1 Message Date
用户CI Test 015fbb6d96 fix: resolve CI lint failures (black/isort/flake8 E741)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 1m24s
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 1m25s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m57s
CI/CD Pipeline / Build Production Runtime Images (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 2m8s
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
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Successful in 3m17s
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
- Fix flake8 E741 ambiguous variable name 'l' in unified_render_service.py and test_unified_render_service.py
- Apply black formatting to 4 files
- Apply isort import sorting to 8 files
2026-07-09 22:44:26 +08:00
用户CI Test 9c99c9ea96 feat: 统一渲染引擎 + 打通一键生成全链路
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 合成 → 音频混入
2026-07-09 22:34:48 +08:00
用户CI Test 7fa3e433a2 fix: update tests for editing_mode and transition_enabled fields
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 1m41s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m42s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 1m42s
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m48s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
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
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Successful in 3m2s
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
- test_config_schemas: template config now has transition_enabled beyond plan config
- test_edit_templates_api: response schema includes editing_mode field
2026-07-09 21:06:33 +08:00
用户CI Test 6055040932 chore: update schema metadata snapshot for editing_mode field
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 40s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 40s
CI/CD Pipeline / Frontend Lint (push) Successful in 2m14s
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 3m0s
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
2026-07-09 21:02:42 +08:00
用户CI Test 45165d7ca1 style: format edit_templates.py with black
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 20s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 20s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m38s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m42s
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 / 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 / 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 (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
2026-07-09 20:53:46 +08:00
用户CI Test 9287ab9e3f feat: 扩展剪辑模板体系 + 实现剪辑计划生成器
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 9s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m35s
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 1m50s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 7s
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
- EditTemplate 新增 editing_mode 字段,支持四种剪辑模式
  (one_take/pip/voice_over/voice_pip)
- config_schemas 扩展:editing_mode + transition_enabled
- 新建 PlanGeneratorService:基于模板+素材自动生成 EditPlan
  - ONE_TAKE: 素材顺序分配给 main clips
  - PIP: 第1个素材→main,其余→overlay
  - VOICE_OVER: 素材→main clips (B-roll)
  - VOICE_PIP: 第1个→background, 第2个→corner_voice, 其余→b_roll
- 新增 POST /edit-plans/generate-from-template API 端点
- Alembic 迁移 035:edit_templates 表加 editing_mode 列
- 单元测试 32 个(14 个计划生成器 + 18 个模板 editing_mode)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 20:40:57 +08:00