[package]
name = "dyna3"
version = "0.1.0"
authors = ["Aaron Fenyes", "Glen Whitney"]
edition = "2021"

[features]
default = ["console_error_panic_hook"]
dev = []

[dependencies]
itertools = "0.13.0"
js-sys = "0.3.70"
lazy_static = "1.5.0"
nalgebra = "0.33.0"
rustc-hash = "2.0.0"
slab = "0.4.9"
sycamore = "0.9.0-beta.3"

# The `console_error_panic_hook` crate provides better debugging of panics by
# logging them with `console.error`. This is great for development, but requires
# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for
# code size when deploying.
console_error_panic_hook = { version = "0.1.7", optional = true }

[dependencies.web-sys]
version = "0.3.69"
features = [
  'DomRect',
  'HtmlCanvasElement',
  'HtmlInputElement',
  'Performance',
  'WebGl2RenderingContext',
  'WebGlBuffer',
  'WebGlProgram',
  'WebGlShader',
  'WebGlUniformLocation',
  'WebGlVertexArrayObject'
]

# the self-dependency specifies features to use for tests and examples
#
#   https://github.com/rust-lang/cargo/issues/2911#issuecomment-1483256987
#
[dev-dependencies]
dyna3 = { path = ".", default-features = false, features = ["dev"] }
wasm-bindgen-test = "0.3.34"

[profile.release]
opt-level = "s" # optimize for small code size
debug = true # include debug symbols