You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/blog/2026-04-14-tmil-25/index.md
+44-20Lines changed: 44 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,10 @@ title = "Linebender in 2026 Q1"
3
3
authors = ["Raph Levien"]
4
4
+++
5
5
6
-
Apologies for the delay in the update, as the past three months have been a hectic time. Two of the core Linebender team members, myself and Daniel McNab, have moved across the world and started full-time jobs at Canva. Getting onboarded has taken a lot of time and energy, but fortunately, work on Linebender crates remains a core part of our responsibilities. And in the meantime, the community has been pushing forward.
6
+
Apologies for the delay in the update, as the past three months have been a hectic time.
7
+
Two of the core Linebender team members, myself and Daniel McNab, have moved across the world and started full-time jobs at Canva.
8
+
Getting onboarded has taken a lot of time and energy, but fortunately, work on Linebender crates remains a core part of our responsibilities.
9
+
And in the meantime, the community has been pushing forward.
7
10
8
11
## Vello
9
12
@@ -21,12 +24,11 @@ Vello Hybrid is currently at roughly beta quality; there are some rough edges st
21
24
22
25
While we were hoping for a project called Vello API to provide a unified, low level API encompassing both Vello CPU and Vello Hybrid, we ran into more complexity and difficulty than intended.
23
26
There are two abstraction layers that can be used for a variety of renderers, both Vello and other renderers including Skia.
24
-
* AnyRender, which is part of Blitz.
25
-
* Imaging, which is part of the Understory family of crates.
26
-
27
-
28
-
These two crates are fairly similar in scope, but with different emphasis. AnyRender prioritizes ergonomics, while imaging is focused on performance, including handling external GPU-resident textures.
27
+
*[AnyRender], which is part of Blitz.
28
+
*[imaging], which is part of the forest-rs organization.
29
29
30
+
These two crates are fairly similar in scope, but with different emphasis.
31
+
AnyRender prioritizes ergonomics, while imaging is focused on performance, including handling external GPU-resident textures.
30
32
31
33
### Glifo
32
34
@@ -38,13 +40,13 @@ To handle these functions, we created a crate called "parley_draw" inside the Pa
38
40
The crate has now been renamed to "Glifo," and has moved into the Vello repo.
39
41
The new location is to reduce the friction to iterate on the implementation of atlas-based glyph caching.
40
42
41
-
For a more recent discussion of the scope and goals of Glifo, see the thread [Glifo: A seperation of concerns](https://xi.zulipchat.com/#narrow/channel/197075-vello/topic/Glifo.3A.20A.20seperation.20of.20concerns/with/584192738).<!-- typos:disable-line -->
43
+
For a more recent discussion of the scope and goals of Glifo, see the thread [#vello > Glifo: A separation of concerns](https://xi.zulipchat.com/#narrow/channel/197075-vello/topic/Glifo.3A.20A.20separation.20of.20concerns/with/584192738).
42
44
43
45
In the longer term, we would like to see Glifo become independent of Vello rendering and be adopted by other projects in the ecosystem, but for the time being it should be considered in development.
44
46
45
47
## Parley
46
48
47
-
Parley has seen slow but steady features.
49
+
Parley has seen slow but steady improvements in features, including:
48
50
49
51
*[parley#536] enumerate system fonts on mac using CoreText
50
52
*[parley#540] Load fonts from system, and provided paths
@@ -59,24 +61,31 @@ Other projects which now use Parley but have not previously been mentioned are:
It's gratifying to see all this adoption. It seems like recognition that Parley
64
+
It's gratifying to see all this adoption.
65
+
It seems like recognition that Parley is a viable text layout library for a broad range of applications.
63
66
64
67
## Xilem and Masonry
65
68
66
-
Masonry move to imaging ([xilem#1696]).
69
+
Masonry has moved to [imaging] as an abstraction over the 2D rendering engine ([xilem#1696]).
70
+
Previously it had been hardcoded to use Vello classic.
71
+
Because imaging supports a wide variety of back-ends, Masonry can now operate in a wider variety of environments, including Vello CPU for rendering not requiring a GPU.
67
72
68
-
A bunch of new widgets: Svg, Divider, CollapsePanel, StepInput, RadioButtons, Switch, Clip, Split (TODO: get complete list)
73
+
Masonry has bunch of new widgets, including Svg, Divider, CollapsePanel, StepInput, RadioButtons, Switch, Clip, Split.
69
74
70
-
New layout system ([xilem#1560]).
75
+
Masonry now has a new layout system ([xilem#1560]).
71
76
72
-
Work to move towards ui_events and reduce dependency on winit.
77
+
Masonry is using `ui-events` for more of the integration with system capabilities, including IME (input method editing).
78
+
This reduces the dependency on winit, and opens the door to deployments not dependent on winit.
79
+
In the [#masonry > Embeddable GUI backend](https://xi.zulipchat.com/#narrow/channel/317477-masonry/topic/Embeddable.20GUI.20backend.2E/with/582566308) Zulip thread, there is discussion of embedding Masonry in a VST plugin, using baseview instead of winit.
73
80
74
81
<!-- Should we mention that work on Placehero has stalled out now that it's no longer funded?-->
75
82
76
-
We're seeing some cool Xilem apps in the ecosystem, including a port of Runebender to Xilem ([Zulip thread](https://xi.zulipchat.com/#narrow/channel/197829-runebender/topic/Runebender.20Xilem/with/574012987)). That's especially gratifying to see, as it was the "hero app" for Druid for several years.
83
+
We're seeing some cool Xilem apps in the ecosystem, including a port of Runebender to Xilem ([Zulip thread](https://xi.zulipchat.com/#narrow/channel/197829-runebender/topic/Runebender.20Xilem/with/574012987)).
84
+
That's especially gratifying to see, as it was the "hero app" for Druid for several years.
77
85
78
86
<figure>
79
-
<imgstyle="height: auto;"width="1280"height="720"src="rb-mar-16-2026.jpeg"alt="A screenshot of Runebender. On the left is a Bézier path of a lowercase n being edited in a string, and on the right is an image showing many weights of the Instrument Serif font.">
87
+
<img style="height: auto;" width="1280" height="720" src="rb-mar-16-2026.jpeg" alt="A screenshot of Runebender.
88
+
On the left is a Bézier path of a lowercase n being edited in a string, and on the right is an image showing many weights of the Instrument Serif font.">
80
89
<figcaption>
81
90
A screenshot of Runebender Xilem.
82
91
</figcaption>
@@ -95,6 +104,8 @@ A screenshot of Scrolled Quran.
95
104
96
105
## Related ecosystem projects
97
106
107
+
There's a lot of interesting activity surrounding Linebender, including projects that use Linebender crates, and adjacent bits of infrastructure.
108
+
98
109
### Subduction
99
110
100
111
It's long been clear there is value in more fully exploiting system compositor capabilities, but it's a hard problem and Linebender projects have so far just been using plain windows and swapchains.
@@ -107,24 +118,37 @@ To learn more, see the [Subduction: System compositor integration](https://xi.zu
107
118
<figure>
108
119
<imgstyle="height: auto;"width="912"height="744"src="subduction_screenshot.png"alt="A screenshot of subduction, showing native mac widgets">
109
120
<figcaption>
110
-
A screenshot of the subduction sample app. There are AppKit widgets for text editing and a button, and geometric shapes.
121
+
A screenshot of the subduction sample app.
122
+
There are AppKit widgets for text editing and a button, and geometric shapes.
111
123
</figcaption>
112
124
</figure>
113
125
114
-
115
126
## RustWeek
116
127
117
-
There are two talks from Linebender affiliated people: Nico Burns' [talk on Blitz](https://2026.rustweek.org/talks/nico/), and Taj Pereira and Alex Jakubowicz' [talk on WASM](https://2026.rustweek.org/talks/wasm/). In addition, Linebender is one of the [Unconference](https://2026.rustweek.org/unconf-intro/) tracks. If you are interested in participating in the latter, reach out to me, as I'm the designated community leader.
128
+
There are two talks from Linebender affiliated people: Nico Burns' [talk on Blitz](https://2026.rustweek.org/talks/nico/), and Taj Pereira and Alex Jakubowicz' [talk on WASM](https://2026.rustweek.org/talks/wasm/).
129
+
In addition, Linebender is one of the [Unconference](https://2026.rustweek.org/unconf-intro/) tracks.
130
+
If you are interested in participating in the latter, reach out to me, as I'm the designated community leader.
131
+
132
+
## Get Involved
133
+
134
+
We welcome collaboration on any of our crates.
135
+
This can include improving the documentation, implementing new features, improving our test coverage, or using them within your own code.
136
+
137
+
We host an hour long office hours meeting each week where we discuss what's going on in our projects.
138
+
See [#office hours in Zulip](https://xi.zulipchat.com/#narrow/channel/359642-office-hours) for details.
139
+
We're also running a separate office hours time dedicated to the renderer collaboration, details also available at that link.
140
+
Note that office hours are on a break for the remainder of the year.
141
+
They are expected to continue in January, keep an eye on Zulip for details.
0 commit comments