Skip to main content

character_traits_relational_expectations/
relational_value.rs

1// ---------------- [ File: character-traits-relational-expectations/src/relational_value.rs ]
2crate::ix!();
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum RelationalValue {
6    AlignmentWithNaturalOrder,
7    AuthenticityAndRespectForTradition,
8    AutonomyAndIndependenceInRelationships,
9    BlessingsAndWisdomInReturn, // Previously “OffersBlessingsAndWisdomInReturn”
10    CharmIntelligenceAndWitInRelationships,
11    CreativityAndImaginationInPartnerships,
12    CulturalAndIntellectualEngagement,
13    DeepEmotionalConnection,
14    DepthAndSteadiness,
15    DepthInRelationships,
16    DiplomaticSkillAndApproachability,
17    DirectnessAndCandor,
18    DynamicAndStimulatingPartnerships,
19    EmotionalIntelligenceAndTransparency,
20    FaithfulnessAndFamilyCommitment,
21    FreedomAndNonconformity,
22    HonestAndDirectInteraction,
23    HumilityAndConsiderationFromOthers,
24    IntensityAndAuthenticity,
25    LoyaltyAndAffectionInPersonalConnections,
26    LoyaltyAndCamaraderieInRelationships,
27    MutualRespectAndEquality,
28    MutualSupportAndTrust,
29    OpenMindednessAndToleranceInRelationships,
30    PatienceAndConsistency,
31    PatienceAndMindfulness,
32    PlayfulnessAndHumorInRelationships,
33    RespectForBoundariesAndComplexity,
34    RespectfulAndCalmInteractions,
35    RespectfulInteractions,
36    SophisticationAndIntelligenceInOthers,
37    SpiritualGrowth,
38    TrustAndIntegrity,
39    WarmthAndHumorInPersonalConnections,
40}
41
42#[derive(Clone, Debug, Serialize, Deserialize, Builder, Getters)]
43#[builder(pattern = "owned")]
44#[getset(get = "pub")]
45pub struct RelationalValueIntrinsicDimensionRatings {
46    authenticity_tradition: f64,
47    autonomy_freedom:       f64,
48    emotional_connection:   f64,
49    intellectual_culture:   f64,
50    spiritual_growth:       f64,
51    humor_playfulness:      f64,
52    loyalty_affection:      f64,
53    integrity_trust:        f64,
54    patience_consistency:   f64,
55    respect_boundaries:     f64,
56}
57
58macro_rules! relational_value_intrinsic_ratings {
59    (
60        $authentic:expr, $autonomy:expr, $emotion:expr, $intel:expr, $spirit:expr,
61        $humor:expr, $loyal:expr, $trust:expr, $patience:expr, $respect:expr
62    ) => {
63        RelationalValueIntrinsicDimensionRatingsBuilder::default()
64            .authenticity_tradition(expand_spread($authentic))
65            .autonomy_freedom(expand_spread($autonomy))
66            .emotional_connection(expand_spread($emotion))
67            .intellectual_culture(expand_spread($intel))
68            .spiritual_growth(expand_spread($spirit))
69            .humor_playfulness(expand_spread($humor))
70            .loyalty_affection(expand_spread($loyal))
71            .integrity_trust(expand_spread($trust))
72            .patience_consistency(expand_spread($patience))
73            .respect_boundaries(expand_spread($respect))
74            .build()
75            .unwrap()
76    };
77}
78
79impl RelationalValue {
80    pub fn intrinsic_ratings(&self) -> RelationalValueIntrinsicDimensionRatings {
81        trace!(variant=?self,"Computing RelationalValue intrinsic ratings");
82        use RelationalValue::*;
83        match self {
84            AlignmentWithNaturalOrder                 => relational_value_intrinsic_ratings!(0.90,0.80,0.80,0.80,0.95,0.70,0.80,0.90,0.85,0.90),
85            AuthenticityAndRespectForTradition        => relational_value_intrinsic_ratings!(1.00,0.80,0.80,0.80,0.80,0.70,0.80,0.95,0.85,0.90),
86            AutonomyAndIndependenceInRelationships    => relational_value_intrinsic_ratings!(0.85,1.00,0.75,0.80,0.75,0.70,0.75,0.85,0.80,0.90),
87            BlessingsAndWisdomInReturn                => relational_value_intrinsic_ratings!(0.90,0.80,0.80,0.85,0.90,0.70,0.80,0.90,0.85,0.85),
88            CharmIntelligenceAndWitInRelationships    => relational_value_intrinsic_ratings!(0.80,0.85,0.80,0.90,0.75,0.85,0.80,0.85,0.80,0.80),
89            CreativityAndImaginationInPartnerships    => relational_value_intrinsic_ratings!(0.80,0.80,0.80,0.90,0.75,0.90,0.80,0.80,0.75,0.80),
90            CulturalAndIntellectualEngagement         => relational_value_intrinsic_ratings!(0.85,0.80,0.75,1.00,0.80,0.75,0.80,0.85,0.80,0.85),
91            DeepEmotionalConnection                   => relational_value_intrinsic_ratings!(0.80,0.75,1.00,0.80,0.80,0.75,0.85,0.85,0.85,0.80),
92            DepthAndSteadiness                        => relational_value_intrinsic_ratings!(0.85,0.80,0.85,0.80,0.80,0.70,0.85,0.90,1.00,0.85),
93            DepthInRelationships                      => relational_value_intrinsic_ratings!(0.85,0.80,0.90,0.80,0.80,0.70,0.85,0.85,0.90,0.80),
94            DiplomaticSkillAndApproachability         => relational_value_intrinsic_ratings!(0.80,0.80,0.80,0.85,0.75,0.80,0.80,0.85,0.80,0.85),
95            DirectnessAndCandor                       => relational_value_intrinsic_ratings!(0.80,0.85,0.75,0.80,0.75,0.80,0.80,0.85,0.80,0.85),
96            DynamicAndStimulatingPartnerships         => relational_value_intrinsic_ratings!(0.80,0.85,0.85,0.90,0.75,0.85,0.80,0.80,0.80,0.80),
97            EmotionalIntelligenceAndTransparency      => relational_value_intrinsic_ratings!(0.85,0.80,0.95,0.80,0.80,0.75,0.85,0.90,0.85,0.85),
98            FaithfulnessAndFamilyCommitment           => relational_value_intrinsic_ratings!(0.90,0.80,0.85,0.80,0.80,0.75,1.00,0.95,0.90,0.90),
99            FreedomAndNonconformity                   => relational_value_intrinsic_ratings!(0.80,1.00,0.75,0.80,0.75,0.85,0.75,0.80,0.80,0.80),
100            HonestAndDirectInteraction                => relational_value_intrinsic_ratings!(0.85,0.80,0.80,0.80,0.80,0.80,0.85,0.95,0.85,0.85),
101            HumilityAndConsiderationFromOthers        => relational_value_intrinsic_ratings!(0.90,0.80,0.85,0.80,0.80,0.75,0.85,0.90,0.90,0.90),
102            IntensityAndAuthenticity                  => relational_value_intrinsic_ratings!(0.90,0.85,0.90,0.80,0.80,0.80,0.85,0.90,0.80,0.85),
103            LoyaltyAndAffectionInPersonalConnections  => relational_value_intrinsic_ratings!(0.85,0.80,0.90,0.80,0.80,0.75,1.00,0.95,0.90,0.85),
104            LoyaltyAndCamaraderieInRelationships      => relational_value_intrinsic_ratings!(0.85,0.80,0.85,0.80,0.80,0.75,1.00,0.95,0.90,0.85),
105            MutualRespectAndEquality                  => relational_value_intrinsic_ratings!(0.90,0.80,0.85,0.80,0.80,0.75,0.90,0.90,0.85,0.90),
106            MutualSupportAndTrust                     => relational_value_intrinsic_ratings!(0.90,0.80,0.85,0.80,0.80,0.75,0.95,1.00,0.85,0.90),
107            OpenMindednessAndToleranceInRelationships => relational_value_intrinsic_ratings!(0.85,0.85,0.80,0.85,0.80,0.80,0.80,0.85,0.80,0.90),
108            PatienceAndConsistency                    => relational_value_intrinsic_ratings!(0.85,0.80,0.80,0.80,0.80,0.75,0.85,0.90,1.00,0.85),
109            PatienceAndMindfulness                    => relational_value_intrinsic_ratings!(0.85,0.80,0.85,0.80,0.85,0.75,0.85,0.90,1.00,0.85),
110            PlayfulnessAndHumorInRelationships        => relational_value_intrinsic_ratings!(0.80,0.80,0.85,0.85,0.75,1.00,0.80,0.80,0.80,0.80),
111            RespectForBoundariesAndComplexity         => relational_value_intrinsic_ratings!(0.90,0.85,0.80,0.80,0.80,0.75,0.85,0.90,0.85,1.00),
112            RespectfulAndCalmInteractions             => relational_value_intrinsic_ratings!(0.90,0.80,0.80,0.80,0.80,0.70,0.85,0.90,0.90,0.95),
113            RespectfulInteractions                    => relational_value_intrinsic_ratings!(0.90,0.80,0.80,0.80,0.80,0.70,0.85,0.90,0.90,0.95),
114            SophisticationAndIntelligenceInOthers     => relational_value_intrinsic_ratings!(0.85,0.80,0.80,0.95,0.80,0.75,0.80,0.85,0.80,0.85),
115            SpiritualGrowth                           => relational_value_intrinsic_ratings!(0.85,0.80,0.85,0.80,1.00,0.75,0.80,0.90,0.85,0.90),
116            TrustAndIntegrity                         => relational_value_intrinsic_ratings!(0.90,0.80,0.80,0.80,0.80,0.75,0.90,1.00,0.85,0.90),
117            WarmthAndHumorInPersonalConnections       => relational_value_intrinsic_ratings!(0.85,0.80,0.90,0.80,0.80,1.00,0.85,0.85,0.85,0.85),
118        }
119    }
120}