결함 요약
`samples/hwpspec.hwp` 20 페이지에서 같은 이미지가 y 좌표 약 2.67px 차이로 두 번 그려지는 회귀.
Task #416 진행 중 시각 검증에서 발견됨. 본 결함은 #416 의 `find_bin_data` 가드 결함과 다른 origin — devel 시점 (Task #416 정정 전) 에도 4 개 `
` 요소가 같은 이중 출력 패턴으로 존재. Task #416 정정 후 4 → 6 개로 증가 (정확 매칭 후 일부 이미지가 추가로 그려진 부수효과로 추정).
증상
`samples/hwpspec.hwp` 20 페이지를 export-svg 로 출력하면 `
` 요소가 6 개 (3 쌍의 이중 출력):
```bash
cargo run --release --bin rhwp -- export-svg samples/hwpspec.hwp -p 19 -o output/svg/issue-dup/
```
| 쌍 |
y₁ |
y₂ |
차이 |
폭/높이 |
| 1 |
445.43 |
442.76 |
2.67 |
516×72 |
| 2 |
604.09 |
601.43 |
2.67 |
516×72 |
| 3 |
741.43 |
738.76 |
2.67 |
516×188 |
x 좌표 / 폭 / 높이 동일, y 좌표만 정확히 2.67px 차이. 이미지 데이터 (base64) 도 동일한 SVG 임베딩.
정황
분석 후보 영역
본 결함의 가능한 origin:
- 이미지 컨트롤이 두 번 등록되는 경로 — paragraph_layout / shape_layout / picture 처리 어딘가에서 같은 컨트롤을 두 번 emit
- inline + 다른 wrap 방식의 중복 — 같은 그림이 inline 처리 + 다른 wrap 처리로 양쪽에서 그려짐
- 헤더/풋터 또는 마스터 페이지의 이미지가 본문 이미지와 함께 그려짐 — 영역 분기 누락
- z-order 처리 변경 PR 의 부작용 — 같은 이미지를 다른 z 레벨에서 두 번 emit
git log 로 이미지 / 그림 / picture 관련 최근 PR 점검 후보:
재현 절차
```bash
1. 현재 devel checkout
git checkout devel
2. 페이지 20 SVG 출력
cargo run --release --bin rhwp -- export-svg samples/hwpspec.hwp -p 19 -o /tmp/dup-check/
3.
개수 확인
grep -c '<image' /tmp/dup-check/hwpspec_020.svg
결과: 6 (정상이면 3)
```
권위 기준
- 작업지시자 환경의 한컴 2010 + 2022 편집기 출력에서 페이지 20 의 정상 이미지 개수 (3 개로 추정)
- 시각적으로 확인 가능
처리 절차
CLAUDE.md 의 하이퍼-워터폴 절차로 진행:
- `local/task{이슈번호}` 브랜치 생성
- Stage 0 — git bisect 또는 최근 이미지 관련 PR 점검 으로 origin 식별
- 수행 / 구현 계획서 작성 → 승인
- 단계별 정정 + 보고서
- 회귀 테스트 추가 (단위 / svg_snapshot)
- 작업지시자 시각 판정
검증
- `samples/hwpspec.hwp` 20 페이지 `
` 요소 6 → 3 정상화
- 다른 hwp 샘플 무회귀 (svg_snapshot 6/6 통과 유지)
- 작업지시자 한컴 출력과 시각 일치
결함 요약
`samples/hwpspec.hwp` 20 페이지에서 같은 이미지가 y 좌표 약 2.67px 차이로 두 번 그려지는 회귀.
Task #416 진행 중 시각 검증에서 발견됨. 본 결함은 #416 의 `find_bin_data` 가드 결함과 다른 origin — devel 시점 (Task #416 정정 전) 에도 4 개 `
` 요소가 같은 이중 출력 패턴으로 존재. Task #416 정정 후 4 → 6 개로 증가 (정확 매칭 후 일부 이미지가 추가로 그려진 부수효과로 추정).
증상
`samples/hwpspec.hwp` 20 페이지를 export-svg 로 출력하면 `
` 요소가 6 개 (3 쌍의 이중 출력):
```bash
cargo run --release --bin rhwp -- export-svg samples/hwpspec.hwp -p 19 -o output/svg/issue-dup/
```
x 좌표 / 폭 / 높이 동일, y 좌표만 정확히 2.67px 차이. 이미지 데이터 (base64) 도 동일한 SVG 임베딩.
정황
분석 후보 영역
본 결함의 가능한 origin:
git log 로 이미지 / 그림 / picture 관련 최근 PR 점검 후보:
재현 절차
```bash
1. 현재 devel checkout
git checkout devel
2. 페이지 20 SVG 출력
cargo run --release --bin rhwp -- export-svg samples/hwpspec.hwp -p 19 -o /tmp/dup-check/
3.
개수 확인
grep -c '<image' /tmp/dup-check/hwpspec_020.svg
결과: 6 (정상이면 3)
```
권위 기준
처리 절차
CLAUDE.md 의 하이퍼-워터폴 절차로 진행:
검증