RustConf 2016 - A Modern Editor Built in Rust by Raph Levien
This talk will present XIeditor, a new project to build a high-performance text editor primarily in Rust. In addition to a deep dive into technical details, the talk will touch on aspects of building polished GUI apps and running a community-focused open source project.
Player unavailable or embedding blocked? Use the YouTube link above.
Raph Levien -- This talk presents new work on high performance vector path and text rendering, to make it not only fast but easier to integrate with other code. Multiple modes are supported, including CPU, GPU, and hybrid. At the heart is a new efficient representation of rendered paths: sparse strips.
Xilem is a new UI toolkit designed for high performance and idiomatic expression of UI and app logic, suitable for both desktop and mobile. Xilem is built in a layered architecture. At the top is a reactive layer where views are simple statically typed Rust structs (though type erasure is possible), and no macros are needed. The widget layer is evolved from Druid. At the infrastructure layer is Vello, a 2D rendering engine using GPU compute shaders, specially tuned for dynamic vector graphics content. The text stack is also tuned for performance, including supporting animation of variable font parameters. Accessibility is a primary goal, and integration with AccessKit is baked in from the start. Another goal is interop with other projects in the Rust ecosystem, including wgpu, and providing a clean abstraction layer for widgets. It is work in progress, with a strong open source community driving toward ambitious goals.
Slides: https://docs.google.com/presentation/d/1355q8bpSUUCLDNy-YJ1QbaeBBG3px7Bv6YirkLXHIFw/edit#slide=id.p
Follow Raph on:
mastodon: https://mastodon.online/@raph
github: https://github.com/raphlinus
This talk was given at RustNL 2024, in Delft, The Netherlands.
Playlist of other talks from RustNL 2024: https://www.youtube.com/playlist?list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7
Want to come to RustWeek 2025 in-person? go to https://2025.rustnl.org
The Vello project aims to provide an extremely high performance 2D rendering engine, written in Rust, implemented as a sophisticated pipeline of compute shaders, and using ecosystem crates like WGPU. The design is well tuned to Rust, especially allowing multithreaded generation of scene graphs.