Surface aligned drill handoff outcomes on dashboard
This commit is contained in:
parent
338c31a32a
commit
c116a70e56
4 changed files with 463 additions and 46 deletions
|
|
@ -79,6 +79,18 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
int32 ReliableTrustedBroadQueueRecommendationCount = 0;
|
||||
int32 ReliableTrustedBroadFollowUpRecommendationCount = 0;
|
||||
int32 ReliableTrustedBroadRecommendedRecommendationCount = 0;
|
||||
int32 ReliableAlignedTrustedTightQueueAcceptedDeltaCount = 0;
|
||||
int32 ReliableAlignedTrustedTightFollowUpAcceptedDeltaCount = 0;
|
||||
int32 ReliableAlignedTrustedTightRecommendedAcceptedDeltaCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadQueueAcceptedDeltaCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadFollowUpAcceptedDeltaCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadRecommendedAcceptedDeltaCount = 0;
|
||||
int32 ReliableAlignedTrustedTightQueueRecommendationCount = 0;
|
||||
int32 ReliableAlignedTrustedTightFollowUpRecommendationCount = 0;
|
||||
int32 ReliableAlignedTrustedTightRecommendedRecommendationCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadQueueRecommendationCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadFollowUpRecommendationCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadRecommendedRecommendationCount = 0;
|
||||
int32 QueueScore = 0;
|
||||
int32 FollowUpScore = 0;
|
||||
int32 RecommendedScore = 0;
|
||||
|
|
@ -94,6 +106,8 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
bool bHasWeakRetainedMethodDrillPostureSignal = false;
|
||||
bool bHasReliableTrustedTightPlanHistorySignal = false;
|
||||
bool bHasReliableTrustedBroadPlanHistorySignal = false;
|
||||
bool bHasReliableAlignedTrustedTightPlanOutcomeSignal = false;
|
||||
bool bHasReliableAlignedTrustedBroadPlanOutcomeSignal = false;
|
||||
bool bHasSignal = false;
|
||||
};
|
||||
|
||||
|
|
@ -760,6 +774,11 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
{
|
||||
return TEXT("aligned reliable trusted tight drill-recovery-plan history");
|
||||
}
|
||||
if (SourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-outcome"))
|
||||
{
|
||||
return TEXT("successful aligned reliable trusted tight drill-recovery-plan handoff outcome history");
|
||||
}
|
||||
if (SourceLabel == TEXT("coach-memory-method-drill-recovery-packet-strong"))
|
||||
{
|
||||
return TEXT("successful retained drill-recovery-packet history");
|
||||
|
|
@ -800,6 +819,11 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
{
|
||||
return TEXT("aligned reliable trusted broad drill-recovery-plan redirect history");
|
||||
}
|
||||
if (SourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-outcome"))
|
||||
{
|
||||
return TEXT("successful aligned reliable trusted broad drill-recovery-plan redirect outcome history");
|
||||
}
|
||||
if (SourceLabel == TEXT("coach-memory-method-drill-recovery-packet-weak"))
|
||||
{
|
||||
return TEXT("weak retained drill-recovery-packet history");
|
||||
|
|
@ -1411,6 +1435,18 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
++Bias.QueueScore;
|
||||
Bias.bHasReliableTrustedBroadPlanHistorySignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory)
|
||||
{
|
||||
Bias.ReliableAlignedTrustedTightQueueAcceptedDeltaCount += QueuedDelta;
|
||||
Bias.QueueScore += QueuedDelta * 3;
|
||||
Bias.bHasReliableAlignedTrustedTightPlanOutcomeSignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory)
|
||||
{
|
||||
Bias.ReliableAlignedTrustedBroadQueueAcceptedDeltaCount += QueuedDelta;
|
||||
++Bias.QueueScore;
|
||||
Bias.bHasReliableAlignedTrustedBroadPlanOutcomeSignal = true;
|
||||
}
|
||||
}
|
||||
if (FollowUpDelta > 0)
|
||||
{
|
||||
|
|
@ -1429,6 +1465,18 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
++Bias.FollowUpScore;
|
||||
Bias.bHasReliableTrustedBroadPlanHistorySignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory)
|
||||
{
|
||||
Bias.ReliableAlignedTrustedTightFollowUpAcceptedDeltaCount += FollowUpDelta;
|
||||
Bias.FollowUpScore += FollowUpDelta * 3;
|
||||
Bias.bHasReliableAlignedTrustedTightPlanOutcomeSignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory)
|
||||
{
|
||||
Bias.ReliableAlignedTrustedBroadFollowUpAcceptedDeltaCount += FollowUpDelta;
|
||||
++Bias.FollowUpScore;
|
||||
Bias.bHasReliableAlignedTrustedBroadPlanOutcomeSignal = true;
|
||||
}
|
||||
}
|
||||
if (RecommendedDelta > 0)
|
||||
{
|
||||
|
|
@ -1447,6 +1495,18 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
Bias.RecommendedScore += RecommendedDelta * 2;
|
||||
Bias.bHasReliableTrustedBroadPlanHistorySignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory)
|
||||
{
|
||||
Bias.ReliableAlignedTrustedTightRecommendedAcceptedDeltaCount += RecommendedDelta;
|
||||
++Bias.RecommendedScore;
|
||||
Bias.bHasReliableAlignedTrustedTightPlanOutcomeSignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory)
|
||||
{
|
||||
Bias.ReliableAlignedTrustedBroadRecommendedAcceptedDeltaCount += RecommendedDelta;
|
||||
Bias.RecommendedScore += RecommendedDelta * 3;
|
||||
Bias.bHasReliableAlignedTrustedBroadPlanOutcomeSignal = true;
|
||||
}
|
||||
}
|
||||
if (DeferredOverflowQueuedDelta > 0)
|
||||
{
|
||||
|
|
@ -1546,6 +1606,18 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
++Bias.QueueScore;
|
||||
Bias.bHasReliableTrustedBroadPlanHistorySignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory)
|
||||
{
|
||||
++Bias.ReliableAlignedTrustedTightQueueRecommendationCount;
|
||||
Bias.QueueScore += 3;
|
||||
Bias.bHasReliableAlignedTrustedTightPlanOutcomeSignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory)
|
||||
{
|
||||
++Bias.ReliableAlignedTrustedBroadQueueRecommendationCount;
|
||||
++Bias.QueueScore;
|
||||
Bias.bHasReliableAlignedTrustedBroadPlanOutcomeSignal = true;
|
||||
}
|
||||
if (Entry.bUsedMethodDrillWeighting)
|
||||
{
|
||||
++Bias.MethodDrillQueueRecommendationCount;
|
||||
|
|
@ -1588,6 +1660,18 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
++Bias.FollowUpScore;
|
||||
Bias.bHasReliableTrustedBroadPlanHistorySignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory)
|
||||
{
|
||||
++Bias.ReliableAlignedTrustedTightFollowUpRecommendationCount;
|
||||
Bias.FollowUpScore += 3;
|
||||
Bias.bHasReliableAlignedTrustedTightPlanOutcomeSignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory)
|
||||
{
|
||||
++Bias.ReliableAlignedTrustedBroadFollowUpRecommendationCount;
|
||||
++Bias.FollowUpScore;
|
||||
Bias.bHasReliableAlignedTrustedBroadPlanOutcomeSignal = true;
|
||||
}
|
||||
if (Entry.bUsedMethodDrillWeighting)
|
||||
{
|
||||
++Bias.MethodDrillFollowUpRecommendationCount;
|
||||
|
|
@ -1630,6 +1714,18 @@ namespace HyperTwistCoachDashboardWidgetInternal
|
|||
Bias.RecommendedScore += 2;
|
||||
Bias.bHasReliableTrustedBroadPlanHistorySignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory)
|
||||
{
|
||||
++Bias.ReliableAlignedTrustedTightRecommendedRecommendationCount;
|
||||
++Bias.RecommendedScore;
|
||||
Bias.bHasReliableAlignedTrustedTightPlanOutcomeSignal = true;
|
||||
}
|
||||
if (Entry.bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory)
|
||||
{
|
||||
++Bias.ReliableAlignedTrustedBroadRecommendedRecommendationCount;
|
||||
Bias.RecommendedScore += 3;
|
||||
Bias.bHasReliableAlignedTrustedBroadPlanOutcomeSignal = true;
|
||||
}
|
||||
if (Entry.bUsedMethodDrillWeighting)
|
||||
{
|
||||
++Bias.MethodDrillRecommendedRecommendationCount;
|
||||
|
|
@ -6976,6 +7072,18 @@ FHyperTwistCoachDashboardQueueRecoveryWeighting UHyperTwistCoachDashboardWidget:
|
|||
Weighting.ReliableAlignedTrustedBroadPlanAverageOutcomeScore =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore;
|
||||
Weighting.ReliableAlignedTrustedTightPlanOutcomeHistoryCount =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
Weighting.ReliableAlignedTrustedBroadPlanOutcomeHistoryCount =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
Weighting.ReliableAlignedTrustedTightPlanOutcomeAverageScore =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore;
|
||||
Weighting.ReliableAlignedTrustedBroadPlanOutcomeAverageScore =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore;
|
||||
const bool bStrongMethodDrillRecoveryMemory =
|
||||
Weighting.MethodDrillUpstreamHistoryCount >= 2
|
||||
&& Weighting.MethodDrillUpstreamStrongCount >= Weighting.MethodDrillUpstreamWeakCount
|
||||
|
|
@ -7003,6 +7111,38 @@ FHyperTwistCoachDashboardQueueRecoveryWeighting UHyperTwistCoachDashboardWidget:
|
|||
);
|
||||
Weighting.bHasMethodDrillMemorySignal = true;
|
||||
}
|
||||
const bool bReliableAlignedTrustedTightPlanOutcomeSourceActive =
|
||||
CachedCoachPanelState.PreferredQueueRecoveryActionSourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-outcome")
|
||||
|| CachedCoachPanelState.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-outcome");
|
||||
const bool bReliableAlignedTrustedBroadPlanOutcomeSourceActive =
|
||||
CachedCoachPanelState.PreferredQueueRecoveryActionSourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-outcome")
|
||||
|| CachedCoachPanelState.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-outcome");
|
||||
const int32 ReliableAlignedTrustedTightPlanOutcomeSignalScore =
|
||||
(bReliableAlignedTrustedTightPlanOutcomeSourceActive
|
||||
|| (Weighting.ReliableAlignedTrustedTightPlanOutcomeHistoryCount >= 2
|
||||
&& Weighting.ReliableAlignedTrustedTightPlanOutcomeAverageScore >= 60.0f))
|
||||
? FMath::Clamp(
|
||||
Weighting.ReliableAlignedTrustedTightPlanOutcomeHistoryCount
|
||||
- Weighting.ReliableAlignedTrustedBroadPlanOutcomeHistoryCount
|
||||
+ (Weighting.ReliableAlignedTrustedTightPlanOutcomeAverageScore >= 80.0f ? 1 : 0),
|
||||
1,
|
||||
5)
|
||||
: 0;
|
||||
const int32 ReliableAlignedTrustedBroadPlanOutcomeSignalScore =
|
||||
(bReliableAlignedTrustedBroadPlanOutcomeSourceActive
|
||||
|| (Weighting.ReliableAlignedTrustedBroadPlanOutcomeHistoryCount >= 2
|
||||
&& Weighting.ReliableAlignedTrustedBroadPlanOutcomeAverageScore >= 58.0f))
|
||||
? FMath::Clamp(
|
||||
Weighting.ReliableAlignedTrustedBroadPlanOutcomeHistoryCount
|
||||
- Weighting.ReliableAlignedTrustedTightPlanOutcomeHistoryCount
|
||||
+ (Weighting.ReliableAlignedTrustedBroadPlanOutcomeAverageScore >= 78.0f ? 1 : 0),
|
||||
1,
|
||||
5)
|
||||
: 0;
|
||||
const int32 ReliableAlignedTrustedTightPlanSignalScore =
|
||||
(HyperTwistCoachDashboardWidgetInternal::IsReliableAlignedTrustedTightMethodDrillRecoveryPlanSourceLabel(
|
||||
CachedCoachPanelState.PreferredQueueRecoveryActionSourceLabel)
|
||||
|
|
@ -7051,7 +7191,23 @@ FHyperTwistCoachDashboardQueueRecoveryWeighting UHyperTwistCoachDashboardWidget:
|
|||
1,
|
||||
3)
|
||||
: 0;
|
||||
if (ReliableAlignedTrustedTightPlanSignalScore > ReliableAlignedTrustedBroadPlanSignalScore)
|
||||
if (ReliableAlignedTrustedTightPlanOutcomeSignalScore
|
||||
> ReliableAlignedTrustedBroadPlanOutcomeSignalScore)
|
||||
{
|
||||
Weighting.ReliableAlignedTrustedTightPlanOutcomeBiasCount =
|
||||
ReliableAlignedTrustedTightPlanOutcomeSignalScore;
|
||||
Weighting.MethodDrillLaunchBiasCount += ReliableAlignedTrustedTightPlanOutcomeSignalScore;
|
||||
Weighting.bHasReliableAlignedTrustedPlanHandoffOutcomeSignal = true;
|
||||
}
|
||||
else if (ReliableAlignedTrustedBroadPlanOutcomeSignalScore
|
||||
> ReliableAlignedTrustedTightPlanOutcomeSignalScore)
|
||||
{
|
||||
Weighting.ReliableAlignedTrustedBroadPlanOutcomeBiasCount =
|
||||
ReliableAlignedTrustedBroadPlanOutcomeSignalScore;
|
||||
Weighting.MethodDrillPromoteBiasCount += ReliableAlignedTrustedBroadPlanOutcomeSignalScore;
|
||||
Weighting.bHasReliableAlignedTrustedPlanHandoffOutcomeSignal = true;
|
||||
}
|
||||
else if (ReliableAlignedTrustedTightPlanSignalScore > ReliableAlignedTrustedBroadPlanSignalScore)
|
||||
{
|
||||
Weighting.ReliableAlignedTrustedTightPlanBiasCount =
|
||||
ReliableAlignedTrustedTightPlanSignalScore;
|
||||
|
|
@ -7673,7 +7829,9 @@ void UHyperTwistCoachDashboardWidget::RecordCoachHandoffHistorySnapshot(
|
|||
const bool bUsedReliableTrustedTightStructurePlanHistory,
|
||||
const bool bUsedReliableTrustedBroadStructurePlanHistory,
|
||||
const bool bUsedReliableAlignedTrustedTightStructurePlanHistory,
|
||||
const bool bUsedReliableAlignedTrustedBroadStructurePlanHistory)
|
||||
const bool bUsedReliableAlignedTrustedBroadStructurePlanHistory,
|
||||
const bool bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory,
|
||||
const bool bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory)
|
||||
{
|
||||
FHyperTwistCoachDashboardHandoffHistoryEntry Entry;
|
||||
Entry.RecordedAtUtc = FDateTime::UtcNow().ToIso8601();
|
||||
|
|
@ -7705,6 +7863,18 @@ void UHyperTwistCoachDashboardWidget::RecordCoachHandoffHistorySnapshot(
|
|||
CachedCoachQueueExecutionSummary.StartedMethodDrillFollowUpHandoffEventCount;
|
||||
Entry.AcceptedMethodDrillRecommendedHandoffCount =
|
||||
CachedCoachQueueExecutionSummary.StartedMethodDrillRecommendedHandoffEventCount;
|
||||
Entry.ReliableAlignedTrustedTightPlanOutcomeHistoryCount =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
Entry.ReliableAlignedTrustedBroadPlanOutcomeHistoryCount =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
Entry.ReliableAlignedTrustedTightPlanOutcomeAverageScore =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore;
|
||||
Entry.ReliableAlignedTrustedBroadPlanOutcomeAverageScore =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore;
|
||||
Entry.ClosureContinuationBias = ClosureContinuationBias;
|
||||
Entry.ClosureSuppressionBias = ClosureSuppressionBias;
|
||||
Entry.bQueueReady = bQueueReady;
|
||||
|
|
@ -7724,6 +7894,10 @@ void UHyperTwistCoachDashboardWidget::RecordCoachHandoffHistorySnapshot(
|
|||
bUsedReliableAlignedTrustedTightStructurePlanHistory;
|
||||
Entry.bUsedReliableAlignedTrustedBroadStructurePlanHistory =
|
||||
bUsedReliableAlignedTrustedBroadStructurePlanHistory;
|
||||
Entry.bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory =
|
||||
bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory;
|
||||
Entry.bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory =
|
||||
bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory;
|
||||
if (!Entry.IsStructurallyValid())
|
||||
{
|
||||
return;
|
||||
|
|
@ -7762,6 +7936,16 @@ void UHyperTwistCoachDashboardWidget::RecordCoachHandoffHistorySnapshot(
|
|||
== Entry.AcceptedMethodDrillFollowUpHandoffCount
|
||||
&& HandoffHistoryEntries.Last().AcceptedMethodDrillRecommendedHandoffCount
|
||||
== Entry.AcceptedMethodDrillRecommendedHandoffCount
|
||||
&& HandoffHistoryEntries.Last().ReliableAlignedTrustedTightPlanOutcomeHistoryCount
|
||||
== Entry.ReliableAlignedTrustedTightPlanOutcomeHistoryCount
|
||||
&& HandoffHistoryEntries.Last().ReliableAlignedTrustedBroadPlanOutcomeHistoryCount
|
||||
== Entry.ReliableAlignedTrustedBroadPlanOutcomeHistoryCount
|
||||
&& FMath::IsNearlyEqual(
|
||||
HandoffHistoryEntries.Last().ReliableAlignedTrustedTightPlanOutcomeAverageScore,
|
||||
Entry.ReliableAlignedTrustedTightPlanOutcomeAverageScore)
|
||||
&& FMath::IsNearlyEqual(
|
||||
HandoffHistoryEntries.Last().ReliableAlignedTrustedBroadPlanOutcomeAverageScore,
|
||||
Entry.ReliableAlignedTrustedBroadPlanOutcomeAverageScore)
|
||||
&& HandoffHistoryEntries.Last().ClosureContinuationBias
|
||||
== Entry.ClosureContinuationBias
|
||||
&& HandoffHistoryEntries.Last().ClosureSuppressionBias
|
||||
|
|
@ -7784,7 +7968,11 @@ void UHyperTwistCoachDashboardWidget::RecordCoachHandoffHistorySnapshot(
|
|||
&& HandoffHistoryEntries.Last().bUsedReliableAlignedTrustedTightStructurePlanHistory
|
||||
== Entry.bUsedReliableAlignedTrustedTightStructurePlanHistory
|
||||
&& HandoffHistoryEntries.Last().bUsedReliableAlignedTrustedBroadStructurePlanHistory
|
||||
== Entry.bUsedReliableAlignedTrustedBroadStructurePlanHistory;
|
||||
== Entry.bUsedReliableAlignedTrustedBroadStructurePlanHistory
|
||||
&& HandoffHistoryEntries.Last().bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory
|
||||
== Entry.bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory
|
||||
&& HandoffHistoryEntries.Last().bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory
|
||||
== Entry.bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory;
|
||||
if (bMatchesLastEntry)
|
||||
{
|
||||
return;
|
||||
|
|
@ -8104,6 +8292,18 @@ void UHyperTwistCoachDashboardWidget::RecordMethodDrillRecoveryMemoryHistorySnap
|
|||
Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore;
|
||||
Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore;
|
||||
Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore =
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore;
|
||||
Entry.bStrongPressureDominant =
|
||||
Entry.MethodDrillRecoveryHistoryCount >= 2
|
||||
&& Entry.StrongMethodDrillRecoveryHistoryCount
|
||||
|
|
@ -8148,6 +8348,18 @@ void UHyperTwistCoachDashboardWidget::RecordMethodDrillRecoveryMemoryHistorySnap
|
|||
>= 60.0f
|
||||
&& Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount
|
||||
>= Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount;
|
||||
Entry.bReliableAlignedTrustedTightStructurePlanOutcomeDominant =
|
||||
Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount >= 2
|
||||
&& Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore
|
||||
>= 60.0f
|
||||
&& Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount
|
||||
>= Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
Entry.bReliableAlignedTrustedBroadStructurePlanOutcomeDominant =
|
||||
Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount >= 2
|
||||
&& Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore
|
||||
>= 58.0f
|
||||
&& Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount
|
||||
>= Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
Entry.bUsedMethodDrillRecoveryMemoryForRecovery =
|
||||
QueueRecoveryWeighting.bHasMethodDrillMemorySignal;
|
||||
Entry.bUsedMethodDrillRecoveryMemoryForHandoff =
|
||||
|
|
@ -8408,6 +8620,10 @@ void UHyperTwistCoachDashboardWidget::RecordMethodDrillRecoveryMemoryHistorySnap
|
|||
== Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount
|
||||
== Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount
|
||||
== Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount
|
||||
== Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount
|
||||
&& FMath::IsNearlyEqual(
|
||||
MethodDrillRecoveryMemoryHistoryEntries.Last().MethodDrillRecoveryAverageOutcomeScore,
|
||||
Entry.MethodDrillRecoveryAverageOutcomeScore)
|
||||
|
|
@ -8429,6 +8645,12 @@ void UHyperTwistCoachDashboardWidget::RecordMethodDrillRecoveryMemoryHistorySnap
|
|||
&& FMath::IsNearlyEqual(
|
||||
MethodDrillRecoveryMemoryHistoryEntries.Last().ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore,
|
||||
Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore)
|
||||
&& FMath::IsNearlyEqual(
|
||||
MethodDrillRecoveryMemoryHistoryEntries.Last().ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore,
|
||||
Entry.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore)
|
||||
&& FMath::IsNearlyEqual(
|
||||
MethodDrillRecoveryMemoryHistoryEntries.Last().ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore,
|
||||
Entry.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore)
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().bStrongPressureDominant
|
||||
== Entry.bStrongPressureDominant
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().bWeakPressureDominant
|
||||
|
|
@ -8445,6 +8667,10 @@ void UHyperTwistCoachDashboardWidget::RecordMethodDrillRecoveryMemoryHistorySnap
|
|||
== Entry.bReliableAlignedTrustedTightStructurePlanDominant
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().bReliableAlignedTrustedBroadStructurePlanDominant
|
||||
== Entry.bReliableAlignedTrustedBroadStructurePlanDominant
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().bReliableAlignedTrustedTightStructurePlanOutcomeDominant
|
||||
== Entry.bReliableAlignedTrustedTightStructurePlanOutcomeDominant
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().bReliableAlignedTrustedBroadStructurePlanOutcomeDominant
|
||||
== Entry.bReliableAlignedTrustedBroadStructurePlanOutcomeDominant
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().GeneratedGuidancePacketKindLabel
|
||||
== Entry.GeneratedGuidancePacketKindLabel
|
||||
&& MethodDrillRecoveryMemoryHistoryEntries.Last().GeneratedGuidancePacketSourceLabel
|
||||
|
|
@ -10117,6 +10343,17 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
CachedCoachPanelState.ReliableTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore,
|
||||
CachedCoachPanelState.ReliableTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore
|
||||
);
|
||||
CoachHandoffRecommendationDetailLine += FString::Printf(
|
||||
TEXT(" | aligned reliable handoff outcomes tight/broad %d/%d avg %.1f/%.1f"),
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount,
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount,
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore,
|
||||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore
|
||||
);
|
||||
CoachHandoffRecommendationDetailLine += FString::Printf(
|
||||
TEXT(" | aligned reliable plan history tight/broad %d/%d avg %.1f/%.1f"),
|
||||
CachedCoachPanelState.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount,
|
||||
|
|
@ -10126,6 +10363,36 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
CachedCoachPanelState
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore
|
||||
);
|
||||
if (CachedCoachPanelState.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-outcome"))
|
||||
{
|
||||
CoachHandoffRecommendationDetailLine +=
|
||||
TEXT(" | Successful aligned reliable tight launched-plan outcomes directly tipped this handoff toward tighter continuation.");
|
||||
}
|
||||
else if (CachedCoachPanelState.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-outcome"))
|
||||
{
|
||||
CoachHandoffRecommendationDetailLine +=
|
||||
TEXT(" | Successful aligned reliable broad launched-plan outcomes directly tipped this handoff back toward broader redirect.");
|
||||
}
|
||||
CoachHandoffRecommendationDetailLine += FString::Printf(
|
||||
TEXT(" | aligned reliable tight accepted q/f/r %d/%d/%d, broad accepted q/f/r %d/%d/%d"),
|
||||
HandoffHistoryBias.ReliableAlignedTrustedTightQueueAcceptedDeltaCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedTightFollowUpAcceptedDeltaCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedTightRecommendedAcceptedDeltaCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedBroadQueueAcceptedDeltaCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedBroadFollowUpAcceptedDeltaCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedBroadRecommendedAcceptedDeltaCount
|
||||
);
|
||||
CoachHandoffRecommendationDetailLine += FString::Printf(
|
||||
TEXT(" | aligned reliable tight recommendation q/f/r %d/%d/%d, broad recommendation q/f/r %d/%d/%d"),
|
||||
HandoffHistoryBias.ReliableAlignedTrustedTightQueueRecommendationCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedTightFollowUpRecommendationCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedTightRecommendedRecommendationCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedBroadQueueRecommendationCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedBroadFollowUpRecommendationCount,
|
||||
HandoffHistoryBias.ReliableAlignedTrustedBroadRecommendedRecommendationCount
|
||||
);
|
||||
CoachHandoffRecommendationDetailLine += FString::Printf(
|
||||
TEXT(" | reliable trusted tight accepted q/f/r %d/%d/%d, broad accepted q/f/r %d/%d/%d"),
|
||||
HandoffHistoryBias.ReliableTrustedTightQueueAcceptedDeltaCount,
|
||||
|
|
@ -10201,6 +10468,12 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
bHandoffRecommendationUsedPlanComparisonHistory
|
||||
&& bPlanComparisonPrefersBroadRedirect
|
||||
&& MethodDrillRecoveryPlanComparisonSummary.ReliableAlignedTrustedBroadPlanSourceCount > 0;
|
||||
const bool bHandoffRecommendationUsedReliableAlignedTrustedTightPlanOutcomeHistory =
|
||||
CachedCoachPanelState.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-tight-trusted-reliable-aligned-outcome");
|
||||
const bool bHandoffRecommendationUsedReliableAlignedTrustedBroadPlanOutcomeHistory =
|
||||
CachedCoachPanelState.PreferredCoachHandoffSourceLabel
|
||||
== TEXT("coach-memory-method-drill-recovery-structure-plan-broad-trusted-reliable-aligned-outcome");
|
||||
RecordCoachHandoffHistorySnapshot(
|
||||
HyperTwistCoachDashboardWidgetInternal::DescribeHandoffRecommendationKind(
|
||||
HandoffRecommendationKind),
|
||||
|
|
@ -10219,7 +10492,9 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
bHandoffRecommendationUsedReliableTrustedTightPlanHistory,
|
||||
bHandoffRecommendationUsedReliableTrustedBroadPlanHistory,
|
||||
bHandoffRecommendationUsedReliableAlignedTrustedTightPlanHistory,
|
||||
bHandoffRecommendationUsedReliableAlignedTrustedBroadPlanHistory
|
||||
bHandoffRecommendationUsedReliableAlignedTrustedBroadPlanHistory,
|
||||
bHandoffRecommendationUsedReliableAlignedTrustedTightPlanOutcomeHistory,
|
||||
bHandoffRecommendationUsedReliableAlignedTrustedBroadPlanOutcomeHistory
|
||||
);
|
||||
FString QueuedRunLabel = CachedCoachPanelState.NextQueueSourceLabel.IsEmpty()
|
||||
? TEXT("Start Queue")
|
||||
|
|
@ -10249,6 +10524,71 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
&& SelectedHandoffHistoryIndex < HandoffHistoryEntries.Num()
|
||||
? &HandoffHistoryEntries[SelectedHandoffHistoryIndex]
|
||||
: nullptr;
|
||||
const FString SelectedHandoffRetainedPostureLine =
|
||||
SelectedHandoffHistoryEntry == nullptr
|
||||
? TEXT("none")
|
||||
: HyperTwistCoachDashboardWidgetInternal::DescribeRetainedMethodDrillRecoveryPosture(
|
||||
SelectedHandoffHistoryEntry->bUsedStrongRetainedMethodDrillRecoveryPosture,
|
||||
SelectedHandoffHistoryEntry->bUsedWeakRetainedMethodDrillRecoveryPosture);
|
||||
const FString SelectedHandoffReliablePlanLine = [&]() -> FString
|
||||
{
|
||||
if (SelectedHandoffHistoryEntry == nullptr)
|
||||
{
|
||||
return TEXT("none");
|
||||
}
|
||||
if (SelectedHandoffHistoryEntry->bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory)
|
||||
{
|
||||
return TEXT("aligned trusted tight launched-plan continuation");
|
||||
}
|
||||
if (SelectedHandoffHistoryEntry->bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory)
|
||||
{
|
||||
return TEXT("aligned trusted broad launched-plan redirect");
|
||||
}
|
||||
if (SelectedHandoffHistoryEntry->bUsedReliableAlignedTrustedTightStructurePlanHistory)
|
||||
{
|
||||
return TEXT("aligned trusted tight continuation");
|
||||
}
|
||||
if (SelectedHandoffHistoryEntry->bUsedReliableAlignedTrustedBroadStructurePlanHistory)
|
||||
{
|
||||
return TEXT("aligned trusted broad redirect");
|
||||
}
|
||||
if (SelectedHandoffHistoryEntry->bUsedReliableTrustedTightStructurePlanHistory)
|
||||
{
|
||||
return TEXT("trusted tight continuation");
|
||||
}
|
||||
if (SelectedHandoffHistoryEntry->bUsedReliableTrustedBroadStructurePlanHistory)
|
||||
{
|
||||
return TEXT("trusted broad redirect");
|
||||
}
|
||||
return TEXT("none");
|
||||
}();
|
||||
const FString SelectedHandoffQueueSourceLine =
|
||||
SelectedHandoffHistoryEntry == nullptr || SelectedHandoffHistoryEntry->QueueSourceLabel.IsEmpty()
|
||||
? TEXT("n/a")
|
||||
: SelectedHandoffHistoryEntry->QueueSourceLabel;
|
||||
const FString SelectedHandoffPreferredLaneLine =
|
||||
SelectedHandoffHistoryEntry == nullptr
|
||||
? TEXT("none")
|
||||
: HyperTwistCoachDashboardWidgetInternal::DescribeGuidanceLane(
|
||||
SelectedHandoffHistoryEntry->PreferredGuidanceLane);
|
||||
const FString SelectedHandoffMemorySourceLine =
|
||||
SelectedHandoffHistoryEntry == nullptr
|
||||
? TEXT("n/a")
|
||||
: HyperTwistCoachDashboardWidgetInternal::DescribeCoachMemorySourceLabel(
|
||||
SelectedHandoffHistoryEntry->PreferredGuidanceSourceLabel);
|
||||
const FString SelectedHandoffRecoveryActionLine =
|
||||
SelectedHandoffHistoryEntry == nullptr
|
||||
? TEXT("none")
|
||||
: (SelectedHandoffHistoryEntry->PreferredRecoveryAction
|
||||
== EHyperTwistTrainingQueueRecoveryAction::None
|
||||
? TEXT("none")
|
||||
: HyperTwistCoachDashboardWidgetInternal::EnumDisplayName(
|
||||
SelectedHandoffHistoryEntry->PreferredRecoveryAction));
|
||||
const FString SelectedHandoffRecoverySourceLine =
|
||||
SelectedHandoffHistoryEntry == nullptr
|
||||
? TEXT("n/a")
|
||||
: HyperTwistCoachDashboardWidgetInternal::DescribeCoachMemorySourceLabel(
|
||||
SelectedHandoffHistoryEntry->PreferredRecoveryActionSourceLabel);
|
||||
const FString HandoffHistoryStatusLine =
|
||||
SelectedHandoffHistoryEntry != nullptr
|
||||
? FString::Printf(
|
||||
|
|
@ -10259,25 +10599,15 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
SelectedHandoffHistoryEntry->RecommendedHandoffKindLabel.IsEmpty()
|
||||
? TEXT("none")
|
||||
: *SelectedHandoffHistoryEntry->RecommendedHandoffKindLabel,
|
||||
*HyperTwistCoachDashboardWidgetInternal::DescribeRetainedMethodDrillRecoveryPosture(
|
||||
SelectedHandoffHistoryEntry->bUsedStrongRetainedMethodDrillRecoveryPosture,
|
||||
SelectedHandoffHistoryEntry->bUsedWeakRetainedMethodDrillRecoveryPosture),
|
||||
SelectedHandoffHistoryEntry->bUsedReliableAlignedTrustedTightStructurePlanHistory
|
||||
? TEXT("aligned trusted tight continuation")
|
||||
: (SelectedHandoffHistoryEntry->bUsedReliableAlignedTrustedBroadStructurePlanHistory
|
||||
? TEXT("aligned trusted broad redirect")
|
||||
: (SelectedHandoffHistoryEntry->bUsedReliableTrustedTightStructurePlanHistory
|
||||
? TEXT("trusted tight continuation")
|
||||
: (SelectedHandoffHistoryEntry->bUsedReliableTrustedBroadStructurePlanHistory
|
||||
? TEXT("trusted broad redirect")
|
||||
: TEXT("none")))),
|
||||
*SelectedHandoffRetainedPostureLine,
|
||||
*SelectedHandoffReliablePlanLine,
|
||||
*SelectedHandoffHistoryEntry->RecordedAtUtc
|
||||
)
|
||||
: TEXT("Handoff history: no retained handoff-pattern shifts recorded yet.");
|
||||
const FString HandoffHistoryDetailLine =
|
||||
SelectedHandoffHistoryEntry != nullptr
|
||||
? FString::Printf(
|
||||
TEXT("Accepted queued/follow-up/recommended: %d/%d/%d | deferred-overflow queued/follow-up/recommended: %d/%d/%d | drill-driven queued/follow-up/recommended: %d/%d/%d | deferred-first suppression recommendation used: %s | drill weighting used: %s | retained posture: %s | reliable trusted plan: %s | queue source: %s | preferred lane: %s | memory source: %s | recovery action: %s | recovery source: %s | closure continuation bias %d | closure suppression bias %d | readiness queue/follow-up/recommended: %s/%s/%s || %s"),
|
||||
TEXT("Accepted queued/follow-up/recommended: %d/%d/%d | deferred-overflow queued/follow-up/recommended: %d/%d/%d | drill-driven queued/follow-up/recommended: %d/%d/%d | aligned reliable handoff outcomes tight/broad %d/%d avg %.1f/%.1f | deferred-first suppression recommendation used: %s | drill weighting used: %s | reliable trusted plan: %s | retained posture: %s | queue source: %s | preferred lane: %s | memory source: %s | recovery action: %s | recovery source: %s | closure continuation bias %d | closure suppression bias %d | readiness queue/follow-up/recommended: %s/%s/%s || %s"),
|
||||
SelectedHandoffHistoryEntry->AcceptedQueuedHandoffCount,
|
||||
SelectedHandoffHistoryEntry->AcceptedFollowUpHandoffCount,
|
||||
SelectedHandoffHistoryEntry->AcceptedRecommendedHandoffCount,
|
||||
|
|
@ -10287,34 +10617,19 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
SelectedHandoffHistoryEntry->AcceptedMethodDrillQueuedHandoffCount,
|
||||
SelectedHandoffHistoryEntry->AcceptedMethodDrillFollowUpHandoffCount,
|
||||
SelectedHandoffHistoryEntry->AcceptedMethodDrillRecommendedHandoffCount,
|
||||
SelectedHandoffHistoryEntry->ReliableAlignedTrustedTightPlanOutcomeHistoryCount,
|
||||
SelectedHandoffHistoryEntry->ReliableAlignedTrustedBroadPlanOutcomeHistoryCount,
|
||||
SelectedHandoffHistoryEntry->ReliableAlignedTrustedTightPlanOutcomeAverageScore,
|
||||
SelectedHandoffHistoryEntry->ReliableAlignedTrustedBroadPlanOutcomeAverageScore,
|
||||
SelectedHandoffHistoryEntry->bUsedDeferredFirstSuppressionSignal ? TEXT("yes") : TEXT("no"),
|
||||
SelectedHandoffHistoryEntry->bUsedMethodDrillWeighting ? TEXT("yes") : TEXT("no"),
|
||||
*HyperTwistCoachDashboardWidgetInternal::DescribeRetainedMethodDrillRecoveryPosture(
|
||||
SelectedHandoffHistoryEntry->bUsedStrongRetainedMethodDrillRecoveryPosture,
|
||||
SelectedHandoffHistoryEntry->bUsedWeakRetainedMethodDrillRecoveryPosture),
|
||||
SelectedHandoffHistoryEntry->bUsedReliableAlignedTrustedTightStructurePlanHistory
|
||||
? TEXT("aligned trusted tight continuation")
|
||||
: (SelectedHandoffHistoryEntry->bUsedReliableAlignedTrustedBroadStructurePlanHistory
|
||||
? TEXT("aligned trusted broad redirect")
|
||||
: (SelectedHandoffHistoryEntry->bUsedReliableTrustedTightStructurePlanHistory
|
||||
? TEXT("trusted tight continuation")
|
||||
: (SelectedHandoffHistoryEntry->bUsedReliableTrustedBroadStructurePlanHistory
|
||||
? TEXT("trusted broad redirect")
|
||||
: TEXT("none")))),
|
||||
SelectedHandoffHistoryEntry->QueueSourceLabel.IsEmpty()
|
||||
? TEXT("n/a")
|
||||
: *SelectedHandoffHistoryEntry->QueueSourceLabel,
|
||||
*HyperTwistCoachDashboardWidgetInternal::DescribeGuidanceLane(
|
||||
SelectedHandoffHistoryEntry->PreferredGuidanceLane),
|
||||
*HyperTwistCoachDashboardWidgetInternal::DescribeCoachMemorySourceLabel(
|
||||
SelectedHandoffHistoryEntry->PreferredGuidanceSourceLabel),
|
||||
SelectedHandoffHistoryEntry->PreferredRecoveryAction
|
||||
== EHyperTwistTrainingQueueRecoveryAction::None
|
||||
? TEXT("none")
|
||||
: *HyperTwistCoachDashboardWidgetInternal::EnumDisplayName(
|
||||
SelectedHandoffHistoryEntry->PreferredRecoveryAction),
|
||||
*HyperTwistCoachDashboardWidgetInternal::DescribeCoachMemorySourceLabel(
|
||||
SelectedHandoffHistoryEntry->PreferredRecoveryActionSourceLabel),
|
||||
*SelectedHandoffReliablePlanLine,
|
||||
*SelectedHandoffRetainedPostureLine,
|
||||
*SelectedHandoffQueueSourceLine,
|
||||
*SelectedHandoffPreferredLaneLine,
|
||||
*SelectedHandoffMemorySourceLine,
|
||||
*SelectedHandoffRecoveryActionLine,
|
||||
*SelectedHandoffRecoverySourceLine,
|
||||
SelectedHandoffHistoryEntry->ClosureContinuationBias,
|
||||
SelectedHandoffHistoryEntry->ClosureSuppressionBias,
|
||||
SelectedHandoffHistoryEntry->bQueueReady ? TEXT("yes") : TEXT("no"),
|
||||
|
|
@ -10536,6 +10851,13 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
? TEXT(" | Retained drill-recovery packet history is reinforcing launch recovery.")
|
||||
: TEXT(" | Retained drill-recovery packet history is reinforcing promote-deferred recovery.");
|
||||
}
|
||||
if (QueueRecoveryWeighting.bHasReliableAlignedTrustedPlanHandoffOutcomeSignal)
|
||||
{
|
||||
return QueueRecoveryWeighting.PreferredActionKind
|
||||
== FHyperTwistCoachDashboardQueueRecoveryOutcome::EActionKind::LaunchRecovery
|
||||
? TEXT(" | Aligned reliable trusted tight launched-plan outcomes are reinforcing launch recovery.")
|
||||
: TEXT(" | Aligned reliable trusted broad launched-plan outcomes are reinforcing promote-deferred recovery.");
|
||||
}
|
||||
if (QueueRecoveryWeighting.bHasReliableAlignedTrustedPlanOutcomeSignal)
|
||||
{
|
||||
return QueueRecoveryWeighting.PreferredActionKind
|
||||
|
|
@ -10652,7 +10974,7 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
: *QueueDeferredFirstSuppressionSignal->Detail)
|
||||
: TEXT("");
|
||||
FString QueueRecoveryDetailLine = FString::Printf(
|
||||
TEXT("Deferred events %d | Promoted %d | Manual %d | Pressure %.2f | Dominant reason: %s | Follow-up deferrals: %s | Archive-aware deferrals: %s | Completion gap: %s | Upstream action source: %s%s || Learned promote %d/%d reduced, %d failed, avg delta %.2f | launch %d/%d reduced, %d failed, avg delta %.2f | deferred-first promote/launch reduced %d/%d over %d/%d | drill-driven outcome promote/launch reduced %d/%d over %d/%d | aligned reliable outcome promote/launch reduced %d/%d over %d/%d | reliable trusted outcome promote/launch reduced %d/%d over %d/%d | retained strong-launch %d/%d, weak-promote %d/%d | drill-driven bias promote/launch %d/%d | aligned reliable plan bias promote/launch %d/%d | reliable trusted plan bias promote/launch %d/%d | packet history queue/follow-up/recommended %d/%d/%d | packet-plan posture tight/broad %d/%d | plan-source tight aligned/diverged %d/%d | broad aligned/diverged %d/%d | aligned reliable tight aligned/diverged %d/%d | aligned reliable broad aligned/diverged %d/%d | reliable trusted tight aligned/diverged %d/%d | reliable trusted broad aligned/diverged %d/%d | plan preferred: %s | packet bias promote/launch %d/%d | upstream drill recovery strong/weak/history %d/%d/%d avg %.1f | aligned reliable plan history tight/broad %d/%d avg %.1f/%.1f | reliable trusted plan history tight/broad %d/%d avg %.1f/%.1f | retained drill-recovery stance: %s"),
|
||||
TEXT("Deferred events %d | Promoted %d | Manual %d | Pressure %.2f | Dominant reason: %s | Follow-up deferrals: %s | Archive-aware deferrals: %s | Completion gap: %s | Upstream action source: %s%s || Learned promote %d/%d reduced, %d failed, avg delta %.2f | launch %d/%d reduced, %d failed, avg delta %.2f | deferred-first promote/launch reduced %d/%d over %d/%d | drill-driven outcome promote/launch reduced %d/%d over %d/%d | aligned reliable outcome promote/launch reduced %d/%d over %d/%d | reliable trusted outcome promote/launch reduced %d/%d over %d/%d | retained strong-launch %d/%d, weak-promote %d/%d | drill-driven bias promote/launch %d/%d | aligned reliable handoff-outcome bias promote/launch %d/%d | aligned reliable plan bias promote/launch %d/%d | reliable trusted plan bias promote/launch %d/%d | packet history queue/follow-up/recommended %d/%d/%d | packet-plan posture tight/broad %d/%d | plan-source tight aligned/diverged %d/%d | broad aligned/diverged %d/%d | aligned reliable tight aligned/diverged %d/%d | aligned reliable broad aligned/diverged %d/%d | reliable trusted tight aligned/diverged %d/%d | reliable trusted broad aligned/diverged %d/%d | plan preferred: %s | packet bias promote/launch %d/%d | upstream drill recovery strong/weak/history %d/%d/%d avg %.1f | aligned reliable outcome history tight/broad %d/%d avg %.1f/%.1f | aligned reliable plan history tight/broad %d/%d avg %.1f/%.1f | reliable trusted plan history tight/broad %d/%d avg %.1f/%.1f | retained drill-recovery stance: %s"),
|
||||
CachedCoachQueueExecutionSummary.DeferredEventCount,
|
||||
CachedCoachQueueExecutionSummary.PromotedEventCount,
|
||||
CachedCoachQueueExecutionSummary.ManualRescheduleEventCount,
|
||||
|
|
@ -10695,6 +11017,8 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
QueueRecoveryWeighting.WeakRetainedMethodDrillPromoteCount,
|
||||
QueueRecoveryWeighting.MethodDrillPromoteBiasCount,
|
||||
QueueRecoveryWeighting.MethodDrillLaunchBiasCount,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedBroadPlanOutcomeBiasCount,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedTightPlanOutcomeBiasCount,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedBroadPlanBiasCount,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedTightPlanBiasCount,
|
||||
QueueRecoveryWeighting.ReliableTrustedBroadPlanBiasCount,
|
||||
|
|
@ -10724,6 +11048,10 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
QueueRecoveryWeighting.MethodDrillUpstreamWeakCount,
|
||||
QueueRecoveryWeighting.MethodDrillUpstreamHistoryCount,
|
||||
QueueRecoveryWeighting.MethodDrillUpstreamAverageOutcomeScore,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedTightPlanOutcomeHistoryCount,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedBroadPlanOutcomeHistoryCount,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedTightPlanOutcomeAverageScore,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedBroadPlanOutcomeAverageScore,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedTightPlanHistoryCount,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedBroadPlanHistoryCount,
|
||||
QueueRecoveryWeighting.ReliableAlignedTrustedTightPlanAverageOutcomeScore,
|
||||
|
|
@ -11064,6 +11392,14 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
{
|
||||
return TEXT("n/a");
|
||||
}
|
||||
if (SelectedMethodDrillRecoveryMemoryHistoryEntry->bReliableAlignedTrustedTightStructurePlanOutcomeDominant)
|
||||
{
|
||||
return TEXT("aligned reliable trusted tight launched-plan continuation");
|
||||
}
|
||||
if (SelectedMethodDrillRecoveryMemoryHistoryEntry->bReliableAlignedTrustedBroadStructurePlanOutcomeDominant)
|
||||
{
|
||||
return TEXT("aligned reliable trusted broad launched-plan redirect");
|
||||
}
|
||||
if (SelectedMethodDrillRecoveryMemoryHistoryEntry->bReliableAlignedTrustedTightStructurePlanDominant)
|
||||
{
|
||||
return TEXT("aligned reliable trusted tight continuation");
|
||||
|
|
@ -11105,7 +11441,7 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
SelectedMethodDrillRecoveryMemoryHistoryEntry != nullptr
|
||||
&& SelectedMethodDrillRecoveryMemoryHistoryEntry->IsStructurallyValid()
|
||||
? FString::Printf(
|
||||
TEXT("Source: %s | Strong/weak/history %d/%d/%d avg %.1f | Structure recovery narrow %d/%d broad %d/%d | Trusted plan history tight/broad %d/%d avg %.1f/%.1f | Aligned reliable plan history tight/broad %d/%d avg %.1f/%.1f | Reliable trusted plan history tight/broad %d/%d avg %.1f/%.1f | Dominant pressure: %s | Structure bias: %s | Reliable stance: %s | Stance: %s | Recovery memory tipped: %s | Handoff memory tipped: %s | Packet kind: %s | Packet source: %s | Packet headline: %s | Packet action: %s | Packet focus %d | Plan mode: %s | Plan selection: %s | Plan posture: %s | Plan source: %s | Plan alignment: %s | Plan comparison tight aligned/diverged %d/%d broad aligned/diverged %d/%d aligned reliable tight aligned/diverged %d/%d aligned reliable broad aligned/diverged %d/%d reliable tight aligned/diverged %d/%d reliable broad aligned/diverged %d/%d | Plan preferred: %s | Tight/broad structure plan: %s/%s | Packet stance: %s | Recovery posture: %s | Handoff posture: %s"),
|
||||
TEXT("Source: %s | Strong/weak/history %d/%d/%d avg %.1f | Structure recovery narrow %d/%d broad %d/%d | Trusted plan history tight/broad %d/%d avg %.1f/%.1f | Aligned reliable plan outcome history tight/broad %d/%d avg %.1f/%.1f | Aligned reliable plan history tight/broad %d/%d avg %.1f/%.1f | Reliable trusted plan history tight/broad %d/%d avg %.1f/%.1f | Dominant pressure: %s | Structure bias: %s | Reliable stance: %s | Stance: %s | Recovery memory tipped: %s | Handoff memory tipped: %s | Packet kind: %s | Packet source: %s | Packet headline: %s | Packet action: %s | Packet focus %d | Plan mode: %s | Plan selection: %s | Plan posture: %s | Plan source: %s | Plan alignment: %s | Plan comparison tight aligned/diverged %d/%d broad aligned/diverged %d/%d aligned reliable tight aligned/diverged %d/%d aligned reliable broad aligned/diverged %d/%d reliable tight aligned/diverged %d/%d reliable broad aligned/diverged %d/%d | Plan preferred: %s | Tight/broad structure plan: %s/%s | Packet stance: %s | Recovery posture: %s | Handoff posture: %s"),
|
||||
*MethodDrillRecoveryMemorySourceLine,
|
||||
SelectedMethodDrillRecoveryMemoryHistoryEntry->StrongMethodDrillRecoveryHistoryCount,
|
||||
SelectedMethodDrillRecoveryMemoryHistoryEntry->WeakMethodDrillRecoveryHistoryCount,
|
||||
|
|
@ -11127,6 +11463,14 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
->TrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore,
|
||||
SelectedMethodDrillRecoveryMemoryHistoryEntry
|
||||
->TrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore,
|
||||
SelectedMethodDrillRecoveryMemoryHistoryEntry
|
||||
->ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount,
|
||||
SelectedMethodDrillRecoveryMemoryHistoryEntry
|
||||
->ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount,
|
||||
SelectedMethodDrillRecoveryMemoryHistoryEntry
|
||||
->ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore,
|
||||
SelectedMethodDrillRecoveryMemoryHistoryEntry
|
||||
->ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore,
|
||||
SelectedMethodDrillRecoveryMemoryHistoryEntry
|
||||
->ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount,
|
||||
SelectedMethodDrillRecoveryMemoryHistoryEntry
|
||||
|
|
|
|||
|
|
@ -775,6 +775,46 @@ FHyperTwistTrainingCoachPanelState UHyperTwistTrainingSubsystem::GetActiveCoachP
|
|||
ActiveCoachMemorySnapshot.WeakMethodDrillRecoveryHistoryCount;
|
||||
PanelState.MethodDrillRecoveryAverageOutcomeScore =
|
||||
ActiveCoachMemorySnapshot.MethodDrillRecoveryAverageOutcomeScore;
|
||||
PanelState.TrustedTightMethodDrillRecoveryStructurePlanHistoryCount =
|
||||
ActiveCoachMemorySnapshot.TrustedTightMethodDrillRecoveryStructurePlanHistoryCount;
|
||||
PanelState.TrustedBroadMethodDrillRecoveryStructurePlanHistoryCount =
|
||||
ActiveCoachMemorySnapshot.TrustedBroadMethodDrillRecoveryStructurePlanHistoryCount;
|
||||
PanelState.TrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore =
|
||||
ActiveCoachMemorySnapshot.TrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore;
|
||||
PanelState.TrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore =
|
||||
ActiveCoachMemorySnapshot.TrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore;
|
||||
PanelState.ReliableTrustedTightMethodDrillRecoveryStructurePlanHistoryCount =
|
||||
ActiveCoachMemorySnapshot.ReliableTrustedTightMethodDrillRecoveryStructurePlanHistoryCount;
|
||||
PanelState.ReliableTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount =
|
||||
ActiveCoachMemorySnapshot.ReliableTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount;
|
||||
PanelState.ReliableTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore =
|
||||
ActiveCoachMemorySnapshot.ReliableTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore;
|
||||
PanelState.ReliableTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore =
|
||||
ActiveCoachMemorySnapshot.ReliableTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore;
|
||||
PanelState.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount =
|
||||
ActiveCoachMemorySnapshot
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanHistoryCount;
|
||||
PanelState.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount =
|
||||
ActiveCoachMemorySnapshot
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount;
|
||||
PanelState.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore =
|
||||
ActiveCoachMemorySnapshot
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore;
|
||||
PanelState.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore =
|
||||
ActiveCoachMemorySnapshot
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore;
|
||||
PanelState.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount =
|
||||
ActiveCoachMemorySnapshot
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
PanelState.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount =
|
||||
ActiveCoachMemorySnapshot
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount;
|
||||
PanelState.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot
|
||||
.ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore;
|
||||
PanelState.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot
|
||||
.ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore;
|
||||
PanelState.bRepositoryVerificationPassed = ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
PanelState.bRepositoryVerificationNeedsAttention = ActiveRepositoryRoundTripVerification.ResolvedPath.IsEmpty()
|
||||
|| !ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
|
|
|
|||
|
|
@ -211,6 +211,10 @@ struct FHyperTwistCoachDashboardQueueRecoveryWeighting
|
|||
int32 ReliableAlignedTrustedBroadPlanPromoteReducedCount = 0;
|
||||
int32 ReliableAlignedTrustedTightPlanBiasCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadPlanBiasCount = 0;
|
||||
int32 ReliableAlignedTrustedTightPlanOutcomeHistoryCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadPlanOutcomeHistoryCount = 0;
|
||||
int32 ReliableAlignedTrustedTightPlanOutcomeBiasCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadPlanOutcomeBiasCount = 0;
|
||||
float PromoteAveragePressureDelta = 0.0f;
|
||||
float LaunchAveragePressureDelta = 0.0f;
|
||||
float MethodDrillUpstreamAverageOutcomeScore = 0.0f;
|
||||
|
|
@ -218,6 +222,8 @@ struct FHyperTwistCoachDashboardQueueRecoveryWeighting
|
|||
float ReliableTrustedBroadPlanAverageOutcomeScore = 0.0f;
|
||||
float ReliableAlignedTrustedTightPlanAverageOutcomeScore = 0.0f;
|
||||
float ReliableAlignedTrustedBroadPlanAverageOutcomeScore = 0.0f;
|
||||
float ReliableAlignedTrustedTightPlanOutcomeAverageScore = 0.0f;
|
||||
float ReliableAlignedTrustedBroadPlanOutcomeAverageScore = 0.0f;
|
||||
FHyperTwistCoachDashboardQueueRecoveryOutcome::EActionKind PreferredActionKind =
|
||||
FHyperTwistCoachDashboardQueueRecoveryOutcome::EActionKind::None;
|
||||
bool bHasSignal = false;
|
||||
|
|
@ -229,6 +235,7 @@ struct FHyperTwistCoachDashboardQueueRecoveryWeighting
|
|||
bool bHasReliableTrustedPlanOutcomeSignal = false;
|
||||
bool bHasReliableAlignedTrustedPlanSignal = false;
|
||||
bool bHasReliableAlignedTrustedPlanOutcomeSignal = false;
|
||||
bool bHasReliableAlignedTrustedPlanHandoffOutcomeSignal = false;
|
||||
|
||||
bool IsStructurallyValid() const
|
||||
{
|
||||
|
|
@ -311,6 +318,10 @@ struct FHyperTwistCoachDashboardHandoffHistoryEntry
|
|||
int32 AcceptedMethodDrillQueuedHandoffCount = 0;
|
||||
int32 AcceptedMethodDrillFollowUpHandoffCount = 0;
|
||||
int32 AcceptedMethodDrillRecommendedHandoffCount = 0;
|
||||
int32 ReliableAlignedTrustedTightPlanOutcomeHistoryCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadPlanOutcomeHistoryCount = 0;
|
||||
float ReliableAlignedTrustedTightPlanOutcomeAverageScore = 0.0f;
|
||||
float ReliableAlignedTrustedBroadPlanOutcomeAverageScore = 0.0f;
|
||||
int32 ClosureContinuationBias = 0;
|
||||
int32 ClosureSuppressionBias = 0;
|
||||
bool bQueueReady = false;
|
||||
|
|
@ -324,6 +335,8 @@ struct FHyperTwistCoachDashboardHandoffHistoryEntry
|
|||
bool bUsedReliableTrustedBroadStructurePlanHistory = false;
|
||||
bool bUsedReliableAlignedTrustedTightStructurePlanHistory = false;
|
||||
bool bUsedReliableAlignedTrustedBroadStructurePlanHistory = false;
|
||||
bool bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory = false;
|
||||
bool bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory = false;
|
||||
|
||||
bool IsStructurallyValid() const
|
||||
{
|
||||
|
|
@ -409,6 +422,10 @@ struct FHyperTwistCoachDashboardMethodDrillRecoveryMemoryHistoryEntry
|
|||
int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanHistoryCount = 0;
|
||||
float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;
|
||||
float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;
|
||||
int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;
|
||||
int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;
|
||||
float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;
|
||||
float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;
|
||||
float MethodDrillRecoveryAverageOutcomeScore = 0.0f;
|
||||
bool bStrongPressureDominant = false;
|
||||
bool bWeakPressureDominant = false;
|
||||
|
|
@ -418,6 +435,8 @@ struct FHyperTwistCoachDashboardMethodDrillRecoveryMemoryHistoryEntry
|
|||
bool bReliableTrustedBroadStructurePlanDominant = false;
|
||||
bool bReliableAlignedTrustedTightStructurePlanDominant = false;
|
||||
bool bReliableAlignedTrustedBroadStructurePlanDominant = false;
|
||||
bool bReliableAlignedTrustedTightStructurePlanOutcomeDominant = false;
|
||||
bool bReliableAlignedTrustedBroadStructurePlanOutcomeDominant = false;
|
||||
bool bGeneratedPacketUsedStrongRetainedMethodDrillRecoveryPosture = false;
|
||||
bool bGeneratedPacketUsedWeakRetainedMethodDrillRecoveryPosture = false;
|
||||
bool bGeneratedPacketUsedGenericMethodDrillRecoveryMemory = false;
|
||||
|
|
@ -1491,7 +1510,9 @@ private:
|
|||
bool bUsedReliableTrustedTightStructurePlanHistory,
|
||||
bool bUsedReliableTrustedBroadStructurePlanHistory,
|
||||
bool bUsedReliableAlignedTrustedTightStructurePlanHistory,
|
||||
bool bUsedReliableAlignedTrustedBroadStructurePlanHistory
|
||||
bool bUsedReliableAlignedTrustedBroadStructurePlanHistory,
|
||||
bool bUsedReliableAlignedTrustedTightStructurePlanOutcomeHistory,
|
||||
bool bUsedReliableAlignedTrustedBroadStructurePlanOutcomeHistory
|
||||
);
|
||||
void RecordQueueSuppressionSnapshot();
|
||||
void RecordClosureRecoverySnapshot();
|
||||
|
|
|
|||
|
|
@ -5134,6 +5134,18 @@ struct FHyperTwistTrainingCoachPanelState
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanAverageOutcomeScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float ReliableAlignedTrustedTightMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float ReliableAlignedTrustedBroadMethodDrillRecoveryStructurePlanOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 SignalCount = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue