Cargo Features

[dependencies]
all-is-cubes = { version = "0.10.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 arbitrary? auto-threads? rerun? save?

Adds some trait impls for std types. Adds caching of some calculations. Improves performance under multithreading. Uses std provided floating-point functions instead of libm ones.

Enables std-sync of nosy, std of once_cell, sync of yield-progress, std of all-is-cubes-base, arcstr, and bevy_platform ^0.16.0

arbitrary = std

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

rerun = std

Adds rerun logging support

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

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 light::chart

auto-threads = std

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

Enables rayon, async_executor, multi_threaded and std of bevy_ecs ^0.16.0

_special_testing

Makes certain internal items public. This feature is intended only for use when developing All is Cubes, to compile certain fuzzing, benchmark, and example targets. It is not necessary to enable this feature to run the complete cargo test test suite.

Enables all-is-cubes-base and visibility

Affects chart::generator, space::light