rs-opw-kinematics 1.8.3

Inverse and forward kinematics for 6 axis robots with a parallel base and spherical wrist.
Documentation
[package]
name = "rs-opw-kinematics"
version = "1.8.3"
autoexamples = true
edition = "2021"
authors = ["Bourumir Wyngs <bourumir.wyngs [at] gmail.com>"]
description = "Inverse and forward kinematics for 6 axis robots with a parallel base and spherical wrist."
keywords = ["robotics", "kinematics", "path-planning", "collisions", "opw"]
categories = ["science::robotics", "algorithms"]

license = "BSD-3-Clause"
repository = "https://github.com/bourumir-wyngs/rs-opw-kinematics"
readme = "README.md"

[badges]
maintenance = { status = "actively-developed" } 

[dependencies]
nalgebra = "0.33"
rand = "0.8" # Now is needed for path planner


# Optional dependencies:
# - yaml-rust2: For reading YAML files.
# - sxd-document: For reading URDF/XML files
# - regex: For regex matching in file parsing.
# - clap: For command-line argument parsing by file processor.
yaml-rust2 = { version = "0.9", optional = true }
sxd-document = { version = "0.3", optional = true }
regex = { version = "1.10", optional = true }
clap = { version = "4.5", features = ["derive"], optional = true }

# Needed for collision
parry3d = { version = "0.17", optional = true }
# Palellization of collision
rayon = { version = "1.10", optional = true }

# For loading meshes, needed for collision and visualization
ply-rs-bw = { version = "2.0", optional = true } # patched ply-rs
stl_io = { version = "0.8", optional = true }

# Needed for visualization. Only relevant packages are included.
bevy = { version = "0.12", default-features = false, features = [
    "animation", "bevy_scene", "bevy_winit",
    "bevy_pbr", "bevy_render", "bevy_text", "bevy_ui", "multi-threaded", "hdr",
    "x11", "wayland", "tonemapping_luts", "default_font",
], optional = true }
bevy_egui = { version = "0.24", optional = true }

# Needed for stroke planning
bitflags = "2.6.0"

# Copyright 2017 Takashi Ogura Apache 2 license. This is now integrated in the code (src/path_plan/rrt_to.rs)
# as we needed changes there. Dependencies for this code:
rrt = { version = "0.7.0", optional = true }
kdtree = { version = "0.7", optional = true }
num-traits = { version = "0.2", optional = true }
tracing = { version = "0.1", optional = true }

[features]
default = ["allow_filesystem", "collisions", "stroke_planning", "visualization"]
allow_filesystem = ["yaml-rust2", "sxd-document", "regex", "clap", "ply-rs-bw", "stl_io"]
collisions = ["parry3d", "rayon"]
visualization = ["bevy", "bevy_egui", "collisions", "allow_filesystem"]
stroke_planning = ["kdtree", "num-traits", "tracing", "collisions", "rrt"]

# To disable filesystem, collision and visualizatio support:
# rs-opw-kinematics = { version = "1.8.3", default-features = false }


[profile.release]

[profile.dev]
opt-level = 3 # For some reason, collision checks are not a bit but 100x slower when not optimized.
debug = true