요약
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.
요약
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 갭).
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 등)도 정합.
수용 기준
근거:
mydocs/tech/hwpx_page_collapse_cluster.md§5e.