Skip to content

Preserve cell bboxes across multi-page merge and add row-level page map - #19

Merged
maish merged 2 commits into
mainfrom
bbox-page-map
Aug 23, 2026
Merged

Preserve cell bboxes across multi-page merge and add row-level page map#19
maish merged 2 commits into
mainfrom
bbox-page-map

Conversation

@maish

@maish maish commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Fixes the Engine team's report: every TableCell in a merged multi-page table came back with bbox=None, blocking word-level grounding.

  • _reemit_body_row now carries the source cell's bbox into the rebuilt cell; untouched body rows keep their geometry. The FIFO alignment between repeated identical-text rows and their source occurrences is documented as a load-bearing invariant.
  • LogicalTable.row_pages (grid row index → resolved page_no) records which page each row's boxes are valid on — shape per Engine's review: resolved page numbers over prov indices, dict over list, missing key = no single source page.
  • TableStitcher.last_logical_tables exposes the merge results, previously discarded after injection.

Verified end-to-end on the 15-page druglist fixture: all 500 grid rows mapped across pages 1–15, 1,444/1,500 cells carrying a bbox (previously 0).

🤖 Generated with Claude Code

maish and others added 2 commits August 23, 2026 18:33
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@maish
maish merged commit d54c4ff into main Aug 23, 2026
10 checks passed
@maish
maish deleted the bbox-page-map branch August 23, 2026 10:40
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