Skip to content

Task #775: Task #703 회귀 정정 — 다단 영역 InFrontOfText/BehindText 표 컬럼 분배 복원 (closes #775)#778

Closed
planet6897 wants to merge 3 commits into
edwardkim:develfrom
planet6897:pr-task775
Closed

Task #775: Task #703 회귀 정정 — 다단 영역 InFrontOfText/BehindText 표 컬럼 분배 복원 (closes #775)#778
planet6897 wants to merge 3 commits into
edwardkim:develfrom
planet6897:pr-task775

Conversation

@planet6897

Copy link
Copy Markdown
Contributor

개요

이슈 #775 정정. Task #703 / PR #707 의 InFrontOfText/BehindText 가드가 다단 영역에서 컬럼 분배를 변경하여 발생한 회귀를 정밀화. 단일 컬럼 한정 (col_count == 1) 으로 가드 조건 정밀화 → 두 케이스 모두 정합.

회귀 진원지 (bisect 확정)

커밋 a759a1c2 — Task #703 / PR #707 "BehindText/InFrontOfText 표 본문 흐름 누락 정정"

시점 커밋 cell-clip y 상태
Pre Task#703 (RED) afa70578 277.08
Post Task#703 GREEN a759a1c2 723.69 회귀
현재 devel e30e52f4 723.69

변경 내역

영역 경로 변경
본질 정정 src/renderer/typeset.rs +5/-1 (&& st.col_count == 1 가드 추가)
회귀 가드 tests/issue_775.rs +73 (신규 통합 테스트)
거버넌스 mydocs/plans/task_m100_775{,_impl}.md 수행/구현 계획서
거버넌스 mydocs/working/task_m100_775_stage{1..4}.md 단계별 보고서
거버넌스 mydocs/report/task_m100_775_report.md 최종 결과 보고서

메커니즘

케이스 column_count text_wrap vert_rel_to 본 fix 동작 결과
calendar_year.hwp 1 BehindText Para push-only (Task #703 fix 유지) ✅ 1 page 유지
exam_eng.hwp p4 2 InFrontOfText Para cur_h 누적 (종전 동작) ✅ y=277.08 정상 복원

검증

라이브러리 회귀

```
$ cargo test --release
총 통과: 1338 실패: 0 ignored: 5
```

다단 광범위 sweep — 6 fixture / 164 페이지

sample 페이지 byte diff 상태
exam_kor 20 0
exam_eng 8 2 ⚠️ p4 의도된 정정 + p2 ID 순서만 변경
exam_science 4 0
exam_math 20 0
synam-001 35 0
aift 77 0

exam_eng p2: 텍스트 좌표 100% 동일, cell-clip ID 순서만 변경 → 시각적 회귀 0.

단일 컬럼 본 케이스 보존

  • tests/issue_703.rs::issue_703_calendar_year_single_page — GREEN 유지
  • samples/basic/calendar_year.hwp — 1 page 유지
  • samples/basic/calendar_monthly.hwp — 1 page 유지

골든 SVG 7개

issue_147_aift_page3, issue_157_page_1, issue_267_ktx_toc_page, form_002_page_0, issue_617_exam_kor_page5, table_text_page_0, render_is_deterministic_within_process — 모두 GREEN.

영향 범위

분기 조합 처리 동작 영향
단일 컬럼 + InFrontOfText/BehindText 표 push-only (Task #703 fix) 변경 없음
다단 + InFrontOfText/BehindText 표 cur_h 누적 (종전 동작) 본 fix 영향
그 외 wrap (TopAndBottom/Square/None) 변경 없음 변경 없음

PDF 권위 자료 정합

본 환경 (macOS) PDF 직접 비교 불가. 정합 체인:

  1. 본 fix 동작 = Task BehindText/InFrontOfText 표가 paragraph 높이에 포함되어 trailing 항목이 다음 페이지로 밀림 (calendar_year, 통합재정통계) #703 이전 동작 (다단 영역 한정)
  2. Task BehindText/InFrontOfText 표가 paragraph 높이에 포함되어 trailing 항목이 다음 페이지로 밀림 (calendar_year, 통합재정통계) #703 이전 동작 = PDF 권위 자료 정합 (cell-clip y=277.08)
  3. 본 fix 후 cell-clip y = 277.08

관련

planet6897 and others added 3 commits May 10, 2026 15:41
…기 +446.6 px 시프트 회귀 캡처

회귀 진원지 (bisect 확정): a759a1c (Task edwardkim#703 / PR edwardkim#707) — typeset.rs 의
InFrontOfText/BehindText 가드가 다단 영역에서 컬럼 분배 변경.

calendar_year.hwp / exam_eng.hwp IR 사전 검사 결과:
- calendar_year.hwp: 1단(column_count=1), BehindText, vert=Para
- exam_eng.hwp: 2단, InFrontOfText, vert=Para
→ vert_rel_to 는 양쪽 동일(Para) → 옵션 B 폐기, 옵션 A (column_count==1) 채택.

tests/issue_775.rs: cell-clip y=277.08 가드 (FAIL +446.61 px 차이 캡처).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…==1 한정

src/renderer/typeset.rs:1553-1568 (+5/-1):
Task edwardkim#703 의 InFrontOfText/BehindText push-only 가드에 `&& st.col_count == 1`
추가. 단일 컬럼 한정 → Task edwardkim#703 본 케이스 (calendar_year) 보존, 다단 영역
(exam_eng p4) 종전 동작 복귀.

검증:
- tests/issue_775.rs: RED → GREEN (y=723.69 → 277.08, +446.61 px 회귀 해소)
- tests/issue_703.rs::issue_703_calendar_year_single_page: GREEN 유지
- tests/issue_703.rs::issue_703_tonghap_*: #[ignore] 유지 (Issue edwardkim#704)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…rdkim#775)

Stage 3: cargo test --release — 1338 통과 / 0 실패 / 5 ignored (회귀 0)
Stage 4: 다단 6 fixture / 164 페이지 sweep — exam_eng 만 변경 (p4 의도된
정정 + p2 좌표 동일 ID 순서만 변경, 시각적 회귀 0). 다른 5개 fixture 회귀 0.
Stage 5: 최종 결과 보고서 — PDF 정합 체인 입증 (본 fix 동작 = Task edwardkim#703 이전
동작 = PDF 권위 자료 정합).

영향 범위: 다단 + InFrontOfText/BehindText 표 조합 한정. exam_eng 만 해당.
Task edwardkim#703 의 본 케이스 (단일 컬럼 BehindText 1×1 wrapper) 정합 보존.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
edwardkim added a commit that referenced this pull request May 10, 2026
…ntOfText/BehindText 표 컬럼 분배 복원)

@planet6897 자기 PR #707 (Task #703, 5/9 머지) 회귀 정정 — InFrontOfText/BehindText 가드 영역 다단 컬럼 분배 변경 → exam_eng.hwp p4 27번 보기 +446.6 px 회귀 (cell-clip y 277.08 → 723.69).

bisect 진원지: a759a1c (Task #703 GREEN 시점).

정정 본질 (typeset.rs +5/-1, 단일 가드 라인): InFrontOfText/BehindText 가드 영역 `&& st.col_count == 1` 조건 추가 — Task #703 fix 영역 단일 컬럼 한정.

| 케이스 | column_count | 결과 |
|--------|--------------|------|
| calendar_year.hwp (Task #703) | 1 | ✅ 1 page 유지 |
| exam_eng.hwp p4 (회귀 케이스) | 2 | ✅ y=277.08 정상 복원 |

검증:
- cargo build/test/clippy --release ALL GREEN
- 회귀 가드 (issue_775_exam_eng_p4_pi181_table_at_column_top) PASS
- Task #703 본 케이스 보존 (issue_703_calendar_year_single_page) PASS
- 광범위 sweep 168 same / 2 diff (exam_eng_002 ID 순서만 + exam_eng_004 의도된 정정, PR 본문 정확 일치)
- WASM 4.68 MB 재빌드
- 작업지시자 웹 에디터 시각 판정 ✅ 통과

closes #775
@edwardkim

Copy link
Copy Markdown
Owner

@planet6897 검토 완료했습니다. 감사합니다.

처리 결과

Merge commit: 103bae74 (devel)

본질

자기 PR #707 (Task #703, 5/9 머지) 회귀 정정 — 단일 컬럼 한정 가드 (&& st.col_count == 1) 영역 정밀화. Task #703 본 케이스 (calendar_year 1 page) 보존 + 다단 영역 (exam_eng p4) cell-clip y=277.08 복원.

bisect + 거버넌스 인상적

  • bisect 진원지 명시 (a759a1c2) + 측정 (cell-clip y 277.08 → 723.69)
  • 단계별 분리 (Stage 0/1 RED + Stage 2 GREEN + Stage 3-5 검증/보고서)
  • 거버넌스 문서 (수행/구현 계획서 + 단계별 보고서 + 최종 보고서)
  • 회귀 가드 테스트 신규 (tests/issue_775.rs +73)
  • 다단 광범위 sweep (6 fixture / 164 페이지) + Golden SVG 7건

검증

5/10 사이클 — 자기 회귀 정정 + 단계별 분리 절차 정합, 수고하셨습니다.

@edwardkim

Copy link
Copy Markdown
Owner

Merged. Merge commit: 103bae7

@edwardkim edwardkim closed this May 10, 2026
edwardkim added a commit that referenced this pull request May 10, 2026
PR #778 (closes #775) — 자기 PR #707 (Task #703) 회귀 정정.
typeset.rs 영역 단일 컬럼 한정 가드 (col_count==1) 영역 정밀화.

Merge commit: 103bae7
Cherry-pick: c46c0a4d + 8c574bf4 + 3b84a08
edwardkim added a commit that referenced this pull request May 10, 2026
5/10 + 5/11 사이클 누적 — 외부 기여자 다수 PR 30+ 머지.

Cargo.toml + rhwp-vscode/package.json + npm/editor/package.json + rhwp-studio/package.json: 0.7.10 → 0.7.11
rhwp-vscode/CHANGELOG.md: [0.7.11] 항목 추가

핵심 변경:
- Skia native raster P8 (#761) + P9 (#769) — Layer IR contract hardening + text replay parity
- HWP3 native 렌더링 (#753) — hwp3-sample10 8 단계 정정 + Git LFS pdf-large/ 신규
- 페이지네이션 정정 (#778) — Task #703 다단 컬럼 분배 회귀 정정
- rhwp-studio 인터랙션 (PR #781/#786/#787/#788) — scrollbar/수식/표 셀/도구 모음 결함 정정
- rhwp-studio editor 신규 기능 (PR #728/#748/#750/#760 등) — 표 편집 Undo/Redo + 다단 설정 + 다수 단축키
@edwardkim edwardkim mentioned this pull request May 10, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants