Linebender in May 2025

Olivier Faure, June 17, 2025

Linebender is an informal open-source organization working on various projects to advance the state of the art in GUI for the Rust programming language.

RustWeek

This month saw the RustWeek 2025 conference, in Utrecht in the Netherlands.

A lot of things happened!

The talks

Raph Levien gave a talk titled Faster, easier 2D vector rendering, about Vello's new architecture. The talk had some nice visuals and a pretty cool demo!

Image from the sparse strips demo

Matt Campbell gave a talk titled AccessKit: reusable UI accessibility, showing off AccessKit and its API and architecture. The talk also came with a cool demo, showcasing AccessKit's Android integration.

The Anniversary

RustWeek also saw the release of Rust 1.87, which coincided (to the day!) with the "10 years of Rust" party.

Some members of Linebender were at the party, which was a great experience. See who you can spot on the group photo!

Rust Anniversary group photo

The Unconference

The Linebender team also went to the UI Unconference, a roundtable where various subjects were broached (accessibility, platform integrations, SVG rendering, etc).

Overall it felt like various project leaders were increasingly interested in pooling resources and using common libraries, but there is still a long way to go on that front.

Masonry

Masonry is the widget system developed by Linebender. It provides a non-opinionated retained widget tree, designed as a base layer for high-level GUI frameworks.

Screenshot of the new shadows.

xilem#960: Adds new shadow property to buttons.

Xilem

Xilem is our flagship GUI project, inspired by SwiftUI, which uses Masonry for its widgets. It lets you build user interfaces declaratively by composing lightweight views together, and will diff them to provide minimal updates to a retained layer.

Vello

Vello is our GPU vector renderer. It can draw large 2D scenes with high performance, using GPU compute shaders for most of the work.

This month we continued seeing a massive amount of activity on Vello's sparse strips renderers (see Raph's video above for details), thanks in part to the tireless contributions of Canva developers Alex Gemberg, Taj Pereira and Andrew Jakubowicz, and to the continued work of Laurenz Stampfl as part of his master's project.

This month also saw the first release of vello_cpu!

As the name implies, vello_cpu is a CPU-only renderer for vector graphics using Vello's tech stack. It's still very experimental (version 0.0.1) and likely to see all sorts of breaking changes, and performance isn't great, but if you want to experiment with it, you can run cargo add vello_cpu in your terminal and start hacking away.

Parley

Parley is a text layout library. It handles text layout, mostly at the level of line breaking and resolving glyph positions.

Get Involved

We welcome collaboration on any of our crates. This can include improving the documentation, implementing new features, improving our test coverage, or using them within your own code.

We host an hour long office hours meeting each week where we discuss what's going on in our projects. See #office hours in Zulip for details. We've also started a separate office hours time dedicated to the renderer collaboration, details also available at that link.