Skip to main content

bubba_core/
lib.rs

1//! # Bubba Core
2//!
3//! The core runtime for the Bubba mobile framework. Handles UI rendering,
4//! navigation, event dispatch, lifecycle management, and async task scheduling.
5//!
6//! You typically don't import `bubba-core` directly — use `bubba::prelude::*` instead.
7
8#![warn(missing_docs)]
9#![allow(clippy::module_inception)]
10
11pub mod build_info;
12pub mod css;
13pub mod events;
14pub mod navigation;
15pub mod runtime;
16pub mod ui;
17
18// Re-export the view! macro from bubba-macros so users only need bubba::prelude::*
19pub use bubba_macros::view;
20
21/// The Bubba prelude. Import this in every screen file:
22/// ```rust,ignore
23/// use bubba::prelude::*;
24/// ```
25pub mod prelude {
26    pub use crate::css::StyleSheet;
27    pub use crate::events::{EventHandler, BubbaEvent};
28    pub use crate::navigation::{navigate, NavigationStack};
29    pub use crate::runtime::{alert, log_msg as log, spawn, Runtime};
30    pub use crate::ui::{Element, Screen};
31    pub use bubba_macros::view;
32}