i built an entire x86 CPU emulator in CSS (no javascript)
you can write programs in C, compile them to x86 machine code with GCC, and run them inside CSS
Software engineer at @cosmonic
wasi-gfx.
Proud kidney donor, stem-cell donor, liver donor, T-cell donor.
i built an entire x86 CPU emulator in CSS (no javascript)
you can write programs in C, compile them to x86 machine code with GCC, and run them inside CSS
WebAssembly is a second-class language on the web, but how can we make it first-class? WebAssembly Components could be the answer…
https://hacks.mozilla.org/2026/02/making-webassembly-a-first-class-language-on-the-web/

This post is an expanded version of a presentation I gave at the recent WebAssembly CG meeting in Munich. WebAssembly has come a long way since its first release in 2017. The 1.0 version of WebAssembly was already a great fit for low-level languages like C and C++, and immediately enabled many new kinds of applications to efficiently target the web.
🦀 I've improved the implementation behind all the string formatting macros in Rust: println!(), panic!(), format!(), write!(), log::info!(), and so on. (That is, everything based on format_args!().) They will compile a bit faster, use a bit less memory while compiling, result in smaller binaries, and produce more efficient code! 🎉
'Hello world' compiles 3% faster and a few bigger projects like Ripgrep and Cargo compile 1.5% to 2% faster. And those binaries are roughly 2% smaller. 🎊
This change will be available in Rust Nightly tomorrow, and should ship as part of Rust 1.93.0 in January.
10 Years of Wasm
Really great read!
https://bytecodealliance.org/articles/ten-years-of-webassembly-a-retrospective
@sylefeb I also looked at what Dawn does. They just call GetMappedRange inside getConstMappedRange
@sylefeb thanks for the additional information! I finally had a chance to look at it.
After looking at the docs, I don't think that only wgpuBufferGetConstMappedRange should return the data. There's nothing indicating that in the headers

webgpu.h - C version of the JS API, for both native and Wasm. A multi-vendor standard between Dawn/Emdawnwebgpu and wgpu-native. Designed primarily for binding into higher-level languages. - webgpu...
@sylefeb I don't see that in the link you provided.
If that's the expected behavior, I gotta fix that in the wasi:webgpu implementation of webgpu-headers