have you tried denog (fork of deno which uses winit for Windowing and also has WebGPU support)? https://github.com/denogdev/denog
As for deno proper, according to this thread, it looks like one of the Deno maintainers has been working on Windowing support, also using winit (same as denog linked above) - https://github.com/gfx-rs/wgpu/pull/3265#issuecomment-140065...
The fork is already ~1700 commits out of date with the original. How often would they sync, etc.?
I just "worry" (in an unsolicited advice fashion might I add) is there a better alternative to maintain this longterm
Offtopic: Does anybody know if the WebAssembly runtime inside deno (which is actually the runtime inside v8) is exposed by any of the deno crates? A cursory search seems to indicate that it isn't. You can access it from `deno_core` through javascript, of course.
and use `deno compile` to ship it as a self contained binary
This would also be an opportunity to build better cross-platform APIs than what's available in browsers (e.g. WebAudio, fullscreen, pointer lock, text input (input in general), networking, ... are all a royal PITA on the web - basically any web API that isn't WebGL or WebGPU is mostly broken or half-assed).
So lets call it a game engine using JavaScript, instead of the usual ones.
It's nothing groundbreaking. It would just be a nice and convenient, is all.
HTML+CSS would be left out entirely.
Chrome's implementation (C++): https://dawn.googlesource.com/dawn
Firefox's implementation (Rust): https://github.com/gfx-rs/wgpu/
I'm very confused because every comment you have posted in this reply chain makes no sense in the context of the actual blog.
The browser gives you a lot of valuable functionality.
Rendering an UI that even remotely looks "native" is harder with HTML+CSS than a handful of straightforward rendering primitives which can be implemented on top of WebGPU.
High quality text rendering is a bit non-trivial of course, but that's also only an issue if you want to do a native-looking UI (but mostly irrelevant for games).