pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub mod connectivity;
pub mod connectome_manager;
pub mod cortical_type_utils;
pub mod neuroembryogenesis;
pub mod region_io_designation;
mod rng;
pub mod spatial;
pub mod types;
pub use connectivity::{
apply_block_connection_morphology, apply_expander_morphology, apply_patterns_morphology,
apply_projector_morphology, apply_vectors_morphology,
};
pub use spatial::{morton_decode_3d, morton_encode_3d, MortonSpatialHash, SpatialHashStats};
pub use region_io_designation::{
merged_designated_lists, parse_designated_id_list, validate_cross_region_mapping_proposal,
validate_merged_designations_against_connectivity, DESIGNATED_INPUTS_KEY,
DESIGNATED_OUTPUTS_KEY,
};
pub use types::{AreaId, BduError, BduResult, Weight};
pub use feagi_structures::genomic::cortical_area::{
CorticalArea, CorticalAreaDimensions as Dimensions, CorticalID,
};
pub use feagi_structures::genomic::{BrainRegion, RegionType};
pub mod models;
pub use models::{BrainRegionHierarchy, CorticalAreaExt};
pub use types::Position;
pub use feagi_evolutionary::{GenomeParser, GenomeSaver, ParsedGenome};
pub use connectome_manager::{BrainRegionIoRegistry, ConnectomeConfig, ConnectomeManager};
pub use neuroembryogenesis::{DevelopmentProgress, DevelopmentStage, Neuroembryogenesis};
pub use cortical_type_utils::{
describe_cortical_type, get_io_data_type, uses_absolute_frames, uses_cartesian_encoding,
uses_incremental_frames, uses_percentage_encoding, validate_connectivity,
};
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_basic_projection() {
let result = connectivity::rules::syn_projector(
"src_area",
"dst_area",
42,
(128, 128, 3),
(128, 128, 1),
(0, 0, 0),
None,
None,
);
assert!(result.is_ok());
}
}