# 풀미팅: 렌더러 피드백 v5 (2026-03-06)

## 참석자
- 헤르메스 (팀장, 진행)
- 불칸 (백엔드)
- 이리스 (프론트엔드)
- 아테나 (UX/UI)
- 아르고스 (테스터)

## 안건: 제이회장님 실전 리뷰 피드백 8건 반영

---

### FB-1-v2: 줄바꿈 로직 재설계

**현황 분석 (불칸)**:
- 현재 `engine.py:wrap_text()`는 이미 greedy line-filling 구현됨
- `textbbox` 기반으로 단어 단위 측정 후 줄바꿈
- 그러나 `fit_font_size()`에서 큰 폰트 선택 시 줄 수가 늘어나는 부작용

**합의 사항**:
- wrap_text 핵심 로직은 유지 (이미 greedy)
- CTA 슬라이드의 대형 제목에서 줄 수 최소화 확인
- 검증: "설계사 커리어, 장기적으로 어떻게 그려야 할까요?" → 2~3줄

### FB-3-v2: ㄴ 장식 완전 삭제

**합의 (아테나)**:
- `_draw_corner_decoration()` 호출부 5군데 모두 제거:
  - render_cover (line 764)
  - render_card_list (line 975)
  - render_detail (line 1173)
  - render_summary_cta (line 1342)
  - render_body (line 1457)
- 함수 자체는 남겨두되 (render_all에서 추후 활용 가능성) 호출만 제거

### FB-4-v2: 동그라미 숫자 첫줄 align 재구현

**문제 분석 (이리스)**:
- 현재: `badge_cy = y + 72 // 2` (= y + 36)
- 이 계산은 font_size 기준이지만, 실제 텍스트 렌더링 위치와 일치하지 않음
- 폰트의 ascender/descender 때문에 시각적 중앙이 다름

**해결 방안 (합의)**:
- `self.draw.textbbox((0, y), first_line, font=title_font)` 호출
- 반환된 bbox의 `(top + bottom) // 2`를 badge_cy로 사용
- 이렇게 하면 실제 렌더링된 텍스트의 정확한 세로 중앙 얻음
- 적용 대상: card_list, detail, summary_cta (3곳)

### FB-6-v2: detail 슬라이드 description 들여쓰기

**확인 (불칸)**:
- `_draw_info_box()`에 이미 `desc_indent = 30` 적용됨
- detail 슬라이드는 _draw_info_box를 사용하므로 이미 반영

### FB-7-v2: 오버플로우 고도화

**합의 (불칸 + 아테나)**:
- detail: 인포박스 3개→2개 동적 조절 (이미 FB-7 로직 있음)
- card_list: description 2줄 제한 + "..." (이미 구현)
- 추가 강화: 사전 높이 계산을 더 정밀하게
  - render 전에 전체 콘텐츠 높이 합산
  - 초과 시: 아이템 수 줄이기 → 설명 축약 → 폰트 축소 순

### FB-8: CTA 슬라이드 종합 개선

**합의**:
1. **Badge align**: summary_cta의 badge_cy도 FB-4-v2 방식으로 수정
   - 현재: `badge_cy = card_y + ch // 2` (카드 세로 중앙)
   - 변경: 첫 줄 텍스트의 textbbox 기준 세로 중앙
2. **URL 변경**: `fact_db.md`의 `snu-insurance-mentor.tistory.com` → `incar-top1.tistory.com`
3. **줄바꿈**: FB-1-v2 적용 후 자연스럽게 해결 확인

---

## 작업 분배
- 불칸: engine.py wrap_text 검증, fact_db.md URL 변경, FB-7-v2 오버플로우
- 이리스: cardnews.py FB-3,4,8 구현
- 아르고스: 5개 테마 렌더링 테스트, 엣지 케이스 확인
- 아테나: 시각 결과 검수

## 완료 기준 재확인
- [ ] 줄바꿈: 각 줄 max_width 최대 활용
- [ ] ㄴ/ㄱ 코너 장식 완전 제거
- [ ] 동그라미 숫자: 모든 슬라이드 첫줄 세로 중앙 정렬
- [ ] detail description 30px 들여쓰기
- [ ] CTA badge 첫줄 정렬
- [ ] CTA URL: incar-top1.tistory.com
- [ ] 오버플로우 대응 강화
- [ ] 5개 테마 정상 렌더링
