Cargo Features

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

[lints]
workspace = true

default = required-features, std

These default features are set whenever parry2d-f64 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 parry2d-f64::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 = dim2, f64
dim2 required-features

Affects parry2d-f64::math, clip_segment_segment::clip_segment_segment_with_normal, contact_manifold::ContactManifold.points, contact_manifolds_capsule_capsule::contact_manifold_capsule_capsule, epa::epa2, nonlinear_rigid_motion::NonlinearRigidMotion.angvel, sat_cuboid_segment::segment_cuboid_find_local_separating_normal_oneway, sat_cuboid_triangle::triangle_support_map_find_local_separating_normal_oneway, sat_cuboid_triangle::triangle_cuboid_find_local_separating_normal_oneway, shape_cast_heightfield_shape::cast_shapes_heightfield_shape, convex_hull2::convex_hull2, utils::push_xy_arc, ccw_face_normal::ccw_face_normal, utils::point_in_triangle, shape::RoundConvexPolygon

f64 required-features
serde-serialize = serde

Enables serde-serialize of nalgebra, serde of arrayvec and bitflags

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

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

ena std