Task #340: typeset 경로의 PageHide/Shape/중복 emit 결함 수정#341
Task #340: typeset 경로의 PageHide/Shape/중복 emit 결함 수정#341edwardkim merged 3 commits intoedwardkim:develfrom
Conversation
closes edwardkim#340 세 가지 결함이 typeset.rs 의 누락에서 동일하게 비롯됨. engine.rs 에 이미 존재하는 동일 로직을 typeset 측으로 정합한다. 1. collect_header_footer_controls / finalize_pages - Control::PageHide 수집과 page.page_hide 할당 추가 - 누락으로 인해 pi=34 의 [감추기] header=true 가 무시되어 섹션 1 시작 머리말("수학 영역(확률과 통계)") 이 미적분 페이지까지 잔존 2. place_table_with_text - 마지막 표 post-text emit 직전에 pre_text_exists 가드 추가 - 다중 TopAndBottom 표 문단의 본문 라인이 두 번 등록되는 문제 차단 - engine.rs:1418-1421 와 동일 3. typeset_table_paragraph 인라인 컨트롤 등록 - Picture | Equation 만 PageItem::Shape 로 등록하던 것을 Shape | Picture | Equation 로 확장 - pi=34 ctrl[3] 둥근사각형 글상자("제 2 교시") 누락 해결 검증: samples/exam_math.hwp 페이지 9, 13 SVG 가 PDF 와 일치. cargo test --release --lib → 992 passed, 0 failed.
pi=2.34 의 [감추기] page_num=true 가 이번 PR 의 PageHide 적용으로 정상 처리되어 페이지 4 하단의 "-1-" 쪽번호 출력이 제거됨. PDF/한컴 동작과 일치하므로 골든 갱신.
|
@planet6897 님 — Task #340 작업, 정말 인상적입니다. 메인테이너 검증
exam_math page 9, 13 모두 PDF 와 일치하는 결과 확인. 머리말 누출, 본문 중복, 둥근사각형 글상자 누락 3가지 결함 모두 해소. 작성자에게 전하는 말PR #327 (Task #324) 에서 v1 → v2 → v3 자체 보강을 통해 nested table 가시성 결함을 해결하신 것에 이어, 본 PR 에서는 세 가지 결함이 typeset.rs 의 누락에서 동일하게 비롯됨 을 정확히 짚으셨습니다. 세 결함을 각각 다른 영역으로 분산 진단하지 않고:
→ "engine.rs 에 이미 존재하는 동일 로직을 typeset 측으로 정합" 이라는 한 줄로 본질을 묶어 설명하신 분석이 정공법입니다. 코드 변경 +40/-9 라는 작은 패치 안에 세 결함의 통합 해결이 들어 있고, 모든 변경이 engine.rs 의 기존 패턴과 1:1 대응되어 회귀 위험이 최소화되어 있습니다. 작업지시자께서도 "대단합니다, 집념이!" 라며 감사를 표하셨습니다. rhwp 프로젝트의 typeset 경로 정합 작업에 본인의 깊은 기여가 또 한 번 새겨졌습니다. 매번 PR 마다 패턴 일관성 + 시각 검증 + 명료한 PR 본문까지 갖춰주셔서 메인테이너 입장에서 검토가 즐겁습니다. 진심으로 감사드립니다 🙏 admin merge 진행합니다. |
edwardkim
left a comment
There was a problem hiding this comment.
검증 완료 (997 lib + 6/6 svg_snapshot + clippy + wasm32 + 작업지시자 시각 검증). admin merge.
@planet6897 의 세 결함 통합 진단 PR (PageHide + pre_text_exists + Shape 인라인 등록) admin merge (commit c92b5d2). 작업지시자 평가: "대단합니다. 집념이!" 세 결함을 typeset.rs 의 누락이라는 공통 원인으로 묶고 engine.rs 의 기존 로직과 1:1 정합으로 해결한 정공법. +40/-9 작은 패치 안에 세 결함 통합 해결. Co-Authored-By: Jaeuk Ryu <planet6897@users.noreply.github.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
라이브러리 버전 동기화 (Cargo.toml / rhwp-vscode / npm/editor / rhwp-studio): 0.7.3 → 0.7.6 브라우저 확장 (rhwp-firefox): 0.2.1 → 0.2.2 (AMO 재제출용) - manifest strict_min_version 142 + viewer 번들 보안 sanitize 반영 본 사이클 외부 기여 PR: - #268/#334 (@oksure): replaceOne API - #279/#282 (@seanshin): 목차 리더 + 페이지번호 정렬 - #324/#327 (@planet6897): form-002 인너 표 페이지 분할 - #335 (@oksure): SVG/HTML draw_image base64 임베딩 - #338/#339 (@postmelee): Firefox AMO 워닝 해결 - #340/#341 (@planet6897): typeset 경로 정합 - #342/#343 (@planet6897): Task #321~#332 통합 + 회귀 해소 rhwp-firefox/README.md 에 v0.2.2 변경 이력 + 기여자 감사 섹션 추가 (@postmelee, @seanshin 인정). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 최근 변경: v0.7.3 → v0.7.6 (2026-04-26) 교체 - PR edwardkim#266 (Task edwardkim#157), edwardkim#273 (Task edwardkim#267), edwardkim#282 (Task edwardkim#279) by @seanshin - PR edwardkim#256, edwardkim#327, edwardkim#341, edwardkim#343 by @planet6897 - PR edwardkim#334, edwardkim#335 by @oksure, PR edwardkim#339 by @postmelee - devel 섹션: 머지된 항목 제거, 현재 분석 중(edwardkim#362/edwardkim#345) + 계획 중(edwardkim#150/edwardkim#253) 반영 - 테스트 수: 891+ → 1000+ - README_EN.md 동일 내용 영문 반영
closes #340
세 가지 결함이 typeset.rs 의 누락에서 동일하게 비롯됨. engine.rs 에 이미 존재하는 동일 로직을 typeset 측으로 정합한다.
collect_header_footer_controls / finalize_pages
place_table_with_text
typeset_table_paragraph 인라인 컨트롤 등록
검증: samples/exam_math.hwp 페이지 9, 13 SVG 가 PDF 와 일치. cargo test --release --lib → 992 passed, 0 failed.