-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
73 lines (65 loc) · 2.15 KB
/
Cargo.toml
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
[package]
name = "function-renderer"
version = "0.1.0"
edition = "2021"
resolver = "2"
[features]
# embed the shaders into the binary to make it portable
embed = []
[patch.'https://github.com/mihavlic/vulkan-bindings']
pumice = { path = "./pumice" }
# I'm not really happy about it but winit + egui + rfd pull in an incredible amount of dependencies (and from-source build of shaderc also takes way too long)
[dependencies]
# various parts of the vulkan wrapper
pumice = {git = "https://github.com/mihavlic/vulkan-bindings.git", features = ["wrappers"]}
pumice-vma = {git = "https://github.com/mihavlic/pumice-vma.git", features = ["VK_VERSION_1_1"]}
graph = {git = "https://github.com/mihavlic/vulkan-engine.git"}
# window and gui
winit = {version = "0.28.1", default-features = false, features = ["x11", "wayland", "wayland-dlopen"]}
egui = "0.21.0"
egui-winit = {version = "0.21.1", default-features = false, features = ["clipboard", "links", "wayland"]}
image = "0.24.4"
# utility algorithm for slicing vectors of values according to some shared key
slice-group-by = "0.3.0"
# file change notification library
notify = "5.1.0"
# pretty commandline line "editor"
rustyline = "10.0.0"
# math library
glam = "0.23.0"
# smoothed! camera library
dolly = "0.4.1"
# fast hashing algorithm
ahash = "0.8.3"
# google glsl to spirv compiler
shaderc = "0.8.2"
# native file dialog
rfd = {version = "0.11.3", default-features = false, features = ["xdg-portal"] }
# doing this ironically makes compile times faster since there's less data to link into the executable
# combined with turning off debug info achieves < 2 s compilations
[profile.dev.package."egui"]
opt-level = 2
[profile.dev.package."egui-winit"]
opt-level = 2
[profile.dev.package."pumice"]
opt-level = 2
[profile.dev.package."pumice-vma"]
opt-level = 2
[profile.dev.package."graph"]
opt-level = 2
[profile.dev.package."winit"]
opt-level = 2
[profile.dev.package."notify"]
opt-level = 2
[profile.dev.package."rustyline"]
opt-level = 2
[profile.dev.package."glam"]
opt-level = 2
[profile.dev.package."dolly"]
opt-level = 2
[profile.dev.package."ahash"]
opt-level = 2
[profile.dev.package."shaderc"]
opt-level = 2
# [profile.dev]
# debug = 0