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}