# task-291.1 완료 보고서: V2 렌더러 폰트 대폭 확대

## 작업 개요
제이회장님 피드백 반영: 1080×1350 카드뉴스의 모든 폰트를 2~3배 확대하여 모바일 피드 가독성/가시성 대폭 개선

## 수정 파일
- `/home/jay/projects/ThreadAuto/renderer/cardnews.py` (유일한 수정 대상)
- `renderer/themes.py` 수정 금지 → 준수 확인

## 변경 내용

### 폰트 사이즈 변경 요약

**커버 (render_cover)**
- 카테고리 pill badge: 16px → 32px (bold)
- 제목 fit_font_size: max 64/min 40 → max 140/min 80
- 부제: 22px → 42px (regular)
- 브랜드명: 28px → 48px (bold)

**본문 슬라이드 공통 (render_body, render_card_list, render_detail)**
- 슬라이드 제목: 38px → 72px (bold)
- 부제(subtitle): 18px → 36px (regular)
- 아이템 제목: 22px → 48px (bold)
- 아이템 설명: 16px → 36px (regular)
- 페이지 번호: 16px → 28px (bold)
- pill badge: 16px → 28px (bold, font_size 매개변수 추가)

**SUMMARY_CTA (render_summary_cta)**
- 제목 fit: max 56/min 36 → max 72/min 54
- 부제: 20px → 36px (regular)
- 아이템 제목: 20px → 40px (bold)
- 아이템 설명: 15px → 32px (regular)
- CTA 문구: 20px → 44px (bold)

**기타**
- 워터마크: 14px → 24px (regular)
- 원형 뱃지: badge_r 20~30 → 40~48, 숫자폰트 max(40, radius*0.85)
- tip 라벨: 16px → 32px (bold)
- tip 내용: 16px → 32px (regular)
- 요점 라벨: 20px → 40px (bold)

### 레이아웃 조정
- MARGIN: 60 → 72
- title_line_h: font_size+12 → font_size+20
- desc_line_h: font_size+8 → font_size+14
- 카드 패딩: 20~24 → 32~40
- 원형 뱃지 크기: badge_r 20~30 → 40~48
- pill badge 패딩: pad_x 20 → 24, height 동적 계산 (th+24)
- 커버 제목 영역: HEIGHT*0.35 → HEIGHT*0.40
- CTA 배너 높이: 80 → 120
- accent 라인: 4px → 6px
- render_body min_h: 200 → 300
- info_box min_h: 80 → 140

## 테스트 결과 (23/23 통과)

- 5테마 × render_cover: 5/5 통과 (5장)
- 5테마 × render_body: 5/5 통과 (5장)
- render_card_list 2테마: 2/2 통과 (2장)
- render_detail 2테마: 2/2 통과 (2장)
- render_summary_cta: 1/1 통과 (1장)
- render_from_slides 파이프라인: 5/5 통과 (5장)
- 긴 텍스트(112자) 줄바꿈: 3/3 통과 (3장)

모든 이미지 크기: 1080×1350 확인
저장 위치: `output/font_test/` (23개 파일)
테스트 스크립트: `/home/jay/projects/ThreadAuto/test_font_scale.py`

## 셀프 QC 결과
- [x] 1. 영향 파일: cardnews.py만 수정. 다른 파일 영향 없음
- [x] 2. 엣지 케이스: 빈 값, 긴 텍스트(112자), 경계값 테스트 통과
- [x] 3. 작업 지시 일치: 모든 폰트/레이아웃 목표값 정확히 적용
- [x] 4. 에러 처리/보안: 렌더링 전용 변경, 보안 이슈 없음
- [x] 5. 테스트 커버리지: 7개 테스트 요구사항 모두 수행

## 자동 검증 (qc_verify.py)
```json
{
  "task_id": "task-291.1",
  "verified_at": "2026-03-06T09:17:02",
  "overall": "WARN",
  "checks": {
    "file_check": "PASS (43964 bytes, .done 존재, report 존재)",
    "data_integrity": "WARN (task end 전이라 status=running)",
    "api_health": "SKIP",
    "test_runner": "SKIP",
    "schema_contract": "SKIP"
  }
}
```

## 마아트 독립 검증
1차 검증: FAIL 2건 + WARN 1건 발견
- FAIL-1: SUMMARY_CTA 제목 max_size=96→72 수정 완료
- FAIL-2: 원형 뱃지 숫자 폰트 max(14,r*0.8)→max(40,r*0.85) 수정 완료
- WARN-1: SUMMARY_CTA badge_r=36→40 수정 완료
수정 후 재테스트: 23/23 통과

## 버그/이슈
- 없음

## 비고
- `_draw_pill_badge` 메서드에 `font_size` 매개변수 추가 (기본값 28, 기존 호출 호환성 유지)
- 기존 인터페이스(render_all, render_from_slides) 정상 동작 확인
