This week in rendering
Issue #142 · 6 stories · CSS counters number them, floats place the thumbnails
Variable fonts land in the system font
Optical sizes and every weight from 100 to 900 are now one file. In this app, font-weight: 650 picks the nearest system weight; scroll up in “Stress Test” to see all nine.
Typography · 4 min
Why your chat app does not need a web view
A web view per message costs a process, async height callbacks and a cold start. A layout engine costs a C++ object. We measured both so you don't have to.
Architecture · 7 min
Conic gradients, finally everywhere
Pie charts, donuts, colour wheels and loading spinners from a single CSS property — and a single CoreGraphics call.
Graphics · 3 min
Gumbo at 10: lessons from an HTML5 parser
The parser that repairs your unclosed tags turns ten. Its authors look back at the spec's adoption agency algorithm and the bugs it hid.
Parsing · 9 min
Dark mode is a stylesheet, not a feature
Swap one user stylesheet, re-render, done. Every bubble here gets lc-dark or lc-light on its body so cards can adapt.
Design · 2 min
The surprising cost of a text width
Layout calls text_width() once per word. Cache it, and re-layout on window resize becomes free. Forget to, and resizing stutters.
Performance · 5 min