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