pub mod application;
pub mod engine;
pub mod plugin;
pub mod resource;
pub mod task_pool;
pub mod time;
#[cfg(feature = "assets")]
pub mod plugins;
pub use astrelis_core as core;
pub use astrelis_core::math;
#[cfg(feature = "winit")]
pub use astrelis_winit as winit;
#[cfg(feature = "winit")]
pub use astrelis_winit::{
WindowId,
app::{App, AppCtx, AppFactory, run_app},
event::{Event, EventBatch, HandleStatus},
window::{Window, WindowDescriptor},
};
#[cfg(feature = "assets")]
pub use astrelis_assets as assets;
#[cfg(feature = "render")]
pub use astrelis_render as render;
#[cfg(feature = "text")]
pub use astrelis_text as text;
#[cfg(feature = "input")]
pub use astrelis_input as input;
#[cfg(feature = "ui")]
pub use astrelis_ui as ui;
#[cfg(feature = "egui")]
pub use astrelis_egui as egui;
#[cfg(feature = "audio")]
pub use astrelis_audio as audio;
pub use application::ApplicationBuilder;
pub use engine::{Engine, EngineBuilder, EngineError};
pub use plugin::{FnPlugin, Plugin, PluginGroup};
pub use resource::{Resource, Resources};
pub use task_pool::TaskPool;
pub use time::Time;
#[cfg(feature = "assets")]
pub use plugins::AssetPlugin;
#[cfg(feature = "assets")]
pub use plugins::AsyncRuntimePlugin;
#[cfg(all(feature = "render", feature = "winit"))]
pub use plugins::{RenderContexts, RenderPlugin};
#[cfg(feature = "text")]
pub use plugins::TextPlugin;
#[cfg(feature = "input")]
pub use plugins::InputPlugin;
#[cfg(feature = "assets")]
pub use plugins::TimePlugin;
#[cfg(feature = "assets")]
pub use plugins::{DefaultPlugins, MinimalPlugins};
pub mod prelude {
pub use crate::application::ApplicationBuilder;
pub use crate::engine::{Engine, EngineBuilder, EngineError};
pub use crate::plugin::{FnPlugin, Plugin};
pub use crate::resource::{Resource, Resources};
pub use crate::task_pool::TaskPool;
pub use crate::time::Time;
pub use astrelis_core::math::{Mat4, Vec2, Vec3, Vec4};
#[cfg(feature = "winit")]
pub use astrelis_winit::{
WindowId,
app::{App, AppCtx, run_app},
event::{Event, EventBatch, HandleStatus},
window::{Window, WindowDescriptor},
};
#[cfg(feature = "assets")]
pub use astrelis_assets::{Asset, AssetEvent, AssetLoader, AssetServer, AssetSource, Handle};
#[cfg(feature = "render")]
pub use astrelis_render::{
Color, ComputePassBuilder, Frame, GraphicsContext, RenderPassBuilder, WindowContext,
WindowManager,
};
#[cfg(feature = "text")]
pub use astrelis_text::{FontRenderer, FontSystem, Text, TextAlign};
#[cfg(feature = "assets")]
pub use crate::plugins::{AssetPlugin, AsyncRuntimePlugin, DefaultPlugins, MinimalPlugins};
#[cfg(all(feature = "render", feature = "winit"))]
pub use crate::plugins::{RenderContexts, RenderPlugin};
#[cfg(feature = "input")]
pub use crate::plugins::InputPlugin;
#[cfg(feature = "text")]
pub use crate::plugins::TextPlugin;
#[cfg(feature = "assets")]
pub use crate::plugins::TimePlugin;
}