Cargo Features

[dependencies]
all-is-cubes = { version = "0.8.0", default-features = false, features = ["std", "arbitrary", "save", "rerun", "auto-threads"] }

See src/lib.rs documentation for more details on features.

default = std

The std feature is set by default whenever all-is-cubes is added without default-features = false somewhere in the dependency tree.

std default auto-threads? rerun? save?

Adds std-dependent functionality such as thread safety.

Enables once_cell, sync of yield-progress, std of all-is-cubes-base and arcstr

arbitrary

Adds impl arbitrary::Arbitrary for ...

Enables arbitrary, arbitrary of all-is-cubes-base and arbitrary of euclid and ordered-float

euclid:

mint feature to guarantee that our callers can use mint types libm feature to guarantee compilability and compatibility with no_std

save = std

Adds serde implementations.

Enables flate2, serde of all-is-cubes-base, serde of bitflags, extern_crate_std of bytemuck, serde of ordered-float and base64

used in serialization

and serde

rc feature needed because we are [de]serializing Arcs alloc feature needed for #[serde(flatten)] — https://github.com/serde-rs/serde/issues/1935

Affects handle::ErasedHandle.fix_deserialized

rerun = std

Adds rerun logging support

Enables rerun of all-is-cubes-base and re_log_types ^0.17.0, re_sdk ^0.17.0, and re_types ^0.17.0

re_log_types:

re_sdk is a data-logging and visualization tool; we are currently using it _only_ for development of All is Cubes itself.

Affects all-is-cubes::rerun_glue

auto-threads = std

Adds automatic parallelism to some algorithms. If disabled, std::thread is never used. If enabled, threads may be created and the active rayon thread pool may be used.

Enables rayon