
This introduces a dependency on the Charming crate, which we use to plot the loss history, and the ECharts JavaScript library, which Charming depends on. Now that there's more than one canvas on the page, we have to pick out the display by ID rather than by element type in our style sheet.
81 lines
1.9 KiB
TOML
81 lines
1.9 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"
|
|
sycamore = "0.9.1"
|
|
|
|
# We use Charming to help display engine diagnostics
|
|
charming = { version = "0.5.1", features = ["wasm"] }
|
|
|
|
# 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"
|
|
|
|
# turn off spurious warnings about the custom config that Sycamore uses
|
|
#
|
|
# https://sycamore.dev/book/troubleshooting#unexpected-cfg-condition-name--sycamore-force-ssr
|
|
#
|
|
[lints.rust]
|
|
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(sycamore_force_ssr)"] }
|
|
|
|
[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
|