From b6aed372c38879312aaf4c555c58a74833a470c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Sat, 26 Sep 2026 10:54:43 +0300 Subject: [PATCH 01/10] Normalize named colors in border-image gradients for the WPT rig The engine parses only hex, rgb() and transparent colors, so the rig rewrites named colors in color-bearing properties. border-image and border-image-source carry gradient color stops as well. Co-Authored-By: Claude Opus 5.5 (1M context) --- test/wpt/named-colors.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/wpt/named-colors.mjs b/test/wpt/named-colors.mjs index 8806433..acc07ef 100644 --- a/test/wpt/named-colors.mjs +++ b/test/wpt/named-colors.mjs @@ -159,7 +159,7 @@ const colorProperties = new Set([ 'color', 'background', 'background-color', 'background-image', 'box-shadow', 'text-shadow', 'outline', 'outline-color', 'text-decoration', 'text-decoration-color', 'column-rule', 'column-rule-color', - 'fill', 'stroke', 'caret-color', 'accent-color', + 'fill', 'stroke', 'caret-color', 'accent-color', 'border-image', 'border-image-source', ]); // Only declaration values in color-bearing properties are eligible. Tokenizing From 9865f973e2cc0e2e8a63d1af10f78d4094ef8c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Sat, 26 Sep 2026 11:04:19 +0300 Subject: [PATCH 02/10] Load a pinned monospace font in the WPT rig Upstream WPT pins no monospace font, so documents asking for the generic monospace family fell back to Gentium and broke lines that tests size in ch. Such documents now also load DejaVu Sans Mono 2.35, unmodified with its Bitstream Vera license, from the rig's own test/wpt/fonts directory. The file is pinned by SHA-256 like the upstream fixtures. Co-Authored-By: Claude Opus 5.5 (1M context) --- test/wpt/README.md | 4 ++ test/wpt/adapter.mjs | 6 +- test/wpt/fonts.mjs | 7 +++ test/wpt/fonts/DejaVuSansMono.ttf | Bin 0 -> 340240 bytes test/wpt/fonts/LICENSE-DejaVu.txt | 99 ++++++++++++++++++++++++++++++ test/wpt/run.mjs | 8 ++- 6 files changed, 121 insertions(+), 3 deletions(-) create mode 100644 test/wpt/fonts/DejaVuSansMono.ttf create mode 100644 test/wpt/fonts/LICENSE-DejaVu.txt diff --git a/test/wpt/README.md b/test/wpt/README.md index a0db61d..a84abd3 100644 --- a/test/wpt/README.md +++ b/test/wpt/README.md @@ -386,6 +386,10 @@ The default serif font is pinned upstream Gentium Plus. Its WOFF1 wrapper is decoded losslessly into SFNT tables, with bounds and checksums validated. Independent tests compare every decoded table with its source and verify the complete SFNT checksum. Pinned Ahem is also available as an installed test font. +Documents that name the generic `monospace` family also load DejaVu Sans Mono +2.35 from `test/wpt/fonts`, the rig's own font directory (upstream WPT pins no +monospace font). It is unmodified, pinned by SHA-256 in `fonts.mjs`, and +distributed under the Bitstream Vera license in `fonts/LICENSE-DejaVu.txt`. Font variants, general font matching/shaping, paragraph defaults, additional display modes and other character repertoires still need work. diff --git a/test/wpt/adapter.mjs b/test/wpt/adapter.mjs index 7fe26b8..4173dbb 100644 --- a/test/wpt/adapter.mjs +++ b/test/wpt/adapter.mjs @@ -3,7 +3,7 @@ import { parse } from 'parse5'; import postcss from 'postcss'; import valueParser from 'postcss-value-parser'; import { normalizeNamedColors } from './named-colors.mjs'; -import { defaultFont, ahemFont } from './fonts.mjs'; +import { defaultFont, ahemFont, monospaceFont } from './fonts.mjs'; export class Unsupported extends Error {} @@ -53,7 +53,7 @@ export function parseDocument(source, name, { readResource } = {}) { const dom = parse(source); if (dom.mode !== 'no-quirks') throw new Unsupported('Quirks-mode document'); const rules = [], references = [], specs = [], normalizations = [], fonts = [], properties = new Set(); - let title = name, fuzzy = null, count = 0; + let title = name, fuzzy = null, count = 0, monospace = false; function declarations(nodes) { return nodes.filter(n => n.type !== 'comment').map(n => { if (n.type !== 'decl') throw new Unsupported('Nested CSS or at-rule'); @@ -63,6 +63,7 @@ export function parseDocument(source, name, { readResource } = {}) { if (n.prop.toLowerCase() === 'content') throw new Unsupported('Generated text content'); if (/^(animation|transition)(-|$)/i.test(n.prop)) throw new Unsupported('Animation/transition timing is not implemented by this static adapter'); properties.add(n.prop); + if (/^font(-family)?$/i.test(n.prop) && /\bmonospace\b/i.test(n.value)) monospace = true; const value = normalizeNamedColors(n.prop, n.value); if (value !== n.value) normalizations.push({ property: n.prop, from: n.value, to: value }); return [n.prop, value]; @@ -179,6 +180,7 @@ export function parseDocument(source, name, { readResource } = {}) { const tree = element(dom.childNodes.find(n => n.tagName === 'html')); if (!fonts.some(font => font.family.toLowerCase() === defaultFont.family)) fonts.unshift(defaultFont); if (!fonts.some(font => font.family.toLowerCase() === 'ahem')) fonts.push(ahemFont); + if (monospace && !fonts.some(font => font.family.toLowerCase() === 'monospace')) fonts.push(monospaceFont); return { title, tree, rules, fonts, references, specs, fuzzy, normalizations, properties: [...properties].sort() }; } diff --git a/test/wpt/fonts.mjs b/test/wpt/fonts.mjs index 1fcd3da..46077b2 100644 --- a/test/wpt/fonts.mjs +++ b/test/wpt/fonts.mjs @@ -3,6 +3,13 @@ import { inflateSync } from 'node:zlib'; export const defaultFont = { family: 'serif', path: 'fonts/GentiumPlus-R.woff' }; export const ahemFont = { family: 'Ahem', path: 'fonts/Ahem.ttf' }; +// Rig-owned fonts live in test/wpt/fonts, outside the pinned upstream corpus, +// each pinned by its SHA-256. The CSS monospace family is DejaVu Sans Mono 2.35, +// unmodified, under the Bitstream Vera license in fonts/LICENSE-DejaVu.txt. +export const monospaceFont = { + family: 'monospace', path: 'DejaVuSansMono.ttf', rig: true, + sha256: '602ec86b8948cfcd956482fe64f94c36c867770149ef2f791d4613f443bcecb3', +}; const padded = n => Math.ceil(n / 4) * 4; function checksum(bytes) { let sum = 0; diff --git a/test/wpt/fonts/DejaVuSansMono.ttf b/test/wpt/fonts/DejaVuSansMono.ttf new file mode 100644 index 0000000000000000000000000000000000000000..278cd7813974104fdcc1a873afbbd01a49d1e567 GIT binary patch literal 340240 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 bqZ5sH_nsR9G?aR&W?%6e?^GV2|>85f@Qm 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 NzcpXwQ+e{5{{zns&|3fi literal 0 HcmV?d00001 diff --git a/test/wpt/fonts/LICENSE-DejaVu.txt b/test/wpt/fonts/LICENSE-DejaVu.txt new file mode 100644 index 0000000..254e2cc --- /dev/null +++ b/test/wpt/fonts/LICENSE-DejaVu.txt @@ -0,0 +1,99 @@ +Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. +Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below) + +Bitstream Vera Fonts Copyright +------------------------------ + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is +a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the fonts accompanying this license ("Fonts") and associated +documentation files (the "Font Software"), to reproduce and distribute the +Font Software, including without limitation the rights to use, copy, merge, +publish, distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to the +following conditions: + +The above copyright and trademark notices and this permission notice shall +be included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular +the designs of glyphs or characters in the Fonts may be modified and +additional glyphs or characters may be added to the Fonts, only if the fonts +are renamed to names not containing either the words "Bitstream" or the word +"Vera". + +This License becomes null and void to the extent applicable to Fonts or Font +Software that has been modified and is distributed under the "Bitstream +Vera" names. + +The Font Software may be sold as part of a larger software package but no +copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME +FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING +ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE +FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome +Foundation, and Bitstream Inc., shall not be used in advertising or +otherwise to promote the sale, use or other dealings in this Font Software +without prior written authorization from the Gnome Foundation or Bitstream +Inc., respectively. For further information, contact: fonts at gnome dot +org. + +Arev Fonts Copyright +------------------------------ + +Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the fonts accompanying this license ("Fonts") and +associated documentation files (the "Font Software"), to reproduce +and distribute the modifications to the Bitstream Vera Font Software, +including without limitation the rights to use, copy, merge, publish, +distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to +the following conditions: + +The above copyright and trademark notices and this permission notice +shall be included in all copies of one or more of the Font Software +typefaces. + +The Font Software may be modified, altered, or added to, and in +particular the designs of glyphs or characters in the Fonts may be +modified and additional glyphs or characters may be added to the +Fonts, only if the fonts are renamed to names not containing either +the words "Tavmjong Bah" or the word "Arev". + +This License becomes null and void to the extent applicable to Fonts +or Font Software that has been modified and is distributed under the +"Tavmjong Bah Arev" names. + +The Font Software may be sold as part of a larger software package but +no copy of one or more of the Font Software typefaces may be sold by +itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL +TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the name of Tavmjong Bah shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Font Software without prior written authorization +from Tavmjong Bah. For further information, contact: tavmjong @ free +. fr. + +$Id: LICENSE 2133 2007-11-28 02:46:28Z lechimp $ diff --git a/test/wpt/run.mjs b/test/wpt/run.mjs index 6d52160..71dd68e 100644 --- a/test/wpt/run.mjs +++ b/test/wpt/run.mjs @@ -55,11 +55,17 @@ function readBytes(name) { return bytes; } function read(name) { return readBytes(name).toString('utf8'); } +function fontBytes(font) { + if (!font.rig) return readBytes(font.path); + const bytes = fs.readFileSync(path.join(root, 'fonts', font.path)); + if (createHash('sha256').update(bytes).digest('hex') !== font.sha256) throw new Error(`Rig font modified: ${font.path}`); + return bytes; +} // Check every imported source before running anything; missing or altered // fixtures are infrastructure errors, never skips or newly accepted baselines. for (const name of Object.keys(manifest.files)) readBytes(name); function render(document, actions = []) { - const fonts = (document.fonts || []).map(font => ({ family: font.family, bytes: sfntFont(readBytes(font.path)).toString('base64') })); + const fonts = (document.fonts || []).map(font => ({ family: font.family, bytes: sfntFont(fontBytes(font)).toString('base64') })); const r = spawnSync(process.execPath, [`${root}/render.mjs`], { input: JSON.stringify({ document, viewport: manifest.viewport, fonts, interactions: actions }), encoding: 'utf8', timeout: 30000, maxBuffer: 16 * 1024 * 1024, From 33e6d47d3038d035f3bdc5870465986484b6ce19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Sat, 26 Sep 2026 13:27:35 +0300 Subject: [PATCH 03/10] Transport flow-root, list-item, inline-flex and inline-grid in the WPT rig The adapter skipped every document with a display value other than block, flex, grid or none. It now also passes flow-root, list-item, inline-flex and inline-grid to the engine, which opens 17 reftests. Whatever the engine does not implement for these values shows up as a failure instead of being hidden as a skip. Co-Authored-By: Claude Opus 5.5 (1M context) --- test/wpt/README.md | 4 ++++ test/wpt/adapter.mjs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/test/wpt/README.md b/test/wpt/README.md index a84abd3..1cd08b8 100644 --- a/test/wpt/README.md +++ b/test/wpt/README.md @@ -183,6 +183,10 @@ unrelated failed unit probe does not block that comparison. at-rules other than basic TrueType/WOFF1 `@font-face`, `!important`, quirks mode, compound HTML/body selectors and unsupported HTML are explicit skips. These are adapter limitations, not evidence that the engine cannot support them. +* `display` declarations are transported for `block`, `flex`, `grid`, `none`, + `flow-root`, `list-item`, `inline-flex` and `inline-grid`; any other value is + a skip. Whatever the engine does not implement for these values (such as + list markers) shows up as a failure, not a skip. * Apart from that disclosed color normalization, CSS properties and values are sent unchanged to the engine. The imported corpus includes interactions with features such as floats, flex-flow and order. A failure diff --git a/test/wpt/adapter.mjs b/test/wpt/adapter.mjs index 4173dbb..b1aa937 100644 --- a/test/wpt/adapter.mjs +++ b/test/wpt/adapter.mjs @@ -59,7 +59,7 @@ export function parseDocument(source, name, { readResource } = {}) { if (n.type !== 'decl') throw new Unsupported('Nested CSS or at-rule'); if (/url\s*\(/i.test(n.value)) throw new Unsupported('CSS resource/font loading'); if (n.important) throw new Unsupported('!important needs priority-preserving declaration transport'); - if (n.prop.toLowerCase() === 'display' && !/^(block|flex|grid|none)$/i.test(n.value)) throw new Unsupported('Only block/flex/grid/none display declarations are supported by this adapter'); + if (n.prop.toLowerCase() === 'display' && !/^(block|flex|grid|none|flow-root|list-item|inline-flex|inline-grid)$/i.test(n.value)) throw new Unsupported('Only block/flex/grid/none/flow-root/list-item/inline-flex/inline-grid display declarations are supported by this adapter'); if (n.prop.toLowerCase() === 'content') throw new Unsupported('Generated text content'); if (/^(animation|transition)(-|$)/i.test(n.prop)) throw new Unsupported('Animation/transition timing is not implemented by this static adapter'); properties.add(n.prop); From 9f7e23e70d72bce52bf3dfbd8db15680f0c7a54a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Sat, 26 Sep 2026 15:01:50 +0300 Subject: [PATCH 04/10] Transport display: inline and inline-block in the WPT rig The adapter now passes inline and inline-block to the engine as well, which opens 77 more reftests. The adapter test keeps checking that an unsupported display value is skipped, now with display: table. Co-Authored-By: Claude Opus 5.5 (1M context) --- test/wpt/README.md | 3 ++- test/wpt/adapter.mjs | 2 +- test/wpt/adapter.test.mjs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/test/wpt/README.md b/test/wpt/README.md index 1cd08b8..39c8f5d 100644 --- a/test/wpt/README.md +++ b/test/wpt/README.md @@ -184,7 +184,8 @@ unrelated failed unit probe does not block that comparison. HTML are explicit skips. These are adapter limitations, not evidence that the engine cannot support them. * `display` declarations are transported for `block`, `flex`, `grid`, `none`, - `flow-root`, `list-item`, `inline-flex` and `inline-grid`; any other value is + `flow-root`, `list-item`, `inline`, `inline-block`, `inline-flex` and + `inline-grid`; any other value is a skip. Whatever the engine does not implement for these values (such as list markers) shows up as a failure, not a skip. * Apart from that disclosed color normalization, CSS properties and values are diff --git a/test/wpt/adapter.mjs b/test/wpt/adapter.mjs index b1aa937..e38312f 100644 --- a/test/wpt/adapter.mjs +++ b/test/wpt/adapter.mjs @@ -59,7 +59,7 @@ export function parseDocument(source, name, { readResource } = {}) { if (n.type !== 'decl') throw new Unsupported('Nested CSS or at-rule'); if (/url\s*\(/i.test(n.value)) throw new Unsupported('CSS resource/font loading'); if (n.important) throw new Unsupported('!important needs priority-preserving declaration transport'); - if (n.prop.toLowerCase() === 'display' && !/^(block|flex|grid|none|flow-root|list-item|inline-flex|inline-grid)$/i.test(n.value)) throw new Unsupported('Only block/flex/grid/none/flow-root/list-item/inline-flex/inline-grid display declarations are supported by this adapter'); + if (n.prop.toLowerCase() === 'display' && !/^(block|flex|grid|none|flow-root|list-item|inline|inline-block|inline-flex|inline-grid)$/i.test(n.value)) throw new Unsupported('Only block/flex/grid/none/flow-root/list-item/inline/inline-block/inline-flex/inline-grid display declarations are supported by this adapter'); if (n.prop.toLowerCase() === 'content') throw new Unsupported('Generated text content'); if (/^(animation|transition)(-|$)/i.test(n.prop)) throw new Unsupported('Animation/transition timing is not implemented by this static adapter'); properties.add(n.prop); diff --git a/test/wpt/adapter.test.mjs b/test/wpt/adapter.test.mjs index 54bcfb5..d8e6680 100644 --- a/test/wpt/adapter.test.mjs +++ b/test/wpt/adapter.test.mjs @@ -60,7 +60,7 @@ test('passes original selectors, ordered duplicate declarations and inline value }); test('fails closed on unsupported document semantics instead of weakening the test', () => { - for (const body of ['', '

', '', '', '', '', '', '', '']) { + for (const body of ['', '
', '', '', '', '', '', '', '']) { assert.throws(() => parseDocument(`${body}`, 'test.html'), Unsupported, body); } assert.throws(() => parseDocument('
', 'test.html'), /Quirks/); From 220c6607753fd60b4719c5572ae0179f77ee78af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Sat, 26 Sep 2026 18:24:34 +0300 Subject: [PATCH 05/10] Transport strong, aside, article and unknown elements in the WPT rig The adapter now passes strong, aside and article, and the elements HTML does not define that WPT uses as containers (flexbox, grid, container, item). The bridge registers the matching UA rules below author styles: display: block for aside and article, bold for strong, and display: inline for the unknown elements, as HTMLUnknownElement is inline unless styled. This opens 63 more reftests. Co-Authored-By: Claude Opus 5.5 (1M context) --- test/wpt/README.md | 8 +++++--- test/wpt/adapter.mjs | 2 +- test/wpt/bridge.cpp | 5 +++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/test/wpt/README.md b/test/wpt/README.md index 39c8f5d..6a2604a 100644 --- a/test/wpt/README.md +++ b/test/wpt/README.md @@ -152,7 +152,8 @@ unrelated failed unit probe does not block that comparison. ## Current adapter scope -* Standards-mode HTML, `html`/`body`/`div`/`span`/`section`, IDs/classes, inline +* Standards-mode HTML, `html`/`body`/`div`/`span`/`section`/`strong`/`aside`/`article`, + the unknown elements `flexbox`/`grid`/`container`/`item`, IDs/classes, inline declarations, embedded and linked stylesheets. ASCII/degree text and all source whitespace are transported to the native layout engine. Comments do not interrupt a contiguous CSS text sequence. @@ -160,8 +161,9 @@ unrelated failed unit probe does not block that comparison. Pixel storage and rasterization use the simulator's embedded RGB565 path. * HTML body margins and root text color are installed at Gea's default-style priority, below author styles. The display list paints onto a white viewport. - Paragraph display and `1em` block margins are registered as UA element rules - by the test bridge. The shared cascade keeps them below author rules, + Paragraph display and `1em` block margins, bold `strong`, and inline display + for the unknown elements (HTML makes them `HTMLUnknownElement`) are registered + as UA element rules by the test bridge. The shared cascade keeps them below author rules, including universal selectors; the engine does not install HTML defaults. Selector lists are split for the native one-selector-per-rule API. Simple element/class selectors use their corresponding native registration APIs. diff --git a/test/wpt/adapter.mjs b/test/wpt/adapter.mjs index e38312f..b612143 100644 --- a/test/wpt/adapter.mjs +++ b/test/wpt/adapter.mjs @@ -159,7 +159,7 @@ export function parseDocument(source, name, { readResource } = {}) { return { tag: '#text', text: n.value, attributes: [], inline: [], children: [] }; } if (n.tagName === 'head') return null; - if (!['html', 'body', 'div', 'span', 'section', 'p', 'br'].includes(n.tagName)) throw new Unsupported(`HTML element <${n.tagName}>`); + if (!['html', 'body', 'div', 'span', 'section', 'p', 'br', 'strong', 'aside', 'article', 'flexbox', 'grid', 'container', 'item'].includes(n.tagName)) throw new Unsupported(`HTML element <${n.tagName}>`); if (n.namespaceURI !== 'http://www.w3.org/1999/xhtml') throw new Unsupported('Non-HTML namespace'); if (++count > 450) throw new Unsupported('Document exceeds adapter node limit'); const attributes = [], inline = []; diff --git a/test/wpt/bridge.cpp b/test/wpt/bridge.cpp index 7fa9161..f0b3e5f 100644 --- a/test/wpt/bridge.cpp +++ b/test/wpt/bridge.cpp @@ -55,6 +55,11 @@ EMSCRIPTEN_KEEPALIVE int wpt_init(int width, int height) { sheet.registerUserAgentElementRule("p", "display", "block"); sheet.registerUserAgentElementRule("p", "margin-top", "1em"); sheet.registerUserAgentElementRule("p", "margin-bottom", "1em"); + sheet.registerUserAgentElementRule("aside", "display", "block"); + sheet.registerUserAgentElementRule("article", "display", "block"); + sheet.registerUserAgentElementRule("strong", "font-weight", "bold"); + // Elements HTML does not define are HTMLUnknownElement: inline unless styled. + for (const char *tag : {"flexbox", "grid", "container", "item"}) sheet.registerUserAgentElementRule(tag, "display", "inline"); return 1; } EMSCRIPTEN_KEEPALIVE int wpt_font(const char *family, const std::uint8_t *bytes, int length) { From c6fca1dd6bf5054f3ecebd372f5962b8c87f45ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Sun, 27 Sep 2026 13:48:52 +0300 Subject: [PATCH 06/10] Transport U+2026 text in the WPT rig The engine now rasterizes the horizontal ellipsis in runtime fonts, so the adapter accepts it alongside ASCII and the degree sign. This opens 95 line-clamp reftests whose references spell the block ellipsis out. Co-Authored-By: Claude Opus 5.5 (1M context) --- test/wpt/README.md | 4 ++-- test/wpt/adapter.mjs | 2 +- test/wpt/build.mjs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/wpt/README.md b/test/wpt/README.md index 6a2604a..683a193 100644 --- a/test/wpt/README.md +++ b/test/wpt/README.md @@ -154,7 +154,7 @@ unrelated failed unit probe does not block that comparison. * Standards-mode HTML, `html`/`body`/`div`/`span`/`section`/`strong`/`aside`/`article`, the unknown elements `flexbox`/`grid`/`container`/`item`, IDs/classes, inline - declarations, embedded and linked stylesheets. ASCII/degree text and all + declarations, embedded and linked stylesheets. ASCII, degree and ellipsis (U+2026) text and all source whitespace are transported to the native layout engine. Comments do not interrupt a contiguous CSS text sequence. * 800 × 600 CSS pixels, DPR 1: the WPT viewport, not the physical board viewport. @@ -181,7 +181,7 @@ unrelated failed unit probe does not block that comparison. a fresh tree and an initial layout/paint. This first version has no animation or mutation lifecycle and does not exercise the TSX compiler/app loader. * Scripts, further HTML defaults and display modes, text outside - the native ASCII/degree repertoire, XHTML, image assets, + the ASCII/degree/ellipsis repertoire, XHTML, image assets, at-rules other than basic TrueType/WOFF1 `@font-face`, `!important`, quirks mode, compound HTML/body selectors and unsupported HTML are explicit skips. These are adapter limitations, not evidence that the engine cannot support them. diff --git a/test/wpt/adapter.mjs b/test/wpt/adapter.mjs index b612143..1fdb6d2 100644 --- a/test/wpt/adapter.mjs +++ b/test/wpt/adapter.mjs @@ -154,7 +154,7 @@ export function parseDocument(source, name, { readResource } = {}) { function element(n) { if (n.nodeName === '#comment') return null; if (n.nodeName === '#text') { - if (/[^\t\r\n\f\x20-\x7e\u00b0]/u.test(n.value)) throw new Unsupported('Text codepoint outside native runtime font repertoire'); + if (/[^\t\r\n\f\x20-\x7e\u00b0\u2026]/u.test(n.value)) throw new Unsupported('Text codepoint outside native runtime font repertoire'); if (++count > 450) throw new Unsupported('Document exceeds adapter node limit'); return { tag: '#text', text: n.value, attributes: [], inline: [], children: [] }; } diff --git a/test/wpt/build.mjs b/test/wpt/build.mjs index a6d83af..714836d 100644 --- a/test/wpt/build.mjs +++ b/test/wpt/build.mjs @@ -43,5 +43,5 @@ for (let i = 0; i < sources.length; i++) { } fs.writeFileSync(stamp, identity); run(compiler, ['-O1', ...objects, '--no-entry', '-sALLOW_MEMORY_GROWTH=1', '-sMODULARIZE=1', '-sEXPORT_ES6=1', '-sENVIRONMENT=node', '-sEXPORTED_FUNCTIONS=["_malloc","_free"]', '-sEXPORTED_RUNTIME_METHODS=["ccall","HEAPU8"]', '-o', `${out}/wpt-renderer.mjs`]); -fs.writeFileSync(`${out}/wpt-build.json`, JSON.stringify({ packages: Object.fromEntries(Object.entries(env).filter(([k]) => ['GEA_CORE', 'GEA_HOST_DIR', 'GEA_ENGINE_DIR', 'GEA_ELEMENTS_DIR', 'GEA_GEAOS_PACKAGE_DIR'].includes(k))), compiler: run(compiler, ['--version'], true), flags, profile: 'simulator RGB565, CSS DPR 1, static HTML subset with pinned fonts and ASCII/degree text' }, null, 2)); +fs.writeFileSync(`${out}/wpt-build.json`, JSON.stringify({ packages: Object.fromEntries(Object.entries(env).filter(([k]) => ['GEA_CORE', 'GEA_HOST_DIR', 'GEA_ENGINE_DIR', 'GEA_ELEMENTS_DIR', 'GEA_GEAOS_PACKAGE_DIR'].includes(k))), compiler: run(compiler, ['--version'], true), flags, profile: 'simulator RGB565, CSS DPR 1, static HTML subset with pinned fonts and ASCII/degree/ellipsis text' }, null, 2)); console.log('Built dist/wpt-renderer.mjs using simulator display and shared framework sources.'); From ea38771660ce7ebd1534cf8df755c54d7d920130 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Tue, 20 Oct 2026 20:44:54 +0300 Subject: [PATCH 07/10] Leave audio_buffer_runtime.cpp out of the WPT rig build audio_buffer_runtime.cpp defines AudioBuffer methods that the compiler declares in an app's generated gea_runtime.h. The rig compiles no app, so the header was missing and the build failed with both the installed and the local core packages. The rig calls none of these methods. The file is now skipped unless GEA_COMPILER_RUNTIME points at a generated runtime. Co-Authored-By: Claude Opus 5.5 --- test/wpt/build.mjs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/wpt/build.mjs b/test/wpt/build.mjs index 714836d..fc53831 100644 --- a/test/wpt/build.mjs +++ b/test/wpt/build.mjs @@ -16,7 +16,10 @@ for (const [key, pkg] of Object.entries({ GEA_CORE: 'core', GEA_HOST_DIR: 'host' } const manifest = await import(pathToFileURL(path.join(env.GEA_CORE, 'gea_sources.mjs'))); const includes = [...manifest.includeFlags(env), `-I${root}/targets/web/include`]; -const sources = [...manifest.cSources(env), ...manifest.cxxSources(env), +// audio_buffer_runtime.cpp defines compiler-declared AudioBuffer methods against +// an app's generated gea_runtime.h. The rig compiles no app and calls none of them. +const appSensitive = s => !env.GEA_COMPILER_RUNTIME && path.basename(s) === 'audio_buffer_runtime.cpp'; +const sources = [...manifest.cSources(env), ...manifest.cxxSources(env).filter(s => !appSensitive(s)), ...['web_display', 'web_platform', 'web_power', 'web_storage_service', 'web_camera'].map(n => `${root}/targets/web/main/${n}.cpp`), `${root}/test/wpt/bridge.cpp`]; for (const source of sources) fs.accessSync(source); From 8f8938d4bd7b4bcfdcf81aedea6c409bffc8a728 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Tue, 20 Oct 2026 20:44:54 +0300 Subject: [PATCH 08/10] Add a --force mode to the WPT rig that renders past adapter guards With wpt:run --force, each adapter guard that would skip a test records its reason instead, and the construct is transported as-is. A construct that cannot be transported is dropped: an unloadable font or stylesheet, an at-rule, an attribute, or a non-rendering element (script, style, meta, ...). Each result lists its reasons in `forced`. The report adds `forcedSummary`, the statuses of the results that ran past a guard, and the HTML report marks each forced result. A forced result is not conformance evidence, since test and reference can share the defect. Without --force, the adapter behaves as before. On css-fix with the line-clamp fixes, all 1,100 tests: 865 PASS and 235 FAIL; 180 of the PASS and 165 of the FAIL are forced. Co-Authored-By: Claude Opus 5.5 --- test/wpt/adapter.mjs | 94 ++++++++++++++++++++++++++++---------------- test/wpt/run.mjs | 26 +++++++----- 2 files changed, 76 insertions(+), 44 deletions(-) diff --git a/test/wpt/adapter.mjs b/test/wpt/adapter.mjs index 1fdb6d2..8dc2876 100644 --- a/test/wpt/adapter.mjs +++ b/test/wpt/adapter.mjs @@ -48,25 +48,46 @@ export function localReference(from, href) { // This transport adapter normalizes named colors to equivalent RGB hex values. // Layout decisions and style resolution remain in Gea; upstream files stay intact. -export function parseDocument(source, name, { readResource } = {}) { - if (!name.endsWith('.html')) throw new Unsupported('Only HTML documents are supported; XHTML needs an XML adapter'); +// `force` renders past every guard instead of skipping: each guard records its +// reason in `forced`, and the construct is transported as-is, or dropped when it +// cannot be (an unloadable font or stylesheet, an at-rule, an attribute). A forced +// result is not conformance evidence: test and reference can share the defect. +export function parseDocument(source, name, { readResource, force = false } = {}) { + const forced = []; + function unsupported(reason) { + if (!force) throw new Unsupported(reason); + if (!forced.includes(reason)) forced.push(reason); + } + // Drops one construct in force mode when a guard inside it throws. + function guarded(transport) { + try { + transport(); + } catch (error) { + if (!force || !(error instanceof Unsupported)) throw error; + unsupported(error.message); + } + } + if (!name.endsWith('.html')) unsupported('Only HTML documents are supported; XHTML needs an XML adapter'); const dom = parse(source); - if (dom.mode !== 'no-quirks') throw new Unsupported('Quirks-mode document'); + if (dom.mode !== 'no-quirks') unsupported('Quirks-mode document'); const rules = [], references = [], specs = [], normalizations = [], fonts = [], properties = new Set(); let title = name, fuzzy = null, count = 0, monospace = false; function declarations(nodes) { - return nodes.filter(n => n.type !== 'comment').map(n => { - if (n.type !== 'decl') throw new Unsupported('Nested CSS or at-rule'); - if (/url\s*\(/i.test(n.value)) throw new Unsupported('CSS resource/font loading'); - if (n.important) throw new Unsupported('!important needs priority-preserving declaration transport'); - if (n.prop.toLowerCase() === 'display' && !/^(block|flex|grid|none|flow-root|list-item|inline|inline-block|inline-flex|inline-grid)$/i.test(n.value)) throw new Unsupported('Only block/flex/grid/none/flow-root/list-item/inline/inline-block/inline-flex/inline-grid display declarations are supported by this adapter'); - if (n.prop.toLowerCase() === 'content') throw new Unsupported('Generated text content'); - if (/^(animation|transition)(-|$)/i.test(n.prop)) throw new Unsupported('Animation/transition timing is not implemented by this static adapter'); + return nodes.filter(n => n.type !== 'comment').flatMap(n => { + if (n.type !== 'decl') { + unsupported('Nested CSS or at-rule'); + return []; + } + if (/url\s*\(/i.test(n.value)) unsupported('CSS resource/font loading'); + if (n.important) unsupported('!important needs priority-preserving declaration transport'); + if (n.prop.toLowerCase() === 'display' && !/^(block|flex|grid|none|flow-root|list-item|inline|inline-block|inline-flex|inline-grid)$/i.test(n.value)) unsupported('Only block/flex/grid/none/flow-root/list-item/inline/inline-block/inline-flex/inline-grid display declarations are supported by this adapter'); + if (n.prop.toLowerCase() === 'content') unsupported('Generated text content'); + if (/^(animation|transition)(-|$)/i.test(n.prop)) unsupported('Animation/transition timing is not implemented by this static adapter'); properties.add(n.prop); if (/^font(-family)?$/i.test(n.prop) && /\bmonospace\b/i.test(n.value)) monospace = true; const value = normalizeNamedColors(n.prop, n.value); if (value !== n.value) normalizations.push({ property: n.prop, from: n.value, to: value }); - return [n.prop, value]; + return [[n.prop, value]]; }); } function fontFace(node, from) { @@ -106,47 +127,50 @@ export function parseDocument(source, name, { readResource } = {}) { function stylesheet(text, from = name) { for (const n of postcss.parse(text).nodes) { if (n.type === 'comment') continue; - if (n.type === 'atrule' && n.name.toLowerCase() === 'font-face') { fontFace(n, from); continue; } - if (n.type !== 'rule') throw new Unsupported(`CSS ${n.type}: ${n.name || ''}`); + if (n.type === 'atrule' && n.name.toLowerCase() === 'font-face') { guarded(() => fontFace(n, from)); continue; } + if (n.type !== 'rule') { + unsupported(`CSS ${n.type}: ${n.name || ''}`); + continue; + } const values = declarations(n.nodes); for (const selector of postcss.list.comma(n.selector)) { - if (!/^(html|body)$/i.test(selector) && /(?:^|[\s>+~])(?:html|body)(?=[\s.#:[>+~]|$)/i.test(selector)) throw new Unsupported('Compound HTML/body selectors use native application-root aliases'); + if (!/^(html|body)$/i.test(selector) && /(?:^|[\s>+~])(?:html|body)(?=[\s.#:[>+~]|$)/i.test(selector)) unsupported('Compound HTML/body selectors use native application-root aliases'); rules.push({ selector, declarations: values }); } } } function inspect(n) { const a = Object.fromEntries((n.attrs || []).map(a => [a.name, a.value])); - if (n.tagName === 'script') throw new Unsupported('JavaScript/testharness document'); - if (n.tagName === 'base') throw new Unsupported('HTML base URL'); + if (n.tagName === 'script') unsupported('JavaScript/testharness document'); + if (n.tagName === 'base') unsupported('HTML base URL'); if (n.tagName === 'style') { - if (a.media && a.media !== 'all') throw new Unsupported('Style media condition'); - if (a.type && a.type.toLowerCase() !== 'text/css') throw new Unsupported(`Style MIME type ${a.type}`); + if (a.media && a.media !== 'all') unsupported('Style media condition'); + if (a.type && a.type.toLowerCase() !== 'text/css') unsupported(`Style MIME type ${a.type}`); stylesheet(n.childNodes.map(n => n.value || '').join('')); } if (n.tagName === 'title') title = n.childNodes.map(n => n.value || '').join('').trim(); if (n.tagName === 'link') { if (['match', 'mismatch'].includes(a.rel)) references.push({ relation: a.rel, path: localReference(name, a.href) }); if (a.rel === 'help') specs.push(a.href); - if (a.rel === 'stylesheet') { + if (a.rel === 'stylesheet') guarded(() => { if (!readResource) throw new Unsupported('External stylesheet loading'); - if (a.media && a.media !== 'all') throw new Unsupported('Stylesheet media condition'); - if (a.type && a.type.toLowerCase() !== 'text/css') throw new Unsupported(`Stylesheet MIME type ${a.type}`); + if (a.media && a.media !== 'all') unsupported('Stylesheet media condition'); + if (a.type && a.type.toLowerCase() !== 'text/css') unsupported(`Stylesheet MIME type ${a.type}`); if (Object.hasOwn(a, 'disabled')) throw new Unsupported('Disabled stylesheet'); // Resolve from the document URL and apply in document order. The caller // supplies only hash-verified vendored resources; no network during runs. const source = localReference(name, a.href); stylesheet(readResource(source), source); - } + }); } if (n.tagName === 'meta' && a.name === 'fuzzy') { - if (fuzzy !== null) throw new Unsupported('Multiple/per-reference fuzzy metadata'); - fuzzy = parseFuzzy(a.content); + if (fuzzy !== null) unsupported('Multiple/per-reference fuzzy metadata'); + else guarded(() => { fuzzy = parseFuzzy(a.content); }); } - if (n.tagName === 'meta' && ['viewport', 'flags'].includes(a.name) && a.content) throw new Unsupported(`Test metadata: ${a.name}=${a.content}`); + if (n.tagName === 'meta' && ['viewport', 'flags'].includes(a.name) && a.content) unsupported(`Test metadata: ${a.name}=${a.content}`); for (const [key, value] of Object.entries(a)) { - if (key.startsWith('on')) throw new Unsupported(`Event handler ${key}`); - if (key === 'class' && /(?:^|\s)(?:reftest-wait|test-wait)(?:\s|$)/.test(value)) throw new Unsupported('Script-controlled screenshot readiness'); + if (key.startsWith('on')) unsupported(`Event handler ${key}`); + if (key === 'class' && /(?:^|\s)(?:reftest-wait|test-wait)(?:\s|$)/.test(value)) unsupported('Script-controlled screenshot readiness'); } for (const child of n.childNodes || []) inspect(child); } @@ -154,19 +178,21 @@ export function parseDocument(source, name, { readResource } = {}) { function element(n) { if (n.nodeName === '#comment') return null; if (n.nodeName === '#text') { - if (/[^\t\r\n\f\x20-\x7e\u00b0\u2026]/u.test(n.value)) throw new Unsupported('Text codepoint outside native runtime font repertoire'); - if (++count > 450) throw new Unsupported('Document exceeds adapter node limit'); + if (/[^\t\r\n\f\x20-\x7e\u00b0\u2026]/u.test(n.value)) unsupported('Text codepoint outside native runtime font repertoire'); + if (++count > 450) unsupported('Document exceeds adapter node limit'); return { tag: '#text', text: n.value, attributes: [], inline: [], children: [] }; } if (n.tagName === 'head') return null; - if (!['html', 'body', 'div', 'span', 'section', 'p', 'br', 'strong', 'aside', 'article', 'flexbox', 'grid', 'container', 'item'].includes(n.tagName)) throw new Unsupported(`HTML element <${n.tagName}>`); - if (n.namespaceURI !== 'http://www.w3.org/1999/xhtml') throw new Unsupported('Non-HTML namespace'); - if (++count > 450) throw new Unsupported('Document exceeds adapter node limit'); + // These never generate boxes; inspect() already applied what they carry. + if (force && ['script', 'style', 'template', 'title', 'meta', 'link', 'base', 'noscript'].includes(n.tagName)) return null; + if (!['html', 'body', 'div', 'span', 'section', 'p', 'br', 'strong', 'aside', 'article', 'flexbox', 'grid', 'container', 'item'].includes(n.tagName)) unsupported(`HTML element <${n.tagName}>`); + if (n.namespaceURI !== 'http://www.w3.org/1999/xhtml') unsupported('Non-HTML namespace'); + if (++count > 450) unsupported('Document exceeds adapter node limit'); const attributes = [], inline = []; for (const a of n.attrs || []) { if (a.name === 'style') inline.push(...declarations(postcss.parse(a.value).nodes)); else if (['id', 'class'].includes(a.name) || a.name.startsWith('data-')) attributes.push([a.name, a.value]); - else if (a.name !== 'xmlns') throw new Unsupported(`HTML attribute ${a.name}`); + else if (a.name !== 'xmlns') unsupported(`HTML attribute ${a.name}`); } const children = []; for (const child of (n.childNodes || []).map(element).filter(Boolean)) { @@ -181,7 +207,7 @@ export function parseDocument(source, name, { readResource } = {}) { if (!fonts.some(font => font.family.toLowerCase() === defaultFont.family)) fonts.unshift(defaultFont); if (!fonts.some(font => font.family.toLowerCase() === 'ahem')) fonts.push(ahemFont); if (monospace && !fonts.some(font => font.family.toLowerCase() === 'monospace')) fonts.push(monospaceFont); - return { title, tree, rules, fonts, references, specs, fuzzy, normalizations, properties: [...properties].sort() }; + return { title, tree, rules, fonts, references, specs, fuzzy, normalizations, properties: [...properties].sort(), forced }; } export function parseFuzzy(value) { diff --git a/test/wpt/run.mjs b/test/wpt/run.mjs index 71dd68e..2c1e1ef 100644 --- a/test/wpt/run.mjs +++ b/test/wpt/run.mjs @@ -37,16 +37,16 @@ const root = fileURLToPath(new URL('./', import.meta.url)); const out = fileURLToPath(new URL('../../dist/', import.meta.url)); const manifest = JSON.parse(fs.readFileSync(`${root}/manifest.json`, 'utf8')); const { values, positionals } = parseArgs({ - options: { limit: { type: 'string', default: 'all' } }, allowPositionals: true, + options: { limit: { type: 'string', default: 'all' }, force: { type: 'boolean', default: false } }, allowPositionals: true, }); -if (positionals.length > 1) throw new Error('Usage: wpt:run [filename substring] [--limit N|all] (default: all)'); +if (positionals.length > 1) throw new Error('Usage: wpt:run [filename substring] [--limit N|all] [--force] (default: all)'); if (values.limit !== 'all' && !/^[1-9]\d*$/.test(values.limit)) throw new Error('--limit must be a positive integer or all'); const limit = values.limit === 'all' ? manifest.tests.length : Number(values.limit); if (!Number.isSafeInteger(limit)) throw new Error('--limit is too large'); const filter = positionals[0]; const selected = manifest.tests.filter(name => name.startsWith('css/') && (!filter || name.includes(filter))).slice(0, limit); if (!selected.length) throw new Error(`No CSS tests match ${filter || 'the selection'}`); -const scope = { selected: selected.length, available: manifest.tests.filter(name => name.startsWith('css/')).length, limit: values.limit, filter: filter || null }; +const scope = { selected: selected.length, available: manifest.tests.filter(name => name.startsWith('css/')).length, limit: values.limit, filter: filter || null, force: values.force }; const build = JSON.parse(fs.readFileSync(`${out}/wpt-build.json`, 'utf8')); function readBytes(name) { if (!Object.hasOwn(manifest.files, name)) throw new Error(`Unpinned resource: ${name}`); @@ -367,10 +367,12 @@ const results = []; for (const name of selected) { const result = { test: name, status: 'ERROR' }; try { - const doc = parseDocument(read(name), name, { readResource: read }); + const doc = parseDocument(read(name), name, { readResource: read, force: values.force }); if (!doc.references.length) throw new Unsupported('Not a reftest'); // Preflight all references before executing either side. - const references = doc.references.map(ref => ({ ...ref, document: parseDocument(read(ref.path), ref.path, { readResource: read }) })); + const references = doc.references.map(ref => ({ ...ref, document: parseDocument(read(ref.path), ref.path, { readResource: read, force: values.force }) })); + const forced = [...new Set([doc, ...references.map(ref => ref.document)].flatMap(d => d.forced))]; + if (forced.length) result.forced = forced; const failures = failedPrerequisites(prerequisites, [doc, ...references.map(ref => ref.document)]); Object.assign(result, { title: doc.title, specs: doc.specs, properties: doc.properties, normalizations: doc.normalizations, fonts: doc.fonts }); const actual = render(doc, interactions[name]); @@ -400,11 +402,14 @@ for (const name of selected) { result.reason = error.message; } results.push(result); - console.log(`${result.status} ${name}${result.reason ? ` — ${result.reason}` : ''}${result.comparisons ? ` — ${result.comparisons.map(c => `${c.totalPixels} differing pixels`).join(', ')}` : ''}`); + console.log(`${result.status}${result.forced ? ' (forced)' : ''} ${name}${result.reason ? ` — ${result.reason}` : ''}${result.comparisons ? ` — ${result.comparisons.map(c => `${c.totalPixels} differing pixels`).join(', ')}` : ''}`); } -const summary = Object.fromEntries(['PASS', 'FAIL', 'BLOCKED', 'SKIP', 'ERROR'].map(s => [s, results.filter(r => r.status === s).length])); +const statuses = ['PASS', 'FAIL', 'BLOCKED', 'SKIP', 'ERROR']; +const summary = Object.fromEntries(statuses.map(s => [s, results.filter(r => r.status === s).length])); +// Statuses of the results that ran past an adapter guard; already counted in summary. +const forcedSummary = values.force ? Object.fromEntries(statuses.map(s => [s, results.filter(r => r.forced && r.status === s).length])) : null; const preprocessing = { namedColors: 'CSS Color 4 named colors to RGB hex in the test adapter; runtime keyword parsing is not tested' }; -const report = { revision: manifest.revision, scope, viewport: manifest.viewport, build, preprocessing, prerequisites, summary, results }; +const report = { revision: manifest.revision, scope, viewport: manifest.viewport, build, preprocessing, prerequisites, summary, forcedSummary, results }; fs.writeFileSync(`${out}/wpt-results.json`, JSON.stringify(report, null, 2) + '\n'); const escape = s => String(s).replace(/[&<>"']/g, c => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' })[c]); const upstream = name => `https://github.com/web-platform-tests/wpt/blob/${manifest.revision}/${name}`; @@ -412,11 +417,12 @@ fs.writeFileSync(`${out}/wpt-report.html`, `body{font:16px system-ui;margin:32px;color:#17202a;background:#f5f6f8}h1{margin-bottom:8px}article{background:white;padding:20px;margin:20px 0;border:1px solid #ccd2d8}section{display:flex;gap:12px;overflow:auto}figure{margin:0;min-width:260px;flex:1}img{width:100%;image-rendering:pixelated;border:1px solid #ddd}a{color:#154d91}code{overflow-wrap:anywhere}.FAIL,.ERROR{color:#b12020}.PASS{color:#17602e}.SKIP,.BLOCKED{color:#795300}

Gea · WPT CSS reftests

Simulator RGB565 · ${manifest.viewport.width} × ${manifest.viewport.height} CSS pixels · DPR 1

${scope.selected} selected CSS tests out of ${scope.available} imported. Selection follows corpus order, before rendering; skipped tests count toward the selection.${filter ? ` Filename filter: ${escape(filter)}.` : ''}

-

Upstream revision ${manifest.revision}

${escape(JSON.stringify(summary))}

+

Upstream revision ${manifest.revision}

${escape(JSON.stringify(summary))}

${forcedSummary ? `

Forced run: adapter guards were recorded instead of skipping. Results that ran past a guard: ${escape(JSON.stringify(forcedSummary))}. A forced PASS is not conformance evidence.

` : ''}

Color pre-pass: standard named colors are converted to equivalent RGB hex values in the test adapter. Upstream files and runtime are unchanged. Results do not test runtime color-name parsing; the JSON report records every converted declaration.

HTML subset with explicit pointer actions for registered manual tests and pinned fonts and ASCII/degree text. Default serif uses upstream Gentium Plus. Basic paragraph defaults and block margin collapsing are exercised; font variants, other scripts, and further HTML/display modes remain unfinished. Both test and reference use Gea. These are subset results, not a claim of full CSS conformance. Magenta marks differing pixels. Machine-readable report and build provenance

CSS prerequisites

These independent probes prevent shared test/reference bugs from producing false passes. The Ahem checks exercise native fonts, inheritance, shorthand, whitespace and font-relative sizing. A failed scoped probe blocks matching comparisons only when the test or a reference uses that CSS unit, property, pseudo-element, or HTML element; unequal images still fail. Verified transport control (hexadecimal red)

${prerequisites.map(p => `

${p.status} · ${p.name}${p.cssUnit ? ` · applies to ${escape(p.cssUnit)} dependencies` : ''}${p.cssPseudo ? ` · applies to ${p.cssPseudo === 'hover' ? ':' : '::'}${escape(p.cssPseudo)} dependencies` : ''}${p.cssProperty ? ` · applies to ${escape(p.cssProperty)} declarations` : ''}${p.htmlTag ? ` · applies to <${escape(p.htmlTag)}> dependencies` : ''} · expected ${escape(JSON.stringify(p.expected))}, actual ${escape(JSON.stringify(p.actual))}

`).join('')} -${results.map(r => `

${r.status} · ${escape(path.basename(r.test))}

${r.reason ? `

${escape(r.reason)}

` : ''}${r.interactions ? `

Automated interactions: ${escape(JSON.stringify(r.interactions))}

` : ''}${r.geometry ? `

Actual node geometry

` : ''}${(r.comparisons || []).map(c => `

${escape(c.relation)} · ${c.totalPixels} differing pixels · maximum channel difference ${c.maxDifference} · Upstream reference · Reference geometry

${[['Actual', r.actual], ['Reference', c.reference], ['Difference', c.difference]].map(([label, src]) => `
${label}
${label}
`).join('')}
`).join('')}
`).join('')}`); +${results.map(r => `

${r.status} · ${escape(path.basename(r.test))}

${r.reason ? `

${escape(r.reason)}

` : ''}${r.forced ? `

Forced past: ${escape(r.forced.join('; '))}

` : ''}${r.interactions ? `

Automated interactions: ${escape(JSON.stringify(r.interactions))}

` : ''}${r.geometry ? `

Actual node geometry

` : ''}${(r.comparisons || []).map(c => `

${escape(c.relation)} · ${c.totalPixels} differing pixels · maximum channel difference ${c.maxDifference} · Upstream reference · Reference geometry

${[['Actual', r.actual], ['Reference', c.reference], ['Difference', c.difference]].map(([label, src]) => `
${label}
${label}
`).join('')}
`).join('')}
`).join('')}`); console.log(JSON.stringify(summary)); +if (forcedSummary) console.log(`forced ${JSON.stringify(forcedSummary)}`); console.log(`${out}/wpt-report.html`); process.exitCode = summary.ERROR ? 2 : summary.FAIL || summary.BLOCKED || invalidReferenceFoundation || !summary.PASS ? 1 : 0; From 04545fb769b6266b273e4440dab49bc3edfce98e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Wed, 21 Oct 2026 12:51:25 +0300 Subject: [PATCH 09/10] Draw Ahem without antialiasing in the WPT rig Ahem's ascent is 0.8em, so at sizes that are not multiples of 5px its square glyphs start between pixel rows. At 16px the antialiased glyph covered 80% of its top row and 20% of the row below its line box: a red span beneath showed through and an adjacent border was tinted, which failed the four static-position/htb-* reftests by 2,400 pixels each. Browser reftest harnesses draw Ahem without antialiasing (Gecko's gfx.font_rendering.ahem_antialias_none). The bridge now returns false from generated::runtimeTtfFontAntialiased for the Ahem family; the engine still owns all metrics and coverage and thresholds it at 50% once per glyph. Other fonts keep antialiasing, including the Gentium Plus default, whose gasp table also asks for no grayscale at 9-16ppem. The README records this and the three shared-engine corrections that came with it (core 79cf109): the next-line static position in a right-to-left block, no text-align inside a one-line inline box, and the content area of a contentless inline box. All 1,100 tests with --force: 869 -> 874 PASS, 231 -> 226 FAIL, nothing went from PASS to FAIL. Pixel counts drop in 14 failing vertical writing-mode cases and two forced line-clamp cases (seams removed); their statuses do not change. Co-Authored-By: Claude Opus 5.5 --- test/wpt/README.md | 36 ++++++++++++++++++++++++++++++++++++ test/wpt/bridge.cpp | 6 ++++++ 2 files changed, 42 insertions(+) diff --git a/test/wpt/README.md b/test/wpt/README.md index 683a193..6d7171c 100644 --- a/test/wpt/README.md +++ b/test/wpt/README.md @@ -2532,3 +2532,39 @@ The native text-coverage parity, text-background integration, first-line, and transformed-rounded-rect suites pass. The adapter/font suite has 20 passing checks. Work stops here at the user's request; remaining failures are preserved for a later session. + +## Ahem without antialiasing and right-to-left static positions (2026-10-21) + +The bridge now asks the engine to rasterize Ahem without antialiasing, as +browser reftest harnesses do (Gecko's `gfx.font_rendering.ahem_antialias_none`). +Ahem's ascent is 0.8em, so at sizes that are not multiples of 5px its square +glyphs start between pixel rows: at 16px the antialiased glyph covered 80% of +its top row and 20% of the row below its line box, enough to show a red span +beneath it or tint an adjacent border. The engine still owns all metrics and +coverage; `generated::runtimeTtfFontAntialiased` (weak, true by default) only +thresholds the family's coverage at 50% when each glyph is rasterized. Other +fonts, including the Gentium Plus default whose `gasp` table also requests no +grayscale at 9-16ppem, keep antialiasing. + +Three shared-engine corrections accompany it: + +- A block-level absolute box placed after content on its line takes its static + position on the next line at its block's inline-start edge, the right edge in + a right-to-left block (CSS 2.2 10.3.7). +- An inline box whose content fits one line no longer applies `text-align` + inside itself; the line that holds it aligns it as a whole. A `direction: rtl` + span in a left-to-right line had moved its content across the line. +- A contentless inline box on a line (nothing in flow, nothing painted, no + authored size) takes its font's content area, so a positioned one gives its + absolute children the right containing block. It still adds no height to its + line, and on a zero-height line (CSS 2.2 9.4.2) it stays at the line's top. As + a flex or grid item it is blockified and stays empty. + +The complete forced run moves from **869 PASS, 231 FAIL** to **874 PASS, 226 FAIL** +with no regressions: `htb-ltr-ltr`, `htb-ltr-rtl.tentative`, +`htb-rtl-ltr.tentative`, `htb-rtl-rtl` and +`nested-inline-abspos-child-with-siblings` pass. Pixel counts change in 14 +failing vertical writing-mode cases and two forced line-clamp cases (seams +removed); their statuses do not. The 24 vertical `css-position` failures +need vertical inline layout, writing-mode-aware logical properties and vertical +multicolumn fragmentation, which the engine does not implement. diff --git a/test/wpt/bridge.cpp b/test/wpt/bridge.cpp index f0b3e5f..44c350d 100644 --- a/test/wpt/bridge.cpp +++ b/test/wpt/bridge.cpp @@ -41,6 +41,12 @@ const std::uint8_t *lookupRuntimeTtfFontForFamily(int id, unsigned long *length) if (length) *length = bytes.size(); return bytes.data(); } +// Browser reftest harnesses draw Ahem without antialiasing (Gecko's +// gfx.font_rendering.ahem_antialias_none), so its 0.8em ascent leaves no +// partial rows at sizes such as 16px. +bool runtimeTtfFontAntialiased(int id) { + return id < 0 || static_cast(id) >= testFonts.size() || testFonts[id].family != "ahem"; +} } namespace gea::framework::app::generated { void drainMicrotasks() {} } using namespace gea::embedded::ui; From d0c4ff3bdd23f9bb2964529c12a671e2ba9287a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Acar?= Date: Wed, 21 Oct 2026 19:23:18 +0300 Subject: [PATCH 10/10] Record vertical writing-mode flows in the WPT README Core now lays out vertical-lr and vertical-rl block containers with inline content as vertical flows, draws their text as turned columns and maps flow-relative properties per element. The README section lists that and the horizontal corrections the same tests needed. Those are the static position under a relatively positioned inline, split-inline containing blocks, hanging trailing spaces, words that continue across inline items, start/end alignment by the block's direction, orthogonal inline-block baselines, absolute vertical boxes with both insets and the first-line baseline of wrapping bitmap-font text. All 1,100 tests with --force: 874 -> 900 PASS, 226 -> 200 FAIL, nothing went from PASS to FAIL. All 24 vertical css-position tests pass, as do align-self-static-position-004 and margin-trim flex-column-orthogonal-item. No rig code changed. Co-Authored-By: Claude Opus 5.5 --- test/wpt/README.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/test/wpt/README.md b/test/wpt/README.md index 6d7171c..2d40468 100644 --- a/test/wpt/README.md +++ b/test/wpt/README.md @@ -2568,3 +2568,46 @@ failing vertical writing-mode cases and two forced line-clamp cases (seams removed); their statuses do not. The 24 vertical `css-position` failures need vertical inline layout, writing-mode-aware logical properties and vertical multicolumn fragmentation, which the engine does not implement. + +## Vertical writing-mode flows and flow-relative properties (2026-10-21) + +The engine now lays out vertical inline content. A `vertical-lr` or +`vertical-rl` block container with inline content or columns, whose subtree +holds only elements and text in that one writing mode, becomes a vertical flow. +Its subtree is rotated into the logical frame (boxes, sizes, sides, insets and +auto margins), laid out by the horizontal block, inline and multicolumn code, +and transposed back. Its text draws as columns of glyphs turned clockwise. +Absolute boxes whose containing block lies in the flow are placed in the logical +frame. Columns stack across the block axis. Flex and grid containers, line +clamps, replaced content and mixed writing modes keep the previous path. + +Flow-relative properties in stylesheet rules (`inset-inline-start`, +`margin-block-end`, `inline-size`, ...) now map by each element's own writing +mode and direction ([CSS Logical 4](https://drafts.csswg.org/css-logical-1/#box)), +not always as horizontal-tb ltr. Inline styles and the compiler's static +mapping still use horizontal-tb ltr. + +Horizontal corrections the same tests needed: + +- An absolute box's static position moves with a relatively positioned inline + ancestor. +- A split inline's containing block rectangle covers its child inlines' + fragments, and in right-to-left text uses the block's direction. +- Collapsible spaces that end a line hang past it instead of wrapping the run + before them. +- A word that continues across inline items is not split between lines. +- `text-align: start` and `end` resolve with the block's direction. +- An orthogonal inline-block takes a synthesized baseline. +- An absolute vertical box with both vertical insets lays out its lines at that + height. +- Bitmap-font text that wraps takes the bottom of its first line box as its + baseline, not its last, so the items beside its first line stay on it. + +A relayout scoped to a subtree inside a vertical flow starts from the flow's +root, the only place the flow can be laid out from. + +The complete forced run moves from **874 PASS, 226 FAIL** to **900 PASS, 200 FAIL** +with no regressions. All 24 vertical `css-position` tests pass, as do +`align-self-static-position-004` and `margin-trim/flex-column-orthogonal-item`. +Vertical text draws no decorations, emphasis marks or ellipses. There is no bidi +reordering, and margins do not collapse through a vertical flow root.