beet_flow

Crates.iobeet_flow
lib.rsbeet_flow
version0.0.6
created_at2024-07-27 05:30:13.14425+00
updated_at2025-07-25 22:53:25.11468+00
descriptionAn ECS control flow library
homepagehttps://beetstack.dev
repositoryhttps://github.com/mrchantey/beet
max_upload_size
id1317077
size239,140
Pete Hayman (mrchantey)

documentation

https://docs.rs/beet

README

beet_flow

Beet Flow is an ECS control flow library, built with Bevy Observers. Being ECS first gives Beet a high level of flexibility and modularity.

Currently implemented paradigms:

Hello World

A demonstration of a Sequence control flow common in behavior trees

Using BeetDebugPlugin will log the name of each action as it is triggered.

use bevy::prelude::*;
use beet_flow::prelude::*;

let mut app = App::new();
app
	.add_plugins((
		BeetFlowPlugin::default(),
		BeetDebugPlugin::default()
	))
	.world_mut()
  .spawn((
		Name::new("My Behavior"), 
		Sequence
	))
		.with_child((
			Name::new("Hello"),
			ReturnWith(RunResult::Success),
		))
		.with_child((
			Name::new("World"),
			ReturnWith(RunResult::Success),
		))
		.trigger(OnRun::local());
app.world_mut().flush();

TODO

  • When we get OnMutate observers, they should probably replace most OnInsert observers we're using
Commit count: 1391

cargo fmt