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