Skip to main content

Crate behaviorsim_rs

Crate behaviorsim_rs 

Source
Expand description

Behavioral Pathways

Domain-agnostic library for modeling individual psychology and social dynamics.

This library provides tools for simulating how entities (humans, animals) think, feel, relate, and change over time using established psychological frameworks.

§Core Concepts

  • Entity: A living individual with psychological state
  • StateValue: A dimension with base value, delta, and decay behavior
  • Species: Determines lifespan and psychological time scaling
  • LifeStage: Developmental stage affecting plasticity and event impact
  • IndividualState: Aggregate container for all psychological state

§Psychological Frameworks

  • PAD Model: Pleasure-Arousal-Dominance for affect representation
  • HEXACO: Six-factor personality model
  • ITS: Joiner’s Interpersonal Theory of Suicide for mental health
  • PPCT: Bronfenbrenner’s Person-Process-Context-Time model

§Example

use behaviorsim_rs::entity::EntityBuilder;
use behaviorsim_rs::enums::{Species, MoodPath, StatePath};

// Create an entity with the builder
let entity = EntityBuilder::new()
    .species(Species::Human)
    .age(behaviorsim_rs::Duration::years(30))
    .build()
    .unwrap();

assert_eq!(entity.species(), &Species::Human);

// Access state via typed paths
let valence = entity.get_effective(StatePath::Mood(MoodPath::Valence));

§Consumer API Model

The consumer API is timestamp-based:

  • Create a Simulation with a reference date
  • Add entities with an anchor timestamp (their known state at a point in time)
  • Query state at any timestamp via state_at(timestamp)
  • Each query computes fresh from declared data (no persistence)

Internal methods like advance(), regress_by(), apply_decay(), and reverse_decay() are implementation details used by state_at() and should not be called directly by consumers.

Re-exports§

pub use entity::AffectiveState;
pub use entity::Entity;
pub use entity::EntityBuildError;
pub use entity::EntityBuilder;
pub use entity::PhysiologicalState;
pub use enums::ActionStakes;
pub use enums::AlertSeverity;
pub use enums::AlertTrigger;
pub use enums::ApparentGender;
pub use enums::ApparentRace;
pub use enums::Attribution;
pub use enums::AttributionStability;
pub use enums::BirthEra;
pub use enums::ChronosystemPath;
pub use enums::ContextPath;
pub use enums::Direction;
pub use enums::DirectionalPath;
pub use enums::DispositionPath;
pub use enums::EducationPath;
pub use enums::Emotion;
pub use enums::EventPayload;
pub use enums::EventType;
pub use enums::ExosystemPath;
pub use enums::FamilyPath;
pub use enums::HealthcarePath;
pub use enums::HexacoPath;
pub use enums::HistoricalEventType;
pub use enums::HistoricalScope;
pub use enums::InteractionTopic;
pub use enums::LifeDomain;
pub use enums::LifeStage;
pub use enums::LossType;
pub use enums::MacrosystemPath;
pub use enums::MentalHealthPath;
pub use enums::MicrosystemPath;
pub use enums::MoodPath;
pub use enums::NeedsPath;
pub use enums::NeighborhoodPath;
pub use enums::PersonCharacteristicsPath;
pub use enums::PersonalityProfile;
pub use enums::PolicyArea;
pub use enums::RealizationType;
pub use enums::RelPath;
pub use enums::RelationshipSchema;
pub use enums::ReligiousPath;
pub use enums::ReversibilityError;
pub use enums::ReversibilityResult;
pub use enums::SharedPath;
pub use enums::SocialCognitionPath;
pub use enums::SocialPath;
pub use enums::Species;
pub use enums::SpiralType;
pub use enums::StatePath;
pub use enums::SupportType;
pub use enums::TraumaType;
pub use enums::TrustPath;
pub use enums::VisibleTrait;
pub use enums::WeaponType;
pub use enums::WorkPath;
pub use context::passes_proximal_process_gate;
pub use context::ChronosystemContext;
pub use context::CohortEffects;
pub use context::CriticalPeriod;
pub use context::CulturalOrientation;
pub use context::EcologicalContext;
pub use context::EducationContext;
pub use context::ExosystemContext;
pub use context::FamilyContext;
pub use context::FamilyRole;
pub use context::HealthcareContext;
pub use context::HistoricalPeriod;
pub use context::InstitutionalStructure;
pub use context::InteractionProfile;
pub use context::MacrosystemConstraintSet;
pub use context::MacrosystemContext;
pub use context::MesosystemCache;
pub use context::MesosystemLinkage;
pub use context::Microsystem;
pub use context::MicrosystemType;
pub use context::NeighborhoodContext;
pub use context::NonNormativeEvent;
pub use context::NormativeTransition;
pub use context::ParentWorkQuality;
pub use context::ProximalProcessGateError;
pub use context::ReligiousContext;
pub use context::SocialContext;
pub use context::TurningPoint;
pub use context::TurningPointDomain;
pub use context::WorkContext;
pub use context::CulturalShift;
pub use context::INTERACTION_COMPLEXITY_THRESHOLD;
pub use context::INTERACTION_FREQUENCY_THRESHOLD;
pub use context::INTERACTION_RECIPROCITY_THRESHOLD;
pub use simulation::AnchoredEntity;
pub use simulation::ComputedState;
pub use simulation::EntityQueryHandle;
pub use simulation::RegressionQuality;
pub use simulation::Simulation;
pub use simulation::SimulationBuildError;
pub use simulation::SimulationBuilder;
pub use simulation::TimestampedEvent;
pub use simulation::TimestampedRelationship;
pub use state::age_plasticity;
pub use state::apply_formative_modifiers;
pub use state::combined_plasticity;
pub use state::cumulative_in_direction;
pub use state::effective_base_at;
pub use state::saturation_factor;
pub use state::sensitive_period_modifier;
pub use state::species_plasticity_modifier;
pub use state::stability_coefficient;
pub use state::trait_modifier;
pub use state::BaseShiftRecord;
pub use state::Disposition;
pub use state::EntityModelConfig;
pub use state::Hexaco;
pub use state::is_ac_present;
pub use state::DemandCharacteristics;
pub use state::IndividualState;
pub use state::ITSRiskLevel;
pub use state::MentalHealth;
pub use state::Mood;
pub use state::Needs;
pub use state::PersonCharacteristics;
pub use state::SocialCognition;
pub use state::StateValue;
pub use state::AC_PRESENCE_THRESHOLD;
pub use state::CUMULATIVE_CAP;
pub use state::HOPELESSNESS_THRESHOLD;
pub use state::MAX_SINGLE_EVENT_SHIFT;
pub use state::PB_PRESENT_THRESHOLD;
pub use state::SATURATION_CONSTANT;
pub use state::SETTLING_DAYS;
pub use state::SEVERE_SHIFT_RETENTION;
pub use state::SEVERE_SHIFT_THRESHOLD;
pub use state::TB_PRESENT_THRESHOLD;
pub use relationship::AntecedentDirection;
pub use relationship::AntecedentType;
pub use relationship::DirectionalDimensions;
pub use relationship::InteractionPattern;
pub use relationship::PerceivedRisk;
pub use relationship::Relationship;
pub use relationship::RelationshipError;
pub use relationship::RelationshipStage;
pub use relationship::SharedDimensions;
pub use relationship::TrustAntecedent;
pub use relationship::TrustContext;
pub use relationship::TrustDecision;
pub use relationship::TrustworthinessFactors;
pub use event::arousal_weight_for_species;
pub use event::compute_arousal_modulated_salience;
pub use event::Event;
pub use event::EventBuildError;
pub use event::EventBuilder;
pub use event::AROUSAL_CEILING;
pub use event::AROUSAL_THRESHOLD;
pub use event::AROUSAL_WEIGHT_ANIMAL;
pub use event::AROUSAL_WEIGHT_HUMAN;
pub use event::AROUSAL_WEIGHT_ROBOTIC;
pub use event::EXTREME_AROUSAL_IMPAIRMENT;
pub use event::NEGATIVITY_BIAS_MULTIPLIER;
pub use types::duration_to_timestamp;
pub use types::timestamp_to_duration;
pub use types::Alert;
pub use types::Duration;
pub use types::EntityId;
pub use types::EventId;
pub use types::GroupId;
pub use types::MemoryId;
pub use types::MicrosystemId;
pub use types::RelationshipId;
pub use types::RelationshipSlot;
pub use types::Timestamp;
pub use types::TimestampParseError;

Modules§

context
Ecological context system for Bronfenbrenner’s bioecological model.
entity
Entity system for behavioral pathways.
enums
Enum definitions for behavioral pathways.
event
Event module for behavioral pathways.
memory
Memory subsystem for behavioral pathways.
relationship
Relationship modeling for behavioral pathways.
simulation
Simulation container for timestamp-based state queries.
state
State management for behavioral pathways.
types
Type definitions for behavioral pathways.