XBX-2 수행 방향 상세화: overflow 프로세스 원인 3개 + 수행 순서
- Selenium 측정 실패 (data URI 크기 제한) - overflow 분기에 Type B zone 없음 - calculate_fit에서 Type B 역할 인식 불가 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -82,19 +82,47 @@ section content 수집 시 indent level을 보존하면 됨.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## XBX-2: 상단 overflow
|
## XBX-2: overflow → 콘텐츠 맞춤 프로세스
|
||||||
|
|
||||||
### 현상
|
### 현상
|
||||||
상단 zone(255px)에 소제목 3개 + 불릿 6줄 + 이미지 → overflow 가능.
|
상단 zone(255px)에 소제목 3개 + 불릿 6줄 + 이미지 → overflow.
|
||||||
|
하단 우측에 표 데이터가 너무 많아서 overflow.
|
||||||
|
|
||||||
### 수행 방향
|
### 프로세스 (네가 말한 것)
|
||||||
- **XBX-5(파이프라인 연결) 완료 후 자동 해결 확인**
|
```
|
||||||
- filled → Selenium 측정 → overflow 감지 → 재배분
|
넘침 감지 → 최대 몇 줄까지 가능? → 몇 자 이내로 정리 → Kei에게 요약 요청 → 재수취 후 정리
|
||||||
- 재배분으로 안 되면 텍스트 압축 또는 팝업 분리 (글자수 기반, 코드 판단)
|
```
|
||||||
- **선행: XBX-5 완료 필수**
|
|
||||||
|
### 왜 안 되는가 (원인 3개)
|
||||||
|
|
||||||
|
**원인 1: Selenium 측정 실패**
|
||||||
|
- `slide_measurer.py` 144줄: 2.2MB HTML을 `data:` URI로 로드 → 브라우저 크기 제한
|
||||||
|
- Type A는 ~214KB라 동작, Type B는 이미지 base64 포함 2.2MB라 실패
|
||||||
|
- **수정:** 임시 파일로 저장 후 `file://` URI로 로드 (크기 제한 없음)
|
||||||
|
|
||||||
|
**원인 2: overflow 분기에 Type B zone 없음**
|
||||||
|
- `pipeline.py` 538-553줄: `sidebar`와 `body`만 처리
|
||||||
|
- Type B zone(`top`, `bottom`)은 분기 없음 → overflow 감지돼도 무시됨
|
||||||
|
- **수정:** `if layout_template == "B":` 분기 추가. top/bottom overflow 시 처리
|
||||||
|
|
||||||
|
**원인 3: calculate_fit에서 Type B 역할 인식 불가**
|
||||||
|
- `fit_verifier.py` 307줄: `role_font_map = {"본심": "core", "배경": "bg", ...}`
|
||||||
|
- Type B 역할명이 이 dict에 없어서 항상 `"core"` fallback
|
||||||
|
- overflow 계산이 부정확 → `needs_escalation`이 항상 `False`
|
||||||
|
- **수정:** `if layout_template == "B":` 분기. zone 기반 font 매핑
|
||||||
|
|
||||||
|
### 수행 순서
|
||||||
|
|
||||||
|
1. **Selenium 측정 수정** — data URI → 임시파일 방식 (slide_measurer.py)
|
||||||
|
2. **overflow 분기 추가** — Type B zone 처리 (pipeline.py)
|
||||||
|
3. **calculate_fit Type B 지원** — zone 기반 font 매핑 (fit_verifier.py)
|
||||||
|
4. **에스컬레이션 → Kei 요약 요청** — 이미 있는 코드 활용 (pipeline.py 584-606)
|
||||||
|
5. **검증** — 02번 파이프라인 돌려서 상단 overflow 해소 확인
|
||||||
|
|
||||||
### 검증
|
### 검증
|
||||||
Selenium 측정에서 상단 zone overflow 없음.
|
- Selenium 측정에서 상단/하단 zone overflow 감지
|
||||||
|
- overflow 시 Kei에게 요약 요청 → 줄어든 콘텐츠로 재조립
|
||||||
|
- 결과 스크린샷에서 overflow 없음
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user