Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Specifications

Every engine is specified subsystem by subsystem, alongside the cross-cutting specs for the shared foundation and the report layer. These documents are the authoritative definitions of Hydra’s behaviour — where a spec and the implementation disagree, the spec wins.

Shared

DocumentScope
crates/common/src/spec.mdFoundation contracts: engine identity, the reportable-output contract
crates/report/src/spec.mdReport templates, document model, and the txt/csv/html renderer formats

Water Distribution (wds)

DocumentScope
crates/engine-wds/src/model/spec.mdData model, unit system, model file formats
crates/engine-wds/src/hydraulics/spec.mdHydraulic engine: GGA solver, sparse Cholesky, valves, demands
crates/engine-wds/src/quality/spec.mdQuality engine: transport, mixing, reactions, source injection
crates/engine-wds/src/simulation/spec.mdSimulation orchestrator: controls, timestep, accounting, session API
crates/engine-wds/src/analysis/spec.mdPost-simulation analytics: demand reliability, service compliance, distributions, the report-block catalog, and the analysis artifact

Urban Drainage (uds) and Open Channel (och)

Not yet written. Both engines are registered but planned — no behaviour has been specified, so there is nothing yet for an implementation to conform to. Their specs land before any implementation code does, as the spec-first workflow requires.