use bevy::prelude::Component;
pub use conway_state::*;
pub use conway_state_3d::*;
pub use cyclic_color_state::*;
pub use immigration_state::*;
pub use rainbow_state::*;
pub use wire_world_cell_state::*;
mod conway_state;
mod conway_state_3d;
mod cyclic_color_state;
mod immigration_state;
mod rainbow_state;
mod wire_world_cell_state;
pub trait CellState: Component + Sized + Clone + PartialEq {
#[must_use]
fn new_cell_state<'a>(&self, neighbor_cells: impl Iterator<Item = &'a Self>) -> Self;
#[cfg(feature = "auto-coloring")]
#[must_use]
fn color(&self) -> Option<bevy::prelude::Color>;
}