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
//! ```text
//! This crate contains two applications:
//!
//!      _________________
//!     |  main.js [0]    |
//!     |-----------------|
//!     | websockets      |
//!     | user input      |
//!     |_________________|
//!         |           A
//!         |           |
//!         | Message   | Post Message     [offscreen canvas] [7]
//!         |  Queue[4] | [5]                      A
//!         V           |                          | draw()
//!      _________________                  _________________
//!     |  logic [1]      |                |  graphics [3]   |
//!     |---------------- | "double buffer"|-----------------|
//!     | input handling  |--------------->| manage textures |
//!     | game engine     |     [6]        | call webgl      |
//!     |_________________|                |_________________|
//!
//!
//! logic and graphics communicate via the shared array buffer
//! for more information see `communication` [4],[5],[6]
//!
//! Memory layout
//! our Project uses a custom memory layout. see `mem`
//!```

#![feature(allocator_api)]
#![feature(stdsimd)]
#![feature(arbitrary_enum_discriminant)]
#![feature(panic_info_message)]
#![feature(const_in_array_repeat_expressions)]

pub mod communication;
pub mod entries;
pub mod error;
pub mod graphics;
pub mod logic;
pub mod mem;
pub mod wasm_log;
#[doc(inline)]
pub use error::ClientError;