Full visual scan report — post 2026-08-05 merge wave
- main tip measured:
9161710(includes #461 bookmark fix) - corpus: v0.1.1 labeled review package (22 fixtures, 475 pages)
- site: https://recto-review-efa17e43.pages.dev (左 Word · 中 Recto · 右 Diff)
- method: 19 parallel LLM vision batches; each page one triptych judgment
- raw data:
full-scan/all-verdicts.json,full-scan/summary-stats.json
1. Headline numbers
| absolute | pages | % |
|---|---|---|
| PASS | 159 | 33.5% |
| PARTIAL | 89 | 18.7% |
| FAIL | 227 | 47.8% |
| total | 475 | 100% |
| severity | pages |
|---|---|
| none / raster | 161 |
| local | 87 |
| structural | 60 |
| catastrophic | 167 |
读法: 约 1/3 页人眼可接受;近一半 FAIL;灾难级 167 页高度集中在少数「大文档 / 复杂表 / 图文」fixture,不是均匀差。
2. Per-fixture pass rate (worst → best)
| pass% | P / Pa / F | fixture | 类型 |
|---|---|---|---|
| 3% | 4/26/103 | dc-02353175-table-complex | 巨型嵌套表 (133p) |
| 9% | 5/24/25 | dc-0284245d-sections | 长分节 (54p) |
| 10% | 1/0/9 | dc-0982ea29-image | 图文混排 |
| 0% | 0/0/7 | dc-0d06bc20-image | 图文/宣传页 |
| 0% | 0/0/4 | dc-0139461c-notes-cols | 多栏+notes |
| 0% | 0/0/2 | dc-051f92d2-anchor | 锚定图 |
| 39% | 20/7/24 | dc-01487dbf-table-complex | 复杂表 |
| 60% | 78/1/50 | dc-1589a4a1-sections | 长 sections(后半页常 catastrophically 空白/错页) |
| 100% | 23/0/0 | dc-0011b198-plain | 简单正文 |
| 100% | 10/0/0 | dc-05428258-lists | 列表(本扫全过;与早期抽查有方差,见 §5) |
| 100% | 6+ 个小 plain/lists | 短文 | 正文路径基本可用 |
3. Mechanism histogram (top)
| mechanism (normalized) | hits | 含义 |
|---|---|---|
| missing-content / blank-page / sparse-page | ~250 | 页上大块或整页缺失 |
| pagination-drift / page-desync | ~150 | 与 Word 页面对不齐(内容错页) |
| nested-table-* / table-border / cell-* | ~250 | 嵌套表、框线、单元格几何 |
| multi-column-loss | 60 | 多栏丢失/摊平 |
| font / glyph-aa / cjk-glyph | ~240 | 字形/栅格(多数 raster,非结构) |
| missing-image | 15 | 图未画上 |
| list / tab-leaders | 较少 | 列表/前导符 |
4. Code-linked repair priorities
P0 — 锚定/浮动图与 wrap(图文页「整页空白」)
证据: dc-0d06bc20-image 7/7 FAIL catastrophic;dc-0982ea29-image 9/10 FAIL;dc-051f92d2-anchor 全 FAIL。人眼:Word 满版图文,Recto 几乎只有一条线。
代码落点:
crates/recto-layout/src/engine.rs— drawing/anchor 布局、paragraph-associated pages- 浮动/环绕:wrap square/tight/through 仍大量 loss(trace
RECTO-LOSS-2008/2010) - PDF 绘制:
crates/recto-pdf/src/render.rs对 drawing 的 paint 路径
建议切片:
- 盘点 corpus 图文页的 anchor 类型(inline vs anchor,wrap 模式)
- 先做 inline drawing 占位高度 已有基础,补 anchor + wrap 把正文挤开 的最小闭环
- 用
dc-0d06bc20-image/dc-0982ea29-imagep1 作 RED 视觉 fixture
P0 — 巨型/嵌套表
证据: dc-02353175-table-complex 103 FAIL / 133 页;机制 nested-table-loss、border、cell-padding 占主导。
代码落点:
crates/recto-layout/src/table.rs— 嵌套TableContent::Table、列宽、tblGridtable_pagination.rs— 跨页拆行、header 重复、vMerge- 样式级联刚合 #444,框线/条件边框仍弱
建议切片:
- 嵌套表「丢整表 / 塌成空壳」——先保证 nested table 进入 block 树且有非零几何
- 复杂 tblBorders / 条件边框与 cell margin(#498 已保真 oxml,layout 消费仍可能不完整)
- 分页:长表后半 blank/wrong-page 与 pagination-drift 同源
P1 — 分节 / 多栏 / 节属性
证据: dc-0284245d-sections、dc-1589a4a1-sections 大量 structural/catastrophic;dc-0139461c-notes-cols 4/4 FAIL。
代码落点:
engine.rssection ranges、equal_width_columns、continuous sectPr- 注释已写明:in-flow tables do not yet participate in column flow
- notes/脚注栏:footnote 布局与 body 栏交互
建议切片:
- continuous section + mid-page column change 的分页一致性
- 多栏正文真正按栏流(非摊平成单栏)
- notes-cols:脚注/尾注与栏宽
P1 — 分页漂移(长文档后半)
证据: pagination-drift / page-desync ~150 hits;长 fixture 后半页 catastrophic「空白或错内容」。
代码落点:
paginator.rs、engine.rskeepNext/widow、HF 带高(#508/#450 已动一部分)- 前文少排一点 → 后文整页错位(error cascade)
建议: 不要单独「修空白页」;用 前 3 个结构根因 降漂移。对 dc-1589a4a1-sections 做前后半页对照验收。
P2 — 列表 / 表框线细节 / 字体栅格
- 列表:本扫
dc-05428258-lists全 PASS(与早期抽查不一致 → 见 §5) - 表框线 local:
table-border、border-width—table.rs边框绘制 + pdf 线宽 - font/cjk-glyph/raster:多数 none/raster,不优先除非 CJK 缺字
P3 — 已明显变好(维持回归)
- 简单 plain:
dc-0011b198、dc-001b7d31、dc-00610bfc等 100% PASS - 说明段落/HF/基础分页路径在合并波次后可用;不要在 plain 上继续堆资源
5. 方法局限
- LLM 视觉方差: 同页不同 batch 可能 PARTIAL↔FAIL;以 fixture 级聚合为准,单页 note 仅线索。
- JPEG 压缩: CF 包为 ~1800px JPEG,细线/字重判断偏粗。
- v0.3.0 未扫: fixture 字节与 meta 不一致,0 页。
- 8 页 fixture 未进 22 包(测量侧过滤/失败);全 corpus 仍大于本包。
6. 建议的下一季度 slice 顺序
| 序 | slice | 主 fixture | 代码入口 |
|---|---|---|---|
| 1 | anchor/wrap 图文占位与环绕 | dc-0d06bc20-image, dc-0982ea29-image | engine.rs drawing |
| 2 | 嵌套表几何不丢失 | dc-02353175-table-complex p1–10 | table.rs |
| 3 | 多栏真实分流 | dc-0139461c-notes-cols | engine.rs columns |
| 4 | 长节分页稳定 | dc-1589a4a1-sections 后 30% 页 | paginator + section |
| 5 | 表框线/单元格 padding 视觉 | dc-00f7889f-table | table borders paint |
每 slice:RED 页 triptych + 机器 page_match/SSIM 辅证 + 本扫 verdict 子集回归。
7. 文件
- Verdicts:
~/.cache/recto/review-2026-08-05-tip/full-scan/all-verdicts.json - Stats:
.../summary-stats.json - Labeled site: https://recto-review-efa17e43.pages.dev