You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Audit: the LibreOffice reference for the #1220 deck seats page 8's value tick labels 7.68pt right of the native export #1860
With #1663's horizontal calibration in place, page 8's value tick labels land
where the native PowerPoint export puts them, and the LibreOffice Impress
reference attached to #1220 is revealed to seat that label column 7.68pt to the
right of native while placing the plot's own edges in the same place. Every
layout-audit dx finding on 800..0 on this page therefore carries a
reference-side component that no converter change can remove.
This is the horizontal counterpart of #1676, which measures the same
reference's own vertical plot seat.
Measured
Fixture: page 8 of GENERAL SERVICES.pptx (#1220, input SHA-256 17924ec3b27646a2c1b2bb711b845360b713cc7052b3cdde9df752f9ceded3a9). Chart frame
689.187 x 221.058pt at (134.813, 270.0), value axis Arial 11.97pt, labels 0/200/400/600/800.
Ink extent of the 800 label, measured on 150 DPI pdftoppm renders (one pixel
is 0.48pt):
The two exporters agree on the plot's left edge to 0.107pt and disagree on where
the label column ends by 7.20pt, so the reference is not reserving a different
gutter — it is right-aligning the labels inside the one it reserves at its own
position.
The reference PDF is SHA-256 8c8f471d8baaf0abd79e752ef49951c240752d36e4512651f6cb9a7cfffb650f; the native
export is adec062605a45f1b6884252e9f4e199dee2da029e975845c258f4a7c38c820e1.
Effect on the audit
compare_layout.py --page 8 --audit --fine-shift 0.5 against the reference
reports 0 dx -7.34pt and 200..800 dx -7.30pt. Before #1663 those read
+0.98 to +1.01pt, because the uncalibrated gutter happened to put our labels
near the reference's rather than near PowerPoint's.
Expected
Recorded as a reference-side difference for this page, in the same way #1676
records the reference's own vertical plot seat, #1670 its right-legend layout
and #1664 its font substitutions.
Supplied reference: LibreOffice Impress 26.2.5.2 (X86_64); PDF SHA-256 8c8f471d8baaf0abd79e752ef49951c240752d36e4512651f6cb9a7cfffb650f
Native export: Microsoft PowerPoint 16.113.3 on macOS 26.6.2 build 25G83; PDF SHA-256 6a18edd852804ae4cfd5fe10438b25fbbe4a140871b1506eacee2f7bc134bbc8
Current office2pdf output: built from e019d103c32a17268128401cb2d33d620ceccf33; PDF SHA-256 47ddfd4ffaa608b27604cc4f987a923aef546ec4c4955bb530823bef57e99ff8; all three PDFs contain 15 pages at 960 x 540 pt.
The fresh page-8 layout audit reports these reference-to-current-output shifts:
Label
dx (pt)
dy (pt)
800
-7.30069
-8.93435
600
-7.30069
-8.40940
400
-7.30069
-7.91246
200
-7.30069
-7.38752
0
-7.33740
-6.89060
At 150 DPI, the current-output tick-label crop aligns horizontally with the native PowerPoint image. For 800, the already-recorded ink starts are 142.000 pt in native PowerPoint and office2pdf versus 149.680 pt in the LibreOffice reference; the plot left edges remain within 0.12 pt across the three exports. This confirms that the supplied reference seats the value-label column to the right of the native/current output.
The text-layer check also exposed a reference-side footer difference already tracked by #1664: every normalized word token from the LibreOffice extraction is present in the current output, while the output additionally extracts Internal; the LibreOffice page image wraps that footer word onto a second line. The 400 token's extraction order differs around the legend, with no token loss. The native PDF rasterizes most page-8 chart/table/footer text, so it is not a text-layer oracle for those labels.
The updated issue-local manifest records exact dispositions for all five tick-label shifts and the three tick-label render clusters. The fresh strict page-8 cluster report passes with 100/100 clusters dispositioned. The before and after evidence images are byte-identical because this PR records a verified reference difference without changing converter output.
Activity
fix(charts): measure a PowerPoint column plot's horizontal rectangle
docs(charts): record page 8's horizontal plot evidence
docs(pptx): publish the page-8 reference-exporter manifest
docs(pptx): publish the page-8 legend reference-exporter manifest
docs(evidence): record the composited axis labels against the page-8 GT
developer0hye commentedon Oct 6, 2026
Verified the page-8 horizontal tick-label reference difference against the fresh current-main output and the native PowerPoint export.
17924ec3b27646a2c1b2bb711b845360b713cc7052b3cdde9df752f9ceded3a98c8f471d8baaf0abd79e752ef49951c240752d36e4512651f6cb9a7cfffb650f6a18edd852804ae4cfd5fe10438b25fbbe4a140871b1506eacee2f7bc134bbc8e019d103c32a17268128401cb2d33d620ceccf33; PDF SHA-25647ddfd4ffaa608b27604cc4f987a923aef546ec4c4955bb530823bef57e99ff8; all three PDFs contain 15 pages at 960 x 540 pt.The fresh page-8 layout audit reports these reference-to-current-output shifts:
8006004002000At 150 DPI, the current-output tick-label crop aligns horizontally with the native PowerPoint image. For
800, the already-recorded ink starts are 142.000 pt in native PowerPoint and office2pdf versus 149.680 pt in the LibreOffice reference; the plot left edges remain within 0.12 pt across the three exports. This confirms that the supplied reference seats the value-label column to the right of the native/current output.The text-layer check also exposed a reference-side footer difference already tracked by #1664: every normalized word token from the LibreOffice extraction is present in the current output, while the output additionally extracts
Internal; the LibreOffice page image wraps that footer word onto a second line. The400token's extraction order differs around the legend, with no token loss. The native PDF rasterizes most page-8 chart/table/footer text, so it is not a text-layer oracle for those labels.The updated issue-local manifest records exact dispositions for all five tick-label shifts and the three tick-label render clusters. The fresh strict page-8 cluster report passes with 100/100 clusters dispositioned. The before and after evidence images are byte-identical because this PR records a verified reference difference without changing converter output.