aetheris-client-wasm
The WASM browser client runtime for the Aetheris multiplayer platform.
Overview
aetheris-client-wasm is a WebAssembly library that runs entirely in the browser, powering the Aetheris game client. It uses Web Workers for multi-threaded execution, WebGPU for hardware-accelerated rendering, and WebTransport for low-latency real-time networking.
Architecture Highlights
- Multi-threaded Workers: Game logic, rendering, and networking each run on dedicated Web Workers via
wasm-bindgenthread support (SharedArrayBuffer). - WebGPU Renderer: Hardware-accelerated 2D/3D rendering via
wgpuwith a custom star-field, debug overlay, and theme system. - WebTransport Networking: Low-latency UDP-like datagrams over HTTP/3 (
WebTransportBridge) connected to the Aetheris Engine. - gRPC Auth: WASM-compatible authentication via
tonic-web-wasm-client(notonic::transportdependency). - Zero-Copy State Sync: Shared world state between workers via
SharedArrayBufferandMutex-guarded queues. - Observability: Structured tracing via
tracing-wasmand in-browser metrics flushed over HTTP.
Usage
Build the WASM package:
Run the playground:
For more details, see the Client Design Document.
License: MIT / Apache-2.0