2.0 KiB
Performance corpus
All document content is generated locally by tests/generate_performance_corpus.py. Individual file sizes, SHA-256 hashes and font provenance are recorded in manifest.json. The 500-page/500-chapter corpus is separate from the large raster stress workload.
EPUB navigation destinations
standard-500.epub contains 500 chapters, each with one h1 and twelve h2 headings. Its final section has min-height:100vh. This authored fixture style provides enough trailing room for all thirteen headings to have distinct scroll destinations, so the fixed benchmark can execute twelve forward and twelve backward moves without counting stationary end-clamped commands as physical navigation. The benchmark retains its original traversal span and requires every counted heading move to change the validated reading position.
Only the EPUB style.css entry changed. Its chapter text, headings, images, spine and navigation document are unchanged. HTML, ZIP HTML and PDF fixtures are unchanged.
| Fixture | Bytes | SHA-256 | Purpose |
|---|---|---|---|
standard-500.epub |
300640 | c5816283075fe2915672cbb2daa33229d74eeffb11041ef4a1f927886cdd2aa6 |
Fixed performance movement sequence with distinct terminal destinations |
standard-500-clamped.epub |
300618 | d4136e2c7e5e67bc10e640589c34fc629e80e66edd2ab2bd25dda238c7a2314d |
Original short final section, retained byte-for-byte for end-clamping regressions and old result interpretation |
The generator reproduces both files byte-for-byte. The original failing measurement is preserved in tests/results/benchmark-xhtml/clamp-diagnostic/epub.json: the twelfth heading command was acknowledged, but both before and after positions were chapter-0.xhtml, progression 1. The corresponding 125-operation failure is preserved in tests/results/benchmark-xhtml/standard-clamped/epub.json. Product handling of consecutive clamped headings is tested independently on unmodified short-tail XHTML and must not be inferred from performance on the extended-tail fixture.