Skip to content

fix(render): compact structural nested-table end paragraphs - #1091

Merged
JSv4 merged 1 commit into
mainfrom
codex/rendering-fidelity-nested-table
Oct 12, 2026
Merged

JSv4 merged 1 commit into
mainfrom
codex/rendering-fidelity-nested-table

Conversation

@JSv4

@JSv4 JSv4 commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

A required unformatted paragraph after a nested table inherits normal line height and space-after, adding a blank line to the enclosing cell and displacing the following body text. Detect that structural paragraph before inherited formatting is expanded, retain its canonical source identity, and render it as a one-twip line with zero paragraph spacing. Explicit paragraph/run formatting, breaks, visible text, body blanks, and nonterminal cell paragraphs retain their lines.

This PR stacks on #1075. That base is independently measured at 93.48448951086479 (12/12 mandatory passes, no regression), at exact commit a388684b2c05100da0e7870eceab6144de42ed8e. Advance only the renderer baseline to that commit so the unchanged zero-tolerance oracle gate protects its improved image cases as well as all other cases. The independent oracle remains pinned at 80df760778b0df293d179a8a2860f343da6df90a; its fixtures, scoring, thresholds, masks, and font policy are unchanged.

Validation: 98 related native converter/inheritance/wrap tests pass. Two authored real-WASM Chromium tests verify compact and intentionally formatted terminal paragraphs, source text order, and a positive PageMap fragment with cell ownership. Four existing picture/column/endnote browser tests also pass. TypeScript checks pass; a fresh WASM build is 5603 KB compressed, under the 5888 KB budget. Authored XML fixtures are independent of the benchmark fixtures.

The unchanged independent oracle measured the cumulative aggregate at 95.13245986806041: starting main 89.73056858212296, picture-wrap base 93.48448951086479, then this table fix. All 12 mandatory cases pass. The zero-tolerance oracle comparison reports No regression in any protected measurement. Nested tables improve from 83.29018819509314 to 99.76989176704953; all other cases retain the measured base results. Calibration scored 100/100. All 15 reference raster hashes, suite digest, metric contract, and measurement/font environment match the original 89.73 run.

Exact tested cumulative commit: 4f5d76d4baf6f06e354c11ee5a1a86378a93a3cb. Successful benchmark run and complete evidence artifact include all result/check JSON, shared references, PDFs, reference/candidate rasters, overlays, source-bound build/runtime provenance, and comparison findings. Artifact archive SHA-256: d50e381087e512bbcb6eec579d113b2a868d47b3d5ace2c114b4d5edb8fb4351.

Case Starting main Picture-wrap base Cumulative candidate
columns-continuous 95.0258 95.0258 95.0258
columns-balanced 95.9204 95.9204 95.9204
columns-break 96.4066 96.4066 96.4066
paragraph-contract 88.0953 88.0953 88.0953
paragraph-heading 98.9772 98.9772 98.9772
paragraph-keep 83.7345 83.7345 83.7345
notes-footnote 95.6630 95.6630 95.6630
notes-endnote 98.8841 98.8841 98.8841
tables-nested 83.2902 83.2902 99.7699
tables-margins 99.7420 99.7420 99.7420
images-square 91.2869 93.5285 93.5285
images-tight 56.3331 91.6307 91.6307

Reproduce by running .github/workflows/rendering-fidelity.yml at this head, or use the workflow's pinned provisioning/build/reference/measurement commands. Download the evidence with gh run download 38186629726 --name independent-rendering-fidelity. The environment remains LibreOffice 25.8.7.3, Node 22.23.3, Playwright 1.57.0 / sandboxed Chromium 143.0.7499.4, and approved Liberation fonts. The original main baseline is 0289a89ddadff89070563652fcf95897e7656b1b.

The goal above 98 remains unfinished. Paragraph line placement/justification and two-sided picture contour flow still require work. Native, npm, platform builds, performance, and the independent benchmark pass; the full Playwright CI also passes. The Claude review action failed before producing review comments with is_error:true and no model usage.

@JSv4
JSv4 changed the base branch from codex/rendering-fidelity-wrap-spacing to main October 12, 2026 00:41
@JSv4
JSv4 merged commit 562cf02 into main Oct 12, 2026
16 of 17 checks passed
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