1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//! Parameter sweeps and searches over Henad models, and the folders of results they write.
//!
//! A sweep plans a spec against a model and runs every planned run. A search runs a spec's `[search]` table a batch of
//! candidates at a time. On native, `sweep::run_spec` runs either and blocks until it ends, and `sweep::plan_spec`
//! plans and probes one without running it. [`handle::SweepRun`] runs one beside a host's frame loop, on its own
//! thread on native and pumped from the frames in a browser. [`spec_file`] reads and writes the TOML form of a spec.
//!
//! A sweep writes `manifest.json`, `runs.csv`, `series.csv` and `summary.csv` to a folder or to memory, and a search
//! writes its own tables beside them. [`merge::merge`] joins the folders of a sweep's shards, and
//! [`result_set::ResultSet`] reads a folder back. `benchmark` times a model's step loop, and `testing` holds the
//! checks that a model's tests run against its entry.
// Proving a type that holds wgpu handles `Send` or `Sync` walks wgpu-core's registries, deeper than the default
// limit of 128.
pub
use BuildInfo;
/// Henad's own build, stamped by henad-explore's build script over the engine's crates.
///
/// In Henad's checkout the source hash covers henad-core, henad-build, henad-compute and henad-explore with the
/// workspace's lockfile. In a package it covers henad-explore alone.
pub const ENGINE_BUILD: BuildInfo = build_info!;
/// Hash of henad-explore's own `src` and manifest as 16 hexadecimal digits, empty without a stamp.
pub const CRATE_HASH: &str = match option_env! ;
/// Version of the henad-build that stamped henad-explore, empty without a stamp.
pub const STAMP_VERSION: &str = match option_env! ;