You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
web: give display text an optical size using Inter's opsz axis #835
Component plan: build this from the components named in docs/designs/822-mui-revamp.md. The rule is "reused, never rebuilt" — composing MUI primitives into a screen wrapper is expected; reimplementing behaviour a shared component already has is not. Say in the PR which row of that table covers this screen.
Part of #674. Inherited from #656 (closed 2026-09-13), question 2 of 3.
Inter everywhere at one optical size gives headings and stat figures no voice. font-variation-settings: "opsz" 32 on h1, h2, .stat-value buys tighter display cuts at zero
download cost.
Already answered, incidentally (2026-09-02): the installed @fontsource-variable/interdoes
carry the opsz axis — web/node_modules/@fontsource-variable/inter/files/ contains inter-*-opsz-normal.woff2. The risk that the default entry ships wght only does not apply. Do not re-investigate this.
Interacts with the MUI typography scale decision on this epic — if MUI owns headings after
conversion, this setting has to reach MUI's Typography too, not only bare h1/h2.
Amendment (2026-09-14, from the #822 design doc, PR #862). The premise "the installed Inter does carry the opsz axis, zero download cost, do not re-investigate" is wrong in the way that matters: the files are in the package, but main.tsx imports the default entry whose seven url()s are all wght-only faces (grep -c opsz node_modules/@fontsource-variable/inter/index.css = 0). font-variation-settings: "opsz" on the loaded face does nothing. Adopting the axis means switching to the opsz.css entry, which costs +118.9 KiB of precache across the seven subsets (+24.1 KiB on the latin subset a phone fetches), charged against #825's ceiling. Design direction: D7.2 in docs/designs/822-mui-revamp.md.
Closed as not planned (owner decision, 2026-09-24). The display optical size change was judged not worth it: it affects six stat figures, and the visible difference is small. PR #948 closed unmerged.
Reopened: the close earlier today was a coordinator misreading. The owner meant to skip the screenshot preview, not the change. #835 continues in PR #948.
Activity
mforce commentedon Sep 14, 2026
Amendment (2026-09-14, from the #822 design doc, PR #862). The premise "the installed Inter does carry the opsz axis, zero download cost, do not re-investigate" is wrong in the way that matters: the files are in the package, but
main.tsximports the default entry whose sevenurl()s are allwght-only faces (grep -c opsz node_modules/@fontsource-variable/inter/index.css= 0).font-variation-settings: "opsz"on the loaded face does nothing. Adopting the axis means switching to theopsz.cssentry, which costs +118.9 KiB of precache across the seven subsets (+24.1 KiB on the latin subset a phone fetches), charged against #825's ceiling. Design direction: D7.2 indocs/designs/822-mui-revamp.md.mforce commentedon Sep 24, 2026
Closed as not planned (owner decision, 2026-09-24). The display optical size change was judged not worth it: it affects six stat figures, and the visible difference is small. PR #948 closed unmerged.
mforce commentedon Sep 24, 2026
Reopened: the close earlier today was a coordinator misreading. The owner meant to skip the screenshot preview, not the change. #835 continues in PR #948.
test(web): fix the precache-ceiling fixture after #835's opsz check
fix(web): pin body/input/table text to Inter's text cut, not just h1-…
fix(web): restore offline caching for the five dropped Inter subsets
docs(822): fix the D7.2 amendment to match the shipped opsz fix