From 43fdede16640c18836a06c05c6f891f8d127fe10 Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Mon, 4 Mar 2024 08:50:20 -0800 Subject: [PATCH 1/4] Add This Month in Xilem 02 blog --- content/blog/2024-03-04-tmix-02.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 content/blog/2024-03-04-tmix-02.md diff --git a/content/blog/2024-03-04-tmix-02.md b/content/blog/2024-03-04-tmix-02.md new file mode 100644 index 0000000..49d5bec --- /dev/null +++ b/content/blog/2024-03-04-tmix-02.md @@ -0,0 +1,23 @@ ++++ +title = "This Month in Xilem, February 2024" +authors = ["Raph Levien"] +date = "2024-03-04 07:34:42" ++++ + +Early this year, we made a decision to use the winit crate for window creation, as opposed to rolling our own. That work has now landed in main ([xilem#176] was the main PR, with a number of followups.). A major motivation was to enable more platforms, with Android being a major goal. That work is in progress; a major subtask is enumerating the system fonts. As expected, this move has uncovered rough edges in winit and some regressions in behavior. We plan to address those, with the improvements hopefully benefiting the entire Rust UI ecosystem. + +The Vello 0.1 release is imminent, with significant documentation improvements. We consider this an alpha-quality release, as there are known issues. Even so, we want to get a release out to facilitate integrations and shake out problems. + +Another major area of work on Vello is investigation of startup time, which can take multiple seconds when the platform's GPU drivers are slow at compiling the compute shaders. A number of techniques mitigate that. One is to compile shaders in parallel, using multiple cores, and that has landed ([vello#455]). An even bigger improvement will be caching compiled shaders. Daniel McNab has made an encouraging prototype ([vello#459]), and the ultimate goal is to land that in wgpu so projects across the ecosystem can benefit from it ([wgpu#5292]) + +The work to compute strokes on the GPU using Euler spirals continues, but has not yet landed. The current state is a draft PR that implements the logic in Rust code, which now needs to be translated to WGSL for GPU evaluation ([vello#496], draft PR). + +There has been progress at higher levels of Xilem. Amont other things Nico Burns landed a scroll view implementation ([xilem#146]), and Phillipp Mildenberger has been steadily refining xilem_core, including fine grained tree structure tracking. + +[Xilem]: https://github.com/linebender/xilem +[xilem#176]: https://github.com/linebender/xilem/pull/176 +[vello#455]: https://github.com/linebender/vello/pull/455 +[vello#459]: https://github.com/linebender/vello/pull/459 +[wgpu#5292]: https://github.com/gfx-rs/wgpu/pull/5292 +[xilem#146]: https://github.com/linebender/xilem/pull/146 +[vello#496]: https://github.com/linebender/vello/pull/496 From f596f0ed62df43bd71abf74a290721023a9f979c Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Mon, 4 Mar 2024 09:17:03 -0800 Subject: [PATCH 2/4] Note Vello 0.1 release Also move to one line per sentence formatting policy. --- content/blog/2024-03-04-tmix-02.md | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/content/blog/2024-03-04-tmix-02.md b/content/blog/2024-03-04-tmix-02.md index 49d5bec..b69dedb 100644 --- a/content/blog/2024-03-04-tmix-02.md +++ b/content/blog/2024-03-04-tmix-02.md @@ -4,15 +4,28 @@ authors = ["Raph Levien"] date = "2024-03-04 07:34:42" +++ -Early this year, we made a decision to use the winit crate for window creation, as opposed to rolling our own. That work has now landed in main ([xilem#176] was the main PR, with a number of followups.). A major motivation was to enable more platforms, with Android being a major goal. That work is in progress; a major subtask is enumerating the system fonts. As expected, this move has uncovered rough edges in winit and some regressions in behavior. We plan to address those, with the improvements hopefully benefiting the entire Rust UI ecosystem. +Early this year, we made a decision to use the winit crate for window creation, as opposed to rolling our own. +That work has now landed in main ([xilem#176] was the main PR, with a number of followups.). +A major motivation was to enable more platforms, with Android being a major goal. +That work is in progress; a major subtask is enumerating the system fonts. +As expected, this move has uncovered rough edges in winit and some regressions in behavior. +We plan to address those, with the improvements hopefully benefiting the entire Rust UI ecosystem. -The Vello 0.1 release is imminent, with significant documentation improvements. We consider this an alpha-quality release, as there are known issues. Even so, we want to get a release out to facilitate integrations and shake out problems. +The [Vello crate] has been published as version 0.1, with significant documentation improvements and a friendly example. +We consider this an alpha-quality release, as there are known issues. +Even so, we want to get a release out to facilitate integrations and shake out problems. -Another major area of work on Vello is investigation of startup time, which can take multiple seconds when the platform's GPU drivers are slow at compiling the compute shaders. A number of techniques mitigate that. One is to compile shaders in parallel, using multiple cores, and that has landed ([vello#455]). An even bigger improvement will be caching compiled shaders. Daniel McNab has made an encouraging prototype ([vello#459]), and the ultimate goal is to land that in wgpu so projects across the ecosystem can benefit from it ([wgpu#5292]) +Another major area of work on Vello is investigation of startup time, which can take multiple seconds when the platform's GPU drivers are slow at compiling the compute shaders. +A number of techniques mitigate that. +One is to compile shaders in parallel, using multiple cores, and that has landed ([vello#455]). +An even bigger improvement will be caching compiled shaders. +Daniel McNab has made an encouraging prototype ([vello#459]), and the ultimate goal is to land that in wgpu so projects across the ecosystem can benefit from it ([wgpu#5292]). -The work to compute strokes on the GPU using Euler spirals continues, but has not yet landed. The current state is a draft PR that implements the logic in Rust code, which now needs to be translated to WGSL for GPU evaluation ([vello#496], draft PR). +The work to compute strokes on the GPU using Euler spirals continues, but has not yet landed. +The current state is a draft PR that implements the logic in Rust code, which now needs to be translated to WGSL for GPU evaluation ([vello#496], draft PR). -There has been progress at higher levels of Xilem. Amont other things Nico Burns landed a scroll view implementation ([xilem#146]), and Phillipp Mildenberger has been steadily refining xilem_core, including fine grained tree structure tracking. +There has been progress at higher levels of Xilem. +Amont other things Nico Burns landed a scroll view implementation ([xilem#146]), and Phillipp Mildenberger has been steadily refining xilem_core, including fine grained tree structure tracking. [Xilem]: https://github.com/linebender/xilem [xilem#176]: https://github.com/linebender/xilem/pull/176 @@ -21,3 +34,4 @@ There has been progress at higher levels of Xilem. Amont other things Nico Burns [wgpu#5292]: https://github.com/gfx-rs/wgpu/pull/5292 [xilem#146]: https://github.com/linebender/xilem/pull/146 [vello#496]: https://github.com/linebender/vello/pull/496 +[Vello crate]: https://crates.io/crates/vello From cd59b06ef457f1e10eba1e4fba21f3fd67e15ef7 Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Mon, 4 Mar 2024 09:22:48 -0800 Subject: [PATCH 3/4] Typo fixes and improved scroll link This applies the fixes suggested by Kaur in review. --- content/blog/2024-03-04-tmix-02.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/blog/2024-03-04-tmix-02.md b/content/blog/2024-03-04-tmix-02.md index b69dedb..8cdfeef 100644 --- a/content/blog/2024-03-04-tmix-02.md +++ b/content/blog/2024-03-04-tmix-02.md @@ -5,7 +5,7 @@ date = "2024-03-04 07:34:42" +++ Early this year, we made a decision to use the winit crate for window creation, as opposed to rolling our own. -That work has now landed in main ([xilem#176] was the main PR, with a number of followups.). +That work has now landed in main ([xilem#176] was the main PR, with a number of followups). A major motivation was to enable more platforms, with Android being a major goal. That work is in progress; a major subtask is enumerating the system fonts. As expected, this move has uncovered rough edges in winit and some regressions in behavior. @@ -25,13 +25,13 @@ The work to compute strokes on the GPU using Euler spirals continues, but has no The current state is a draft PR that implements the logic in Rust code, which now needs to be translated to WGSL for GPU evaluation ([vello#496], draft PR). There has been progress at higher levels of Xilem. -Amont other things Nico Burns landed a scroll view implementation ([xilem#146]), and Phillipp Mildenberger has been steadily refining xilem_core, including fine grained tree structure tracking. +Among other things, Nico Burns landed a scroll view implementation ([xilem#155]), and Phillipp Mildenberger has been steadily refining xilem_core, including fine grained tree structure tracking. [Xilem]: https://github.com/linebender/xilem [xilem#176]: https://github.com/linebender/xilem/pull/176 [vello#455]: https://github.com/linebender/vello/pull/455 [vello#459]: https://github.com/linebender/vello/pull/459 [wgpu#5292]: https://github.com/gfx-rs/wgpu/pull/5292 -[xilem#146]: https://github.com/linebender/xilem/pull/146 +[xilem#155]: https://github.com/linebender/xilem/pull/155 [vello#496]: https://github.com/linebender/vello/pull/496 [Vello crate]: https://crates.io/crates/vello From d10b4bfae096c25a147cb84600d070e1c6ac5a29 Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Mon, 4 Mar 2024 14:50:13 -0800 Subject: [PATCH 4/4] Refine xilem_core section Based on suggestion by Philipp in the review comments. --- content/blog/2024-03-04-tmix-02.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/blog/2024-03-04-tmix-02.md b/content/blog/2024-03-04-tmix-02.md index 8cdfeef..e73f0e7 100644 --- a/content/blog/2024-03-04-tmix-02.md +++ b/content/blog/2024-03-04-tmix-02.md @@ -25,7 +25,7 @@ The work to compute strokes on the GPU using Euler spirals continues, but has no The current state is a draft PR that implements the logic in Rust code, which now needs to be translated to WGSL for GPU evaluation ([vello#496], draft PR). There has been progress at higher levels of Xilem. -Among other things, Nico Burns landed a scroll view implementation ([xilem#155]), and Phillipp Mildenberger has been steadily refining xilem_core, including fine grained tree structure tracking. +Among other things, Nico Burns landed a scroll view implementation ([xilem#155]), and Philipp Mildenberger has been steadily refining xilem_core and xilem_web, including fine grained tree structure tracking and minimal/efficient DOM-tree-updates ([xilem#160]). [Xilem]: https://github.com/linebender/xilem [xilem#176]: https://github.com/linebender/xilem/pull/176 @@ -33,5 +33,6 @@ Among other things, Nico Burns landed a scroll view implementation ([xilem#155]) [vello#459]: https://github.com/linebender/vello/pull/459 [wgpu#5292]: https://github.com/gfx-rs/wgpu/pull/5292 [xilem#155]: https://github.com/linebender/xilem/pull/155 +[xilem#160]: https://github.com/linebender/xilem/pull/160 [vello#496]: https://github.com/linebender/vello/pull/496 [Vello crate]: https://crates.io/crates/vello