End-to-end determinism guard. cascade_golden.rs pins two artifacts for a real committed body heightmap (GJ1c) in one diffable JSON golden (server/tests/golden/cascade_layer1.json): - Layer 0: SHA-256 of the source heightmap.png bytes (flips if the Python heightmap generator or the file changes) - Layer 1: the serialized Layer1Output of run_cascade on a 128x64 downsample (flips if the Rust drainage/feature/sub-biome code changes) JSON (not the msgpack discussed in refinement) to match the existing golden_suite.rs convention and stay diffable — a failure shows what drifted. UPDATE_GOLDEN=1 regenerates; wired into `make golden-update`. Adds Serialize/Deserialize to RiverNetwork/DrainageBasin/Layer1Output and a sha2 dev-dependency. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
57 lines
2.0 KiB
TOML
57 lines
2.0 KiB
TOML
[package]
|
|
name = "settled-reach-server"
|
|
version = "0.2.0"
|
|
edition = "2021"
|
|
publish = false
|
|
|
|
[dependencies]
|
|
bevy_ecs = "0.18"
|
|
bevy_app = "0.18"
|
|
# multi_threaded enables Bevy's parallel system executor (no explicit import needed —
|
|
# bevy_ecs detects the feature on its bevy_tasks dependency at compile time).
|
|
bevy_tasks = { version = "0.18", features = ["multi_threaded"] }
|
|
# par_iter infrastructure for data-parallel systems. Not yet called — candidate
|
|
# systems marked with TODO comments. Active use begins when profiling shows bottlenecks.
|
|
rayon = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
ron = "0.8"
|
|
rmp-serde = "1"
|
|
rand = "0.9"
|
|
rand_chacha = "0.9"
|
|
pathfinding = "4.11"
|
|
thiserror = "2"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
|
clap = { version = "4", features = ["derive"] }
|
|
crossbeam-channel = "0.5"
|
|
sysinfo = "0.35"
|
|
serde_json = "1"
|
|
rusqlite = { version = "0.32", features = ["bundled"] }
|
|
bytemuck = "1"
|
|
png = "0.17"
|
|
toml = "0.8"
|
|
aho-corasick = "1"
|
|
# Economics simulation — Leontief + tâtonnement + D-180 event port (#821)
|
|
econ-sim = { path = "../tooling/econ-sim" }
|
|
|
|
[features]
|
|
default = ["gauntlet"]
|
|
gauntlet = []
|
|
|
|
[dev-dependencies]
|
|
# Maintained drop-in fork of the deprecated serde_yaml 0.9 (#966). Test-only:
|
|
# the YAML round-trip in poi.rs and the trait-config fixture in trait_modifiers.rs.
|
|
serde_norway = "0.9"
|
|
# SHA-256 of the source heightmap.png in the cascade golden test (#952).
|
|
sha2 = "0.10"
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Explicit test target for the Layer 3 integration module (D-030, ticket #200).
|
|
# tests/integration/mod.rs cannot be auto-discovered by cargo (only top-level
|
|
# *.rs files in tests/ are auto-discovered). This declaration makes it a named
|
|
# test binary: `cargo test --test integration_layer3`.
|
|
# ---------------------------------------------------------------------------
|
|
[[test]]
|
|
name = "integration_layer3"
|
|
path = "tests/integration/mod.rs"
|