3 ms·
The old https://webassembly.sh/ https://webassembly.sh/ and the new https://wasmer.sh/ https://wasmer.sh/ came a long way already. All you need is a virtual f
by whytevuhuni 2y ago
The old https://webassembly.sh/ https://webassembly.sh/ and the new https://wasmer.sh/ https://wasmer.sh/ came a long way already.
All you need is a virtual filesystem of some sort, a way to download, a way to upload, an editor, a compiler, and a VT100 JS library. We already have WASI for the rest.
If the JS is too undesired, then perhaps go the old framebuffer graphics mode (e.g. a region of the WASM memory that is interpreted as an ASCII screen, or maybe even as a full bitmap buffer). Then JavaScript side just needs to forward keyboard/mouse into memory and that screen region out of memory.
- Arshia001 2y agoThe framebuffer idea is used in this wasm doom port: https://github.com/diekmann/wasm-fizzbuzz/tree/main/doom https://github.com/diekmann/wasm-fizzbuzz/tree/main/doom WASIX already does all the other stuff you mentioned, including in the browser. The one thing it's missing is GUI, mainly because there's no standard GUI interface in POSIX.