Cargo Features

[dependencies]
all-is-cubes-port = { version = "0.9.0", default-features = false, features = ["import", "export", "all-formats", "native", "gltf", "stl", "dot-vox"] }
default = all-formats, export, import

These default features are set whenever all-is-cubes-port is added without default-features = false somewhere in the dependency tree.

import default

Importing all selected formats

export default

Exporting all selected formats

Affects all-is-cubes-port::gltf

all-formats default = dot-vox, gltf, native, stl

Enable all supported formats

native all-formats

Reading and writing native All is Cubes universe files.

Enables serde_json

json is used for native and glTF

and save of all-is-cubes

Non-optional generally required dependencies
need all-is-cubes/std because we have boxed Send futures and errors

gltf all-formats

Writing glTF 2.0 files.

Enables gltf-json

gltf-json often has semver-incompatible changes, so pin it

and image

Used to write glTF textures

and all-is-cubes-mesh and all-is-cubes-render

all-is-cubes-mesh:

Dependencies related to formats

and base64 and bytemuck

base64:

glTF related dependencies

and rectangle-pack and serde_json

rectangle-pack:

Used to pack glTF textures
std feature enables use of HashMap instead of BTreeMap

Affects all-is-cubes-port::gltf

stl all-formats

Writing STL (triangle mesh) files.

Enables all-is-cubes-mesh, all-is-cubes-render, and stl_io

dot-vox all-formats

Reading and writing MagicaVoxel .vox files.

Enables all-is-cubes-mesh, all-is-cubes-render, and dot_vox