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

API status

Not every public item carries the same stability. Syren groups its surface into tiers by how much notice a change gets.

Stable public API

The types and functions re-exported from the crate root and from the model, agents, environment, messaging, and space modules are the intended public API. These follow the compatibility policy: stable across patch releases, changed only with migration notes across pre-1.0 minor releases.

The guide and the rustdoc reference treat this surface as primary.

The advanced module

The advanced module exposes lower-level building blocks — entity shards, archetypes, chunk borrows, type-erased attributes, and the worker staging primitive. They exist for models and extensions that need to reach beneath the high-level API. They are more likely to change than the stable surface and are documented as such.

GPU API

The GPU types (GpuSystem, GPUPod, register_gpu_component, and the GPU messaging surface) are functional but lower-level, and they depend on wgpu. They are marked separately and may change with less notice than the CPU API, partly because they track an external dependency.

Experimental items

Anything documented as experimental may change or be removed without the usual notice. Where an item is experimental, its rustdoc says so.

Deprecation

Where practical, an item is deprecated for one minor release before removal, so dependent code gets a compiler warning and a migration path before it is removed.