content: [package]
  name = "urdf-viz"
  # When publishing a new version:
  # - Create "v0.x.y" git tag
  # - Push the above tag (run `git push origin --tags`)
  # Then, CI will publish to crates.io and create a GitHub release.
  version = "0.46.1"
  authors = ["Takashi Ogura <t.ogura@gmail.com>"]
  edition = "2021"
  description = "URDF visualization"
  license = "Apache-2.0"
  keywords = ["robotics", "urdf", "visualization"]
  categories = ["visualization"]
  repository = "https://github.com/openrr/urdf-viz"
  exclude = [".github/*", "img/*"]
  
  [workspace]
  members = ["examples/wasm"]
  
  [features]
  default = []
  assimp = ["dep:assimp", "assimp-sys", "tempfile"]
  
  # Note: k, kiss3d, serde, structopt, tokio, urdf-rs, and wasm-bindgen are public dependencies.
  [dependencies]
  crossbeam-queue = "0.3.5"
  k = "0.32"
  kiss3d = "0.35"
  mesh-loader = "0.1.6"
  rand = "0.8"
  serde = { version = "1.0", features = ["derive"] }
  structopt = "0.3"
  thiserror = "2.0"
  tracing = "0.1"
  urdf-rs = "0.9"
  
  assimp = { version = "0.3.1", optional = true }
  assimp-sys = { version = "0.3.1", optional = true }
  tempfile = { version = "3.8", optional = true }
  
  [target.'cfg(not(target_family = "wasm"))'.dependencies]
  axum = "0.8"
  ctrlc = { version = "3", features = ["termination"] }
  tokio = { version = "1", features = ["full"] }
  tower-http = { version = "0.6", features = ["trace"] }
  tracing-subscriber = "0.3"
  ureq = "2"
  
  [target.'cfg(target_family = "wasm")'.dependencies]
  base64 = "0.22"
  getrandom = { version = "0.2", features = ["js"] }
  js-sys = "0.3.31"
  serde_json = "1"
  serde_qs = "0.15"
  url = "2"
  wasm-bindgen = "0.2"
  wasm-bindgen-futures = "0.4"
  web-sys = { version = "0.3", features = [
      "Window",
      "Location",
      "Url",
      "FileReader",
      "Blob",
      "File",
      "Response",
      "WebGlRenderingContext",
  ] }
  
  [dev-dependencies]
  serde_qs = "0.15"
  url = "2"
  
  [lints]
  workspace = true
  
  [workspace.lints.rust]
  missing_debug_implementations = "warn"
  # missing_docs = "warn" # TODO
  rust_2018_idioms = "warn"
  single_use_lifetimes = "warn"
  unreachable_pub = "warn"
  [workspace.lints.clippy]
  lint_groups_priority = { level = "allow", priority = 1 } # https://github.com/rust-lang/rust-clippy/issues/12920
  