Skip to content

HWPX 직렬화 시 ClickHere 필드 타입 CLICKHERE(틀림)→CLICK_HERE → 페이지 붕괴 (IR-invisible) #1595

Description

@planet6897

요약

HWPX 직렬화기가 ClickHere(누름틀) 필드 타입을 type="CLICKHERE"(언더스코어 누락)로 방출한다.
올바른 HWPX 값은 type="CLICK_HERE" (파서·템플릿이 사용). 한글이 "CLICKHERE" 를 미인식해
ClickHere placeholder 높이를 다르게 렌더 → 페이지 붕괴(#1589 군집의 지배적 원인). 파서가
관대(둘 다 수용)라 IR diff=0 → 게이트 미검출(시각-only).

근본원인

  • 직렬화: serializer/hwpx/field.rs:180 ClickHere => "CLICKHERE" (틀림).
  • 파서: parser/hwpx/section.rs:4254 "CLICK_HERE" | "CLICKHERE" => ClickHere (관대 → IR diff=0).
  • 정답: 동 파일 템플릿(section.rs:2250, :6695)·실문서 orig 모두 "CLICK_HERE".

결정 증거

붕괴 파일 rt 의 CLICKHERE → CLICK_HERE 치환 → 한글 PageCount 붕괴 11/11(100%) 해소
(36391546 8쪽→1쪽→8쪽 등). 단락 이진탐색+leave-one-out 으로 단일 deciding 속성 확정.

군집 적용성

붕괴 파일의 96%(80/83) 가 ClickHere 필드 보유 → #1589 ~16% 붕괴 군집의 대다수를 단일
수정으로 해소
예상.

수정 방향

  1. field.rs:180 ClickHere => "CLICK_HERE".
  2. "CLICKHERE" 기대 테스트 갱신(field.rs·section.rs).
  3. (검토) diff_documents 가 field type 비교하는지 — IR diff=0 였으므로 게이트 강화 여지.

수용 기준

  • ClickHere 필드 roundtrip 후 type="CLICK_HERE" 방출.
  • 대표 붕괴 파일 한글 PageCount 보존(붕괴 해소), 통제 비교 악화 0.
  • baseline + lib 회귀 0.

근거: mydocs/tech/hwpx_page_collapse_cluster.md, #1589.

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