1pub mod acceleration;
4pub mod algorithms;
5pub mod cfg_store;
6pub mod cypher_4d;
7pub mod spatial;
8pub mod storage;
9pub mod telemetry;
10
11pub use algorithms::astar::{CfgGraphNode, CfgPath, PathComplexity};
13pub use algorithms::complexity::{ComplexityBlock, ComplexityRating, ComplexityResult};
14pub use algorithms::dominance::{compute_dominance, compute_dominance_frontier, DominanceResult};
15pub use algorithms::four_d::{
16 articulation_points_4d, astar_find_path_4d, bridges_4d, earliest_arrival_path_4d,
17 fastest_temporal_path_4d, reachable_4d, strongly_connected_components_4d,
18 time_dependent_dijkstra_4d, GraphNode4D, GraphPath4D, GraphProperties, SpatialRegion,
19 TemporalArrival4D, TemporalDijkstraResult4D, TemporalEdge, TemporalJourney4D, TemporalWindow,
20 TraversalContext4D,
21};
22pub use algorithms::loop_detection::{LoopAnalysisResult, LoopBlock, LoopInfo};
23pub use algorithms::natural_loops::{find_back_edges, find_natural_loops, NaturalLoop};
24pub use algorithms::scc::{condense_graph, find_cycles, has_cycles, tarjan_scc, SccResult};
25pub use algorithms::slicing::{backward_slice, forward_slice, SliceResult};
26pub use algorithms::topo_sort::{
27 critical_path_length, is_dag, topological_sort, TopoError, TopoResult,
28};
29pub use algorithms::transitive::{transitive_closure, transitive_reduction, ReachabilityResult};
30pub use cypher_4d::{query_4d, GeoCypherError, GeoCypherResult, GeoCypherRow};
31pub use telemetry::{LoopGuard, OpTracer};
32
33pub use storage::{
35 build_spatial_pages, BoundingBox, DualEdgeType, DualGraph, DualVertex, OctreeNode,
36 OctreePageStore, SpatialPage, SpatialPageHeader,
37};
38
39pub const VERSION: &str = env!("CARGO_PKG_VERSION");
41
42pub use storage::{
44 GeoFileHeader, Section, SectionEntry, SectionedStorage, FILE_MAGIC, FORMAT_VERSION,
45 HEADER_SIZE, HEADER_SIZE_USIZE, MAX_SECTION_NAME_LEN, SECTION_ENTRY_SIZE,
46 SECTION_ENTRY_SIZE_USIZE,
47};
48
49pub use storage::{all_sidecar_paths, geo_cfg_path, geo_complexity_path, geo_idx_path};
51
52pub use storage::{load_graph4d, save_graph4d};
54
55pub use storage::{
57 CfgData, CfgEdge, CfgSectionAdapter, GraphData, GraphSectionAdapter, SerializableCfgBlock,
58};
59
60pub use storage::prop_store::{build_prop_store, lookup, read_prop_store, write_prop_store};
62pub use storage::prop_store::{NodeProperties, PropLookupEntry, PropStore, PropertyValue};