배경
현재 tests/svg_snapshot.rs (#173 · PR #181) 의 SVG snapshot 하네스는 rhwp 자체의 이전 출력 을 기준(golden) 으로 삼는 회귀 테스트입니다. 렌더러 의도치 않은 변경을 감지하는 데는 유용하지만, 한컴 HWP 의 실제 렌더와 얼마나 가까운지 는 측정하지 않습니다.
PR #251 (by @seanshin) 에서 기여자가 "한컴 PDF ↔ rhwp SVG 페이지별 픽셀 비교" Visual Diff 파이프라인을 로컬에서 돌려 3건의 렌더 불일치를 발견하고 수정했습니다. 해당 파이프라인은 현재 저장소에 포함되지 않았습니다.
이 도구를 저장소에 도입하여 한컴 호환성 회귀를 자동으로 탐지할 수 있게 합니다.
목표
- 한컴 2020 출력 PDF 를 기준점으로 rhwp 렌더 출력(SVG) 을 비교하는 픽셀 diff 하네스
- CI 자동 실행 (한컴 설치 없이, 사전 생성된 PDF 시드로)
- 기존
tests/svg_snapshot.rs (rhwp 자체 회귀) 와 병존 — 역할 구분
현재 구조 vs 목표
[현재 — 자체 회귀]
rhwp SVG (오늘) ↔ rhwp SVG golden (과거) 기준점: rhwp 자신
[목표 — 한컴 기준]
rhwp SVG (오늘) ↔ 한컴 PDF → 이미지 (고정 기준) 기준점: 한컴
범위
포함
tests/reference_pdf/ 디렉토리 신설 (한컴 2020 기준 PDF 시드)
- PDF → 이미지 변환 유틸 (Rust
pdf/resvg 또는 CI 에서 poppler-utils)
- rhwp SVG → 이미지 변환 (
resvg 활용)
- 픽셀 비교 + tolerance 로직
- Stage 1: 소규모 샘플 1~2건 파일럿 → Stage 5: 전체 한컴 샘플 확장
제외 (별도 추진)
- 한컴 PDF 자동 생성 (맥 전용, CI 불가)
- 매뉴얼 현행화 (검증 인프라 매뉴얼 갱신 필요, 본 이슈 완료 후)
선행 조건
- 한컴 2020 PDF 시드 수작업 준비 — 작업지시자 맥 환경에서 대표 샘플 N건 PDF 내보내기
- 라이선스 검토 — 한컴 PDF 를 저장소에 포함시킬 경우의 저작권 범위 확인
- 한컴이 생성한 "형식 그대로의 출력" 이 저작권 대상인지
- 이미 저장소에 있는
samples/*.hwp 와 같은 공공기관 문서의 한컴 렌더 결과
기여자 의견 요청
@seanshin 님께서 PR #251 작성 시 이미 로컬에서 유사 파이프라인을 돌리셨습니다. 그 구현/경험을 공개·기여해 주시면 큰 도움이 됩니다. 별도 댓글로 의향 여쭙겠습니다.
관련 이슈 / PR
배경
현재
tests/svg_snapshot.rs(#173 · PR #181) 의 SVG snapshot 하네스는 rhwp 자체의 이전 출력 을 기준(golden) 으로 삼는 회귀 테스트입니다. 렌더러 의도치 않은 변경을 감지하는 데는 유용하지만, 한컴 HWP 의 실제 렌더와 얼마나 가까운지 는 측정하지 않습니다.PR #251 (by @seanshin) 에서 기여자가 "한컴 PDF ↔ rhwp SVG 페이지별 픽셀 비교" Visual Diff 파이프라인을 로컬에서 돌려 3건의 렌더 불일치를 발견하고 수정했습니다. 해당 파이프라인은 현재 저장소에 포함되지 않았습니다.
이 도구를 저장소에 도입하여 한컴 호환성 회귀를 자동으로 탐지할 수 있게 합니다.
목표
tests/svg_snapshot.rs(rhwp 자체 회귀) 와 병존 — 역할 구분현재 구조 vs 목표
범위
포함
tests/reference_pdf/디렉토리 신설 (한컴 2020 기준 PDF 시드)pdf/resvg또는 CI 에서poppler-utils)resvg활용)제외 (별도 추진)
선행 조건
samples/*.hwp와 같은 공공기관 문서의 한컴 렌더 결과기여자 의견 요청
@seanshin 님께서 PR #251 작성 시 이미 로컬에서 유사 파이프라인을 돌리셨습니다. 그 구현/경험을 공개·기여해 주시면 큰 도움이 됩니다. 별도 댓글로 의향 여쭙겠습니다.
관련 이슈 / PR