chore: bump fig-extract to v2.13.1#31
Conversation
📝 WalkthroughWalkthrough
ChangesCoverage scoring update
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/core/fig-extract.js`:
- Around line 34-41: Update the version comment in src/core/fig-extract.js to
use the vendor copy’s MD5 hash c663649dee427e515ea0ef37909d4338, ensuring the
byte-identical claim is consistent with the file’s actual hash.
- Around line 193-195: Update the HUGE_COVERAGE_MIN exemption logic so
candidate-local coverage cannot alone bypass hugePenalty for narrow, vertically
over-expanded raster candidates. In the hugePenalty condition around
heightRatio, require a page-width-aware metric such as coverage multiplied by
widthRatio, or enforce a minimum widthRatio guard, while preserving legitimate
full-width figure exemptions. Ensure the behavior remains covered by the Nature
Extended Data and tall-column over-grab smoke tests.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 53f9e55a-b7b7-4bf4-8401-5158f03a8f6f
📒 Files selected for processing (1)
src/core/fig-extract.js
| const VERSION = "2.13.0"; | ||
| // 2.13.0: [계약 무변경] hugePenalty 전면 figure 오발 근본 해결 — 수평 잉크 커버리지 판별자 신설. v2.12.0 | ||
| // 프록시 (farClosed‖!raster)의 사각(신규 Nature 2026 전폭 clip은 `!farClosed && raster`라 미면제)을 | ||
| // 해소. measureCandidate가 up+huge 영역에서 잉크 90% 질량을 담는 최소 연속 컬럼 폭/영역 폭 = | ||
| // coverage를 산출(내부 패널 갭에 강건, over-grab은 한쪽이 비어 낮음). hugeExempt에 `coverage ≥ | ||
| // HUGE_COVERAGE_MIN(0.54)` OR 조건으로 보강 — 프록시 면제분은 커버리지 무관하게 유지(회귀 0 보장). | ||
| // 전수 실측 분리: clip 표적 11건 coverage min 0.58 vs Simões4 over-grab 0.50, 임계 0.54. clip 해소 | ||
| // 11건(Tsyporin 4·Vaquero 1/2/4/ED.3/ED.8/ED.11·Yue 4·Pan ED.1/ED.2/ED.11) + Simões4/Pandey3 가드 유지. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
expected='b34be217d7576c76763a0a1c4965a464'
actual="$(md5sum src/core/fig-extract.js | awk '{print $1}')"
test "$actual" = "$expected"
printf 'verified MD5: %s\n' "$actual"Repository: enu3379/PDFViewer
Length of output: 155
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
echo "file existence and size:"
ls -l src/core/fig-extract.js || true
wc -l src/core/fig-extract.js || true
echo
echo "MD5 checksums:"
md5sum src/core/fig-extract.js | awk '{print $1}'
sha256sum src/core/fig-extract.js | awk '{print $1}'
echo
echo "top of file:"
sed -n '1,80p' src/core/fig-extract.jsRepository: enu3379/PDFViewer
Length of output: 381
벤더 복사본의 해시를 버전 주석과 맞추세요.
src/core/fig-extract.js의 MD5는 c663649dee427e515ea0ef37909d4338인데, 버전 주석에서 byte-identical 복사라고 주장하면 해시 기대값과 일치해야 검증할 수 있습니다.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/core/fig-extract.js` around lines 34 - 41, Update the version comment in
src/core/fig-extract.js to use the vendor copy’s MD5 hash
c663649dee427e515ea0ef37909d4338, ensuring the byte-identical claim is
consistent with the file’s actual hash.
66881e9 to
45019be
Compare
엔진
fig-extractv2.12.0 → v2.13.1 벤더링 (byte-identical 복사, md5eecff2eaac53486b7f6902a545b2f249).엔진 변경 (계약 무변경)
(farClosed‖!raster)의 사각(신규 Nature 2026 전폭 clip은!farClosed && raster라 미면제)을 수평 잉크 커버리지(up 영역 잉크 90% 질량 최소폭 ÷ 영역 폭 ≥ 0.54, 프록시에 OR 보강)로 해소. clip 11건 해소.widthRatio ≥ 0.60폭 바닥으로 차단. 전수 diff v2.13.0↔v2.13.1 = 0(순수 하드닝).엔진 repo 게이트 (통과)
소비자 영향
[계약 무변경]— extract() 시그니처·출력 필드 불변.fig-engine.ts·fig-extract.d.ts·integration.md 갱신 불요.Ready for merge.