XBX-2 완료: overflow 프로세스 정상 동작
- slide_measurer: data URI → 임시파일 방식 (대용량 HTML 측정 가능) - pipeline: Type B zone 간 재배분 (top↔bottom 공간 이전) - pipeline: overflow 분기에 top/bottom zone 추가 - kei_client: 에스컬레이션 prompt 개선 - 텍스트 원문 보존 원칙 명시 (삭제/요약/압축 금지) - action을 popup만으로 제한 - 실제 역할명 목록을 prompt에 전달 - block_assembler: Kei popup 결정 반영 (해당 역할 콘텐츠 → 팝업 링크) 결과: 02번 상단 카드 3개 모두 표시, 하단 우측 표 → 팝업 분리 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -135,13 +135,16 @@ def measure_rendered_heights(html: str) -> dict[str, Any]:
|
||||
)
|
||||
|
||||
driver = None
|
||||
tmp_file = None
|
||||
try:
|
||||
driver = webdriver.Chrome(options=options)
|
||||
|
||||
# HTML을 data URI로 로드
|
||||
import urllib.parse
|
||||
encoded = urllib.parse.quote(html)
|
||||
driver.get(f"data:text/html;charset=utf-8,{encoded}")
|
||||
# HTML을 임시 파일로 저장 후 file:// URI로 로드 (data URI는 대용량 HTML에서 실패)
|
||||
import tempfile
|
||||
tmp_file = tempfile.NamedTemporaryFile(suffix=".html", delete=False, mode="w", encoding="utf-8")
|
||||
tmp_file.write(html)
|
||||
tmp_file.close()
|
||||
driver.get(f"file:///{tmp_file.name}")
|
||||
|
||||
# 폰트 로딩 대기 (Pretendard CDN)
|
||||
try:
|
||||
@@ -169,6 +172,12 @@ def measure_rendered_heights(html: str) -> dict[str, Any]:
|
||||
driver.quit()
|
||||
except Exception:
|
||||
pass
|
||||
if tmp_file:
|
||||
import os
|
||||
try:
|
||||
os.unlink(tmp_file.name)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
def format_measurement_for_kei(
|
||||
|
||||
Reference in New Issue
Block a user