Skip to main content

botstadia_interface/
lib.rs

1//! BotStadia's shared contracts.
2//!
3//! - [`declaration`]: what an arena says about itself, and its checks
4//! - [`payload`]: the per-turn input and output encoding, and the host's
5//!   validity rule for an output
6//! - [`archive`]: the replay archive the player reads
7//! - [`metrics`]: the metrics file the site reads
8//! - [`copy`]: an arena's `arena.toml`, its site copy
9//! - [`player`]: the messages between the site and an arena's player
10//!
11//! The WIT worlds ship in `wit/`: `botstadia:arena` for arenas' engines and
12//! `botstadia:agent` for bots. Features generate bindings for them:
13//! `arena-guest`, `agent-guest` and `host`.
14
15pub mod archive;
16pub mod copy;
17pub mod declaration;
18pub mod metrics;
19pub mod payload;
20pub mod player;
21
22#[cfg(any(feature = "arena-guest", feature = "agent-guest", feature = "host"))]
23pub mod bindings;