Skip to main content

bevy_app/
lib.rs

1#![cfg_attr(
2    any(docsrs, docsrs_dep),
3    expect(
4        internal_features,
5        reason = "rustdoc_internals is needed for fake_variadic"
6    )
7)]
8#![cfg_attr(any(docsrs, docsrs_dep), feature(rustdoc_internals))]
9#![cfg_attr(docsrs, feature(doc_cfg))]
10#![forbid(unsafe_code)]
11#![doc(
12    html_logo_url = "https://bevy.org/assets/icon.png",
13    html_favicon_url = "https://bevy.org/assets/icon.png"
14)]
15#![no_std]
16
17//! This crate is about everything concerning the highest-level, application layer of a Bevy app.
18
19#[cfg(feature = "std")]
20extern crate std;
21
22extern crate alloc;
23
24// Required to make proc macros work in bevy itself.
25extern crate self as bevy_app;
26
27mod app;
28mod hierarchy;
29mod main_schedule;
30mod panic_handler;
31mod plugin;
32mod plugin_group;
33mod propagate;
34mod schedule_runner;
35mod sub_app;
36mod task_pool_plugin;
37#[cfg(all(any(all(unix, not(target_os = "horizon")), windows), feature = "std"))]
38mod terminal_ctrl_c_handler;
39
40#[cfg(feature = "hotpatching")]
41pub mod hotpatch;
42
43pub use app::*;
44pub use hierarchy::*;
45pub use main_schedule::*;
46pub use panic_handler::*;
47pub use plugin::*;
48pub use plugin_group::*;
49pub use propagate::*;
50pub use schedule_runner::*;
51pub use sub_app::*;
52pub use task_pool_plugin::*;
53#[cfg(all(any(all(unix, not(target_os = "horizon")), windows), feature = "std"))]
54pub use terminal_ctrl_c_handler::*;
55
56/// The app prelude.
57///
58/// This includes the most common types in this crate, re-exported for your convenience.
59pub mod prelude {
60    #[doc(hidden)]
61    pub use crate::{
62        app::{App, AppExit},
63        main_schedule::{
64            First, FixedFirst, FixedLast, FixedPostUpdate, FixedPreUpdate, FixedUpdate, Last, Main,
65            PostStartup, PostUpdate, PreStartup, PreUpdate, RunFixedMainLoop,
66            RunFixedMainLoopSystems, SpawnScene, Startup, Update,
67        },
68        sub_app::SubApp,
69        Plugin, PluginGroup, TaskPoolOptions, TaskPoolPlugin,
70    };
71}