Files
hyperframes/scripts/catalog-fetch-mirror
Miguel Ángel 04d56d06aa fix(producer): renders use the font named in a var() fallback (#4619)
* fix(producer): renders use the font named in a var() fallback

When a font-family starts with var(--x, A, B) and --x is not defined, the
render now reads A, B the way the browser does. A system font at the head of
that fallback gets Inter placed in front of it, the same rule a direct
system-font stack already follows. The rewrite stays inside the var()
fallback, so a defined --x still wins. A defined property whose value is
itself a var() is followed too. The distributed plan check reads the same
answer.

Fonts named only in such a fallback are best-effort: they are embedded when
they resolve, and one that does not resolve is logged instead of failing a
distributed render. Fonts named directly, or through a defined property,
still fail closed as before.

CSS-wide keywords such as inherit are no longer treated as font names to
fetch.

Compiled the way a distributed render compiles them, 28 registry items now
embed a font they name this way, and none newly fails.

* refactor(producer): fold var() fallback resolution into one branch

* fix(producer): fonts behind a var() chain or empty fallback add no new render failures

A family reached through a chain of defined var()s is optional like a
fallback-only one: fetched fail-closed, skipped only when no source serves
it. An empty var() fallback makes the declaration invalid, so the browser
inherits and the plan check no longer rejects the families after it.

* test(producer): a family named after a leading var() stays required

* fix(producer): a transient error on an optional font warns and renders the fallback

* chore(catalog): record the font requests var() fallbacks now make

* fix(producer): required fonts fetch before optional ones can spend the time budget
2026-09-28 03:30:21 +00:00
..