Files
settled-reach/server/Cargo.toml
T
jpmschweitzerandClaude Opus 4.7 aaee9ecb06 test(simulation): golden-seed regression for the Layer 0->1 cascade (#952, D-200)
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>
2026-05-23 12:26:07 +02:00

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"