1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![doc = include_str!("../README.md")]
3
4#[macro_use]
5extern crate lazy_static;
6
7mod building;
8pub mod debug;
9pub mod descriptor;
10pub mod design;
11pub mod designer;
12pub mod engine;
13pub mod error;
14pub(crate) mod ids;
15mod transmission;
16mod world;
17
18pub use engine::Engine;
19pub use error::{LogicError, LogicErrors, LogicResult};
20use melodium_common::{descriptor::Collection, executive::Level};
21use std::sync::Arc;
22
23pub fn new_engine(
24 collection: Arc<Collection>,
25 log_level: Level,
26 debug_level: crate::debug::DebugLevel,
27) -> Arc<dyn Engine> {
28 world::World::new(collection, log_level, debug_level)
29}
30
31pub mod build {
32 pub use crate::building::{BuildId, ContextualEnvironment, GenesisEnvironment, HostTreatment};
33}
34
35pub use ids::{execution_group_id, execution_run_id};
36
37pub const VERSION: &'static str = env!("CARGO_PKG_VERSION");