As someone who has done some font library spelunking and rendering - wanted to write a short thread about the "Harfbuzz is vibe coded now!" thing because I think some reactions are knee-jerk but I think it's a problem for different reasons...

If you don't know, Harfbuzz is a library that takes fonts and turns them into shape data. It doesn't draw them or generate bitmaps, it just decodes the font and gives you the shape.

https://github.com/harfbuzz/harfbuzz

Because of its limited scope of responsibilities - Harfbuzz has actually been integrated in a lot of places. A healthy ecosystem of renderers grew up around it that can render text to GPUs or bitmaps.

For Harfbuzz 13 - the author seems to have vibe coded bitmap and SVG rendering and stuck it onto the library in an unstable interface. And yes vibe coding finger wag, but also... why? Why tackle a problem that was solved by the healthy ecosystem that built on your library?

I kind of worry the draw of LLMs - especially if you're an open source library maintainer - will just be to throw on a bunch of stuff that bulks up your library that isn't necessary. Part of the draw of Harfbuzz is that if I'm doing something like GPU drawing it's focused on working with my draw system instead of defining its own. And sure I can just ignore all the bitmap and SVG rendering they're throwing on but.... sigh. Why? Why compete against your ecosystem? It's a solved problem.

There are people clearly passionate about rendering with Harfbuzz. Why compete with them? They've taken the time to really understand the rendering problems and put out great solutions. Why vibe code your own thing when it doesn't seem like it's your interest or domain?

I dunno, maybe they were being asked for this. I had a moment of "Harfbuzz doesn't render?" when I looked at it. But then I went "Oh, Harfbuzz is supposed to underlie a rendering system, neat!"

@khaled @colincornaby I have literally been thinking about addressing this gap for years.

https://x.com/behdadesfahbod/status/1891722747966796129

Behdad Esfahbod (@behdadesfahbod) on X

I have started to seriously think about how to add a vertical autohinter and a nimble rasterizer, plus, down the road, a COLRv1 renderer. I will be posting more about those plans as they develop. In the mean time, stay tuned for the next release that is faster than ever...

X (formerly Twitter)