-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
94 lines (89 loc) · 3.4 KB
/
Cargo.toml
File metadata and controls
94 lines (89 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
[package]
name = "patchwork"
version = "0.0.8"
edition = "2024"
license = "GPL-3.0"
authors = ["Allwin Williams / OpenBlocks"]
description = "A node-based visual programming environment in Rust"
# With the Phase 2 Syphon spike living at `src/bin/syphon_spike.rs`,
# `cargo run` is otherwise ambiguous. Pin `patchwork` as the default
# so `cargo run --release` still "just works"; the spike runs via
# `cargo run --bin syphon_spike`.
default-run = "patchwork"
[dependencies]
eframe = { version = "0.31.0", features = ["wgpu"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
rfd = "0.15"
midir = "0.10"
serialport = "4"
rhai = "1.17"
rosc = "0.10"
reqwest = { version = "0.12", features = ["blocking", "json"] }
naga = { version = "24", features = ["wgsl-in"] }
pollster = "0.4"
regex = "1"
bytemuck = { version = "1", features = ["derive"] }
libloading = "0.8"
cpal = "0.15"
symphonia = { version = "0.5", default-features = false, features = ["mp3", "ogg", "flac", "pcm", "isomp4", "aac"] }
sysinfo = "0.33"
libc = "0.2"
open = "5"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "gif", "bmp", "webp"] }
ort = "2.0.0-rc.12"
dirs = "6"
typetag = "0.2"
crossbeam-channel = "0.5"
clap-sys = "0.5"
rayon = "1"
iroh = "0.97"
iroh-gossip = { version = "0.97", features = ["net"] }
postcard = { version = "1", features = ["alloc"] }
tokio = { version = "1", features = ["rt", "macros", "time"] }
data-encoding = "2"
bytes = "1"
futures-lite = "2"
rand = "0.9"
tungstenite = "0.24"
hidapi = "2"
ab_glyph = "0.2"
qrcode = { version = "0.14", default-features = false }
webrtc = "0.17.1"
opus = "0.3.1"
[target.'cfg(target_os = "macos")'.dependencies]
objc2 = "0.5"
objc2-app-kit = { version = "0.2", features = ["NSWindow", "NSView", "NSResponder", "NSScreen"] }
objc2-foundation = { version = "0.2", features = ["NSGeometry", "NSString"] }
ort = { version = "2.0.0-rc.12", features = ["coreml"] }
# Phase 2 — Syphon bridge. `wgpu-hal` exposes the raw `MTLTexture` under
# wgpu's public API; `metal` is the matching Rust binding. `block2` wraps
# Objective-C blocks for the SyphonMetalClient new-frame handler.
wgpu-hal = { version = "24.0.4", default-features = false, features = ["metal"] }
metal = "0.31"
block2 = "0.5"
# foreign-types-shared brings `ForeignType` / `ForeignTypeRef` into scope
# so `metal::Texture::as_ptr()` etc. are callable. Transitive through
# `metal` but not re-exported — needs to be direct.
foreign-types-shared = "0.3"
[target.'cfg(target_os = "windows")'.dependencies]
ort = { version = "2.0.0-rc.12", features = ["cuda", "directml"] }
[package.metadata.packager]
product-name = "PatchWork"
identifier = "com.openblocks.patchwork"
before-packaging-command = "cargo build --release"
formats = ["app", "dmg"]
icons = ["assets/icons/icon.icns"]
binaries = [{ path = "PatchWork", main = true }]
# Embed external resources / frameworks alongside the binary so the
# packaged `.app` is self-contained. The dev binary links Syphon via
# `@rpath/Syphon.framework/...` + an `@loader_path/../Frameworks` rpath
# (set in build.rs). When we drop the framework into
# `Contents/Frameworks/`, that rpath resolves cleanly at runtime even on
# machines with no Xcode or Syphon source.
resources = [
{ src = "vendor/Syphon.framework.prebuilt/Syphon.framework", target = "Frameworks/Syphon.framework" },
]
[package.metadata.packager.macos]
minimum-system-version = "11.0"
info-plist-path = "assets/macos/Info.plist"