Cargo Features

[dependencies]
parry3d = { version = "0.17.4", default-features = false, features = ["std", "alloc", "required-features", "dim3", "f32", "serde-serialize", "rkyv-serialize", "bytemuck-serialize", "simd-stable", "simd-nightly", "enhanced-determinism", "parallel", "wavefront", "improved_fixed_point_support", "simd-is-enabled", "cust_core"] }

[lints]
workspace = true

default = required-features, std

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

std default = ena, rustc-hash, slab, spade, thiserror

Enables std of arrayvec, nalgebra, and simba

Affects parry3d::transformation, partitioning::SimdQbvh, query::epa, query::visitors, query_dispatcher::PersistentQueryDispatcher, composite_shape::SimdCompositeShape, composite_shape::TypedSimdCompositeShape, shape::composite_shape, shape::Shape.clone_box, shape::Shape.clone_dyn, shape::Shape.scale_dyn, shape::Shape.as_composite_shape, utils::hashmap, visitor::ParallelSimdVisitor, visitor::ParallelSimdSimultaneousVisitor, shape::RoundConvexPolyhedron, shape::RoundConvexPolygon

alloc
required-features default = dim3, f32
dim3 required-features

Affects aabb_utils::support_map_aabb, parry3d::math, mass_properties::MassProperties.principal_inertia_local_frame, contact_manifold::ContactManifold.points, contact_manifolds_capsule_capsule::contact_manifold_capsule_capsule, epa::epa3, nonlinear_rigid_motion::NonlinearRigidMotion.angvel, ray_triangle::local_ray_intersection_with_triangle, sat_cuboid_cuboid::cuboid_cuboid_compute_separation_wrt_local_line, sat_cuboid_cuboid::cuboid_cuboid_find_local_separating_edge_twoway, sat_cuboid_segment::cuboid_segment_find_local_separating_edge_twoway, sat_cuboid_support_map::cuboid_support_map_compute_separation_wrt_local_line, sat_cuboid_support_map::cuboid_support_map_find_local_separating_edge_twoway, sat_cuboid_triangle::cuboid_triangle_find_local_separating_edge_twoway, sat_cuboid_triangle::triangle_cuboid_find_local_separating_normal_oneway, shape_cast_heightfield_shape::cast_shapes_heightfield_shape, shape::RoundCylinder, shape::RoundCone, trimesh::TriMeshPseudoNormals, convex_hull_utils::indexed_support_point_nth

f32 required-features
serde-serialize = serde

Enables serde of bitflags, serde-serialize of nalgebra

Affects hashmap::serialize_hashmap_capacity, hashmap::deserialize_hashmap_capacity

rkyv-serialize

Enables rkyv-serialize of nalgebra, validation of rkyv ^0.7.41, rkyv-serialize of simba

bytemuck-serialize = bytemuck

Enables convert-bytemuck of nalgebra

simd-stable = simd-is-enabled

Enables wide of simba

simd-nightly = simd-is-enabled

Enables portable_simd of simba

enhanced-determinism = indexmap

Enables libm_force of simba

Affects hashmap::FxHashMap32

parallel = rayon

Affects visitor::ParallelSimdVisitor, visitor::ParallelSimdSimultaneousVisitor

wavefront = obj

Affects transformation::wavefront

improved_fixed_point_support
simd-is-enabled simd-nightly? simd-stable?

Do not enable this feature directly. It is automatically enabled with the "simd-stable" or "simd-nightly" feature.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

slab std
serde serde-serialize?
rkyv rkyv-serialize?

Enables rkyv ^0.7.41

indexmap enhanced-determinism?
rustc-hash std
cust_core implicit feature

Enables cust_core

cust_core:

Core library for cust that can be shared across CPU and GPU

spade std

Enables spade

Make this optional?

rayon parallel?
bytemuck bytemuck-serialize?
thiserror std

Enables thiserror ^1

obj wavefront?
ena std