This repository has no description
1[package]
2name = "shapemaker"
3version = "1.2.2"
4rust-version = "1.90"
5edition = "2024"
6include = ["/src"]
7license = "AGPL-3.0"
8homepage = "https://gwen.works/shapemaker"
9repository = "https://github.com/gwennlbh/shapemaker"
10authors = ["Gwenn Le Bihan <gwenn.lebihan7@gmail.com>"]
11description = "An experimental WASM-capable, generative SVG-based video rendering engine that reacts to MIDI or audio data"
12
13[workspace]
14members = [
15 "examples/dna-analysis-machine",
16 "examples/schedule-hell",
17 "examples/specimen",
18 "xtask",
19]
20
21[lib]
22crate-type = ["cdylib", "lib"]
23
24# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
25
26[features]
27default = ["vst", "video", "video-server"]
28vst = [
29 "rand/thread_rng",
30 "dep:env_logger",
31 "dep:nih_plug",
32 "dep:ws",
33 "dep:tungstenite",
34]
35web = ["dep:wasm-bindgen", "dep:web-sys"]
36video = ["dep:env_logger", "dep:vgv", "dep:notify-rust", "dep:tokio"]
37video-server = ["dep:axum"]
38
39[dependencies]
40nih_plug = { git = "https://github.com/robbert-vdh/nih-plug.git", features = [
41 "assert_process_allocs",
42], optional = true }
43anyhow = "1.0.100"
44chrono = "0.4.42"
45docopt = "1.1.1"
46indicatif = "0.18.1"
47itertools = "0.14.0"
48midly = "0.5.3"
49rand = { version = "0.9.2", default-features = false, features = [
50 "small_rng",
51 "std",
52 "std_rng",
53] }
54serde_cbor = "0.11.2"
55serde_json = "1.0.145"
56wasm-bindgen = { version = "0.2.104", optional = true }
57getrandom = { version = "0.2", features = ["js"] }
58web-sys = { version = "0.3.81", optional = true, features = [
59 'Document',
60 'Element',
61 'HtmlElement',
62 'Node',
63 'Window',
64] }
65once_cell = "1.21.3"
66nanoid = "0.4.0"
67console = { version = "0.16.1", features = ["windows-console-colors"] }
68backtrace = "0.3.76"
69slug = "0.1.6"
70roxmltree = "0.21.1"
71strum = { version = "0.27.2", features = ["strum_macros"] }
72strum_macros = "0.27.2"
73tiny-skia = "0.11.4"
74resvg = "0.45.1"
75measure_time = "0.9.0"
76env_logger = { version = "0.11.8", optional = true }
77log = "0.4.28"
78ndarray = "0.16.1"
79rayon = "1.11.0"
80futures-util = "0.3.31"
81ws = { version = "0.9.2", optional = true }
82toml = "0.9.8"
83indexmap = "2.12.0"
84serde = { version = "1.0.228", features = ["derive"] }
85url = "2.5.7"
86tungstenite = { version = "0.28.0", optional = true }
87axum = { version = "0.8.6", optional = true, features = ["json"] }
88quick-xml = "0.38.3"
89vgv = { git = "https://github.com/gwennlbh/vgvf", version = "0.1.0", optional = true }
90serde-aux = "4.7.0"
91notify-rust = { version = "4.11.7", optional = true }
92tokio = { version = "1.48.0", optional = true }
93
94
95[dev-dependencies]
96insta = "1.43.2"
97rust-analyzer = "0.0.1"