This Month in Xilem, April 2024
Raph Levien, May 1, 2024
Again, last month saw a substantial amount of infrastructure work in the development of Xilem. The biggest change is landing Masonry as a crate within the Xilem repo (xilem#203) and adding a new xilem_masonry front-end. The existing xilem widget tree remains in the tree during a transitional period, but the focus of development is now on Masonry.
Masonry is a principled abstraction layer within the stack. While it is designed to work well with the Xilem reactive architecture, it is not dependent on it. We'd love to see experimentation with alternative reactive frameworks, and also language bindings. A lot more detail about the motivation and design of Masonry is in Olivier's roadmap blog.
Two major infrastructural crates have been published. Parley is our text layout crate, supporting variable fonts and other advanced features. Supporting Parley is fontique, a crate for enumerating the system fonts and making them available for itemization (choosing the right font to support a particular script).
In GPU rendering land, we have written a paper on GPU stroke expansion (arXiv, repo) and submitted it to a conference. This paper explains quite a bit of the math behind Vello's path rendering, and explains how we adapted it for high performance on the GPU. It's also a good time to note the wgpu 0.20 release, which contains some work to improve on suboptimal zero initialization that will dramatically improve startup time on many platforms, including Android (wgpu#5508). It also has support for subgroups, which will unblock further performance improvements in Vello.
We're very much looking forward to participating in RustNL 2024, where Raph will present a talk on Xilem. It looks like it will be a great opportunity to meet with other Rust UI ecosystem projects to find common ground and possibilities to collaborate.