One level down, and underneath Bevy, there's WGPU, which was on HN a few days ago. That's an all-Rust layer of middleware which connects to Vulkan, and makes Apple's Metal and Microsoft's Direct-X look a lot like Vulkan. So you get cross-platform graphics. All three APIs are really very similar; the differences exist mostly for "product differentiation". WGPU also supports WebGL, but not consoles or phones. Having a common interface for all those targets is a big win.
Now, that's not a game engine. It's just a graphics API, and a low level one. One level up from that is Rend3, which handles GPU memory allocation and queuing for WGPU. At this level, you put in meshes, textures, material parameters, and transforms. Images come out. No rigged mesh yet, so no characters.
I've been using Rend3/WGPU, and here's some early video.[1] This is a small area of Second Life. I'm working on the issues of handling very complex user-created content efficiently. Most games are constantly reusing the same textures and objects, but Second Life user created content is not like that.
Frankly, it's to soon to be using these libraries for a project with a deadline.
[1] https://vimeo.com/553030168