# 에이전트 미팅: 글박스 내부 여백 불일치 통일

**일시**: 2026-03-06
**작업**: task-322.1
**참석자**: 헤르메스(팀장), 불칸(백엔드), 아테나(UX/UI), 아르고스(테스터)

---

## 안건 1: 근본 원인 (불칸 분석)

- `_draw_info_box`와 `render_card_list`가 **별도 메서드로 분리될 때 공통 상수 없이 각자 하드코딩**
- bar 두께: `_draw_info_box`=6px, `render_card_list`=5px, TIP=6px (세 곳 제각각)
- text_x 계산 방식 차이:
  - `_draw_info_box`: `bar_w(6) + gap(16) = 22px` (bar가 카드 edge에서 시작)
  - `render_card_list`: `card_pad(32) + bar_w(5) + gap(16) = 53px` (card_pad를 text_x에 포함)
- TIP 박스는 제3의 인라인 구현 (gap이 20px로 또 다름)

## 안건 2: 통일 방안

### 합의 결과

| 항목 | 통일 값 | 근거 |
|------|---------|------|
| accent bar 두께 | **6px** | `_draw_accent_line`, `_draw_info_box`, TIP 모두 6px. card_list(5px)만 고아값 |
| bar → text gap | **16px** | 양쪽 모두 16px 사용 중. TIP의 20px를 16px로 수정 |
| text_x_offset 계산 | **bar_w + gap = 22px** | card_pad를 text_x에서 분리. 관심사 분리 명확 |
| card_pad | **32px** (상하/우측 전용) | 좌측은 bar+gap으로 별도 관리 |
| desc_indent | **30px** 유지 | 시각적으로 적절 |

### card_list 변경 내용
- `accent_bar_w`: 5 → 6
- `text_x_off`: `card_pad + accent_bar_w + 16` → `accent_bar_w + 16` (card_pad 제거)
- text_w 31px 증가 (줄바꿈 감소 방향 → 안전)

## 안건 3: 영향 범위 (아르고스 분석)

- **COVER**: accent bar 미사용 → 영향 없음
- **BODY**: accent bar 미사용 (원형 뱃지) → 영향 없음
- **SUMMARY_CTA**: accent bar 미사용 (원형 뱃지) → 영향 없음
- **TIP 박스**: 인라인 하드코딩 → 상수 참조로 수정 필요
- `_draw_info_box` 호출: `render_detail` 단 한 곳

### 리스크
- text_x_off 53→22 변경 시 text_w 증가 → 줄바꿈 감소 → needed_h 감소 → safe
- bar→text 시각 간격 48px→16px로 줄어듦 → 주의 필요하나 detail과 동일해지므로 일관성 확보

## 안건 4: 재발 방지

### 클래스 상수 추출 (합의)
```python
ACCENT_BAR_WIDTH = 6
ACCENT_BAR_GAP = 16
ACCENT_TEXT_X_OFFSET = ACCENT_BAR_WIDTH + ACCENT_BAR_GAP  # 22
CARD_PAD = 32
DESC_INDENT = 30
```

### `_draw_card_accent_bar` 기본값
- `bar_width` 파라미터 기본값: 5 → 6

## 테스트 전략 (아르고스 제안)

1. 5개 테마 × 렌더링 테스트 (1080x1350)
2. 긴/짧은 텍스트 케이스
3. 아이템 수 1/3/5개 케이스
4. 전 슬라이드 타입 회귀 테스트
5. pyright 에러 0건

---

## 결론: 구현 착수 승인
