[package] name = "optima" version = "0.0.4" edition = "2021" description = "An easy to set up and easy optimization and planning toolbox, particularly for robotics." keywords = ["robotics", "planning", "optimization", "motion", "kinematics"] license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/djrakita/optima_toolbox" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] nalgebra = {version="0.30.1", features=["serde-serialize"]} serde = "1.0.136" serde_json = "1.0.79" urdf-rs = "0.6.2" vfs = { version="0.7.0", features=["embedded-fs"] } rust-embed = { version="6.4.0", features=["debug-embed", "interpolate-folder-path", "compression", "include-exclude"] } dae-parser = "0.8.5" collada = "0.14.0" stl_io = "0.6.0" walkdir = "2.3.2" dirs = "4.0.0" simba = "0.7.0" num-traits = "0.2.14" parry3d-f64 = "0.8.0" rand = { version="0.8.5" } rand_distr = "0.4.3" permutation = "0.4.1" serde_with = "1.12.1" getrandom = { version="0.2.6", features=["js"] } ron = "0.7" toml = "0.5.9" instant = { version = "0.1", features = [ "wasm-bindgen" ] } took = "0.1.2" took-macro = "0.1" ordered-float = "3.0.0" ndarray = "0.15.4" ndarray_einsum_beta = "0.7.0" optimization_engine = { version = "0.7.4", features = ["wasm"] } itertools = "0.10.2" factorial = "0.2.1" rayon = "1.5.3" strum = "0.24" strum_macros = "0.24" bevy = {version = "0.8.1", optional = true, features = ["dynamic"]} # NOTE! "dynamic" feature must be removed before release of code that cannot use # bevy = {git = "https://github.com/bevyengine/bevy?rev=bd00858", optional = true, features = ["dynamic"]} bevy_stl = { version="0.6.0", optional = true, features = ["wireframe"]} bevy_egui = { version="0.15", optional = true } bevy_prototype_debug_lines = { version="0.8.1", features = ["3d"], optional = true} easy-ml = "1.8.2" [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen = { version="0.2.79", features = ["serde-serialize"] } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] pyo3 = { version = "0.16.2", features = ["extension-module"] } colored = "2.0.0" pbr = "1.0.4" nlopt = {version = "0.5.4", optional = true} [features] default = [ "do_not_embed_assets", "optima_bevy" ] # NOTE! To turn off, must include --no-default-features. optima_bevy = [ "bevy", "bevy_stl", "bevy_egui", "bevy_prototype_debug_lines" ] do_not_embed_assets = [ "exclude_all_robot_asset_embedding" ] only_use_embedded_assets = [] # NOTE! This will only work if you include --no-default-features. exclude_all_robot_asset_embedding = [] exclude_robot_visual_meshes_embedding = [] nlopt_optimization = [ "nlopt" ] # ----------- robot embeddeding groups -------- # all_robots = ["robot_group_3", "fetch"] robot_group_3 = ["robot_group_2", "hubo"] robot_group_2 = ["robot_group_1", "sawyer"] robot_group_1 = ["ur5"] # ----------- robots -------------------------- # ur5 = [] sawyer = [] fetch = [] hubo = [] [lib] name = "optima" # path = "src/lib.rs" crate-type = ["cdylib", "rlib"] # [package.metadata.docs.rs] # targets = ["x86_64-apple-darwin", "wasm32-unknown-unknown"] # rustdoc-args = [ "--html-in-header", "./src/docs-header.html" ] [profile.dev.package."*"] opt-level = 3 [profile.dev] opt-level = 3 [profile.release] opt-level = 3 lto = "thin"