# Task: 렌더러 약점 심층 논의 + 개선 (task-296.1)

## 프로젝트 경로
`/home/jay/projects/ThreadAuto/`

## 배경
자체평가 미팅에서 도출된 약점(10점 기준):
- 시각 장치 2.9점
- 자동생성 티 3.9점
- 정보 밀도 4.0점
- 레이아웃 다양성 4.4점
- 여백 관리 4.6점

**제이회장님 직접 피드백**: "커버 하단 빈 공간 없게 배치를 비율에 맞게. 텍스트 박스 크기를 조절한다거나~"

## 작업 방식
**Phase 1**: 팀원(불칸/이리스/아테나/아르고스)과 미팅을 열어 약점 5개에 대한 **구체적 개선 방안**을 심도있게 논의. 현실적으로 PIL 기반 렌더러에서 구현 가능한 것만.
**Phase 2**: 합의된 개선 사항을 구현.

## 필수 개선 항목 (제이회장님 피드백)

### ★ 커버 수직 비율 배치 (P0 — 최우선)
**현재 문제**: render_cover()에서 요소들이 위에서부터 순차 배치되어, 키워드 pill badge 아래~브랜드명 사이에 큰 빈 공간 발생.

**현재 커버 레이아웃 (위→아래)**:
1. 카테고리 pill badge (y=72)
2. 제목 (pill 아래 +32)
3. 부제/hook (제목 아래 +16)
4. 구분선 (부제 아래 +32)
5. 키워드 pill badges (구분선 아래 +32)
6. [여기가 빈 공간 — ~300~400px 낭비]
7. 브랜드명 "서울대보험쌤" (워터마크 위 120px)
8. 워터마크 (하단 고정)

**해결 방향**: 요소들을 슬라이드 전체 높이에 비율로 분배.
- 방법 A: **수직 등간격 배치** — 전체 콘텐츠 높이를 계산하고 나머지 공간을 요소 사이에 균등 분배
- 방법 B: **영역 분할** — 상단 60%에 제목+부제, 중단 20%에 키워드+구분선, 하단 20%에 브랜드
- 방법 C: **제목 크기 자체를 키워서 공간 채움** — fit_font_size 범위를 더 크게, 또는 제목을 수직 중앙에 크게 배치
- **아테나/이리스가 가장 효과적인 방법을 미팅에서 결정**

## 논의할 약점 개선 방향

### 1. 여백 관리 (4.6점) — 커버 포함 전 슬라이드
- 커버: 위 P0 해결
- card_list: 카드 간 간격이 균일한지, 상하 여백 밸런스
- detail: info box와 TIP 사이 간격
- 모든 슬라이드에서 "콘텐츠가 슬라이드 전체를 적절히 활용"하는지 점검

### 2. 자동생성 티 제거 (3.9점)
- "기계적으로 보이는" 원인 분석: 매 슬라이드 동일 구조, 동일 패딩, 동일 간격
- **미세 변주**: 카드 간격/패딩에 약간의 랜덤 변화? (ex: ±8px)
- **글래스모피즘 강도 변주**: 슬라이드마다 card_bg opacity 미세 변경?
- **accent line 위치/길이 변주**: 상단 고정 → 슬라이드별 다른 위치?

### 3. 정보 밀도 (4.0점)
- card_list에서 카드 내부 여백이 너무 넉넉한지
- description이 짧으면 카드도 작아지는데, 그 공간을 어떻게 활용?
- **숫자/통계 하이라이트**: description 안의 숫자를 accent 색으로 강조?

### 4. 레이아웃 다양성 (4.4점)
- card_list가 연속으로 나올 때 모두 동일한 레이아웃
- **card_list 변형**: 홀수/짝수 슬라이드에서 뱃지 위치 좌/우 교차?
- **detail 변형**: info box를 가로 2열로? (1080px이면 2열 가능)

### 5. 시각 장치 (2.9점) — 현실적 범위
PIL만으로는 일러스트/아이콘이 어렵지만:
- **도형 장식**: 원, 삼각형, 사각형 등 기하학적 도형을 accent 색으로 배치
- **숫자 강조**: 큰 숫자를 배경에 투명하게 워터마크 스타일로
- **구분선 변형**: 직선 외에 점선, 그라데이션 선
- **카드 좌측 accent bar**: 각 카드 왼쪽에 4~6px 컬러 바

## 수정 대상 파일
- `renderer/cardnews.py` — 주요 수정
- `renderer/themes.py` — 필요시만
- **content/, publisher/ 수정 금지**

## 테스트 요구사항
- 모든 5개 테마 × cover/card_list/detail/cta 렌더링 테스트
- `/tmp/test_content_v2.json` 으로 render_from_slides() 파이프라인 테스트
- 결과물을 `output/weakness_improve/` 에 저장
- 특히 커버의 빈 공간이 해소되었는지 시각 확인 필수

## 산출물
1. 미팅 기록: `/home/jay/workspace/memory/meetings/2026-03-06-weakness-improve.md`
2. 수정된 코드
3. 테스트 이미지: `output/weakness_improve/`