43 lines
1.5 KiB
TOML
43 lines
1.5 KiB
TOML
[package]
|
|
name = "nvsim"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
description = "Deterministic NV-diamond magnetometer pipeline simulator (source -> propagation -> NV ensemble -> ADC + lockin demod)"
|
|
repository.workspace = true
|
|
keywords = ["nv-diamond", "magnetometer", "simulator", "physics", "biot-savart"]
|
|
categories = ["science", "simulation"]
|
|
readme = "README.md"
|
|
|
|
# `nvsim` is a standalone leaf crate. It deliberately has NO internal RuView
|
|
# dependencies — see `docs/research/quantum-sensing/15-nvsim-implementation-plan.md`
|
|
# §1.1 for the rationale. RuView integration (frame format alignment with
|
|
# `wifi-densepose-core::FrameKind`, ruvector trace compression, etc.) is
|
|
# tracked as Optional Integrations in a follow-up section of the README and
|
|
# lands behind feature flags after the core simulator is shipping.
|
|
[dependencies]
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
|
|
# Pass 4: deterministic ChaCha20 PRNG for shot-noise sampling. Same
|
|
# `(scene, seed)` produces byte-identical outputs across runs and machines —
|
|
# the determinism commitment in plan §5.
|
|
rand = "0.8"
|
|
rand_chacha = "0.3"
|
|
|
|
# Pass 5: SHA-256 over concatenated MagFrame bytes is the simulator's
|
|
# content-addressable witness. Same scene + seed → same digest, the
|
|
# foundation of Pass 6's proof bundle.
|
|
sha2 = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
approx = "0.5"
|
|
criterion = { workspace = true }
|
|
|
|
[[bench]]
|
|
name = "pipeline_throughput"
|
|
harness = false
|