docs/ had 26 developer documents flat beside the manual, and the two audiences are very differently sized: most readers want the manual and the gesture reference, a few want the register, the designs and the measurements. The manual and gestures.md stay at the top; everything for someone changing the code moves to docs/dev/, and the two documents that name their own successors — the v0.1 milestone and the UI-refinement plan — go to docs/dev/archive/ rather than being deleted, since both are still cited. docs/README.md is the index, users first. Every reference follows: code comments, Cargo manifests, the workflows, the pre-commit hook, the bench and traceability tools (which locate the repo root by docs/dev/requirements.md now), packaging, the Docker READMEs, CLAUDE.md, CONTRIBUTING.md and the README. The matrix links one level deeper and is regenerated. Links out of the moved documents into the tree gain a level; a link checker over every Markdown file finds none broken.
53 lines
2.2 KiB
TOML
53 lines
2.2 KiB
TOML
[package]
|
|
name = "dr-inference-engine"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
|
|
# The one crate that names a runtime, a provider, a vendor library or a
|
|
# device (docs/dev/inference.md §8). `dr-face` and `dr-segment` ask it for a
|
|
# session by role and never see which of these answered.
|
|
|
|
[dependencies]
|
|
thiserror.workspace = true
|
|
log.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
|
|
# `ort` is the API; what supplies it is decided once per process (§3):
|
|
# `libonnxruntime` found on disk, or `tract`. Both are behind
|
|
# `alternative-backend`, so nothing here links C on any target.
|
|
ort = { workspace = true }
|
|
ort-tract = { workspace = true, optional = true }
|
|
# dlopen, and the C types of the table it fetches. Both pure Rust;
|
|
# `libloading` is already in the tree through wgpu.
|
|
libloading = { version = "0.8", optional = true }
|
|
ort-sys = { version = "2.0.0-rc.13", default-features = false, features = ["disable-linking"], optional = true }
|
|
|
|
# The NVIDIA rungs exist on the desktop only. These features add `ort`'s
|
|
# option builders and nothing else — no linking under `alternative-backend` —
|
|
# but an Android binary has no business carrying even the option names, and
|
|
# the packaging must never be tempted to (§2, §3.1). The AMD rung needs no
|
|
# feature: MIGraphX is registered through the runtime's generic key/value
|
|
# entry point (`session::migraphx`), because `ort`'s own builder cannot
|
|
# name the compiled-program cache.
|
|
[target.'cfg(not(target_os = "android"))'.dependencies]
|
|
ort = { workspace = true, features = ["cuda", "tensorrt"] }
|
|
|
|
[target.'cfg(target_os = "android")'.dependencies]
|
|
ort = { workspace = true, features = ["qnn"] }
|
|
|
|
[features]
|
|
# The floor: `tract` supplies the API table when no runtime file is found, or
|
|
# always, in a build without `native`. Tests want this and nothing else.
|
|
default = ["tract"]
|
|
tract = ["dep:ort-tract"]
|
|
# Look for `libonnxruntime` on disk and hand its table to `ort`.
|
|
native = ["dep:libloading", "dep:ort-sys"]
|
|
|
|
[dev-dependencies]
|
|
# The `ep_probe` example prints the provider's own diagnostics, which is most
|
|
# of what a failed rung tells you.
|
|
env_logger.workspace = true
|