character_traits_relational_expectations/
relational_preference.rs

1// ---------------- [ File: character-traits-relational-expectations/src/relational_preference.rs ]
2crate::ix!();
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum RelationalPreference {
6    BoldnessAndDirectness,
7    CulturallySensitiveAndRespectfulPartners,
8    DeepMeaningfulConnections,
9    DeepMutualRespect,
10    DeepMutualTrustInRelationships,
11    DeepMutualUnderstanding,
12    DeepUnderstandingOfJusticeAndIndependence,
13    EmotionalDepth,
14    GentlenessAndAdaptabilityInRelationships,
15    GenuineIntentionsAndTrustworthiness,
16    HarmoniousRelationships,
17    HonestyAndDirectCommunication,
18    HumbleAndSelflessPartners,
19    InsightOverCharm,
20    IntellectualAndCulturalEngagement,
21    IntellectualAndRealisticEngagement,
22    IntellectualEngagement,
23    IntellectualStimulation,
24    IntellectuallyEngagingPartners,
25    IntelligentAndStimulatingPartners,
26    MeaningfulDeepConnections,
27    MutualRespectAndDiscretion,
28    MutualRespectAndIntellectualPartnership,
29    MutualTrustAndDependability,
30    OpenAndFlexibleRelationships,
31    OpenMindedAndDigitallyAdaptivePartners,
32    PartnersAttunedToNatureAndPerformance,
33    PartnersComfortableWithEmotionalDistance,
34    PartnersCommittedToInnovation,
35    PartnersCommittedToJusticeAndWisdom,
36    PartnersEngagedInLearningAndExploration,
37    PartnersUnderstandingOfIntensity,
38    PartnersWhoAcceptDualNature,
39    PartnersWhoAppreciateDualNature,
40    PartnersWhoAppreciateSpontaneity,
41    PartnersWhoEmbraceMystery,
42    PartnersWhoMatchIntensity,
43    PartnersWhoUnderstandCommunityDynamics,
44    PartnersWhoUnderstandComplexEmotions,
45    PartnersWhoUnderstandComplexity,
46    PartnersWillingToEmbraceTransformation,
47    QuietMutualRespectInRelationships,
48    RelationshipsBasedOnHumilityAndCompassion,
49    RelationshipsBasedOnMeritAndAbility,
50    RespectfulAndEmpatheticPartners,
51    Sincerity,
52    StraightforwardAndHonestPartners,
53    SupportiveAndCompliantPartners,
54}
55
56#[derive(Clone, Debug, Serialize, Deserialize, Builder, Getters)]
57#[builder(pattern = "owned")]
58#[getset(get = "pub")]
59pub struct RelationalPreferenceIntrinsicDimensionRatings {
60    intellectual_stimulation: f64,
61    emotional_depth:          f64,
62    virtue_authenticity:      f64,
63    independence_flexibility: f64,
64    cultural_alignment:       f64,
65    spiritual_alignment:      f64,
66    novelty_adventure:        f64,
67    empathy_compassion:       f64,
68    communication_style:      f64,
69    loyalty_trust:            f64,
70}
71
72macro_rules! relational_preference_intrinsic_ratings {
73    (
74        $intel:expr, $emotion:expr, $virtue:expr, $independence:expr,
75        $culture:expr, $spirit:expr, $novel:expr, $empathy:expr,
76        $comm:expr, $loyal:expr
77    ) => {
78        RelationalPreferenceIntrinsicDimensionRatingsBuilder::default()
79            .intellectual_stimulation(expand_spread($intel))
80            .emotional_depth(expand_spread($emotion))
81            .virtue_authenticity(expand_spread($virtue))
82            .independence_flexibility(expand_spread($independence))
83            .cultural_alignment(expand_spread($culture))
84            .spiritual_alignment(expand_spread($spirit))
85            .novelty_adventure(expand_spread($novel))
86            .empathy_compassion(expand_spread($empathy))
87            .communication_style(expand_spread($comm))
88            .loyalty_trust(expand_spread($loyal))
89            .build()
90            .unwrap()
91    };
92}
93
94impl RelationalPreference {
95    pub fn intrinsic_ratings(&self) -> RelationalPreferenceIntrinsicDimensionRatings {
96        trace!(variant = ?self, "Computing RelationalPreference intrinsic ratings");
97        use RelationalPreference::*;
98        match self {
99            BoldnessAndDirectness                     => relational_preference_intrinsic_ratings!(0.75,0.70,0.70,0.85,0.70,0.60,0.80,0.65,1.00,0.70),
100            CulturallySensitiveAndRespectfulPartners  => relational_preference_intrinsic_ratings!(0.75,0.75,0.80,0.75,1.00,0.70,0.70,0.80,0.80,0.80),
101            DeepMeaningfulConnections                 => relational_preference_intrinsic_ratings!(0.80,0.95,0.85,0.70,0.75,0.70,0.70,0.85,0.80,0.85),
102            DeepMutualRespect                         => relational_preference_intrinsic_ratings!(0.75,0.85,0.90,0.75,0.80,0.70,0.70,0.85,0.80,0.90),
103            DeepMutualTrustInRelationships            => relational_preference_intrinsic_ratings!(0.75,0.85,0.90,0.75,0.80,0.70,0.70,0.85,0.80,1.00),
104            DeepMutualUnderstanding                   => relational_preference_intrinsic_ratings!(0.80,0.90,0.85,0.75,0.80,0.70,0.70,0.90,0.80,0.90),
105            DeepUnderstandingOfJusticeAndIndependence => relational_preference_intrinsic_ratings!(0.85,0.90,0.90,0.90,0.80,0.75,0.70,0.85,0.80,0.90),
106            EmotionalDepth                            => relational_preference_intrinsic_ratings!(0.75,1.00,0.80,0.70,0.70,0.60,0.70,0.90,0.80,0.80),
107            GentlenessAndAdaptabilityInRelationships  => relational_preference_intrinsic_ratings!(0.70,0.80,0.80,0.85,0.75,0.70,0.70,0.90,0.75,0.80),
108            GenuineIntentionsAndTrustworthiness       => relational_preference_intrinsic_ratings!(0.75,0.80,0.90,0.75,0.75,0.70,0.70,0.85,0.80,1.00),
109            HarmoniousRelationships                   => relational_preference_intrinsic_ratings!(0.70,0.80,0.80,0.80,0.80,0.70,0.70,0.85,0.80,0.85),
110            HonestyAndDirectCommunication             => relational_preference_intrinsic_ratings!(0.75,0.75,0.85,0.80,0.75,0.70,0.70,0.80,1.00,0.85),
111            HumbleAndSelflessPartners                 => relational_preference_intrinsic_ratings!(0.75,0.80,0.90,0.75,0.75,0.70,0.70,0.85,0.80,0.85),
112            InsightOverCharm                          => relational_preference_intrinsic_ratings!(0.85,0.75,0.85,0.80,0.75,0.70,0.70,0.80,0.80,0.80),
113            IntellectualAndCulturalEngagement         => relational_preference_intrinsic_ratings!(0.95,0.80,0.80,0.75,0.95,0.70,0.70,0.80,0.80,0.80),
114            IntellectualAndRealisticEngagement        => relational_preference_intrinsic_ratings!(0.95,0.80,0.80,0.75,0.80,0.70,0.70,0.80,0.80,0.80),
115            IntellectualEngagement                    => relational_preference_intrinsic_ratings!(0.95,0.75,0.80,0.75,0.80,0.70,0.70,0.75,0.80,0.80),
116            IntellectualStimulation                   => relational_preference_intrinsic_ratings!(1.00,0.75,0.80,0.75,0.80,0.70,0.80,0.75,0.80,0.80),
117            IntellectuallyEngagingPartners            => relational_preference_intrinsic_ratings!(0.95,0.80,0.80,0.75,0.80,0.70,0.70,0.80,0.80,0.80),
118            IntelligentAndStimulatingPartners         => relational_preference_intrinsic_ratings!(0.95,0.80,0.80,0.75,0.80,0.70,0.80,0.80,0.80,0.80),
119            MeaningfulDeepConnections                 => relational_preference_intrinsic_ratings!(0.80,0.95,0.85,0.70,0.75,0.70,0.70,0.85,0.80,0.85),
120            MutualRespectAndDiscretion                => relational_preference_intrinsic_ratings!(0.75,0.80,0.85,0.80,0.80,0.70,0.70,0.85,0.85,0.90),
121            MutualRespectAndIntellectualPartnership   => relational_preference_intrinsic_ratings!(0.90,0.85,0.85,0.80,0.85,0.70,0.70,0.85,0.85,0.90),
122            MutualTrustAndDependability               => relational_preference_intrinsic_ratings!(0.80,0.85,0.90,0.75,0.80,0.70,0.70,0.85,0.80,1.00),
123            OpenAndFlexibleRelationships              => relational_preference_intrinsic_ratings!(0.75,0.75,0.80,1.00,0.75,0.70,0.80,0.80,0.80,0.80),
124            OpenMindedAndDigitallyAdaptivePartners    => relational_preference_intrinsic_ratings!(0.80,0.75,0.80,1.00,0.80,0.70,0.90,0.80,0.80,0.80),
125            PartnersAttunedToNatureAndPerformance     => relational_preference_intrinsic_ratings!(0.80,0.80,0.80,0.80,0.85,0.80,0.80,0.80,0.75,0.80),
126            PartnersComfortableWithEmotionalDistance  => relational_preference_intrinsic_ratings!(0.70,0.65,0.70,0.80,0.75,0.65,0.70,0.70,0.75,0.70),
127            PartnersCommittedToInnovation             => relational_preference_intrinsic_ratings!(0.90,0.75,0.80,0.85,0.80,0.70,0.90,0.75,0.80,0.80),
128            PartnersCommittedToJusticeAndWisdom       => relational_preference_intrinsic_ratings!(0.90,0.85,0.90,0.80,0.80,0.80,0.75,0.85,0.80,0.90),
129            PartnersEngagedInLearningAndExploration   => relational_preference_intrinsic_ratings!(0.90,0.80,0.80,0.80,0.80,0.75,0.90,0.80,0.80,0.80),
130            PartnersUnderstandingOfIntensity          => relational_preference_intrinsic_ratings!(0.85,0.85,0.80,0.80,0.75,0.70,0.80,0.85,0.80,0.80),
131            PartnersWhoAcceptDualNature               => relational_preference_intrinsic_ratings!(0.85,0.80,0.80,0.85,0.80,0.75,0.80,0.80,0.80,0.80),
132            PartnersWhoAppreciateDualNature           => relational_preference_intrinsic_ratings!(0.85,0.80,0.80,0.85,0.80,0.75,0.80,0.80,0.80,0.80),
133            PartnersWhoAppreciateSpontaneity          => relational_preference_intrinsic_ratings!(0.80,0.80,0.75,0.85,0.75,0.70,0.90,0.80,0.85,0.75),
134            PartnersWhoEmbraceMystery                 => relational_preference_intrinsic_ratings!(0.85,0.85,0.80,0.85,0.80,0.75,0.90,0.80,0.80,0.80),
135            PartnersWhoMatchIntensity                 => relational_preference_intrinsic_ratings!(0.85,0.85,0.80,0.80,0.75,0.70,0.85,0.80,0.80,0.80),
136            PartnersWhoUnderstandCommunityDynamics    => relational_preference_intrinsic_ratings!(0.85,0.80,0.85,0.80,0.85,0.75,0.75,0.85,0.80,0.90),
137            PartnersWhoUnderstandComplexEmotions      => relational_preference_intrinsic_ratings!(0.85,0.90,0.85,0.80,0.80,0.70,0.75,0.90,0.80,0.85),
138            PartnersWhoUnderstandComplexity           => relational_preference_intrinsic_ratings!(0.90,0.85,0.85,0.80,0.80,0.70,0.75,0.85,0.80,0.85),
139            PartnersWillingToEmbraceTransformation    => relational_preference_intrinsic_ratings!(0.90,0.80,0.80,0.85,0.80,0.75,0.90,0.80,0.80,0.80),
140            QuietMutualRespectInRelationships         => relational_preference_intrinsic_ratings!(0.70,0.80,0.80,0.80,0.80,0.70,0.70,0.85,0.70,0.85),
141            RelationshipsBasedOnHumilityAndCompassion => relational_preference_intrinsic_ratings!(0.75,0.90,0.90,0.75,0.75,0.70,0.70,0.95,0.80,0.90),
142            RelationshipsBasedOnMeritAndAbility       => relational_preference_intrinsic_ratings!(0.90,0.80,0.85,0.80,0.80,0.70,0.75,0.80,0.80,0.85),
143            RespectfulAndEmpatheticPartners           => relational_preference_intrinsic_ratings!(0.75,0.85,0.85,0.80,0.80,0.70,0.70,0.90,0.80,0.85),
144            Sincerity                                 => relational_preference_intrinsic_ratings!(0.75,0.80,0.90,0.75,0.75,0.70,0.70,0.85,0.80,0.90),
145            StraightforwardAndHonestPartners          => relational_preference_intrinsic_ratings!(0.75,0.80,0.90,0.80,0.75,0.70,0.70,0.80,0.95,0.90),
146            SupportiveAndCompliantPartners            => relational_preference_intrinsic_ratings!(0.70,0.75,0.80,0.80,0.75,0.70,0.70,0.85,0.80,0.90),
147        }
148    }
149}