Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

Syren's minimum supported Rust version (MSRV) is Rust 1.87. Newer toolchains also work. The development toolchain is pinned in rust-toolchain.toml.

Add the dependency

Syren has no default features. Enable the features your model uses:

[dependencies]
syren = { version = "0.6.0", features = ["model", "messaging"] }

Feature selection

Features are additive. Each enables a module and its dependencies.

FeatureEnables
(none)The core ECS: components, queries, systems, and the scheduler.
agentsAgent templates and lifecycle hooks.
environmentTyped, model-wide environment values.
messagingThe four message specialisations.
modelThe ModelBuilder layer. Implies agents and environment.
gpuGPU state mirroring and compute dispatch through wgpu.
messaging_gpuGPU-resident message buffers. Implies messaging and gpu.
profilingTracing spans and Chrome Trace output.
allEverything above.

A model built with ModelBuilder requires model. Add messaging for message passing, and gpu or messaging_gpu for GPU execution.

The feature matrix lists the supported combinations.

Verify the toolchain

cargo build

The gpu feature requires only that the wgpu crate compiles; running a GPU system additionally requires a working graphics adapter. See CPU and GPU state.