1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//! Native host for [gasm](https://gasm.emdzej.pl) games.
//!
//! Load a guest `.wasm` with [`host::Game::load`], drive it with
//! [`host::Game::frame`] at the guest's frame rate, and plug in the pieces you
//! need: [`assets::Assets`] (memory, file-backed, folders), [`gfx::Gfx`] (wgpu:
//! window, offscreen or null), [`audio::AudioOut`], [`net::Net`] (WebSocket,
//! `ws://`/`wss://`), [`storage::Storage`] (per-game key/value).
//!
//! Complete runners built from these parts: [`headless::run`] (reproducible
//! runs with hashes) and, with the `window` feature (default), `window::run`
//! (winit window, cpal audio, gilrs gamepads, keyboard layouts). The `gasm-run`
//! binary is their command line.
//!
//! ABI: <https://gasm.emdzej.pl/docs/abi> (machine-readable: `spec/abi.json`).