## Motivation
I :heart: Zed! It's lightning fast and has great UX. I want it to run as
well on all major platforms. I'm currently using Linux most actively.
[Blade](https://github.com/kvark/blade) is a good candidate for
providing GPU access: it supports Vulkan, Metal, and GLES/WebGL. Its
abstraction is extremely thin, while having one of the nicest GPU APIs.
Codebase is also tiny. Checkout [the meetup
recording](https://www.youtube.com/watch?v=63dnzjw4azI&t=623s) from a
year ago.
I believe these projects make a good match :rocket: !
### Why this is a bad idea
If Zed team wants to use off-the-shelf components from Rust ecosystem,
then Blade is certainly at disadvantage here, since it's not widely
used. It would rely on Zed team adding necessary features in a branch,
then maybe upstreaming some of them. That is to say, it's unclear if
this can be avoided with more popular alternatives - being flexible with
any local changes is a good ability.
### Why it's not too bad
Blade uses [WGSL](https://www.w3.org/TR/WGSL) shaders, similar to `wgpu`
and `arcana`, but without the binding decorations. So this aspect of the
product is nicely portable.
## Progress
- [ ] Platforms
- [x] X11 (via xcb)
- [ ] input handling
- [ ] get proper content size
- [ ] Windows
- [ ] Replace the existing Metal backend
- [ ] Text System
- [ ] shaping
- [ ] glyph rasterization
- [x] Texture atlas
- [ ] Rendering
- [x] basic primitives
- [x] path rendering
- [x] sprite rendering
- [ ] media surfaces
- [ ] CI
## Current status
Zed starts up but crashes on text-system related checks.

5ded86543bMikayla Maki committed on 2/7/2024, 8:40:22 PM· committed by GitHubparents6edeea73a53db6