Latest Results
Generic Stylo-backed Raw fallback for the CSS IR pipeline
Adds a single fallback hook that hands any `PropertyValueIR::Raw`
declaration the bespoke converters don't recognise to Stylo's
`parse_one_declaration_into`, the same parser the inline-style path
already uses. Shorthand expansion and value validation then come for
free for every property Stylo can compute.
The originating motivation is CSS Overflow Level 3
(https://drafts.csswg.org/css-overflow/#overflow-properties): the
shorthand `overflow: hidden` / `overflow: hidden scroll` was silently
dropped on the `css!()`-compiled IR pipeline (longhands were already
typed and worked). The same gap existed for every other CSS shorthand
(margin / padding / border / font / background / flex / grid / …) and
for every longhand the bespoke `convert_raw_declaration` path lists as
"not yet supported" (color, background-color, opacity, font-*, text-*,
align-*, justify-*, grid-*, border-*-color, border-*-radius). All of
those now apply, exercised by new engine and WPT tests.
The IR wire format is unchanged. The new path stringifies archived
`CssToken`s back to CSS source text (a single space separator is
inserted between adjacent tokens because `parse_tokens` uses
`cssparser::next()` which drops whitespace tokens), then routes through
Stylo's standard parser context. For shorthands Stylo expands into 2+
longhand `PropertyDeclaration`s which are pushed at the original
importance.
WPT: `parsing/overflow-shorthand.html` + `parsing/overflow-computed.html`
slice — translated as `paws-wpt :: css_overflow ::
overflow_shorthand_expands_to_longhands`. Engine-level coverage at
`engine/src/runtime.rs :: test_ir_overflow_shorthand_*` exercises the
keyword cross-product through the same pipeline; coverage extends to
`margin`, `padding`, `background-color`, and `opacity` to confirm the
fallback is not overflow-specific. `wpt-alignment.md` updated.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>claude/beautiful-edison-c29ab9 docs: rewrite README as AI-native introduction (#112)
## Summary
- Replace the badge-only README with a full project intro: thesis, ASCII
architecture diagram, crate map, and the standard CLI commands kept as a
fallback table.
- Add an **AI-native usage** section: copy-paste prompts grouped by task
(Orienting, Building & checking, Authoring UI, Running on iOS,
Performance work) that an agent in this repo can act on directly, using
the existing `CLAUDE.md` / `agents.md` grounding plus the bundled skills
(`ios-simulator-debug`, `codspeed-optimize`).
- Cover the "host can't mutate the UI tree" design constraint and the
Stylo/Taffy/Yew layering so a first-time reader gets the technical
thesis without spelunking through `agents.md`.
## Why
The previous README was a single CodSpeed badge — new contributors (and
the AI assistants the repo is built around) had nothing to anchor on.
This rewrite gives both audiences a way in: humans get prose + a diagram
+ commands, agents get prompts that match the skills and workflows
already wired into the repo.
## Test plan
- [ ] Render the README on GitHub and confirm the badges, ASCII diagram,
and tables display correctly
- [ ] Verify every relative link in the crate map and "How the Agents
Stay in Sync" sections resolves
- [ ] Pick one prompt from each AI-native section and sanity-check that
it maps to real files / skills in this branch
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Latest Branches
+20%
claude/pr2-layer-clipping 0%
claude/beautiful-edison-c29ab9 0%
claude/modest-jemison-24c55a © 2026 CodSpeed Technology