-
Notifications
You must be signed in to change notification settings - Fork 1
/
Cargo.toml
120 lines (102 loc) · 2.86 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
117
118
119
120
[package]
name = "trayracer"
version = "1.0.0"
edition = "2021"
description = "A Raytracer written in Rust."
license = "GNU GPLv3"
repository = "https://github.com/bircni/Raytracing"
readme = "README.md"
categories = ["graphics", "raytracer", "rendering", "3d"]
keywords = ["raytracer", "rendering", "3d", "graphics"]
authors = [
"bircni",
"Fabus1184",
"LesKlugi",
"MarcelQ5",
"phaman09",
"GitNether",
"HermanoGranger",
]
[package.metadata.bundle]
name = "TrayRacer"
identifier = "bircni.TrayRacer"
icon = [
"res/mac-icons/icon_16x16.png",
"res/mac-icons/icon_32x32.png",
"res/mac-icons/icon_128x128.png",
"res/mac-icons/icon_256x256.png",
"res/mac-icons/[email protected]",
"res/mac-icons/[email protected]",
"res/mac-icons/[email protected]",
]
version = "1.0.0"
resources = ["./../res/mac-icons/icon*.png"]
copyright = "© 2024 Team TrayRacer"
category = "Developer Tool"
short_description = "A Raytracer written in Rust."
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
# error handling
anyhow = "1.0.89"
# image loading and saving
image = { version = "0.25.2", default-features = false, features = [
"png",
"jpeg",
"tiff",
"exr",
] }
# logging
log = "0.4.22"
simplelog = "0.12.2"
# linear algebra
nalgebra = { version = "0.33.0", features = ["glam022"] }
rand = "0.8.5"
# obj file loading
obj = "0.10.2"
# automatic parallelization
rayon = "1.10.0"
bytemuck = { version = "1.18", features = ["derive"] }
# total order for floats
ordered-float = "4.2.2"
# generic serialization / deserialization
serde = { version = "1.0.210", features = ["derive"] }
serde_yml = "0.0.12"
# GUI
eframe = { version = "0.28.1", features = [
"wgpu",
"accesskit",
"default_fonts",
"wayland",
"x11",
], default-features = false }
egui = { version = "0.28.1", features = ["log", "color-hex"] }
egui-wgpu = { version = "0.28.1" }
egui_file = "0.18.0"
egui_extras = { version = "0.28.1", features = ["svg", "image"] }
# BVH
bvh = "0.10.0"
rust-i18n = "3.1.2"
sys-locale = "0.3.1"
[build-dependencies]
anyhow = "1.0.89"
winresource = "0.1.17"
[profile.dev]
opt-level = 3
[profile.perftest]
inherits = "release"
debug = true
[lints.rust]
unsafe_code = "forbid"
[lints.clippy]
nursery = { level = "deny", priority = 0 }
pedantic = { level = "deny", priority = 1 }
enum_glob_use = { level = "deny", priority = 2 }
module_name_repetitions = { level = "allow", priority = 3 }
cast_precision_loss = { level = "allow", priority = 4 }
cast_possible_truncation = { level = "allow", priority = 5 }
cast_sign_loss = { level = "allow", priority = 6 }
out_of_bounds_indexing = { level = "allow", priority = 7 }
perf = { level = "warn", priority = 8 }
style = { level = "warn", priority = 9 }
unwrap_used = { level = "deny", priority = 10 }
expect_used = { level = "deny", priority = 11 }