axiolid_contracts/
backend.rs

1//! Open backend contract. Implementations live in separate crates.
2
3use crate::BackendDescriptor;
4
5/// Runtime geometry backend metadata.
6///
7/// The trait is intentionally unsealed: a downstream x86, ARM, CUDA, Metal,
8/// WebGPU, or domain-specific accelerator crate owns its backend type and can
9/// implement this trait without modifying Axiolid.
10pub trait Backend: core::fmt::Debug + Send + Sync {
11    /// Runtime descriptor and capability inventory.
12    fn descriptor(&self) -> BackendDescriptor;
13}