The native Emscripten target and the Rust binding build and test in browsers for both WebGL and WebGPU. The target installs archives and link metadata for a final emcc link, which the Rust browser test harness consumes. This issue tracks the remaining bindings and records their current toolchain boundaries.
Status values:
- Tested — CI runs this binding's own suite in a browser.
- Not started — no Emscripten coverage yet, and the toolchain allows it.
- Blocked — an upstream toolchain gap has to close first.
| Binding |
Status |
Work required |
| Rust |
Tested |
None. Keep the WebGL and WebGPU browser suites. |
| C# |
Not started |
Large: add a browser WebAssembly target, pass the native archives through NativeFileReference, match the repository Emscripten version and pthread flags, adapt callbacks and native loading, and add browser tests. |
| Zig |
Not started |
Large: consume the installed archives and link metadata, add Emscripten-specific final-link logic, and run the existing WebGL-aware tests in a browser. |
| Dart |
Blocked |
The Dart Web toolchain cannot compile this binding's dart:ffi API. Support requires a separate JavaScript or WebAssembly API. |
| Go |
Blocked |
Go's js/wasm port has no cgo ABI for Emscripten libraries. Support requires upstream cgo WebAssembly work or a separate JavaScript API. |
| Kotlin |
Blocked |
Kotlin/Wasm cannot consume Emscripten C ABI archives through Kotlin/Native cinterop. Support requires a JavaScript or WebAssembly API. |
| Python |
Blocked |
The native library requires pthreads, while the PyEmscripten wheel ABI does not permit -pthread. Support requires a threaded Python/Emscripten host and extension ABI. |
| Swift |
Blocked |
The official Swift WebAssembly SDK targets WASI rather than Emscripten. Support requires an Emscripten-compatible Swift target or a different native platform target. |
Keep Blocked rows unsupported until their upstream runtime constraints change.
The native Emscripten target and the Rust binding build and test in browsers for both WebGL and WebGPU. The target installs archives and link metadata for a final
emcclink, which the Rust browser test harness consumes. This issue tracks the remaining bindings and records their current toolchain boundaries.Status values:
NativeFileReference, match the repository Emscripten version and pthread flags, adapt callbacks and native loading, and add browser tests.dart:ffiAPI. Support requires a separate JavaScript or WebAssembly API.js/wasmport has no cgo ABI for Emscripten libraries. Support requires upstream cgo WebAssembly work or a separate JavaScript API.-pthread. Support requires a threaded Python/Emscripten host and extension ABI.Keep Blocked rows unsupported until their upstream runtime constraints change.