forked from StudioInfinity/dyna3

Since we're no longer using storage keys to refer to elements and regulators, we don't need to store these items in keyed collections anymore. To keep element and regulator pointers in `BTreeSet` collections, we implement `Ord` for `Serial` trait objects. As a bonus, this lets us turn the element-wise regulator collections back into `BTreeSet`.
72 lines
1.5 KiB
TOML
72 lines
1.5 KiB
TOML
[package]
|
|
name = "dyna3"
|
|
version = "0.1.0"
|
|
authors = ["Aaron Fenyes", "Glen Whitney"]
|
|
edition = "2021"
|
|
rust-version = "1.86"
|
|
|
|
[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"
|
|
readonly = "0.2.12"
|
|
rustc-hash = "2.0.0"
|
|
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
|
|
|
|
[[example]]
|
|
name = "irisawa-hexlet"
|
|
test = true
|
|
harness = false
|
|
|
|
[[example]]
|
|
name = "kaleidocycle"
|
|
test = true
|
|
harness = false
|
|
|
|
[[example]]
|
|
name = "point-on-sphere"
|
|
test = true
|
|
harness = false
|
|
|
|
[[example]]
|
|
name = "three-spheres"
|
|
test = true
|
|
harness = false
|