effectcraft/apps/effectcraft-web/Cargo.toml

57 lines
1.6 KiB
TOML

[package]
name = "effectcraft-web"
description = "EffectCraft in the browser (wasm32): eframe web runner, persistent browser storage (OPFS / IndexedDB), Web Audio, Web Worker renders, PWA, window.effectcraft API"
version.workspace = true
edition.workspace = true
license.workspace = true
publish = false
[lints]
workspace = true
[lib]
crate-type = ["cdylib", "rlib"]
# The browser glue is wasm32-only; on other targets the crate holds just the portable storage
# model (`store`), unit-tested natively. Build the app with `cargo xtask web` (see docs/web.md).
[dependencies]
effectcraft-engine = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
effectcraft-host = { workspace = true }
effectcraft-gpu = { workspace = true }
effectcraft-media = { workspace = true }
effectcraft-export = { workspace = true }
effectcraft-expr = { workspace = true }
effectcraft-ui-egui = { workspace = true }
egui = { workspace = true }
eframe = { workspace = true, features = ["default_fonts", "wgpu"] }
log = { workspace = true }
web-time = { workspace = true }
# The wasm-bindgen CLI used by `cargo xtask web` must be exactly this version.
wasm-bindgen = "=0.2.129"
wasm-bindgen-futures = "0.4"
js-sys = "0.3"
web-sys = { version = "0.3", features = [
"Blob",
"BlobPropertyBag",
"CssStyleDeclaration",
"Document",
"Element",
"DedicatedWorkerGlobalScope",
"Event",
"EventTarget",
"File",
"FileList",
"HtmlAnchorElement",
"HtmlCanvasElement",
"HtmlElement",
"HtmlInputElement",
"Location",
"Url",
"UrlSearchParams",
"Window",
] }