# task-2073: InsuRo 새 로고 적용 — 파비콘/앱아이콘/UI 교체

## SCQA

**S**: InsuRo 프로젝트에 새 I+R 모노그램 로고(블루 테크 스타일)가 확정되어 `public/insuro-logo-new.jpg`(647x640 JPEG)로 제공됨.

**C**: 기존 favicon.ico, PWA 아이콘(192/512), apple-touch-icon 등이 구 로고를 사용하고 있어 브랜드 일관성이 깨진 상태.

**Q**: 새 로고를 다양한 크기(16~512px)로 변환하여 favicon/PWA/iOS 아이콘을 모두 교체할 수 있는가?

**A**: Python Pillow로 원본 로고를 정사각형 크롭 후 7종 PNG + 1종 ICO 파일을 생성하여 교체 완료. `npm run build` 성공(7.99초), 모든 아이콘이 HTTP 200으로 정상 제공됨. HTML/manifest 참조는 기존과 동일한 파일명을 사용하므로 코드 변경 불필요.

---

## 수정 파일 목록

| 파일 | 변경 내용 | grep 검증 | 상태 |
|------|-----------|-----------|------|
| public/favicon.ico | 새 로고 ICO (48x48, 32x32, 16x16) | file 명령 MS Windows ICO 확인 | verified |
| public/favicon-16.png | 새 로고 16x16 PNG | file 명령 16x16 확인 | verified |
| public/favicon-32.png | 새 로고 32x32 PNG | file 명령 32x32 확인 | verified |
| public/favicon-64.png | 새 로고 64x64 PNG | file 명령 64x64 확인 | verified |
| public/pwa-192.png | 새 로고 192x192 PNG | file 명령 192x192 확인 | verified |
| public/pwa-512.png | 새 로고 512x512 PNG | file 명령 512x512 확인 | verified |
| public/apple-touch-icon.png | 새 로고 180x180 PNG | file 명령 180x180 확인 | verified |
| scripts/generate_favicons.py | 로고 변환 스크립트 (신규) | 파일 존재 확인 | verified |

## 코드 변경 불필요 확인

- `index.html`: favicon.ico, favicon.svg, apple-touch-icon.png 참조 — 동일 파일명으로 교체됨
- `vite.config.ts`: PWA manifest icons에서 pwa-192.png, pwa-512.png 참조 — 동일 파일명으로 교체됨
- `Login.tsx`: partner-logo.png은 파트너사(서울대보험쌤) 로고이므로 교체 대상 아님
- `favicon.svg`: SVG 변환은 원본이 래스터 이미지이므로 스킵 (기존 SVG 유지)

---

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **Pyright LANCZOS 경고** — `Image.LANCZOS` → `Image.Resampling.LANCZOS`로 수정 (scripts/generate_favicons.py:31)
2. **원본 비정사각형(647x640)** — 중앙 크롭으로 640x640 정사각형 추출 후 리사이즈
3. **JPEG 투명 배경 미지원** — RGB 모드 + 흰색(#FFFFFF) 배경으로 합성

### 범위 외 미해결 (1건)
1. **favicon.svg 미갱신** — 원본이 래스터(JPEG)이므로 고품질 SVG 변환 불가. 디자인팀에서 벡터 원본 제공 시 교체 필요.

---

## L1 스모크테스트 결과

- 서버 재시작: 성공 (vite dev server, port 8080)
- API 응답 확인:
  - `curl http://localhost:8080/` → HTTP 200
  - `curl http://localhost:8080/favicon.ico` → HTTP 200 (8,626 bytes)
  - `curl http://localhost:8080/pwa-192.png` → HTTP 200 (65,019 bytes)
  - `curl http://localhost:8080/pwa-512.png` → HTTP 200 (369,552 bytes)
  - `curl http://localhost:8080/apple-touch-icon.png` → HTTP 200 (57,806 bytes)
- 스크린샷:
  - 로그인 페이지: `/home/jay/workspace/memory/reports/task-2073-login-page.png`
  - Favicon 확인: `/home/jay/workspace/memory/reports/task-2073-favicon.png`
  - PWA 192 아이콘: `/home/jay/workspace/memory/reports/task-2073-pwa192.png`
- npm run build: 성공 (7.99초, 141 precache entries)

---

## 검증 시나리오 결과

1. `npm run build` → 성공 (7.99초)
2. favicon.ico가 새 I+R 로고 → 확인 (스크린샷 증거)
3. PWA manifest의 icons가 새 로고 참조 → 확인 (pwa-192.png, pwa-512.png 교체됨)
4. 로그인 페이지 정상 로드 → 확인 (스크린샷 증거)

---

## 머지 판단

- **머지 필요**: Yes
- **브랜치**: task/task-2073-dev2
- **워크트리 경로**: /home/jay/projects/InsuRo/.worktrees/task-2073-dev2
- **머지 의견**: 이미지 파일 교체만으로 코드 로직 변경 없음. 빌드 성공 + 모든 아이콘 HTTP 200 확인. 충돌 가능성 최소 (바이너리 파일만 변경).

---

## 모델 사용 기록

- 팀원: 토르 / 작업: Pillow 이미지 변환 스크립트 작성 및 실행 / 사용 모델: sonnet / 정당성: -

## 세션 통계
- 총 도구 호출: 0회


## 세션 통계
- 총 도구 호출: 0회


## 세션 통계
- 총 도구 호출: 0회

