Task #703: BehindText/InFrontOfText 표 본문 흐름 누락 정정 (closes #703)#707
Open
planet6897 wants to merge 3 commits intoedwardkim:develfrom
Open
Task #703: BehindText/InFrontOfText 표 본문 흐름 누락 정정 (closes #703)#707planet6897 wants to merge 3 commits intoedwardkim:develfrom
planet6897 wants to merge 3 commits intoedwardkim:develfrom
Conversation
…름 누락 결함 검증 테스트 수행계획서 (mydocs/plans/task_m100_703.md) + 구현계획서 (mydocs/plans/task_m100_703_impl.md) 승인 후 Stage 1 진행. 신규 테스트 4건 RED 확인: - 통합 (tests/issue_703.rs): calendar_year / 통합재정통계 2010·2011 (3건, 모두 page=2 left vs page=1 right) - 단위 (typeset.rs#tests::test_typeset_703_behind_text_table_no_flow_advance): BehindText 1×1 wrapper Table 60000 HU 캐리어 paragraph + 후속 5 단락 fixture, paginator 1 페이지 vs typeset 2 페이지 RED 본질 정정 위치: typeset_block_table → place_table_with_text 의 cur_h 누적이 BehindText/InFrontOfText 표에 대해서도 적용되는 것이 결함. pagination/engine.rs:976-981 와 동일 가드를 typeset 분기에 추가하는 것이 Stage 2 작업. 196 샘플 SVG/PDF 페이지 수 비교 데이터 (mydocs/report/svg_vs_pdf_diff_20260508.tsv) 추가 — Stage 3 회귀 검증 baseline.
…Text 표 가드 추가 src/renderer/typeset.rs (+13): typeset_table_paragraph 의 Control::Table 분기에 pagination/engine.rs:976-981 와 동일한 가드 추가. 글뒤로/글앞으로 표는 Shape 처럼 push 만 하고 cur_h 누적 건너뜀. 결과: - calendar_year.hwp: 2 → 1 페이지 (한글2022 PDF 정합) - test_typeset_703_behind_text_table_no_flow_advance: RED → GREEN - issue_703_calendar_year_single_page: RED → GREEN - 라이브러리 1158 tests: 회귀 0 통합재정통계 (2010.11/2011.10) 는 다른 본질의 결함 (TopAndBottom TAC 1×1 + 각주 환경 0.84 px borderline) 으로 확인 → Issue edwardkim#704 별도 분리. tests/issue_703.rs 의 해당 2 케이스는 #[ignore] 처리 (코드 보존 + edwardkim#704 정정 시 ignore 해제).
196 샘플 SVG/PDF 페이지 수 비교: - 정합 (의도): basic/calendar_year 2 → 1 (PDF=1) - 정합 (추가): table-ipc 13 → 10 (PDF=10) — 11개 InFrontOfText 표 자동 정합 - 기타 194 파일 변동 0 (회귀 0) 라이브러리 / 통합 / svg_snapshot: - cargo test --lib --release: 1158 passed; 0 failed; 2 ignored - cargo test --release --test issue_703: 1 passed; 0 failed; 2 ignored (Issue edwardkim#704) - cargo test --release --test svg_snapshot: 7 passed; 0 failed - cargo clippy --release -- -D warnings: 0 신규 경고 - cargo build --release: 정상 Stage 2 정정 (typeset_table_paragraph 의 Control::Table 분기에 BehindText/InFrontOfText 가드 추가, +13 줄) 의 본질 정합 효과가 의도 1 건 + 추가 1 건 으로 검증됨. 분리된 Issue edwardkim#704 (통합재정통계 borderline) 는 본 task 본질 외 — 별도 처리.
6 tasks
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.
Summary
typeset.rs의 표 컨트롤 처리 분기에 BehindText/InFrontOfText (글뒤로/글앞으로) 가드 누락으로 데코레이션 표가 본문cur_h에 잘못 가산되어 trailing 항목이 다음 페이지로 밀리는 결함 정정 (+13 줄,pagination/engine.rs:976-981와 동일 시멘틱).samples/basic/calendar_year.hwp: 한글2022 PDF 1 페이지 ↔ SVG 2 페이지 결함 해소.samples/table-ipc.hwp13 → 10 페이지 (11 개 InFrontOfText 표 자동 정합).Root cause
pagination/engine.rs:976-981에는 BehindText/InFrontOfText 표를 Shape 처럼 push 후 continue 하는 가드가 있으나, 메인 pagination 인typeset.rs의typeset_table_paragraph분기에 미반영.place_table_with_text가cur_h += pre_height + table_total_height를 BehindText/InFrontOfText 표에도 적용하여 본문 흐름 누적이 발생.정정
src/renderer/typeset.rs:1370의Control::Table분기 진입 시점에 가드 추가:분리된 후속 이슈
본 task 분석 단계에서 함께 식별된 통합재정통계 (2010.11/2011.10) 페이지 분할 결함은 다른 본질로 확인 (TopAndBottom TAC 1×1 + 각주 환경 0.84 px borderline) — Issue #704 별도 분리.
tests/issue_703.rs의 해당 2 케이스는#[ignore]처리.Test plan
cargo test --lib --release: 1158 passed; 0 failedcargo test --release --test issue_703: 1 passed; 0 failed; 2 ignored (Issue 통합재정통계 페이지 분할 — TopAndBottom TAC 1×1 wrapper + 각주 환경에서 trailing 빈 paragraph 가 0.84 px 부족으로 다음 페이지로 밀림 #704)cargo test --release --test svg_snapshot: 7 passed; 0 failedcargo test --release --tests(전체 통합): 0 failcargo clippy --release -- -D warnings: 0 신규 경고cargo build --release: 정상mydocs/report/svg_vs_pdf_diff_20260508.tsvmydocs/report/svg_vs_pdf_diff_20260508_after.tsv변경 파일
src/renderer/typeset.rstests/issue_703.rsmydocs/plans/task_m100_703.md,_impl.mdmydocs/working/task_m100_703_stage{1,2,3}.mdmydocs/report/task_m100_703_report.mdmydocs/report/svg_vs_pdf_diff_20260508*.tsvCloses #703.