Skip to main content

feagi_brain_development/models/
mod.rs

1// Copyright 2025 Neuraville Inc.
2// SPDX-License-Identifier: Apache-2.0
3
4/*!
5Core data models for FEAGI BDU.
6
7This module contains the fundamental data structures that represent the
8brain's architecture, including cortical areas, brain regions, and their
9hierarchical organization.
10
11## Architecture
12
13Mirrors the Python BDU models while leveraging Rust's type system for safety:
14- `CorticalArea`: Individual processing areas (sensory, motor, memory)
15- `BrainRegion`: Hierarchical organization of cortical areas
16- `BrainRegionHierarchy`: Tree structure of brain regions
17
18## Design Principles
19
201. **Type Safety**: Use Rust's strong typing to prevent invalid states
212. **Immutability**: Core properties are immutable; updates create new instances
223. **Validation**: All constructors validate invariants
234. **Performance**: Optimized for the hot path (connectome queries)
245. **Serializability**: All types implement Serialize/Deserialize for genome I/O
25
26Copyright 2025 Neuraville Inc.
27Licensed under the Apache License, Version 2.0
28*/
29
30pub mod brain_region_hierarchy;
31pub mod cortical_area;
32
33// Re-export CorticalArea types from feagi_data_structures (single source of truth)
34pub use feagi_structures::genomic::cortical_area::{
35    CorticalArea, CorticalAreaDimensions, CorticalID,
36};
37
38// Re-export extension trait for business logic
39pub use cortical_area::CorticalAreaExt;
40
41// BrainRegion and RegionType now come from feagi_data_structures
42pub use brain_region_hierarchy::BrainRegionHierarchy;
43pub use feagi_structures::genomic::{BrainRegion, RegionType};