atmosim 0.1.0

A library for calculating most efficient gas bombs in Space Station 14 game
Documentation
#![cfg_attr(not(feature = "std"), no_std)]

pub mod config;
pub mod effects;
pub mod gases;
pub mod maxcap;
pub mod reactions;

#[cfg(feature = "optimizer")]
pub mod optimizer;

use crate::config::{GameConfig, Inverses};

#[derive(Debug)]
/// The atmosim engine, stores all the global variables, reaction logic,
/// but explicitly doesn't own the current simulation state (gas mixtures)
pub struct Atmosim {
    pub(crate) game: GameConfig,
    pub(crate) inverses: Inverses,
}

impl Default for Atmosim {
    fn default() -> Self {
        Self::new(GameConfig::default())
    }
}

pub mod prelude {
    pub use crate::{
        Atmosim,
        config::GameConfig,
        gases::{Gas, GasMixture, Moles, gases},
        maxcap::{GasContainer, GasContainerPrototype, GasContainerState},
        reactions::GasReactionPrototype,
    };
}