Repository navigation
fix(render): compact structural nested-table end paragraphs - #1091
Merged
Merged
Conversation
JSv4
changed the base branch from
codex/rendering-fidelity-wrap-spacing
to
main
October 12, 2026 00:41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 at80df760778b0df293d179a8a2860f343da6df90a; 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.Reproduce by running
.github/workflows/rendering-fidelity.ymlat this head, or use the workflow's pinned provisioning/build/reference/measurement commands. Download the evidence withgh 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 is0289a89ddadff89070563652fcf95897e7656b1b.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:trueand no model usage.