1
1
//! 2d graphics and app framework built atop wgpu.
2

            
3
#![forbid(unsafe_code)]
4
#![warn(
5
    clippy::cargo,
6
    missing_docs,
7
    // clippy::missing_docs_in_private_items,
8
    clippy::pedantic,
9
    future_incompatible,
10
    rust_2018_idioms,
11
)]
12
#![cfg_attr(doc, deny(rustdoc::all))]
13
#![allow(
14
    clippy::missing_errors_doc, // TODO clippy::missing_errors_doc
15
    clippy::missing_panics_doc, // TODO clippy::missing_panics_doc
16
    clippy::option_if_let_else,
17
    clippy::module_name_repetitions,
18
    clippy::cast_possible_truncation,
19
    clippy::cast_precision_loss,
20
    clippy::mut_mut, // false alarm on futures::select!
21
    clippy::multiple_crate_versions, // this is a mess due to winit dependencies and wgpu dependencies not lining up
22
)]
23

            
24
#[cfg(feature = "unstable-apis")]
25
pub mod tilemap;
26
#[cfg(feature = "app")]
27
#[doc(inline)]
28
pub use app;
29
#[doc(inline)]
30
pub use kludgine_core as core;
31

            
32
cfg_if::cfg_if! {
33
    if #[cfg(feature = "app")] {
34
        pub use app::Result as Result;
35
    } else {
36
        pub use kludgine_core::Result as Result;
37
    }
38
}
39

            
40
/// Convenience module that exports the public interface of Kludgine
41
pub mod prelude {
42
    #[cfg(feature = "app")]
43
    pub use super::app::prelude::*;
44
    pub use super::core::prelude::*;
45
    #[cfg(feature = "unstable-apis")]
46
    pub use super::tilemap::{
47
        PersistentMap, PersistentTileMap, PersistentTileProvider, Tile, TileMap, TileProvider,
48
    };
49
}