Repository navigation
Fullbleed 2.5.18: correct counter scopes and editable numbered reports
Chapter headings now keep their CSS counter resets in scope for following section headings. A report that incorrectly numbered sections 1.1, 1.2, then 2.3 now starts its second chapter at 2.1. The fix also covers nested branches, generated labels in plain table cells, source-order table mutations, boxless elements, footnotes across paragraphs, and clamped integer increments.
Follow the numbered-report guide or download fullbleed-numbered-report-2.5.18.zip for the editable two-page report. Extract it, install requirements.txt in a Python 3.10+ virtual environment, and run python render.py --out output. The source includes HTML, print CSS, automatic chapter/section/table/page numbering, explicit Inter registration, a glyph check, finalized PDF previews, and a deterministic replay check. The finished PDF is attached separately.
Validation: 1,352 Rust library tests and 11 Rustdoc checks pass on Windows and Linux; 590 Python tests and 70 focused tests pass against the final installed wheel. CI checks 48 PDFs from 12 counter fixtures on each platform. Fresh PyPI and crates.io consumers each reproduce the expected labels and page counts across all 48 PDFs; the native Windows Rust dev consumer uses an explicit 4 MiB worker stack. The actual report ZIP runs from a directory with spaces; two independent readers verify its numbering, fonts, and page bounds, including an inserted section. See the verification JSON, counter-evidence ZIP, and checksums for exact identities.
The unchanged 1,662-fixture CSS comparison retains 1617 PASS, 26 FAIL, and 19 REFERENCE-DISPUTED, with no lost passes or new failures relative to the retained prior source candidate. Its complete artifact is attached as fullbleed-counter-source-69dad077-corpus.zip. That run used source commit 69dad077 with unpublished 2.5.17 metadata; it is not a corpus run of the final public wheel. The release keeps that renderer source unchanged. The original nested-counter visual mismatch remains.
Public APIs and runtime dependencies are unchanged. These checks do not establish complete CSS counter or PDF standards conformance. The optional dedicated PDF/VT validator remains unconfigured; Node and .NET package pins are unchanged.
Known native Rust limitation: a small boxless-table render overflows the default 1 MiB Windows debug main-thread stack in both 2.5.17 and 2.5.18. An explicit 4 MiB worker passes the counter workload. The reduced reproducer and failing controls are retained in issue #62 and the evidence ZIP; this release does not resolve that pre-existing limitation. Optimized native main-thread behavior was not tested in that diagnostic.