# ThreadAuto 카드뉴스 디자인 일관성·완성도 전체 미팅

**일시**: 2026-03-06 07:10 KST
**참석자**: 헤르메스(팀장), 비너스(디자인센터), 불칸(백엔드), 이리스(프론트), 아테나(UX/UI), 아르고스(테스터)
**검토 대상**: PurplePink 테마 7장 이미지 + renderer/cardnews.py, themes.py, engine.py

---

## 1. 주요 발견사항 (합의)

### 즉시 수정 완료 (6건)

| # | 문제 | 심각도 | 수정 내용 | 파일 |
|---|------|--------|----------|------|
| 1 | CTA 이모지 깨짐 (PIL 미지원) | 높음 | `_strip_emoji()` 함수로 이모지 제거 | cardnews.py |
| 2 | CTA 버튼 텍스트 좌측 치우침 | 높음 | `btn_x + 40` → 중앙 정렬 계산 | cardnews.py:853-857 |
| 3 | 어두운 테마 카드 불투명도 부족 | 중간 | NavyGold 14→28, BlackRed 10→22, PurplePink 12→25 | themes.py |
| 4 | CTA 상단 라인 8px→6px 통일 | 낮음 | 6px로 통일 | cardnews.py:768 |
| 5 | 그라데이션 렌더링 성능 | 중간 | 픽셀 루프 → `draw.line()` (98% 성능 향상) | cardnews.py:166-175 |
| 6 | Pattern A 구분선 고정 200px | 낮음 | `text_w * 0.38` 비율화 | cardnews.py:503 |

### 별도 태스크로 분리 (4건, 리팩토링 필요)

| # | 문제 | 영향 | 예상 소요 |
|---|------|------|----------|
| R1 | 콘텐츠 부족 시 카드 하단 60% 공백 (동적 카드 높이 필요) | 전체 본문 슬라이드 | 2-3일 |
| R2 | Pattern A/B 시각적 차별화 부재 (스크롤 스탑 효과 소멸) | UX | 2-3일 |
| R3 | CTA 슬라이드 전면 재설계 (레이아웃 불균형) | 마케팅 전환율 | 1일 |
| R4 | 한글 어절 단위 줄바꿈 (현재 글자 단위) | 가독성 | 1일 |

---

## 2. 참석자별 핵심 의견

### 비너스 (디자인센터)
- 종합 점수: 5.5/10. "콘텐츠 부족 시 공백 문제가 아마추어 인상의 주범"
- 표지 시각적 무게중심이 기하 중앙보다 아래쪽으로 쏠림 (광학 중앙 0.42 권장)
- 넘버 배지-제목 텍스트 수직 기준선 어긋남
- 라인 높이 계산 불일치 (8, 10, 12로 메서드마다 다름)
- 우선순위 로드맵 제시: 이모지→버튼→카드→구분선→표지→줄바꿈 순

### 불칸 (백엔드)
- 그라데이션 렌더링 **0.13초/장** → `draw.line()` 방식 **0.002초/장** (98.2% 개선) 측정
- textbbox 중앙정렬 계산이 12회 반복 — 공통 헬퍼 추출 권장
- 상수 집중화 필요 (매직넘버 분산)
- 이모지 필터링은 render_all 진입부에서 일괄 처리 권장

### 이리스 (프론트)
- Pattern A 배지-텍스트 수직 정렬 오류 (`badge_cy`가 텍스트보다 20px 아래)
- Pattern A 우측 여백 `margin//2=30px`로 비대칭 (좌측 60px)
- Pattern C 제목 라인높이만 +12 (A/B는 +10) — 불일치
- 구분선 길이 5곳 모두 다름 (120, 160, 200 혼재)
- 텍스트 오버플로우 시 ellipsis 없이 조용히 잘림

### 아테나 (UX/UI)
- MARGIN 60px → 40px 축소 제안 (콘텐츠 영역 확대)
- 최소 폰트 크기 20pt → 24pt 권장 (모바일 접근성)
- Threads 스크롤 시 Pattern A에서 배지-텍스트 분리 우려
- CTA 버튼 색상이 배지 색상과 동일 → 시각적 우선순위 불명확

### 아르고스 (테스터)
- 다크 테마 3종 카드 가시성 등급 D~F (card_bg 알파 6~8%)
- 엣지 케이스 테스트 부족: 긴 텍스트, 빈 텍스트, 이모지
- 시각적 회귀 테스트(snapshot) 없음 — pytest-snapshot 도입 권장
- 8개 항목 즉시 수정 + 6개 항목 테스트 추가 제안

---

## 3. 결정사항

1. 즉시 수정 6건은 이번 태스크에서 바로 반영 (완료)
2. R1~R4는 보고서에 별도 태스크로 기재
3. 시각적 회귀 테스트는 다음 스프린트에서 도입
4. 전체 838개 테스트 PASS 확인

---

## 4. 수정 후 변경 파일

- `renderer/cardnews.py` — 이모지 필터링, 그라데이션 최적화, CTA 버튼 정렬, 상단 라인 통일, 구분선 비율화
- `renderer/themes.py` — NavyGold/BlackRed/PurplePink 카드 불투명도 증가
- `publisher/threads_publisher.py` — publish_cardnews() 캡션 파라미터 추가
