melodium-engine 0.10.0

Mélodium core engine and executor implementation
Documentation
#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("../README.md")]

#[macro_use]
extern crate lazy_static;

mod building;
pub mod debug;
pub mod descriptor;
pub mod design;
pub mod designer;
pub mod engine;
pub mod error;
pub(crate) mod ids;
mod transmission;
mod world;

pub use engine::Engine;
pub use error::{LogicError, LogicErrors, LogicResult};
use melodium_common::{descriptor::Collection, executive::Level};
use std::sync::Arc;

pub fn new_engine(
    collection: Arc<Collection>,
    log_level: Level,
    debug_level: crate::debug::DebugLevel,
) -> Arc<dyn Engine> {
    world::World::new(collection, log_level, debug_level)
}

pub mod build {
    pub use crate::building::{BuildId, ContextualEnvironment, GenesisEnvironment, HostTreatment};
}

pub use ids::{execution_group_id, execution_run_id};

pub const VERSION: &'static str = env!("CARGO_PKG_VERSION");