pub mod engine;
pub mod plugin;
pub mod resource;
#[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::{
app::{run_app, App, AppCtx, AppFactory},
event::{Event, EventBatch, HandleStatus},
window::{Window, WindowDescriptor},
WindowId,
};
#[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 engine::{Engine, EngineBuilder};
pub use plugin::{Plugin, FnPlugin, PluginGroup};
pub use resource::{Resource, Resources};
#[cfg(feature = "assets")]
pub use plugins::AssetPlugin;
#[cfg(all(feature = "render", feature = "winit"))]
pub use plugins::{RenderPlugin, RenderContexts};
#[cfg(feature = "text")]
pub use plugins::TextPlugin;
#[cfg(feature = "input")]
pub use plugins::InputPlugin;
#[cfg(feature = "assets")]
pub use plugins::{DefaultPlugins, MinimalPlugins};
pub mod prelude {
pub use crate::engine::{Engine, EngineBuilder};
pub use crate::plugin::{Plugin, FnPlugin};
pub use crate::resource::{Resource, Resources};
pub use astrelis_core::math::{Mat4, Vec2, Vec3, Vec4};
#[cfg(feature = "winit")]
pub use astrelis_winit::{
app::{run_app, App, AppCtx},
event::{Event, EventBatch, HandleStatus},
window::{Window, WindowDescriptor},
WindowId,
};
#[cfg(feature = "assets")]
pub use astrelis_assets::{Asset, AssetEvent, AssetLoader, AssetServer, AssetSource, Handle};
#[cfg(feature = "render")]
pub use astrelis_render::{
Color, ComputePassBuilder, FrameContext, GraphicsContext, RenderPassBuilder, WindowContext,
};
#[cfg(feature = "text")]
pub use astrelis_text::{FontRenderer, FontSystem, Text, TextAlign};
#[cfg(feature = "assets")]
pub use crate::plugins::{AssetPlugin, DefaultPlugins, MinimalPlugins};
#[cfg(all(feature = "render", feature = "winit"))]
pub use crate::plugins::{RenderPlugin, RenderContexts};
#[cfg(feature = "input")]
pub use crate::plugins::InputPlugin;
#[cfg(feature = "text")]
pub use crate::plugins::TextPlugin;
}