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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! RL environments for the rlevo framework.
//!
//! This crate provides a collection of standard benchmark environments
//! for training and evaluating reinforcement learning agents, including
//! classic control problems, gridworlds, tabular MDPs, physics-based
//! continuous-control tasks, and optimisation benchmark functions.
//!
//! # Module Organization
//!
//! - [`classic`]: Classic control problems (CartPole, MountainCar, Pendulum, Acrobot, TenArmedBandit)
//! - [`landscapes`]: Optimization fitness landscapes (Sphere, Ackley, Rastrigin)
//! - [`grids`]: Gridworld environments inspired by Farama Minigrid
//! - [`toy_text`]: Tabular RL environments (Blackjack, Taxi, CliffWalking, FrozenLake)
//! - [`wrappers`]: Environment wrappers (TimeLimit)
//! - [`render`]: Re-exports of the render surface defined in `rlevo-core`
//! - [`box2d`]: Box2D-style physics environments (BipedalWalker, LunarLander, CarRacing)
//! - [`locomotion`]: MuJoCo-inspired locomotion environments via Rapier3D
//!
//! # Design Principles
//!
//! All environments implement the [`rlevo_core::environment::Environment`] trait.
//! Every environment exposes two fallible operations:
//!
//! - [`reset`](rlevo_core::environment::Environment::reset) — returns an initial
//! [`SnapshotBase`](rlevo_core::environment::SnapshotBase) with
//! [`EpisodeStatus::Running`](rlevo_core::environment::EpisodeStatus::Running).
//! - [`step`](rlevo_core::environment::Environment::step) — applies an action and
//! returns the next snapshot; status transitions to `Terminated` or `Truncated`
//! when the episode ends.
//!
//! Environments may be deterministic or stochastic depending on their configuration.
/// Board-game environments — **stub, planned for v0.2**.
///
/// The submodules compile but do not yet implement the [`rlevo_core::environment::Environment`]
/// trait. They are hidden from the rendered docs until the `Environment` impls land.
/// Internal dead-code and doc-lint warnings are suppressed here because the
/// contained code is scaffolding for the v0.2 implementation.