-
Notifications
You must be signed in to change notification settings - Fork 2
/
Cargo.toml
116 lines (108 loc) · 3.87 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
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 = [
"crates/scene_viewer",
]
exclude = [".git", "target"]
[workspace.package]
version = "0.1.0"
edition = "2021"
license = "MIT"
[workspace.dependencies]
# In place transmutation crate for turning shader structs
# into binary
bytemuck = { version = "1.14.3", features = ["derive"] }
futures = "0.3"
# Vector math library with support for spirv. Required for
# rust-gpu
glam = { version = "0.27.0", features = ["serde", "bytemuck"] }
# Higher level vector math crate built on top of glam which
# adds more type safety
glamour = { version = "0.11.1", features = ["serde"] }
log = "0.4.21"
# File watcher crate. Currently used to watch the scene.json
# file and reload it when it changes
notify = "6.1.1"
# Color space crate which helps manage conversion between
# linear and nonlinear rgb color spaces
palette = { version = "0.7.6", features = ["serializing"] }
# Embeds files into the compiled binary and provides a way
# to access the data. Used for embedding the shader spirv
# code and embedding sprites
rust-embed = "8.2.0"
# Standard serialization crates
serde = "1.0.196"
serde_derive = "1.0.196"
serde_json = "1.0.113"
# Windowing and input library
winit = "0.30.3"
# Cross platform graphics api based on webgpu. This way we
# can write our graphics code once and run it everywhere
[workspace.dependencies.wgpu]
version = "22.1.0"
features = ["vulkan-portability", "metal"]
[package]
name = "vide"
version.workspace = true
edition.workspace = true
license.workspace = true
[dependencies]
# Encoding to and from a base64 string. Used for storing
# fonts in the scene json format.
base64 = "0.22.1"
# In place transmutation crate for turning shader structs
# into binary
bytemuck = { workspace = true }
# Used to make the error output for shader recompilation easier to read
codespan-reporting = "0.11.1"
# Atlas packing crate for carefully fitting rectangles into
# larger rectangles. Used for the glyph atlas when rendering
# text
etagere = "0.2.10"
futures = {workspace = true }
glam = { workspace = true }
glamour = { workspace = true }
# Adds a few useful collections for dealing with async code
# like the OneShot
futures-intrusive = "0.5.0"
# Image parsing crate. Used for loading png and jpeg images
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }
# Staticly initialize variables using a constructor
lazy_static = "1.4.0"
log = { workspace = true }
# Tesselation crate which lets us turn high level paths into
# lists of triangles efficiently
lyon = { version = "1.0.1", features = ["serialization"] }
# File watcher crate. Used to watch for shader changes
notify-debouncer-full = "0.3.1"
# Rust doesn't implement ord for floats which makes deriving
# hashes hard. This wraps floats and provides a consistent
# ord implementation
ordered-float = {version = "4.2.0", features = ["serde"]}
palette = { workspace = true }
# Font layout and shaping crate. Handles font fallback
parley = { git = "https://github.com/linebender/parley", rev="352df194a5178aac3d08519b2e0b8814a8c08c28" }
# Convenient macros for recording profiling data
profiling = { version = "1.0.15", features = ["profile-with-tracy"] }
# Random number generation
rand = "0.8.5"
rust-embed = { workspace = true }
serde = { workspace = true }
serde_derive = { workspace = true }
serde_json = { workspace = true }
# Async runtime for testing
smol = "1.2"
# Font introspection, complex text shaping and glyph rendering.
# NOTE: parley controls the version
swash = { version="*", default-features = true }
# Used to make the Shaper thread safe
thread_local = "1.1.7"
# Used to make the error output for shader recompilation easier to read
termcolor = "1.4.1"
wgpu = { workspace = true, features = ["glsl"] }
winit = { workspace = true }
[target.'cfg(not(target_os = "macos"))'.dependencies]
wgpu-profiler = { version = "0.18.0", features = ["tracy"] }
[dev-dependencies]
image-compare = "0.4.1"
git2 = "0.18.3"