Task #362: kps-ai p56 외부 표 안 콘텐츠 클립 회귀 해소 (TAC 셀 vpos 클램프)#374
Closed
planet6897 wants to merge 1 commit into
Closed
Task #362: kps-ai p56 외부 표 안 콘텐츠 클립 회귀 해소 (TAC 셀 vpos 클램프)#374planet6897 wants to merge 1 commit into
planet6897 wants to merge 1 commit into
Conversation
…귀 해소) f3ba9eb (Task edwardkim#347 cont) 가 LineSeg.vertical_pos[0] 을 셀 첫 줄 y 오프셋 으로 그대로 적용했으나, 콘텐츠가 셀 높이에 꽉 찬 케이스(kps-ai p56 외부 표 pi=535: 1x1 TAC, 셀 안 11 paragraphs + 7x6 내부 표)에서 vpos=2000 HU(~26.67px) 만큼 콘텐츠가 아래로 밀려 외부 셀 경계를 초과 → 마지막 행이 클립되는 v0.7.3 대비 회귀. 수정: vpos 를 셀 내부 여유 공간(inner_height - total_content_height) 으로 클램프. 여유가 충분한 케이스(exam_eng p4 Q27/Q28)에서는 기존 edwardkim#347 동작 유지, 꽉 찬 케이스에서는 v0.7.3 와 동일한 cell_y+pad_top 으로 폴백. 검증: - kps-ai p56 외부 셀 (y=148.28 + h=865.05 = bottom 1013.33) 안에 마지막 inner row (y=969.07 + h=38.63 = bottom 1007.69) 들어감 ✓ - exam_eng p4: SVG 바이트 단위 동일 (0 diff vs HEAD) - LAYOUT_OVERFLOW 4건은 사전 존재 (기존 회귀 아님) - cargo test --release: 1008+ passed, 0 failed closes edwardkim#362
edwardkim
added a commit
that referenced
this pull request
Apr 27, 2026
PR #374 (Task #362): kps-ai p56 외부 표 안 콘텐츠 클립 회귀 정정 PR. 본 결함은 메인테이너 Task #362 (8 항목 누적: vpos 가드, PartialTable nested 분할, Square wrap 어울림, hide_empty_line 등) 로 v0.7.7 에 정정 완료. 이슈 #362 도 CLOSED. PR #374 의 vpos clamp 접근 (`vpos.min(remaining_room)`) 은 측정 의존 일반화 시멘틱으로 메인테이너의 nested 가드 (`has_nested_table` 분기) 보다 회귀 위험. 흡수 가치 없음 → close. PR #360 검토 문서도 함께 commit (회신 대기 중). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Owner
|
kps-ai p56 외부 표 클립 회귀 정정 PR 검토했습니다. 본 결함은 메인테이너 Task #362 (8 항목 누적: vpos 가드, PartialTable nested 분할, Square wrap 어울림, hide_empty_line 등) 로 v0.7.7 (2026-04-27 배포) 에 정정 완료되었습니다. 이슈 #362 도 close 상태입니다. 본 PR 의 vpos clamp 접근 (`vpos.min(remaining_room)`) 과 메인테이너의 nested table 가드 (`has_nested_table` 분기) 는 다른 시멘틱입니다. 메인테이너 작업이 p56 외에 p67 (PartialTable nested 분할), p68-70 (Square wrap 어울림), p72-73 (표 누락 차단) 등 8 항목 광범위 정정을 포함하므로 본 PR 은 close 합니다. 상세: `mydocs/pr/pr_374_report.md` |
Owner
|
메인테이너 Task #362 (v0.7.7) 로 처리 완료. |
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.
요약
samples/kps-ai.hwp56쪽 외부 표 (pi=535, 1×1 TAC, 635.0×865.1px) 안에배치된 11개 문단 + 7×6 내부 표가 외부 셀 경계를 초과해 마지막 행이
시각적으로 클립되던 v0.7.3 대비 회귀를 해소한다.
closes #362
원인
커밋
f3ba9eb(Task #347 cont) 가 셀 첫 줄의 y 좌표를cell_y + pad_top + LineSeg.vertical_pos[0]으로 적용했다.exam_eng.hwp p4 Q27/Q28 박스의 ~1mm 미세 오프셋 보정에는 효과적이었으나,
셀 콘텐츠가 셀 높이에 꽉 찬 케이스(kps-ai p56 외부 표) 에서는
vpos=2000 HU(≈26.67px)만큼 콘텐츠 전체가 아래로 밀려외부 셀(
y=148.28 + h=865.05 → bottom=1013.33)을 초과해마지막 inner row(이전
y=995.73 + h=38.63 → bottom=1034.36)가21px 클립되었다.
변경 내용
src/renderer/layout/table_layout.rs::layout_table_cells에서text_y_start계산 시vpos를 셀 내부 여유 공간(inner_height - total_content_height) 으로 클램프한다. 여유가 충분한 케이스에서는기존 #347 동작이 그대로 유지되고, 콘텐츠가 꽉 찬 케이스에서는
v0.7.3 와 동일한
cell_y + pad_top으로 자연 폴백된다.검증
cargo build --release✅cargo test --release— 1008+ ok / 0 failed (회귀 없음)rhwp export-svg samples/kps-ai.hwp -p 55재출력y=148.28 + h=865.05 = bottom 1013.33y=969.07 + h=38.63 = bottom 1007.69✅ 들어감rhwp export-svg samples/exam_eng.hwp -p 3회귀 검증LAYOUT_OVERFLOW 신규 0건 (kps-ai 의 4건은 사전 존재)
영향 범위
변경 파일
src/renderer/layout/table_layout.rs—layout_table_cells의text_y_start에remaining_room클램프 추가 (+6 -2)