Skip to main content

vifu_runtime/
lib.rs

1//! Small, stateful runtime primitives for embedding Vifu in Rust applications.
2//!
3//! Add application behavior as Bevy plugins, dispatch [`RuntimeCommand`] values,
4//! and let the host execute the resulting effects.
5
6mod runtime;
7
8pub use runtime::{
9    EffectRequest, EffectRequestQueue, EffectResult, EffectResultQueue, HeadlessRuntime,
10    RuntimeAdvance, RuntimeCommand, RuntimeCommandQueue, RuntimeEvent, RuntimeEventQueue,
11    RuntimeSchedule, RuntimeSnapshot, RuntimeState, VifuRuntimePlugin,
12};
13
14pub mod prelude {
15    //! Common imports for application runtime plugins.
16
17    pub use bevy_app::{App, Plugin};
18    pub use bevy_ecs::prelude::*;
19    pub use serde_json::{json, Value};
20
21    pub use crate::{
22        EffectRequest, EffectRequestQueue, EffectResult, EffectResultQueue, HeadlessRuntime,
23        RuntimeAdvance, RuntimeCommand, RuntimeCommandQueue, RuntimeEvent, RuntimeEventQueue,
24        RuntimeSchedule, RuntimeSnapshot, RuntimeState, VifuRuntimePlugin,
25    };
26}