Skip to content

HWPX generic-shape(polygon/ellipse/arc/curve) 지오메트리 직렬화 미완 → 페이지 붕괴 #1596

Description

@planet6897

요약

HWPX generic-shape 공통 직렬화 render_common_shape_xml(section.rs:1327)이 polygon/ellipse/
arc/curve 의 지오메트리를 드롭한다: <hp:lineShape>(테두리)·<hp:shadow>(그림자)·
<hc:pt>(폴리곤/커브 꼭짓점) 미방출. 도형이 형상·테두리 없이 렌더 → 크기·레이아웃 변동 →
경계 근처 문서 페이지 붕괴(#1589 잔여 ~8% 의 근본). IR diff=0(게이트 미검출).

근본원인

  • 직렬화: render_common_shape_xml 가 shape_block→sz→pos 만 방출, lineShape/shadow/pt 누락.
    rect/line 전용 writer(write_rect/write_line)는 완전 — generic 경로만 불완전(shape.rs:11 갭).
  • IR 보유(파서 정상): drawing.border_line, drawing.shadow_*, PolygonShape.points. → serializer-only.

결정 증거

36396457(11쪽) → 직렬화 후 4쪽 붕괴. 이진탐색: section2 문단23 polygon. 정규화 diff: rt 가
polygon 의 lineShape/shadow/hc:pt(8꼭짓점) 드롭(−2614자). 태그속성 복원만으론 미해소 →
지오메트리 드롭이 deciding. 잔여 붕괴 3건 전부 polygon/ellipse 보유.

수정 방향

render_common_shape_xml 가 shape_block 직후 lineShape·shadow·hc:pt 방출(IR 값). 호출부가
drawing+points 전달. 태그 누락 속성(numberingType 등)도 정합.

수용 기준

  • polygon roundtrip 후 points/lineShape/shadow 보존.
  • 36396457 등 잔여 붕괴 한글 PageCount 해소, baseline/lib 회귀 0, IR 통제 비교 악화 0.

근거: mydocs/tech/hwpx_page_collapse_cluster.md §5e.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions