1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3pub mod adapter;
44pub mod browse;
45pub mod capability;
46mod citizen;
47pub mod compile;
48pub mod cookbook;
49pub mod diagram;
50pub mod error;
51pub mod instrument;
52pub mod model;
53pub mod package;
54pub mod parse;
55pub mod patch;
56pub mod place;
57mod place_latency;
58mod record;
59pub mod reflect;
60pub mod registry;
61pub mod replay;
62pub mod run;
63mod run_cells;
64mod run_contract;
65mod run_nonlinear;
66mod run_predicate;
67pub mod site;
68pub mod text;
69pub mod validate;
70pub mod verb;
71
72pub use adapter::{TopologyAdapter, TopologyAdapterRegistry};
73pub use browse::{
74 TopologyExampleSpec, TopologyFunctionSpec, TopologyVerbSpec, topology_browse_symbols,
75 topology_card_expr, topology_example_specs, topology_function_specs, topology_verb_specs,
76};
77pub use capability::{
78 topology_file_capability, topology_reflect_capability, topology_run_capability,
79 topology_write_capability,
80};
81pub use citizen::{
82 TopologyEdgeDescriptor, TopologyNodeDescriptor, TopologyPackageDescriptor,
83 topology_edge_class_symbol, topology_node_class_symbol, topology_package_class_symbol,
84};
85pub use compile::{CompiledGraph, compile_graph};
86pub use cookbook::{embodied_intelligence_trace_demo, tiny_graph_demo};
87pub use instrument::{
88 InstrumentTopologyAdapter, InstrumentTopologyCord, InstrumentTopologyJack,
89 InstrumentTopologyModule, InstrumentTopologySpec,
90};
91pub use model::{
92 Budget, BudgetExhausted, Cell, Edge, EdgeId, Graph, GraphTest, Node, NodeId, Port, PortMode,
93 PortRef, Scheduler, SchedulerMode,
94};
95pub use package::{TopologyPackage, TopologyPackageSource, load_package_file, parse_package};
96pub use parse::{graph_from_value, parse_graph};
97pub use patch::{
98 PatchOp, TopologyPatch, apply_topology_patch, apply_topology_patch_ops, patched_connection,
99};
100pub use place::{
101 DomainBridge, PlacedNode, PlacementNodeProfile, PlacementRefusal, PlacementRefusalReason,
102 PlacementReport, PortLatency, SiteId, SiteMap, SiteProfile, place, place_graph,
103};
104pub use reflect::{
105 ReflectedCell, ReflectedNode, TopologyEdgeVisit, TopologyHistory, TopologyRecordedReply,
106 TopologyRunReport, TopologyVisit, topology_explain, topology_reflect, topology_reflect_graph,
107 topology_reflect_run,
108};
109pub use registry::{
110 SharedTopologyRegistry, TopologyEntry, TopologyLib, TopologyRegistry, install_topology_lib,
111 manifest_name as topology_manifest_name, topology_def, topology_exports, topology_get,
112 topology_list, topology_load_file, topology_load_source, topology_reload, topology_remove,
113 topology_site_symbol,
114};
115pub use replay::{TopologyCounterfactual, counterfactual_replay, replay_report};
116pub use site::{TopologyConnection, connection_from_graph};
117
118pub static RECIPES: sim_cookbook::EmbeddedDir =
120 include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));
121
122#[cfg(test)]
123mod tests;