Skip to content

typeset/layout height 측정 모델 통일 (Task #485 후속) #656

@planet6897

Description

@planet6897

배경

Task #485 (synam-001.hwp 분할 표 셀 마지막 줄 클립) 정정에서 compute_cell_line_ranges 의 break 조건에 SPLIT_LIMIT_EPSILON = 2.0px 휴리스틱 마진을 도입하여 결함을 해소.

이 epsilon 은 본질적으로 typeset 의 split_end_limit = avail_content 추정과 layout 의 line_h 누적 사이의 미세 어긋남 을 흡수하는 임시방편이다. 본 이슈는 그 구조적 본질을 통일하는 후속 작업.

관련 자료

본질

typeset_layout_drift_analysis.md §근본 해결안 비교 의 A. 단일 모델 통합 안:

  1. typeset advance = height_for_fit (Task 문단 trailing line_spacing 누적 drift — col 1+ 의 본문이 HWP 보다 일찍 다음 페이지로 넘어감 #331 의 1단계)
  2. layout per-paragraph advance = height_for_fit (Task 문단 trailing line_spacing 누적 drift — col 1+ 의 본문이 HWP 보다 일찍 다음 페이지로 넘어감 #331 의 2단계)
  3. vpos correction 의 vpos_end 에서 trail_ls 제외, 또는 양방향 보정 (collapse 방지 검증 포함)
  4. clamp pile 버그 → "stop drawing on overflow" 로 변경 + typeset 에 overflow signal 발행

선행 시도 (Task #331) 는 회귀로 revert 되었으나, 단계적 통합 접근으로 재시도 가치 있음.

영향 범위

검증 케이스

마일스톤

v1.0.0 (M100) — 조판 엔진 정합성

우선순위

낮음 (현재 epsilon 휴리스틱이 본 결함 해소 + 회귀 없음). 다른 분할 표 결함이 누적되거나 폰트 변경으로 epsilon 부족 케이스 발생 시 우선도 상승.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions