mirror of
https://github.com/horizon-rust/horizon.git
synced 2026-11-07 11:06:11 -10:00
A workspace member with no code whose dependencies are all optional: Cargo locks them, so a native mod's crate may name them, and no build compiles them (horizon-client's dependency tree, default and --no-default-features, is unchanged). All four are pure Rust and use the rustls + ring already locked. Co-Authored-By: Claude Opus 5.5 <[email protected]>
94 lines
3.5 KiB
TOML
94 lines
3.5 KiB
TOML
[workspace]
|
|
exclude = ["launcher", "crates/horizon-telemetry-server", "crates/horizon-mod-registry", "third_party/wgpu-hal", "third_party/naga", "third_party/libmimalloc-sys"]
|
|
members = [
|
|
"crates/horizon-core",
|
|
"crates/horizon-dualsense",
|
|
"crates/horizon-narrator",
|
|
"crates/horizon-threads",
|
|
"crates/horizon-hdr",
|
|
"crates/horizon-world",
|
|
"crates/horizon-client",
|
|
"crates/horizon-client-lib",
|
|
"crates/horizon-client-core",
|
|
"crates/horizon-client-input",
|
|
"crates/horizon-client-render",
|
|
"crates/horizon-cosmetics",
|
|
"crates/horizon-command",
|
|
"crates/horizon-items",
|
|
"crates/horizon-server-files",
|
|
"crates/horizon-anticheat",
|
|
"crates/horizon-chat-filter",
|
|
# The Model Context Protocol, shared by horizon-ctl, horizon-server and the launcher.
|
|
"crates/horizon-mcp",
|
|
"crates/horizon-server",
|
|
"crates/horizon-bots",
|
|
"crates/horizon-assets",
|
|
"crates/horizon-protocol",
|
|
"crates/horizon-theme",
|
|
"crates/horizon-prepare",
|
|
"crates/horizon-telemetry",
|
|
"crates/horizon-bench",
|
|
"crates/horizon-friends",
|
|
"crates/horizon-relay",
|
|
"crates/horizon-mods",
|
|
"crates/horizon-mod-api-gen",
|
|
"crates/horizon-mod-api-gen/dispatch-tests",
|
|
"crates/cargo-horizon-mod",
|
|
"crates/horizon-port-pack",
|
|
"crates/horizon-shaders",
|
|
"crates/horizon-optifine",
|
|
"crates/horizon-shader-api",
|
|
"crates/horizon-release-sign",
|
|
"crates/horizon-mod-deps",
|
|
"xtask",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2024"
|
|
license = "MIT"
|
|
rust-version = "1.85"
|
|
|
|
# Ports mirror vanilla's Java signatures, index loops and nested generic types
|
|
# one to one so they can be checked against the decompiled sources.
|
|
[workspace.lints.clippy]
|
|
too_many_arguments = "allow"
|
|
type_complexity = "allow"
|
|
needless_range_loop = "allow"
|
|
large_enum_variant = "allow"
|
|
|
|
# wgpu-hal 30.0.1 with gfx-rs/wgpu#10124: wgpu 30 creates a Vulkan descriptor
|
|
# pool with no pool sizes while it creates the device, which Vulkan allows only
|
|
# since 1.3.215, and Intel's Windows driver for 6th-10th gen iGPUs (HD 520/530,
|
|
# UHD 620/630) crashes on it with an access violation (#746). It also fixes the
|
|
# Metal backend's lookup of the CoreGraphics HDR colour space names, which handed
|
|
# CoreGraphics a symbol's address as the string and crashed HDR output on macOS.
|
|
# And gfx-rs/wgpu#10714: on Windows, Vulkan waits for the acquire fence only in
|
|
# FIFO (VSync), where it was meant to pace frames; with VSync off it made every
|
|
# frame wait for the GPU to finish the one before (#4604).
|
|
# Drop this and the folder once a wgpu release has these fixes.
|
|
[patch.crates-io]
|
|
wgpu-hal = { path = "third_party/wgpu-hal" }
|
|
# naga 30.0.1, with the fixes to its GLSL frontend that shader packs need (THIRD_PARTY_NOTICES.md).
|
|
naga = { path = "third_party/naga" }
|
|
# libmimalloc-sys 0.1.49 whose mimalloc v3 counts bits without POPCNT when MSVC builds it: the
|
|
# game died before main on CPUs without it (Core 2, #7264; THIRD_PARTY_NOTICES.md). Drop this and
|
|
# the folder once a libmimalloc-sys release has microsoft/mimalloc#1291's fix.
|
|
libmimalloc-sys = { path = "third_party/libmimalloc-sys" }
|
|
|
|
# Line tables keep file:line in backtraces; full debug info made every
|
|
# example and test binary hundreds of megabytes and slow to link.
|
|
[profile.dev]
|
|
debug = "line-tables-only"
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
|
|
# Optimized but quick-to-link builds for iteration: cargo build --profile fast
|
|
[profile.fast]
|
|
inherits = "release"
|
|
lto = false
|
|
codegen-units = 16
|
|
incremental = true
|