Task #1535: visible-host co-anchored float 표가 선행 float 점유영역을 침범하던 회귀 수정#1548
Merged
edwardkim merged 1 commit intoJun 27, 2026
Merged
Conversation
62a76d1 to
ef75a38
Compare
… 침범하던 회귀 수정 같은 visible host 문단에 para-relative TopAndBottom float 표가 여럿일 때, 후행 float 표가 선행 float 표가 점유한 세로 영역(visible_float_exclusions)을 무시하고 그 위에 겹쳐 그려지던 회귀(edwardkim#1518 후속)를 수정한다. float 표 배치도 문단 텍스트와 동일하게, 표의 자연 상단(para_y + outer_margin + max(v_offset,0))이 활성 exclusion 영역 안에서 시작하면 그 영역 하단으로 table_y_start 를 끌어올린다. compute_table_y_position 이 raw_y.max(y_start) 로 클램프하므로 시작점 상향만으로 표가 영역 아래로 밀린다. - 회귀 fixture: samples/hwpx/issue1535_coanchored_float_exclusion.hwpx - 회귀 테스트: tests/issue_1535.rs (B 표 상단 >= A 표 하단) - 검증: 전체 cargo test 통과, issue_1510 4/4 유지, fmt/clippy clean closes edwardkim#1535
ef75a38 to
d646287
Compare
9 tasks
edwardkim
added a commit
that referenced
this pull request
Jun 27, 2026
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Owner
|
rhwp 첫 기여 환영합니다, @kkyu8925! 🎉 merge 완료했습니다 (merge commit 350b46f, origin/devel 포함 검증). 첫 PR인데 CONTRIBUTING 가이드를 충실히 따라 주셔서 검토가 수월했습니다 — 페이지네이션 영향 명시, 검증 환경 명시, golden SVG 불변 확인, red→green 회귀 fixture까지 잘 갖춰져 있었습니다. 메인테이너 측 로컬 전체 회귀 검증 결과(fork PR이라 CI 자동 실행분을 대체):
co-anchored float 표 배치가 선행 float 점유 영역(visible_float_exclusions)을 consult하도록 한 수정이 정확합니다. 앞으로의 기여도 기대하겠습니다. 감사합니다! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
변경 요약
같은 visible host 문단에 co-anchored 된 para-relative TopAndBottom float 표가 여러 개일 때,
후행 float 표가 선행 float 표가 점유한 세로 영역(
visible_float_exclusions)을 무시하고 그 위에겹쳐 그려지던 회귀(#1518 후속)를 수정합니다.
문단 텍스트는 이미 활성 float 점유 영역 아래로 밀려나지만(layout.rs의 paragraph jump), float 표
배치는 exclusion 을 push 만 하고 consult 하지 않았습니다. 이 PR 은 float 표 배치에서도, 표의 자연
상단(
para_y + outer_margin + max(v_offset, 0))이 활성 exclusion 영역 안에서 시작하면 그 영역하단으로
table_y_start를 끌어올립니다.compute_table_y_position이raw_y.max(y_start)로클램프하므로 시작점 상향만으로 표가 영역 아래로 밀립니다.
양수
vertical_offsetfloat 표가 둘 이상 공존하는 작업일지류 양식에서 헤더 셀 텍스트가 겹치던문제가 해소됩니다. 단일 양수 offset(#1510 샘플)은 자연 상단이 형제 zone 밖이라 영향이 없습니다.
관련 이슈
closes #1535
테스트
cargo test통과 (전체)cargo clippy -- -D warnings통과cargo fmt --all -- --check통과tests/issue_1510.rs4/4 유지 (회귀 가드)tests/issue_1535.rs— 수정 전 fail / 수정 후 passsamples/hwpx/issue1535_coanchored_float_exclusion.hwpx(같은 host 문단에 양수 offset 표 A=16996 / B=18000, B 선언 위치가 A 점유영역 안)검증 방법
issue1535_coanchored_float_exclusion.hwpx는 issue1510 HWPX 기반(Clone and Narrow)으로, 같은 host문단에 양수 offset float 표 2개를 둡니다. 렌더트리에서 B 표 상단이 A 표 하단 이상(겹침 금지)임을
단언합니다. 수정 전: B 표가 A 영역 안(y≈376, A=[362,437])에 배치되어 겹침. 수정 후: B 가 A 아래로 밀려 배치.
검증 환경 / 페이지네이션 영향
이 PR 은 co-anchored float 표의 세로 배치를 다루므로 페이지네이션 인접 영역이다. CONTRIBUTING 의 "페이지 분할/페이지네이션 영향 PR" 가이드에 따라 검증 환경과 영향 범위를 명시한다.
cargo test --test svg_snapshot8/8 통과 — golden SVG 불변(기존 커밋 샘플의 렌더가 하나도 바뀌지 않음).cargo test --lib1937 통과 / 0 실패,cargo clippy --lib -- -D warningsclean.tests/page_number_propagation.rs2/2,tests/issue_1510.rs4/4 (page_count==1유지), 신규tests/issue_1535.rsred→green.issue_1510의page_count==1유지로, 기존 문서의 페이지 분할이 변하지 않음을 확인. 본 수정은 "같은 visible host 문단에 양수 offset float 표가 2개 이상" 인 경우(기존 골든 샘플에 없는 조합)에만 작용한다.samples/hwpx/issue1535_coanchored_float_exclusion.hwpx)로 회귀를 고정했다.