-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathCargo.toml
More file actions
116 lines (113 loc) · 4.33 KB
/
Copy pathCargo.toml
File metadata and controls
116 lines (113 loc) · 4.33 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[workspace]
resolver = "2"
members = [
"clowd_ai",
"clowd_capture",
"clowd_rust_core",
"clowd_scroll_driver",
"clowd_shell_ext",
]
# clowd_server is a standalone workers-rs crate (own [workspace], wasm target).
exclude = ["clowd_server"]
[workspace.package]
version = "0.0.0-local"
authors = ["Caelan Sayler <git@caesay.com>"]
repository = "https://github.com/clowd/Clowd"
keywords = ["update", "install", "velopack", "squirrel", "automatic-updates"]
categories = ["development-tools"]
license = "MIT"
edition = "2021"
rust-version = "1.89"
[workspace.dependencies]
# Shared by clowd_capture and clowd_scroll_driver: geometry, the session.json
# contract, exit codes, Sentry setup.
clowd_rust_core = { path = "clowd_rust_core" }
anyhow = "1.0"
clap = "4.6"
image = { version = "0.25", default-features = false }
libblur = "0.24"
euclid = "0.22"
libc = "0.2"
log = "0.4"
simplelog = "0.12"
winit = "0.30"
handy-keys = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# clowd_ai's inference runtime. Default features: ort-sys downloads
# pyke's prebuilt, attested ONNX Runtime binaries per target and links the
# runtime statically; execution-provider features (directml/coreml) are
# enabled per target in clowd_ai's own manifest, since no one binary
# build carries every EP. copy-dylibs stages the EP helper dylib
# (DirectML.dll) beside the built exe; CI packages it from there.
# NOTE: pyke's libs are compiled /MD — clowd_ai's build.rs swaps that
# one binary off this workspace's `+crt-static` at link time (see there).
# Default features minus `tracing`: with `tracing` on and no subscriber
# installed, ONNX Runtime's own log lines (EP registration failures, nodes
# falling back to the CPU) vanish silently — without it they go to stderr,
# which the spawner already pumps into its diagnostic ring.
ort = { version = "2.0.0-rc.13", default-features = false, features = [
"std",
"ndarray",
"download-binaries",
"tls-native",
"copy-dylibs",
"api-27",
] }
# clowd_ai's STFT/ISTFT for the 48 kHz denoiser.
realfft = "3.5"
bytemuck = "1"
# System-font lookup for the OCR bubbles' glyph fallback: fontdb finds and memory-maps the
# curated faces, skrifa (the same version epaint shapes with) checks a face parses and whether
# the bundled Cascadia already covers a page.
fontdb = { version = "0.23", default-features = false, features = ["memmap"] }
skrifa = "0.44"
# Immediate-mode UI (layout, widgets, text) for the capture overlay; painted through gxi.
egui = { version = "0.36", default-features = false, features = ["bytemuck"] }
# SVG rasterisation into egui textures (resvg under the hood) and live plots for the debug panel.
egui_extras = { version = "0.36", default-features = false, features = ["svg"] }
egui_plot = "0.37"
arboard = "3.6"
rfd = { version = "0.17", default-features = false }
xdialog = "3.1"
windows = "0.62"
foreign-types = "0.5"
core-graphics = "0.25"
core-foundation = "0.10"
objc2 = "0.6"
objc2-core-graphics = "0.3"
objc2-app-kit = "0.3"
objc2-foundation = "0.3"
objc2-metal = "0.3"
objc2-quartz-core = "0.3"
block2 = "0.6"
# build-time shader precompilation (clowd_capture/build.rs): WGSL to HLSL on
# Windows, WGSL to MSL source on macOS. Build time only; never in a binary.
naga = "30.0"
libloading = "0.9"
# rustls keeps every target off OpenSSL/schannel, and debug-images/log/anyhow are what make the reports symbolicated and readable.
sentry = { version = "0.48", default-features = false, features = [
"anyhow",
"backtrace",
"contexts",
"debug-images",
"log",
"panic",
"release-health",
"reqwest",
"rustls",
] }
[profile.release]
opt-level = 3
# Thin rather than fat: fat LTO's single-threaded link was ~70% of CI wall clock, and these binaries gain little from it (libblur runtime-dispatches its SIMD, render work lands on the GPU, ONNX Runtime is prebuilt C++).
lto = "thin"
# Line tables only, in a companion .pdb/.dSYM that CI uploads to Sentry — enough for readable stack traces, and the only split mode Windows-MSVC supports.
debug = 1
split-debuginfo = "packed"
debug-assertions = false
overflow-checks = false
incremental = false
# One unit per crate, so nothing is left to cross-unit inlining that the optimizer could have done directly.
codegen-units = 1
rpath = false
# panic stays at the default unwind so one render worker's panic cannot take the whole capture down.