obel/
lib.rs

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
#![cfg_attr(docsrs, feature(doc_auto_cfg))]

//! [![Obel Logo](https://nita-obel.takulatech.net/assets/bevy_logo_docs.svg)](https://nita-obel.takulatech.net/docs)
//!
//! Obel is an open-source modular game engine built in Rust, with a focus on developer productivity
//! and performance.
//!
//! Check out the [Obel website](https://nita-obel.takulatech.net) for more information, read the
//! [Quick Start Guide](https://nita-obel.takulatech.net/learn/quick-start/introduction) for a step-by-step introduction, and [engage with our
//! community](https://nita-obel.takulatech.net/community/) if you have any questions or ideas!
//!
//! ## Example
//! @TODO
//!
//! Don't let the simplicity of the example above fool you. Obel is a [fully featured game engine](https://nita-obel.takulatech.net)
//! and it gets more powerful every day!
//!
//! ## This Crate
//!
//! The `obel` crate is just a container crate that makes it easier to consume Obel subcrates.
//! The defaults provide a "full" engine experience, but you can easily enable / disable features
//! in your project's `Cargo.toml` to meet your specific needs. See Obel's `Cargo.toml` for a full
//! list of features available.
//!
//! If you prefer, you can also consume the individual obel crates directly.
//! Each module in the root of this crate, except for the prelude, can be found on crates.io
//! with `obe_engine_` appended to the front, e.g. `app` -> [`obe_engine_app`](https://docs.rs/nita-obel/*/obe_engine_app/).
#![doc = include_str!("../docs/cargo_features.md")]
#![doc(
    html_logo_url = "https://nita-obel.takulatech.net/assets/icon.png",
    html_favicon_url = "https://nita-obel.takulatech.net/assets/icon.png"
)]

pub use obel_api::*;

// Wasm does not support dynamic linking.
#[cfg(all(feature = "dynamic_linking", not(target_family = "wasm")))]
#[expect(
    unused_imports,
    clippy::single_component_path_imports,
    reason = "This causes obel to be compiled as a dylib when using dynamic linking, and as such cannot be removed or changed without affecting dynamic linking."
)]
use obel_dylib;