Linebender in June 2025

Daniel McNab, Raph Levien, July 9, 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.

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 the sparse strips renderers, a collaborative evolution of Vello.

This working roadmap outlines the planned timeline for work on the renderers over the next year.

Fearless SIMD

Much of the recent work on sparse strip rendering has been SIMD-accelerated implementation of the parts running on CPU. Here, vello#1053 is something of the tip of the iceberg. Our A plan for SIMD blog post sketched out our plans to build an abstraction layer to write SIMD code in a safe, portable way, in contrast to the original prototyping which was all done in unsafe core::arch intrinsics. Since then, there has been rapid progress on the Fearless SIMD project, focusing on SIMD primitives needed to accelerate rendering. Support for WASM is particularly strong.

The crate has been moving fast and there are no stability guarantees yet, but we are very hopeful that it will be a solid foundation for other projects that can benefit from SIMD acceleration. We invite projects to start experimenting, and give us feedback. Discussion is in the #simd channel on the Linebender Zulip.

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.

Three overlapping windows on a black background. The frontmost window is titled Second Window, has text displaying a count of 11, a plus button, and a minus button, stacked vertically. Behind it is First Window, which is the same with a count of 13. At the back is a window titled Multiple Windows, which shows a map from the aforementioned windows to their values above a textbox and Add button. The textbox contains the text Next Window.

As of xilem#1038 Masonry (and Xilem) support multiple windows.

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.

In June, we started a new initiative for Xilem, a Mastodon client example. This is being developed alongside Xilem to focus its development.

A window vertically split into two panes, where the left pane is empty except for the text Connected to Mastodon. Two Mastodon Posts are visible in the right pane, each showing their author's avatar and name, the post's time and contents, and the number of interactions the post has had. Each post also has a button labelled View Replies.

The Hero app is currently hardcoded to show a subset of Raph's timeline.

Parley

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

In June, we released Parley 0.5.0. This includes features we talked about in previous months, including restoring Layout: Sync, and improvements to line height handling.

Android View

Andrdoid View was handed over to the Rust Mobile organisation.

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. We're also running a separate office hours time dedicated to the renderer collaboration, details also available at that link. See #office hours in Zulip for details.

If you wish to discuss the Linebender project individually, Daniel is offering "office hours" appointments, which are free to book. It really helps us to learn what aspects our users care about the most.