feagi_brain_development/
lib.rs1pub const VERSION: &str = env!("CARGO_PKG_VERSION");
36
37pub mod connectivity;
38pub mod connectome_manager;
39pub mod cortical_type_utils;
40pub mod neuroembryogenesis;
41pub mod region_io_designation;
42mod rng;
43pub mod spatial;
44pub mod types;
45
46pub use connectivity::{
50 apply_block_connection_morphology, apply_expander_morphology, apply_patterns_morphology,
51 apply_projector_morphology, apply_vectors_morphology,
52};
53
54pub use spatial::{morton_decode_3d, morton_encode_3d, MortonSpatialHash, SpatialHashStats};
55
56pub use region_io_designation::{
58 merged_designated_lists, parse_designated_id_list, validate_cross_region_mapping_proposal,
59 validate_merged_designations_against_connectivity, DESIGNATED_INPUTS_KEY,
60 DESIGNATED_OUTPUTS_KEY,
61};
62pub use types::{AreaId, BduError, BduResult, Weight};
63
64pub use feagi_structures::genomic::cortical_area::{
66 CorticalArea, CorticalAreaDimensions as Dimensions, CorticalID,
67};
68pub use feagi_structures::genomic::{BrainRegion, RegionType};
69pub mod models;
70pub use models::{BrainRegionHierarchy, CorticalAreaExt};
71
72pub use types::Position;
74
75pub use feagi_evolutionary::{GenomeParser, GenomeSaver, ParsedGenome};
77
78pub use connectome_manager::{BrainRegionIoRegistry, ConnectomeConfig, ConnectomeManager};
80
81pub use neuroembryogenesis::{DevelopmentProgress, DevelopmentStage, Neuroembryogenesis};
83
84pub use cortical_type_utils::{
86 describe_cortical_type, get_io_data_type, uses_absolute_frames, uses_cartesian_encoding,
87 uses_incremental_frames, uses_percentage_encoding, validate_connectivity,
88};
89
90#[cfg(test)]
91mod tests {
92 use super::*;
93
94 #[test]
95 fn test_basic_projection() {
96 let result = connectivity::rules::syn_projector(
98 "src_area",
99 "dst_area",
100 42,
101 (128, 128, 3),
102 (128, 128, 1),
103 (0, 0, 0),
104 None,
105 None,
106 );
107 assert!(result.is_ok());
108 }
109}