# 배너 에디터 배경 이미지 사라짐 버그 수정

## 증상
배너 에디터에서 m1-1-1200x628 편집 시 배경 사진이 사라짐. 편집 전에는 보였으나 편집 중/후 배경이 안 보임.

## 원인 추정

### 1. 배경 이미지 경로 문제 (가장 유력)
- HTML 템플릿이 `file:///home/jay/...` 또는 로컬 상대 경로로 배경 참조
- 브라우저에서 HTTP로 열면 `file://` 경로 접근 불가
- 또는 `background-image: url(./bg.jpg)` 같은 상대 경로가 대시보드 URL 기준으로 해석돼 깨짐

### 2. 편집 과정에서 CSS 덮어쓰기
- 레이어 속성 변경 시 background-image 속성이 초기화됨
- 또는 opacity/visibility 변경이 배경 레이어에 영향

### 3. 이미지 서빙 미설정
- dashboard server.py에서 배너 이미지 파일을 static으로 서빙하지 않음

## 수정 방법

### A. 배경 이미지 서빙 API 추가 (server.py)
```python
# /api/banner-editor/image/<path> — 배너 관련 이미지 파일 서빙
# 예: /api/banner-editor/image/m1/bg_m1_1.jpg
```
배너 디렉토리(`output/google-ads/banners/`)의 이미지 파일을 HTTP로 서빙

### B. HTML 템플릿 로드 시 경로 변환
배너 HTML을 `/api/banner-editor/html/` API로 반환할 때:
- `file:///home/jay/...` → `/api/banner-editor/image/...` 로 변환
- `url(./bg.jpg)` → `/api/banner-editor/image/m1/bg.jpg` 로 변환
- `url(bg_m1_1.jpg)` → 절대 HTTP 경로로 변환

### C. 편집 시 배경 보호
BannerEditorView.js에서:
- 배경 이미지 레이어는 편집 불가(잠금) 처리
- 또는 배경 CSS 속성 변경 시 background-image는 보존

### D. 배경 이미지를 base64로 인라인 (대안)
HTML 로드 시 배경 이미지를 base64 data URI로 변환하여 HTML에 인라인
→ 경로 문제 완전 해결, 단 파일 크기 증가

## 대상 파일
- 수정: `dashboard/server.py` (이미지 서빙 API)
- 수정: `dashboard/components/BannerEditorView.js` (경로 변환 + 배경 보호)

## 검증
- 배너 에디터에서 m1-1-1200x628 로드 → 배경 이미지 표시 확인
- 텍스트 편집 → 배경 유지 확인
- PNG Export → 배경 포함 확인
