daedalus_registry/
lib.rs

1//! Unified node/value registry. See `PLAN.md` for roadmap and layering rules.
2//! Deterministic ordering is required; no backend/GPU types appear here.
3//!
4//! # Feature Matrix
5//! - `default`: core registry (nodes/values/converters).
6//! - `bundle`: bundle loader APIs.
7//! - `plugin`: plugin adapters (alias `plugins` available).
8//! - `ffi`: FFI adapters.
9//! - `gpu`: only to forward feature flags to converter graph; no GPU backend types leak.
10//!
11//! Concurrency: wrap `Registry` in `Arc<RwLock<_>>` if shared; internal structures are deterministic and `Send + Sync`.
12
13pub mod convert;
14pub mod diagnostics;
15pub mod ids;
16pub mod store;
17
18#[cfg(feature = "bundle")]
19pub mod bundle;
20#[cfg(feature = "ffi")]
21pub mod ffi;
22#[cfg(feature = "plugin")]
23pub mod plugin;
24
25pub mod prelude {
26    pub use crate::diagnostics::{RegistryError, RegistryErrorCode, RegistryResult};
27    pub use crate::ids::NodeId;
28    pub use crate::store::{NodeDescriptor, Registry, RegistryView};
29    pub use daedalus_data::convert::{ConversionResolution, ConverterId};
30    pub use daedalus_data::descriptor::{DataDescriptor, DescriptorId, DescriptorVersion};
31    pub use daedalus_data::model::TypeExpr;
32}