# ThreadAuto 영상 엔진 E2E 렌더링 테스트

## 목표
task-659.1에서 구현한 영상 엔진 통합(pipeline_orchestrator + Remotion 시각 강화)의 **실제 E2E 렌더링 테스트**를 수행한다.

## 프로젝트 경로
- ThreadAuto: `/home/jay/projects/ThreadAuto/`
- pipeline_orchestrator: `video/pipeline_orchestrator.py`
- Remotion: `remotion/`

## 인프라 현황
- RAM: 7.7GB + Swap 4GB (`/swap.img`) — 이미 설정 완료
- Remotion 렌더링 옵션: `--gl=swangle --concurrency=1`

## 테스트 절차

### 1. Remotion 환경 확인
- `cd /home/jay/projects/ThreadAuto/remotion && npm install` (lucide-react 포함)
- `npx tsc --noEmit` — TypeScript 컴파일 에러 없는지 확인
- Chromium 바이너리 확인: `npx remotion browser ensure`

### 2. 단일 장면 렌더링 테스트 (Still)
- render_bridge.py의 `render_still()` 호출하여 단일 장면 PNG 출력
- 5개 Scene 타입(hook/checklist/data/info/cta) 각각 1개씩 렌더링
- 결과 PNG 저장: `/home/jay/projects/ThreadAuto/output/test_stills/`
- 확인: lucide 아이콘 표시 여부, 레이아웃 variant 적용 여부, Vignette 효과

### 3. 영상 렌더링 테스트 (Video)
- 테스트용 slides JSON 준비 (파이프라인 출력 또는 하드코딩)
- pipeline_orchestrator.py의 `generate_shortform_video()` 호출
- TTS 생성 → duration 측정 → Remotion 무음 영상 → FFmpeg mux
- 결과 MP4 저장: `/home/jay/projects/ThreadAuto/output/test_video.mp4`
- 사양: 1080x1920(9:16), 30fps

### 4. 검증 항목
1. OOM 없이 렌더링 완료 (메모리 모니터링)
2. 에반 6원칙 시각적 확인 (검정배경, 테마색상, 레이아웃변주, 타이핑, 시간차, 다이나믹)
3. TTS-영상 싱크 (나레이션 시작-종료와 장면 전환 타이밍 일치)
4. 아이콘 렌더링 (lucide SVG 정상 표시)
5. 최종 MP4 파일 크기/길이 적정성 (30~90초)

### 5. 문제 발생 시
- OOM: concurrency 조정, swangle 확인
- Chromium 미설치: `npx remotion browser ensure` 실행
- TypeScript 에러: 원인 파악 후 수정
- FFmpeg mux 실패: 오디오 포맷/코덱 확인

## 산출물
1. 테스트 보고서: `memory/reports/task-661.1.md`
2. Still 이미지 5장: `output/test_stills/`
3. 테스트 영상 MP4: `output/test_video.mp4`
4. 발견된 버그/이슈 목록 및 수정 사항

## 참고
- task-659.1 보고서: `/home/jay/workspace/memory/reports/task-659.1.md`
- pipeline_orchestrator.py: `/home/jay/projects/ThreadAuto/video/pipeline_orchestrator.py`
- render_bridge.py: `/home/jay/projects/ThreadAuto/remotion/render_bridge.py`