diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingCoachLibrary.cpp b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingCoachLibrary.cpp index 626be94..27baf46 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingCoachLibrary.cpp +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingCoachLibrary.cpp @@ -157,12 +157,18 @@ namespace HyperTwistTrainingCoachLibraryInternal || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-strong-follow-up") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-strong-recommended") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-queued") + || SourceLabel + == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-queued") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-queued") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-queued") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-follow-up") + || SourceLabel + == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-follow-up") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-follow-up") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-recommended") + || SourceLabel + == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-recommended") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-reliable-recommended") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-tight-trusted-recommended") || SourceLabel == TEXT("coach-memory-method-drill-recovery-strong") @@ -193,12 +199,18 @@ namespace HyperTwistTrainingCoachLibraryInternal || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-weak-follow-up") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-posture-weak-recommended") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-queued") + || SourceLabel + == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-queued") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-queued") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-queued") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-follow-up") + || SourceLabel + == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-follow-up") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-follow-up") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-follow-up") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-recommended") + || SourceLabel + == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-recommended") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended") || SourceLabel == TEXT("dashboard-handoff-method-drill-recovery-structure-plan-broad-trusted-recommended") || SourceLabel == TEXT("coach-memory-method-drill-recovery-weak") @@ -396,6 +408,21 @@ namespace HyperTwistTrainingCoachLibraryInternal { return TEXT("accepted strong retained drill-recovery-posture recommended handoff history"); } + if (SourceLabel + == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-queued")) + { + return TEXT("accepted aligned reliable trusted tight drill-recovery-plan queued handoff history"); + } + if (SourceLabel + == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-follow-up")) + { + return TEXT("accepted aligned reliable trusted tight drill-recovery-plan follow-up handoff history"); + } + if (SourceLabel + == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-recommended")) + { + return TEXT("accepted aligned reliable trusted tight drill-recovery-plan recommended handoff history"); + } if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-queued")) { return TEXT("accepted reliable trusted tight drill-recovery-plan queued handoff history"); @@ -456,6 +483,21 @@ namespace HyperTwistTrainingCoachLibraryInternal { return TEXT("accepted weak retained drill-recovery-posture recommended handoff history"); } + if (SourceLabel + == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-queued")) + { + return TEXT("accepted aligned reliable trusted broad drill-recovery-plan queued handoff history"); + } + if (SourceLabel + == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-follow-up")) + { + return TEXT("accepted aligned reliable trusted broad drill-recovery-plan follow-up handoff history"); + } + if (SourceLabel + == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-recommended")) + { + return TEXT("accepted aligned reliable trusted broad drill-recovery-plan recommended handoff history"); + } if (SourceLabel == TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-queued")) { return TEXT("accepted reliable trusted broad drill-recovery-plan queued handoff history"); diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp index f1cfb21..09dba01 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRepositoryLibrary.cpp @@ -455,9 +455,13 @@ namespace HyperTwistTrainingRepositoryLibraryInternal || SourceLabel == TEXT("coach-memory-method-drill-recovery-structure-plan-tight") || SourceLabel == TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted") || SourceLabel == TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable") + || SourceLabel + == TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned") || SourceLabel == TEXT("coach-memory-method-drill-recovery-structure-plan-broad") || SourceLabel == TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted") || SourceLabel == TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable") + || SourceLabel + == TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned") || SourceLabel.StartsWith(TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-")) || SourceLabel.StartsWith(TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-")); } @@ -1583,23 +1587,40 @@ namespace HyperTwistTrainingRepositoryLibraryInternal ? EMethodDrillRecoveryMemoryBias::Strong : EMethodDrillRecoveryMemoryBias::None); Snapshot.PreferredCoachHandoffKind = EHyperTwistTrainingCoachHandoffKind::Queue; - Snapshot.PreferredCoachHandoffSourceLabel = - bStrongMethodDrillRecoveryPacketQueuedHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-queued") - : (bWeakMethodDrillRecoveryPacketQueuedHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-queued") - : (MethodDrillRecoveryMemoryBias - == EMethodDrillRecoveryMemoryBias::Strong - && ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0 - ? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-queued") - : HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( - EHyperTwistTrainingCoachHandoffKind::Queue, - ExplicitDeferredOverflowQueuedHandoffSignal > 0, - ExplicitDeferredFirstQueuedHandoffSignal > 0, - ExplicitMethodDrillQueuedHandoffSignal > 0, - MethodDrillRecoveryMemoryBias, - bRetainedMethodDrillRecoveryPostureDriven - ))); + if (bStrongMethodDrillRecoveryPacketQueuedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-queued"); + } + else if (bWeakMethodDrillRecoveryPacketQueuedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-queued"); + } + else if (MethodDrillRecoveryMemoryBias == EMethodDrillRecoveryMemoryBias::Strong + && ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanLaunchBias > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-queued"); + } + else if (MethodDrillRecoveryMemoryBias == EMethodDrillRecoveryMemoryBias::Strong + && ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-queued"); + } + else + { + Snapshot.PreferredCoachHandoffSourceLabel = + HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( + EHyperTwistTrainingCoachHandoffKind::Queue, + ExplicitDeferredOverflowQueuedHandoffSignal > 0, + ExplicitDeferredFirstQueuedHandoffSignal > 0, + ExplicitMethodDrillQueuedHandoffSignal > 0, + MethodDrillRecoveryMemoryBias, + bRetainedMethodDrillRecoveryPostureDriven + ); + } } else if (ExplicitFollowUpHandoffSignal >= ExplicitRecommendedHandoffSignal) { @@ -1614,23 +1635,40 @@ namespace HyperTwistTrainingRepositoryLibraryInternal ? EMethodDrillRecoveryMemoryBias::Strong : EMethodDrillRecoveryMemoryBias::None); Snapshot.PreferredCoachHandoffKind = EHyperTwistTrainingCoachHandoffKind::FollowUp; - Snapshot.PreferredCoachHandoffSourceLabel = - bStrongMethodDrillRecoveryPacketFollowUpHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-follow-up") - : (bWeakMethodDrillRecoveryPacketFollowUpHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-follow-up") - : (MethodDrillRecoveryMemoryBias - == EMethodDrillRecoveryMemoryBias::Strong - && ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0 - ? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up") - : HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( - EHyperTwistTrainingCoachHandoffKind::FollowUp, - ExplicitDeferredOverflowFollowUpHandoffSignal > 0, - ExplicitDeferredFirstFollowUpHandoffSignal > 0, - ExplicitMethodDrillFollowUpHandoffSignal > 0, - MethodDrillRecoveryMemoryBias, - bRetainedMethodDrillRecoveryPostureDriven - ))); + if (bStrongMethodDrillRecoveryPacketFollowUpHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-follow-up"); + } + else if (bWeakMethodDrillRecoveryPacketFollowUpHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-follow-up"); + } + else if (MethodDrillRecoveryMemoryBias == EMethodDrillRecoveryMemoryBias::Strong + && ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanLaunchBias > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-follow-up"); + } + else if (MethodDrillRecoveryMemoryBias == EMethodDrillRecoveryMemoryBias::Strong + && ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up"); + } + else + { + Snapshot.PreferredCoachHandoffSourceLabel = + HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( + EHyperTwistTrainingCoachHandoffKind::FollowUp, + ExplicitDeferredOverflowFollowUpHandoffSignal > 0, + ExplicitDeferredFirstFollowUpHandoffSignal > 0, + ExplicitMethodDrillFollowUpHandoffSignal > 0, + MethodDrillRecoveryMemoryBias, + bRetainedMethodDrillRecoveryPostureDriven + ); + } } else { @@ -1645,23 +1683,40 @@ namespace HyperTwistTrainingRepositoryLibraryInternal ? EMethodDrillRecoveryMemoryBias::Weak : EMethodDrillRecoveryMemoryBias::None); Snapshot.PreferredCoachHandoffKind = EHyperTwistTrainingCoachHandoffKind::Recommended; - Snapshot.PreferredCoachHandoffSourceLabel = - bStrongMethodDrillRecoveryPacketRecommendedHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-recommended") - : (bWeakMethodDrillRecoveryPacketRecommendedHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-recommended") - : (MethodDrillRecoveryMemoryBias - == EMethodDrillRecoveryMemoryBias::Weak - && ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount > 0 - ? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended") - : HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( - EHyperTwistTrainingCoachHandoffKind::Recommended, - ExplicitDeferredOverflowRecommendedHandoffSignal > 0, - ExplicitDeferredFirstRecommendedHandoffSignal > 0, - ExplicitMethodDrillRecommendedHandoffSignal > 0, - MethodDrillRecoveryMemoryBias, - bRetainedMethodDrillRecoveryPostureDriven - ))); + if (bStrongMethodDrillRecoveryPacketRecommendedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-recommended"); + } + else if (bWeakMethodDrillRecoveryPacketRecommendedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-recommended"); + } + else if (MethodDrillRecoveryMemoryBias == EMethodDrillRecoveryMemoryBias::Weak + && ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanPromoteBias > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-recommended"); + } + else if (MethodDrillRecoveryMemoryBias == EMethodDrillRecoveryMemoryBias::Weak + && ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended"); + } + else + { + Snapshot.PreferredCoachHandoffSourceLabel = + HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( + EHyperTwistTrainingCoachHandoffKind::Recommended, + ExplicitDeferredOverflowRecommendedHandoffSignal > 0, + ExplicitDeferredFirstRecommendedHandoffSignal > 0, + ExplicitMethodDrillRecommendedHandoffSignal > 0, + MethodDrillRecoveryMemoryBias, + bRetainedMethodDrillRecoveryPostureDriven + ); + } } } const int32 WeightedFollowUpRecoverySignal = @@ -2085,8 +2140,15 @@ namespace HyperTwistTrainingRepositoryLibraryInternal == TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable") || CoachMemorySnapshot.PreferredQueueRecoveryActionSourceLabel == TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned"); + const bool bReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffSource = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( + CoachMemorySnapshot.PreferredCoachHandoffSourceLabel + ) + || CoachMemorySnapshot.PreferredQueueRecoveryActionSourceLabel + == TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned"); const bool bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource = - HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( + bReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffSource + || HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedTightMethodDrillRecoveryStructurePlanDashboardHandoffSource( CoachMemorySnapshot.PreferredCoachHandoffSourceLabel ) || CoachMemorySnapshot.PreferredQueueRecoveryActionSourceLabel @@ -2109,8 +2171,15 @@ namespace HyperTwistTrainingRepositoryLibraryInternal == TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable") || CoachMemorySnapshot.PreferredQueueRecoveryActionSourceLabel == TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned"); + const bool bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffSource = + HyperTwistTrainingRepositoryLibraryInternal::IsReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( + CoachMemorySnapshot.PreferredCoachHandoffSourceLabel + ) + || CoachMemorySnapshot.PreferredQueueRecoveryActionSourceLabel + == TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned"); const bool bReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffSource = - HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( + bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffSource + || HyperTwistTrainingRepositoryLibraryInternal::IsReliableTrustedBroadMethodDrillRecoveryStructurePlanDashboardHandoffSource( CoachMemorySnapshot.PreferredCoachHandoffSourceLabel ) || CoachMemorySnapshot.PreferredQueueRecoveryActionSourceLabel @@ -2157,7 +2226,11 @@ namespace HyperTwistTrainingRepositoryLibraryInternal InOutMode = EHyperTwistTrainingDeliveryMode::CoachReviewed; } - if (bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource) + if (bReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffSource) + { + InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted; + } + else if (bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource) { InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted; } @@ -2221,7 +2294,11 @@ namespace HyperTwistTrainingRepositoryLibraryInternal InOutMode = EHyperTwistTrainingDeliveryMode::CoachReviewed; } - if (bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource) + if (bReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHandoffSource) + { + InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted; + } + else if (bReliableTrustedTightMethodDrillRecoveryStructurePlanHandoffSource) { InOutSelectionPolicy = EHyperTwistTrainingSelectionPolicy::Scripted; } @@ -2383,7 +2460,14 @@ namespace HyperTwistTrainingRepositoryLibraryInternal InOutMode = CoachMemorySnapshot.DominantCoachSuggestedMode; } - if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffSource) + if (bReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHandoffSource) + { + InOutSelectionPolicy = + CoachMemorySnapshot.DominantCoachSelectionPolicy != EHyperTwistTrainingSelectionPolicy::Scripted + ? CoachMemorySnapshot.DominantCoachSelectionPolicy + : EHyperTwistTrainingSelectionPolicy::Weighted; + } + else if (bReliableTrustedBroadMethodDrillRecoveryStructurePlanHandoffSource) { InOutSelectionPolicy = CoachMemorySnapshot.DominantCoachSelectionPolicy != EHyperTwistTrainingSelectionPolicy::Scripted @@ -8666,27 +8750,52 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der ? HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong : HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::None); Snapshot.PreferredCoachHandoffKind = EHyperTwistTrainingCoachHandoffKind::Queue; - Snapshot.PreferredCoachHandoffSourceLabel = - bStrongMethodDrillFollowUpPacketQueuedHandoff - ? TEXT("coach-memory-dashboard-method-drill-follow-up-packet-strong-queued") - : (bWeakMethodDrillFollowUpPacketQueuedHandoff - ? TEXT("coach-memory-dashboard-method-drill-follow-up-packet-weak-queued") - : (bStrongMethodDrillRecoveryPacketQueuedHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-queued") - : (bWeakMethodDrillRecoveryPacketQueuedHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-queued") - : (MethodDrillRecoveryMemoryBias - == HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong - && ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0 - ? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-queued") - : HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( - EHyperTwistTrainingCoachHandoffKind::Queue, - ExplicitDeferredOverflowQueuedHandoffSignal > 0, - ExplicitDeferredFirstQueuedHandoffSignal > 0, - ExplicitMethodDrillQueuedHandoffSignal > 0, - MethodDrillRecoveryMemoryBias, - bRetainedMethodDrillRecoveryPostureDriven - ))))); + if (bStrongMethodDrillFollowUpPacketQueuedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-follow-up-packet-strong-queued"); + } + else if (bWeakMethodDrillFollowUpPacketQueuedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-follow-up-packet-weak-queued"); + } + else if (bStrongMethodDrillRecoveryPacketQueuedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-queued"); + } + else if (bWeakMethodDrillRecoveryPacketQueuedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-queued"); + } + else if (MethodDrillRecoveryMemoryBias + == HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong + && ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanLaunchBias > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-queued"); + } + else if (MethodDrillRecoveryMemoryBias + == HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong + && ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-queued"); + } + else + { + Snapshot.PreferredCoachHandoffSourceLabel = + HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( + EHyperTwistTrainingCoachHandoffKind::Queue, + ExplicitDeferredOverflowQueuedHandoffSignal > 0, + ExplicitDeferredFirstQueuedHandoffSignal > 0, + ExplicitMethodDrillQueuedHandoffSignal > 0, + MethodDrillRecoveryMemoryBias, + bRetainedMethodDrillRecoveryPostureDriven + ); + } } else if (ExplicitFollowUpHandoffSignal >= ExplicitRecommendedHandoffSignal) { @@ -8702,27 +8811,52 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der ? HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong : HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::None); Snapshot.PreferredCoachHandoffKind = EHyperTwistTrainingCoachHandoffKind::FollowUp; - Snapshot.PreferredCoachHandoffSourceLabel = - bStrongMethodDrillFollowUpPacketFollowUpHandoff - ? TEXT("coach-memory-dashboard-method-drill-follow-up-packet-strong-follow-up") - : (bWeakMethodDrillFollowUpPacketFollowUpHandoff - ? TEXT("coach-memory-dashboard-method-drill-follow-up-packet-weak-follow-up") - : (bStrongMethodDrillRecoveryPacketFollowUpHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-follow-up") - : (bWeakMethodDrillRecoveryPacketFollowUpHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-follow-up") - : (MethodDrillRecoveryMemoryBias - == HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong - && ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0 - ? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up") - : HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( - EHyperTwistTrainingCoachHandoffKind::FollowUp, - ExplicitDeferredOverflowFollowUpHandoffSignal > 0, - ExplicitDeferredFirstFollowUpHandoffSignal > 0, - ExplicitMethodDrillFollowUpHandoffSignal > 0, - MethodDrillRecoveryMemoryBias, - bRetainedMethodDrillRecoveryPostureDriven - ))))); + if (bStrongMethodDrillFollowUpPacketFollowUpHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-follow-up-packet-strong-follow-up"); + } + else if (bWeakMethodDrillFollowUpPacketFollowUpHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-follow-up-packet-weak-follow-up"); + } + else if (bStrongMethodDrillRecoveryPacketFollowUpHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-follow-up"); + } + else if (bWeakMethodDrillRecoveryPacketFollowUpHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-follow-up"); + } + else if (MethodDrillRecoveryMemoryBias + == HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong + && ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanLaunchBias > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-follow-up"); + } + else if (MethodDrillRecoveryMemoryBias + == HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Strong + && ReliableTrustedTightMethodDrillRecoveryStructurePlanStartedCount > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-tight-trusted-reliable-follow-up"); + } + else + { + Snapshot.PreferredCoachHandoffSourceLabel = + HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( + EHyperTwistTrainingCoachHandoffKind::FollowUp, + ExplicitDeferredOverflowFollowUpHandoffSignal > 0, + ExplicitDeferredFirstFollowUpHandoffSignal > 0, + ExplicitMethodDrillFollowUpHandoffSignal > 0, + MethodDrillRecoveryMemoryBias, + bRetainedMethodDrillRecoveryPostureDriven + ); + } } else { @@ -8738,27 +8872,52 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der ? HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Weak : HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::None); Snapshot.PreferredCoachHandoffKind = EHyperTwistTrainingCoachHandoffKind::Recommended; - Snapshot.PreferredCoachHandoffSourceLabel = - bStrongMethodDrillFollowUpPacketRecommendedHandoff - ? TEXT("coach-memory-dashboard-method-drill-follow-up-packet-strong-recommended") - : (bWeakMethodDrillFollowUpPacketRecommendedHandoff - ? TEXT("coach-memory-dashboard-method-drill-follow-up-packet-weak-recommended") - : (bStrongMethodDrillRecoveryPacketRecommendedHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-recommended") - : (bWeakMethodDrillRecoveryPacketRecommendedHandoff - ? TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-recommended") - : (MethodDrillRecoveryMemoryBias - == HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Weak - && ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount > 0 - ? TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended") - : HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( - EHyperTwistTrainingCoachHandoffKind::Recommended, - ExplicitDeferredOverflowRecommendedHandoffSignal > 0, - ExplicitDeferredFirstRecommendedHandoffSignal > 0, - ExplicitMethodDrillRecommendedHandoffSignal > 0, - MethodDrillRecoveryMemoryBias, - bRetainedMethodDrillRecoveryPostureDriven - ))))); + if (bStrongMethodDrillFollowUpPacketRecommendedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-follow-up-packet-strong-recommended"); + } + else if (bWeakMethodDrillFollowUpPacketRecommendedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-follow-up-packet-weak-recommended"); + } + else if (bStrongMethodDrillRecoveryPacketRecommendedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-strong-recommended"); + } + else if (bWeakMethodDrillRecoveryPacketRecommendedHandoff) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-packet-weak-recommended"); + } + else if (MethodDrillRecoveryMemoryBias + == HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Weak + && ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanPromoteBias > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-recommended"); + } + else if (MethodDrillRecoveryMemoryBias + == HyperTwistTrainingRepositoryLibraryInternal::EMethodDrillRecoveryMemoryBias::Weak + && ReliableTrustedBroadMethodDrillRecoveryStructurePlanStartedCount > 0) + { + Snapshot.PreferredCoachHandoffSourceLabel = + TEXT("coach-memory-dashboard-method-drill-recovery-structure-plan-broad-trusted-reliable-recommended"); + } + else + { + Snapshot.PreferredCoachHandoffSourceLabel = + HyperTwistTrainingRepositoryLibraryInternal::CoachMemoryDashboardSourceLabel( + EHyperTwistTrainingCoachHandoffKind::Recommended, + ExplicitDeferredOverflowRecommendedHandoffSignal > 0, + ExplicitDeferredFirstRecommendedHandoffSignal > 0, + ExplicitMethodDrillRecommendedHandoffSignal > 0, + MethodDrillRecoveryMemoryBias, + bRetainedMethodDrillRecoveryPostureDriven + ); + } } } const int32 WeightedFollowUpRecoverySignal =