Repository navigation
Measurements
Public yardsticks, scored by Sashfold itself, enforced in CI.
| Yardstick | Score |
|---|---|
| html5lib tokenizer | 7032 / 7032 (100%) |
| html5lib tree construction | 1784 / 1784 (100%) |
WPT URL parsing (urltestdata) |
893 / 893 (100%) |
| WPT CSS reference tests | 7238 / 13477 (53.7%) |
| Acid1 | Renders as its reference, font rasterization aside |
| The Sashfold 100 | Rendered nightly, published at sashfold.com/sashfold100 |
The Web Platform Tests' CSS reference tests are the tests that need no scripting: a test page and a reference page must render to the same pixels. Sashfold scores the CSS2 suite and fifteen css-* directories (css-backgrounds, css-box, css-cascade, css-color, css-display, css-flexbox, css-fonts, css-grid, css-overflow, css-position, css-syntax, css-text, css-values, css-variables, selectors) — every test and every reference rendered headless by Sashfold at the suite's 800×600 viewport, compared by the suite's own rules: pixel-identical unless the test declares a fuzziness allowance, references chained the way wptrunner chains them.
- The per-directory table is at sashfold.com/wpt.html, regenerated with every change.
-
tests/wpt/passing.txtnames every passing test; CI fails when a listed test stops passing. - The checkout is fetched at a pinned revision by
tools/wpt-fetch.sh; nothing of it is vendored. - Tests that wait on scripts count as failures, as they do on wpt.fyi. What the engine cannot do, it does not score.
The CSS1 box, float and clear test renders at its reference's width as the W3C's reference rendering shows it — the same boxes in the same places — with the differences a bitmap font of 1998 leaves against grayscale anti-aliasing today. The live shell script opens it and asserts its texts line by line.
sashfold --bench <page> times parse, stylesheets, style, layout and paint over several runs. On this project's reference machine, Wikipedia's "Web browser" article (415 KB, 14 stylesheets, some 900 rules, at 800 px) parses in about 8 ms, resolves its style in about 13 ms, lays out in a few milliseconds and paints its viewport in about one; the whole page, pictures included, arrives in about a second over 3 connections opened and 14 reused.
Getting started
What works today
Measured
Design decisions
Testing and tools