-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
91 lines (81 loc) · 2.61 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
[package]
name = "unknown-engine"
version = "0.7.2"
edition = "2021"
authors = ["Sycrosity"]
description = "a hopefully (or hopelessly) simple 3d rasterizing engine build in rust from scratch using wgpu"
license = "Apache-2.0"
keywords = ["gamedev", "graphics", "wgpu"]
# homepage = "https://engine.sycro.dev"
repository = "https://github.com/Sycrosity/unknown-engine-rs"
#See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
#adds a macro making platform specific dependencies easier to manage
cfg-if = "1"
#for creating windows
winit = "0.28"
#for logging custom errors (from wgpu)
env_logger = "0.10"
log = "0.4"
#the library we are using to render items to the screen
wgpu = "0.15"
#a more lightweight option to allow main() to await the future than tokio or async-std
pollster = "0.2"
#for casting Vec[f32]'s into Vec[u8]'s
bytemuck = { version = "1.12", features = [ "derive" ] }
#for idiomatic error handling
anyhow = "1.0"
#for performing linear algebra
cgmath = "0.18"
#add object loading
tobj = { version = "3.2.1", features = [
"async",
]}
#std::time::Instant panics on wasm, so we use this instead
instant = "0.1"
#for interpreting and representing images
[dependencies.image]
version = "0.24"
default-features = false
#we only need to import png's and jpeg's (for now)
features = ["png", "jpeg", "tiff"]
#dependencies specific to wasm
[target.'cfg(target_arch = "wasm32")'.dependencies]
console_error_panic_hook = "0.1"
#implements logging for wasm on the web
console_log = "0.2"
#specific wgpu version for wasm/webgl
wgpu = { version = "0.15", features = ["webgl"]}
#for generating the boilerplate code telling a browser how to use the renderer
wasm-bindgen = { version = "0.2", features = [
"serde-serialize"
]}
#futures have to be run with the browser's executor, this adds support for that
wasm-bindgen-futures = "0.4"
#for testing wasm
wasm-bindgen-test = "0.3"
#bindings for web (javascript) features found in a normal web application
web-sys = { version = "0.3", features = [
"Document",
"Window",
"Element",
"Location",
"console",
]}
#for handling loading assets
reqwest = { version = "0.11" }
[package.metadata.bundle]
identifier = "dev.sycro.engine"
icon = ["res/logos.icns"]
resources = ["res"]
#fix macos window weirdness - not a good fix but it should work
[target.'cfg(target_os = "macos")'.dependencies]
cocoa = "0.24"
#build for both rust and C/C++ - this is needed to be able to run it on wasm, for web support
[lib]
crate-type = ["cdylib", "rlib"]
# dependenices for building
[build-dependencies]
anyhow = "1.0"
fs_extra = "1.2"
glob = "0.3"