Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add This Month in Xilem 04 #50

Merged
merged 6 commits into from
May 2, 2024
Merged
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions content/blog/2024-05-01-tmix-04.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
+++
title = "This Month in Xilem, April 2024"
authors = ["Raph Levien"]
+++
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][stroke expansion arXiv], [repo][stroke expansion 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 on suboptimal zero initialization that will dramatically improve startup time on many platforms, including Android ([wgpu#5508]).
raphlinus marked this conversation as resolved.
Show resolved Hide resolved
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.

[xilem#203]: https://github.com/linebender/xilem/pull/203
[roadmap blog]: https://linebender.org/blog/xilem-backend-roadmap/
[parley]: https://crates.io/crates/parley
[fontique]: https://crates.io/crates/fontique
[stroke expansion arXiv]: https://arxiv.org/abs/2405.00127
[stroke expansion repo]: https://github.com/linebender/gpu-stroke-expansion-paper
[wgpu 0.20]: https://docs.rs/crate/wgpu/0.20.0
[wgpu#5508]: https://github.com/gfx-rs/wgpu/pull/5508
[RustNL 2024]: https://2024.rustnl.org/
Loading