pub struct ResonanceState {
pub instance_id: u64,
pub outgoing: Vec<Pulse>,
pub incoming: Vec<ReceivedPulse>,
pub field: HashMap<(i16, i16, i16), f32>,
}Expand description
Resonance protocol state.
Fields§
§instance_id: u64Our instance ID.
outgoing: Vec<Pulse>Outgoing pulses (emitted by this instance, ready to share).
incoming: Vec<ReceivedPulse>Incoming pulses (received from other instances).
field: HashMap<(i16, i16, i16), f32>Per-coordinate resonance field: accumulates pulse energy at spatial positions. Key: quantized (x, y, z) at resolution 0.05, Value: accumulated strength.
Implementations§
Source§impl ResonanceState
impl ResonanceState
Sourcepub fn load_or_init(output_dir: &Path) -> Self
pub fn load_or_init(output_dir: &Path) -> Self
Load or initialize resonance state.
Sourcepub fn emit_pulse(
&mut self,
activations: &[(u32, f32)],
query_hash: u64,
headers: &[(f32, f32, f32)],
layer_hint: u8,
)
pub fn emit_pulse( &mut self, activations: &[(u32, f32)], query_hash: u64, headers: &[(f32, f32, f32)], layer_hint: u8, )
Emit a pulse from a local query activation.
headers maps block indices to their (x, y, z) coordinates.
Sourcepub fn receive_pulse(
&mut self,
pulse: Pulse,
local_headers: &[(f32, f32, f32)],
proximity_threshold: f32,
) -> u32
pub fn receive_pulse( &mut self, pulse: Pulse, local_headers: &[(f32, f32, f32)], proximity_threshold: f32, ) -> u32
Receive a pulse from another instance. Returns the number of local blocks influenced.
Sourcepub fn integrate_into_hebbian(
&mut self,
hebb: &mut HebbianState,
local_headers: &[(f32, f32, f32)],
proximity_threshold: f32,
) -> usize
pub fn integrate_into_hebbian( &mut self, hebb: &mut HebbianState, local_headers: &[(f32, f32, f32)], proximity_threshold: f32, ) -> usize
Integrate received pulses into Hebbian state. Blocks near pulse activation coordinates get a small energy boost.
Sourcepub fn field_strength(&self, x: f32, y: f32, z: f32) -> f32
pub fn field_strength(&self, x: f32, y: f32, z: f32) -> f32
Get the resonance field strength at a spatial position.
Sourcepub fn decay_field(&mut self, factor: f32)
pub fn decay_field(&mut self, factor: f32)
Decay the resonance field (call periodically).
Sourcepub fn expire_pulses(&mut self)
pub fn expire_pulses(&mut self)
Expire old pulses.
Sourcepub fn stats(&self) -> ResonanceStats
pub fn stats(&self) -> ResonanceStats
Get statistics.
Sourcepub fn export_pulses(&self) -> Vec<u8> ⓘ
pub fn export_pulses(&self) -> Vec<u8> ⓘ
Export outgoing pulses as wire-format bytes for federation.
Sourcepub fn import_pulses(data: &[u8]) -> Vec<Pulse>
pub fn import_pulses(data: &[u8]) -> Vec<Pulse>
Import pulses from wire-format bytes (from another instance).
Auto Trait Implementations§
impl Freeze for ResonanceState
impl RefUnwindSafe for ResonanceState
impl Send for ResonanceState
impl Sync for ResonanceState
impl Unpin for ResonanceState
impl UnsafeUnpin for ResonanceState
impl UnwindSafe for ResonanceState
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
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>
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>
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