-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
106 lines (100 loc) · 3.81 KB
/
Copy pathCargo.toml
File metadata and controls
106 lines (100 loc) · 3.81 KB
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
[workspace]
resolver = "3"
members = [
"crates/kerosene-math",
"crates/kerosene-kv",
"crates/kerosene-config",
"crates/kerosene-console",
"crates/kerosene-vfs",
"crates/kerosene-asset",
"crates/kerosene-map",
"crates/kerosene-bsp",
"crates/kerosene-walk",
"crates/kerosene-physics",
"crates/kerosene-rigid",
"crates/kerosene-entity",
"crates/kerosene-render",
"crates/kerosene-engine",
"crates/kerosene-game",
"crates/kerosene-script",
"crates/kerosene-audio",
"crates/kerosene-ui",
"apps/kerosene",
"tools/chisel",
"tools/cleave",
"tools/umbra",
"tools/radiance",
"tools/alchemy",
"tools/timbre",
"tools/kiln",
"tools/forge",
"tools/vault",
"tools/kerosene-tools",
]
[workspace.package]
version = "0.1.0-prealpha.2"
edition = "2024"
rust-version = "1.94"
license = "LGPL-3.0-or-later OR MPL-2.0"
authors = ["T342guy"]
repository = "https://github.com/t342guy/kerosene"
[workspace.dependencies]
kerosene-math = { path = "crates/kerosene-math" }
kerosene-kv = { path = "crates/kerosene-kv" }
kerosene-config = { path = "crates/kerosene-config" }
kerosene-console = { path = "crates/kerosene-console" }
kerosene-vfs = { path = "crates/kerosene-vfs" }
kerosene-asset = { path = "crates/kerosene-asset" }
kerosene-map = { path = "crates/kerosene-map" }
kerosene-bsp = { path = "crates/kerosene-bsp" }
kerosene-walk = { path = "crates/kerosene-walk" }
kerosene-physics = { path = "crates/kerosene-physics" }
kerosene-rigid = { path = "crates/kerosene-rigid" }
kerosene-entity = { path = "crates/kerosene-entity" }
kerosene-render = { path = "crates/kerosene-render" }
kerosene-engine = { path = "crates/kerosene-engine" }
kerosene-game = { path = "crates/kerosene-game" }
kerosene-script = { path = "crates/kerosene-script" }
kerosene-audio = { path = "crates/kerosene-audio", default-features = false }
kerosene-ui = { path = "crates/kerosene-ui" }
box3d-rust = "0.2"
anyhow = "1"
thiserror = "2"
clap = { version = "4", features = ["derive"] }
log = "0.4"
env_logger = "0.11"
bytemuck = { version = "1", features = ["derive"] }
rayon = "1"
glam = { version = "0.30", features = ["bytemuck"] }
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "tga"] }
wgpu = "25" # pinned to what egui-wgpu 0.32 links; a second wgpu major
# pulls in a second naga, and the two unify
# codespan-reporting/termcolor in a way that breaks both
winit = "0.30"
egui = "0.32"
egui-wgpu = "0.32"
egui-winit = { version = "0.32", default-features = false, features = ["links", "wayland", "x11"] }
pollster = "0.4"
# Scripting. Pure Rust, no C toolchain, and small enough to embed without the
# engine becoming a host for someone else's runtime.
rhai = "1"
# Audio output. Needs ALSA headers on Linux (libasound2-dev); the mixer
# itself is pure Rust and builds without it.
cpal = "0.18"
# Decoding source audio that is not WAV, for Timbre only. MPL-2.0, and the
# only copyleft crate in the tree -- see docs/licensing.md for why that is
# acceptable here and nowhere else: it is a build tool, the engine never links
# it, and `kiln --ship` never puts a tool in a game.
symphonia = { version = "0.6", default-features = false, features = ["flac", "mp3", "id3v2"] }
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 4
# Tool compiles (Cleave/Umbra/Radiance) are brutally slow in a debug build.
[profile.dev.package."*"]
opt-level = 2
# Chisel rasterises its 3D pane in software, a pixel at a time. Unoptimised
# that is a tenth of a second per frame, which is the difference between an
# editor that can be dragged around and one that cannot.
[profile.dev.package.chisel]
opt-level = 2