Skip to content

Commit 3901ea9

Browse files
committed
Start TMIL February 2024
1 parent b7c7807 commit 3901ea9

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed
+95
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
+++
2+
title = "Linebender in February 2025"
3+
authors = ["Daniel McNab"]
4+
+++
5+
6+
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](https://rust-lang.org).
7+
8+
## Xilem
9+
10+
Xilem is our flagship GUI project, inspired by SwiftUI.
11+
It lets you build user interfaces declaratively by composing lightweight views together, and will diff them to provide minimal updates to a retained layer.
12+
February was a slow month for Xilem specific changes, although many changes further down the stack will be relevant to Xilem users.
13+
14+
- [xilem#861][]: makes a method on `Pod` public to make creating widgets easier, by Evgeny.
15+
16+
## Masonry
17+
18+
Masonry is the widget system used by Xilem.
19+
It provides a non-opinionated retained widget tree, designed as a base layer for high-level GUI frameworks.
20+
21+
- [xilem#872][]: Exported the scale factor for limited use cases (such as single-pixel lines).
22+
23+
There is some important work upcoming:
24+
25+
- [xilem#873][]: Olivier started to develop their "arbitrary properties" feature, which is intended for styling.
26+
- [xilem#875][]: Adds an image widget containing arbitrary vector graphics content, by Richard Dodd.
27+
28+
As Parley has now been released to crates.io (discussed later in this update), we're hoping to release a new alpha of Xilem and Masonry to crates.io in March.
29+
30+
## Vello
31+
32+
Vello is our GPU vector renderer.
33+
It can draw large 2D scenes with high performance, using GPU compute shaders for most of the work.
34+
35+
<!-- TODO: ... -->
36+
37+
## Parley
38+
39+
Parley is a text layout library.
40+
It handles text layout, mostly at the level of line breaking and resolving glyph positions.
41+
42+
We released [Parley 0.3][] and [Fontique 0.3][] to crates.io.
43+
These contain many of the features we have discussed over the previous months, including <!-- TODO -->.
44+
45+
## Resvg
46+
47+
<!-- TODO: Talk about resvg 0.45 release -->
48+
49+
## Kurbo
50+
51+
Kurbo provides data structures and algorithms for curves and vector paths.
52+
53+
- [kurbo#412][], [kurbo#413][]: Added utility methods to `Size`, by [@nils-mathieu][].
54+
55+
## Color
56+
57+
[Color][] provides functionality for representing, converting, parsing, serializing, and manipulating colors in a variety of color spaces.
58+
It closely follows the [CSS Color Module Level 4][] draft spec.
59+
60+
The biggest update to Color in February was the addition of absolute color conversions, in [color#139][].
61+
This won't be visible for most users, but will be useful for those who need to convert between color spaces without changing the white point.
62+
This will also be used in [color#137][], which allows creating a theoretical black-body color from a temperature in Kelvin.
63+
64+
## Velato
65+
66+
We released [Velato 0.5.0][], bringing compatibility with Vello 0.4.0.
67+
68+
## Kompari
69+
70+
[Kompari][] is a tool for visual inspection of snapshot tests.
71+
72+
<!-- TODO -->
73+
74+
## Research and Future Directions
75+
76+
Linebender has an origin story in being a very research oriented group, looking to break new ground.
77+
While we are focused on shipping code today, we still have an eye on the future and how to be prepared for the new opportunities and technologies that are coming.
78+
79+
<!-- TODO -->
80+
81+
## Get Involved
82+
83+
We welcome collaboration on any of our crates.
84+
This can include improving the documentation, implementing new features, improving our test coverage, or using them within your own code.
85+
86+
We host an hour long office hours meeting each week where we discuss what's going on in our projects.
87+
See [#office hours in Zulip](https://xi.zulipchat.com/#narrow/channel/359642-office-hours) for details.
88+
<!-- TODO: Mention renderer office hours? -->
89+
90+
* Daniel and Olivier's "office hours" appointments can still be booked by anyone for open-ended discussion of the ecosystem.
91+
* [See Daniel's schedule here](https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ32eQYJ9DtZ_wJaYNtT36YioETiloZDIdImFpBFRo5-XsqGzpikgkg47LPsiHhpiwiQ1orOwwW2).
92+
* [See Olivier's schedule here](https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ2t767ZRETD_TkRI_VxK2ZTG0VrO9OZ4l7HvTxefhtJcg85iK0ZN7zWNnAEZtH0Dn7C1GKxrmYM).
93+
94+
[Color]: https://docs.rs/color/
95+
[CSS Color Module Level 4]: https://www.w3.org/TR/css-color-4/

0 commit comments

Comments
 (0)