This Month in Xilem, July 2024

Daniel McNab, Olivier Faure, August 8, 2024

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.

This month saw a lot of community contributions to Linebender projects. Philipp Mildenberger especially is a major driver for progress on Xilem and especially the xilem_web crate. Bruce Mitchener has been very active reviewing pull requests, which is an under-appreciated but essential task for any open-source project.

Xilem

Xilem is our flagship GUI project, inspired by SwiftUI.

A calculator with display section showing the calculation 9994 + 3231 = 13225. Below this section is a grid of buttons 4 wide and 5 tall, containing the digits 0-9 and some other calculator operations.

The new calc example for Xilem.

Masonry

Masonry is the widget system used by Xilem. The most impactful change was the implementation of the "Widgets in arenas" RFC in xilem#396. Widgets are now stored in a global arena, which has little impact on the public APIs but make future changes a lot easier to implement.

Vello

Vello is our GPU vector renderer.

A screenshot containing a single bezier curve, split into several differently coloured segments. The control points of the curve are visible. The expanded stroke for this curve is shown as a filled section, with the generated line segment end points visible as small circles. There are several controls for settings of the stroke expansion above the curve.

The demo for the stroke expansion paper, which was created using Xilem Web. An interactive version can be found on the paper's website.

Parley

Parley is a text layout library. Nico Burns contributed quite a few improvements to Parley this month:

Others