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
Simulationwith 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::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::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.