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 "examples/playground",
19 "xtask",
20]
21
22[lib]
23crate-type = ["cdylib", "lib"]
24
25# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
26
27[features]
28default = ["vst", "video", "video-server"]
29vst = [
30 "rand/thread_rng",
31 "dep:env_logger",
32 "dep:nih_plug",
33 "dep:ws",
34 "dep:tungstenite",
35]
36web = ["dep:wasm-bindgen", "dep:serde-wasm-bindgen", "dep:web-sys"]
37video = [
38 "dep:env_logger",
39 "dep:vgv",
40 "dep:notify-rust",
41 "dep:tokio",
42 "dep:easing-function",
43]
44video-server = ["dep:axum"]
45serde-wasm-bindgen = ["dep:serde-wasm-bindgen"]
46
47[dependencies]
48nih_plug = { git = "https://github.com/robbert-vdh/nih-plug.git", features = [
49 "assert_process_allocs",
50], optional = true }
51anyhow = "1.0.100"
52chrono = "0.4.42"
53indicatif = "0.18.2"
54itertools = "0.14.0"
55midly = "0.5.3"
56rand = { version = "0.9.2", default-features = false, features = [
57 "small_rng",
58 "std",
59 "std_rng",
60] }
61serde_cbor = "0.11.2"
62serde_json = "1.0.145"
63wasm-bindgen = { version = "0.2.105", optional = true }
64getrandom = { version = "0.2", features = ["js"] }
65web-sys = { version = "0.3.82", optional = true, features = [
66 'Document',
67 'Element',
68 'HtmlElement',
69 'Node',
70 'Window',
71] }
72once_cell = "1.21.3"
73nanoid = "0.4.0"
74console = { version = "0.16.1", features = ["windows-console-colors"] }
75backtrace = "0.3.76"
76slug = "0.1.6"
77roxmltree = "0.21.1"
78strum = { version = "0.27.2", features = ["strum_macros"] }
79strum_macros = "0.27.2"
80tiny-skia = "0.11.4"
81resvg = "0.45.1"
82measure_time = "0.9.0"
83env_logger = { version = "0.11.8", optional = true }
84log = "0.4.28"
85rayon = "1.11.0"
86ws = { version = "0.9.2", optional = true }
87toml = "0.9.8"
88serde = { version = "1.0.228", features = ["derive"] }
89url = "2.5.7"
90tungstenite = { version = "0.28.0", optional = true }
91axum = { version = "0.8.6", optional = true, features = ["json"] }
92vgv = { git = "https://github.com/gwennlbh/vgvf", version = "0.1.0", optional = true }
93serde-aux = "4.7.0"
94notify-rust = { version = "4.11.7", optional = true }
95tokio = { version = "1.48.0", optional = true }
96easing-function = { version = "0.1.1", optional = true }
97quick-xml = "0.38.3"
98num = "0.4.3"
99serde-wasm-bindgen = { version = "0.6.5", optional = true }
100
101
102[dev-dependencies]
103insta = "1.43.2"
104rust-analyzer = "0.0.1"