Skip to content

chore: bump fig-extract to v2.26.1 - #40

Merged
onetwothr1 merged 1 commit into
devfrom
chore/vendor-fig-extract-2.26.1
Aug 3, 2026
Merged

chore: bump fig-extract to v2.26.1#40
onetwothr1 merged 1 commit into
devfrom
chore/vendor-fig-extract-2.26.1

Conversation

@onetwothr1

@onetwothr1 onetwothr1 commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

엔진 repo가 v2.19.4 이후 11개 버전 앞서 있어 한 번에 올립니다.

2.19.5 · 2.20.0 · 2.21.0 · 2.21.1 · 2.22.0 · 2.23.0 · 2.24.0 · 2.24.1 · 2.25.0 · 2.26.0 · 2.26.1

계약 영향 없음

11개 항목을 태그 단위로 감사한 결과 전부 [계약 무변경]/[행동 변경]이고 [BREAKING]·[필드 추가]는 하나도 없습니다. 따라서 fig-engine.ts·fig-extract.d.ts·docs/fig-extract-integration.md는 손대지 않았습니다. 출력 필드·좌표계·전역 노출 방식 모두 그대로입니다.

변경은 src/core/fig-extract.js 한 파일이고 엔진 repo와 byte-identical(335,512 bytes)입니다.

주요 감지 변화

정본은 엔진 repo의 규칙 유래 표이고, 여기서는 이번 점프로 크롭이 달라질 수 있는 이유만 적습니다.

버전 내용
2.19.5 12-B captionCompetition 가드를 진단 독립으로 교정 — 소비자 쪽에서 꺼져 있던 가드가 켜집니다
2.20.0 보충자료 캡션 목록 페이지 거부 (false_positive 19행 제거)
2.21.0 경계 벗기기 — 영역 바깥 블록이 남의 텍스트면 방출 상자에서 뺍니다 (285행 발동)
2.22.0 패널형 soft 캡션 앵커 (FIG. N a, …) — 앵커 0이던 문서가 살아납니다
2.23.0 컬럼 인식 블록 분할 (기각 전용)
2.24.x table 캡션 융합 판정을 높이 프록시 → 그림 잉크 실측으로, 본체 롤백을 BODY stop과 공유
2.25.0 본문 단락 기하 객체 + 단락 상단 클램프
2.26.x 단락 x 클램프 + 캡션 컬럼 확정

그림 개수·번호·경계가 달라지는 논문이 있습니다 — 특히 2.20.0(오탐 제거)과 2.22.0(앵커 복구)은 방출 집합 자체를 바꿉니다. 2.21.0 이후는 방출 집합을 유지한 채 상자만 줄이는 계약입니다.

검증

  • byte-identical 확인 (335,512 bytes)
  • npm run typecheck 통과
  • npm run build 성공 (viewer 588.96 kB / gzip 183.19 kB)
  • [사람] 스모크 정상 — 스캔 완료·크롭 이미지 정상·문서 교체 반복 이상 없음

엔진 repo 게이트(v2.24.1 → v2.26.1): sCritical gate 0.9301→0.9313 · bench 0.9263→0.9282 · all 0.9274→0.9291, critical 회귀 0, 앵커 악화 0.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • 개선 사항
    • 그림 엔진이 최신 버전으로 업데이트되었습니다.
    • 패널형 그림의 캡션과 본문 영역을 더 정확하게 인식합니다.
    • 표 캡션 및 표 본문 경계 처리가 개선되었습니다.
    • 페이지 목록과 유사한 콘텐츠의 잘못된 인식이 줄어듭니다.
    • 텍스트 영역의 경계와 열 분할 처리가 안정화되었습니다.
    • 다양한 페이지 구성에서 그림 추출 결과의 일관성이 향상되었습니다.

@onetwothr1
onetwothr1 requested a review from enu3379 as a code owner August 3, 2026 05:25
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d6f69769-7c85-455e-91eb-bb3c4de23c1d

📥 Commits

Reviewing files that changed from the base of the PR and between 0798330 and 74a2438.

📒 Files selected for processing (2)
  • src/core/fig-engine.ts
  • src/core/fig-extract.js

📝 Walkthrough

Walkthrough

벤더링된 그림 추출 엔진 버전을 2.26.1로 갱신했다. Soft 패널 캡션, 본문 컬럼, 표 본체 롤백, SI 목록 거부, 후보 클램프와 N−1 상태 처리를 확장했다.

Changes

그림 추출 엔진

Layer / File(s) Summary
캡션 및 표 경계 처리
src/core/fig-engine.ts, src/core/fig-extract.js
엔진 버전을 2.26.1로 변경했다. Soft 패널 캡션 후보와 판정 경로 진단을 추가했다. 표 캡션과 표 본체의 경계를 그림 잉크 비율과 갭 문턱으로 판정한다.
본문 단락 스캔 및 롤백
src/core/fig-extract.js
본문 단락과 컬럼을 추정한다. 밴드 기반 블록 복원, 표 본체 롤백, 행 잉크 프로파일, 블록 trace와 본문 기반 클램프를 추가했다.
SI 목록 거부 및 후보 클램프
src/core/fig-extract.js
페이지별 텍스트 마스크를 공유한다. SI 목록형 후보를 dedup 전에 제거한다. 후보의 상단과 x축 범위를 조정하고 방출 진단에 조정 정보를 기록한다.
N−1 상태 및 소유권 처리
src/core/fig-extract.js
N−1 선택·방출·claim 상태를 진단과 독립된 내부 상태에서 읽는다. 목록형 후보 거부와 원본 상자 기반 소유권 교집합 판정을 적용한다. 최종 공개 figure에서는 내부 필드를 제거한다.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

  • enu3379/PDFViewer#28: 표 캡션 롤백과 컬럼 클램프 로직을 함께 변경한 이전 엔진 갱신입니다.
  • enu3379/PDFViewer#32: Soft 캡션 감지와 게이트 로직을 변경한 이전 엔진 갱신입니다.
  • enu3379/PDFViewer#39: 동일한 벤더링 엔진과 버전 계약을 갱신한 직접 관련 변경입니다.

Suggested reviewers: enu3379

Poem

당근을 문 토끼가 엔진을 갱신해요.
캡션과 표 경계를 또렷하게 찾아요.
단락과 컬럼을 차분히 나눠요.
목록 후보는 조용히 걸러요.
N−1 상자도 제자리를 찾아요.
“깡총, 2.26.1 준비 완료!”

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 fig-extract를 v2.26.1로 업데이트하는 변경 사항을 정확하고 간결하게 설명합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/vendor-fig-extract-2.26.1

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ast-grep (0.45.0)
src/core/fig-extract.js

ast-grep timed out on this file


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

engine: onetwothr1/PDFViewer-Figure-Extract@732f2d2

엔진 repo가 v2.19.4 이후 11개 버전 앞서 있어 한 번에 올린다.
2.19.5 · 2.20.0 · 2.21.0 · 2.21.1 · 2.22.0 · 2.23.0 · 2.24.0 · 2.24.1 ·
2.25.0 · 2.26.0 · 2.26.1 — 전부 [계약 무변경]/[행동 변경]이고
[BREAKING]·[필드 추가]는 하나도 없어 fig-engine.ts 타입·
docs/fig-extract-integration.md의 계약 서술은 그대로다.
엔진 export 목록(파일 끝 return)도 v2.19.4 대비 무변경이다.

주요 감지 변화 (엔진 repo 규칙 유래 표가 정본):
  2.19.5  12-B captionCompetition 가드를 진단 독립으로 교정
  2.20.0  SI 목록 페이지 거부 (false_positive 19행 제거)
  2.21.0  경계 벗기기 — 바깥 블록이 남의 텍스트면 방출 상자에서 뺀다
  2.22.0  패널형 soft 캡션 앵커
  2.23.0  컬럼 인식 블록 분할 (기각 전용)
  2.24.x  table 캡션 융합 판정을 그림 잉크 실측으로 + 본체 롤백 공유
  2.25.0  본문 단락 기하 객체 + 단락 상단 클램프
  2.26.x  단락 x 클램프 + 캡션 컬럼 확정

2.20.0·2.22.0은 방출 집합 자체를 바꾸고, 2.21.0 이후는 집합을 유지한 채
상자만 줄이는 계약이다.

검증: 복사 시점 엔진 repo clean · byte-identical(335,512 bytes)
      typecheck · test 48/48 · build 통과 · [사람] 스모크 정상

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@onetwothr1
onetwothr1 force-pushed the chore/vendor-fig-extract-2.26.1 branch from 3d13603 to 74a2438 Compare August 3, 2026 05:32
@onetwothr1
onetwothr1 merged commit 3eda1f7 into dev Aug 3, 2026
3 checks passed
@onetwothr1
onetwothr1 deleted the chore/vendor-fig-extract-2.26.1 branch August 3, 2026 05:41
onetwothr1 added a commit that referenced this pull request Aug 3, 2026
`docs/fig-extract-integration.md` §갱신 절차의 SHA 표기를 40자 전체 → **7자리**로
바꿉니다. 문서 한 파일, 4줄 변경입니다.

추적에 필요한 것은 "어느 커밋을 복사했나"이고 이 저장소 규모에서 7자리면 충분히 유일합니다. 충돌하면 git이 더 긴 약칭을
요구하므로 그때 늘리면 됩니다. 2단계의 `rev-parse HEAD`도 `rev-parse --short HEAD`로
맞췄습니다.

## 배경

직전 v2.26.1 벤더링(#40)에서 CI가 `test/fig-engine.test.ts`의 버전 핀 불일치를 잡았습니다 —
`VENDORED_ENGINE_VERSION`을 안 올린 채 엔진 파일만 복사한 상태였습니다.

원인은 엔진 repo의 축약본(`docs/PLAYBOOKS.md` §PB-5)에 이 문서 §갱신 절차의 세 단계가 빠져 있던
것입니다.

- ④ `VENDORED_ENGINE_VERSION`을 같은 커밋에서 갱신 (**계약 태그와 무관하게 매번**)
- ⑦ `npm test` (PB-5에는 `typecheck && build`만 있었습니다 — 그 둘은 이 결함을 통과시키고
테스트만 잡습니다)
- ⑧ 커밋 메시지에 엔진 SHA 명시

엔진 repo 쪽 PB-5는 이 문서를 정본으로 삼아 8단계로 맞추는 수정을 함께 올립니다. 이 PR은 그중 SHA 표기 규칙만
정본에 반영하는 것입니다.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **문서**
  * 엔진 업데이트 절차에서 커밋 SHA를 7자리 약칭 형식으로 기록하도록 안내를 수정했습니다.
  * 커밋 메시지에 복사한 엔진의 7자리 SHA를 포함하는 예시와 설명을 업데이트했습니다.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@coderabbitai coderabbitai Bot mentioned this pull request Aug 4, 2026
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant