pub struct FunctionalPlasticity {
pub areas: HashMap<u64, FunctionalArea>,
pub sensorimotor_maps: Vec<SensoriMotorMap>,
pub crossmodal_connections: HashMap<(u64, u64), f32>,
pub damage_compensation: HashMap<u64, f32>,
}Fields§
§areas: HashMap<u64, FunctionalArea>§sensorimotor_maps: Vec<SensoriMotorMap>§crossmodal_connections: HashMap<(u64, u64), f32>§damage_compensation: HashMap<u64, f32>Implementations§
Source§impl FunctionalPlasticity
impl FunctionalPlasticity
pub fn new() -> Self
Sourcepub fn create_area(
&mut self,
name: &str,
domain: &str,
seed_blocks: Vec<u32>,
) -> u64
pub fn create_area( &mut self, name: &str, domain: &str, seed_blocks: Vec<u32>, ) -> u64
Create functional area (e.g., visual cortex)
Sourcepub fn map_sensorimotor(&mut self, input: u32, outputs: Vec<u32>) -> f32
pub fn map_sensorimotor(&mut self, input: u32, outputs: Vec<u32>) -> f32
Create sensorimotor mapping (input -> output)
Sourcepub fn remap_pathway(&mut self, old_input: u32, new_input: u32) -> bool
pub fn remap_pathway(&mut self, old_input: u32, new_input: u32) -> bool
Remap sensorimotor pathway (plasticity in action)
Sourcepub fn connect_areas(&mut self, area1_id: u64, area2_id: u64) -> bool
pub fn connect_areas(&mut self, area1_id: u64, area2_id: u64) -> bool
Create cross-modal connection (area1 <-> area2)
Sourcepub fn strengthen_crossmodal(
&mut self,
area1_id: u64,
area2_id: u64,
use_success: bool,
)
pub fn strengthen_crossmodal( &mut self, area1_id: u64, area2_id: u64, use_success: bool, )
Strengthen cross-modal connection
Sourcepub fn damage_area(&mut self, area_id: u64, severity: f32)
pub fn damage_area(&mut self, area_id: u64, severity: f32)
Simulate area damage and trigger compensation
Sourcepub fn recover_compensation(&mut self, area_id: u64, recovery_rate: f32) -> f32
pub fn recover_compensation(&mut self, area_id: u64, recovery_rate: f32) -> f32
Recover compensation (gradual adaptation)
Sourcepub fn areas_by_domain(&self, domain: &str) -> Vec<&FunctionalArea>
pub fn areas_by_domain(&self, domain: &str) -> Vec<&FunctionalArea>
Get areas by domain
pub fn save(&self, dir: &Path) -> Result<(), String>
pub fn load(dir: &Path) -> Result<Self, String>
pub fn load_or_init(dir: &Path) -> Self
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FunctionalPlasticity
impl RefUnwindSafe for FunctionalPlasticity
impl Send for FunctionalPlasticity
impl Sync for FunctionalPlasticity
impl Unpin for FunctionalPlasticity
impl UnsafeUnpin for FunctionalPlasticity
impl UnwindSafe for FunctionalPlasticity
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more