-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCargo.toml
155 lines (134 loc) · 3.84 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
[package]
name = "trayracer"
version = "1.0.0"
edition = "2024"
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"
# image loading and saving
image = { version = "0.25", default-features = false, features = [
"png",
"jpeg",
"tiff",
"exr",
] }
# logging
log = "0.4"
simplelog = "0.12"
# linear algebra
nalgebra = { version = "0.33", features = ["glam022"] }
rand = "0.9"
# obj file loading
obj = "0.10"
# automatic parallelization
rayon = "1.10"
bytemuck = { version = "1.21", features = ["derive"] }
# total order for floats
ordered-float = "5.0"
# generic serialization / deserialization
serde = { version = "1", features = ["derive"] }
serde_yml = "0.0.12"
# GUI
eframe = { version = "0.31", features = [
"wgpu",
"accesskit",
"default_fonts",
"wayland",
"x11",
], default-features = false }
egui = { version = "0.31", features = ["log", "color-hex"] }
egui-wgpu = { version = "0.31" }
egui_file = "0.22"
egui_extras = { version = "0.31", features = ["svg", "image"] }
# BVH
bvh = "0.11.0"
rust-i18n = "3.1.3"
sys-locale = "0.3.2"
[build-dependencies]
anyhow = "1"
winresource = "0.1"
[profile.dev]
opt-level = 3
[profile.perftest]
inherits = "release"
debug = true
[lints.rust]
unsafe_code = "deny"
deprecated = "warn"
elided_lifetimes_in_paths = "warn"
future_incompatible = { level = "warn", priority = -1 }
nonstandard_style = { level = "warn", priority = -1 }
rust_2018_idioms = { level = "warn", priority = -1 }
rust_2021_prelude_collisions = "warn"
semicolon_in_expressions_from_macros = "warn"
trivial_numeric_casts = "warn"
unsafe_op_in_unsafe_fn = "warn" # `unsafe_op_in_unsafe_fn` may become the default in future Rust versions: https://github.com/rust-lang/rust/issues/71668
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
trivial_casts = "allow"
unused_qualifications = "allow"
[lints.rustdoc]
all = "warn"
missing_crate_level_docs = "warn"
[lints.clippy]
all = { level = "warn", priority = -1 }
correctness = { level = "warn", priority = -1 }
suspicious = { level = "warn", priority = -1 }
style = { level = "warn", priority = -1 }
complexity = { level = "warn", priority = -1 }
perf = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
# allow some lints
cast_possible_truncation = "allow"
cast_sign_loss = "allow"
cast_precision_loss = "allow"
# Additional lints from https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction
absolute_paths = "warn"
allow_attributes = "warn"
allow_attributes_without_reason = "warn"
assertions_on_result_states = "warn"
create_dir = "warn"
clone_on_ref_ptr = "warn"
expect_used = "warn"
missing_assert_message = "warn"
panic_in_result_fn = "warn"
str_to_string = "warn"
todo = "warn"
unimplemented = "warn"
unwrap_used = "warn"
wildcard_enum_match_arm = "warn"