6396e8c161
tools/parity.py traces each harness (its Python, Java oracle sources and the Rust sources of the probes it runs, from Cargo's dep-info) and reruns it only when one of those, the vanilla artifacts or the toolchains change. Harnesses run in parallel within the available memory, and their probes build without LTO and with 16 codegen units into .local/parity-target: a one-line change rebuilds every horizon-world probe in 3 seconds instead of 122. The full suite takes about 20 minutes instead of an hour. tools/gate.py is the check a branch passes before integration, and tools/supervise.py manages the per-area worktrees: status, new worktrees, saving unfinished work, and integrating a branch only when the gate passes. Harnesses find probes through lab.cargo_target() instead of a hard-coded target/, the save round-trip harness builds the binaries it launches, and the mob AI harness now fails on divergences like every other harness (--report-only keeps the old behaviour). Debug builds keep line tables only, so worktrees stay small. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
944 B
TOML
33 lines
944 B
TOML
[workspace]
|
|
members = ["crates/horizon-core", "crates/horizon-world", "crates/voxel-kernels", "crates/horizon-client", "crates/horizon-assets", "crates/horizon-protocol"]
|
|
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"
|
|
|
|
# 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
|