gasm_host/lib.rs
1//! Native host for [gasm](https://gasm.emdzej.pl) games.
2//!
3//! Load a guest `.wasm` with [`host::Game::load`], drive it with
4//! [`host::Game::frame`] at the guest's frame rate, and plug in the pieces you
5//! need: [`assets::Assets`] (memory, file-backed, folders), [`gfx::Gfx`] (wgpu: window, offscreen or null), [`audio::AudioSink`]
6//! (cpal), [`net::Net`] (WebSocket, `ws://`/`wss://`), [`storage::Storage`]
7//! (per-game key/value). The `gasm-run` binary in this crate is a complete
8//! runner built from these parts; `gasm-relay` is the room relay.
9//!
10//! ABI: <https://gasm.emdzej.pl/docs/abi> (machine-readable: `spec/abi.json`).
11
12pub mod assets;
13pub mod audio;
14pub mod gfx;
15pub mod host;
16pub mod keymap;
17pub mod net;
18pub mod storage;