Okay. Time for everyone's favorite type of programming discussion: *Naming*.
So: I am interested in a particular way of using Rust where you have a single programming interface, and when executed in wasm it uses browser APIs and when executed on desktop it uses some native crate. (I care more about saving space on wasm than desktop.)
What general word or name do you think I should use to describe this type of wrapper api, if I start exporting implementations of such interfaces as a crates?
So for example, I have the bytes of a PNG or JPEG file, and I am writing a function that can convert those bytes to RGBA bytes (or rather an Image crate DynamicImage). I intend to put this function in a crate. A second crate that would also make sense would be converting PNG bytes into a WGPU texture (which on web can be done directly).
I could name the second wgpu-load-image, but maybe it would make sense to have the crate name have some word prefix in common with the bytes one.
Separately, this crate exists: https://github.com/orottier/web-audio-api-rs it implements the functionality of WebAudio in a native crate. But it doesn't have the same interface as wasm-bindgen WebAudio. What if I want to write code that can work on native *or* wasm?
When I asked them about this, they concluded the most logical thing would be to create a third crate which exports one interface and reduces to either web-audio-api-rs or wasm-bindgen WebAudio depending on where you run it.
At one time I was thinking that if you could bundle together a *bunch* of crates like this into a Platform– like, wgpu crate, plus that web-audio-api-rs crate, plus a embeddable JavaScript engine to run on desktop, plus some other little bits of glue– you could call it "Neutrino". Because It's like Electron, but very very lightweight, barely there at all really