Learn aligned packet outcomes in coach memory
This commit is contained in:
parent
49e5f653dd
commit
640a29f3a8
4 changed files with 224 additions and 2 deletions
|
|
@ -11118,6 +11118,24 @@ void UHyperTwistCoachDashboardWidget::UpdateDashboardPresentation()
|
|||
: TEXT(""))
|
||||
);
|
||||
}
|
||||
if (CachedCoachPanelState.AlignedTightFollowUpPacketStructureOutcomeHistoryCount > 0
|
||||
|| CachedCoachPanelState.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount > 0)
|
||||
{
|
||||
GuidancePreferenceDetailLine += FString::Printf(
|
||||
TEXT(" | Aligned retained packet outcomes: tight follow-up-first %d (avg %.2f) | broad recommended-first %d (avg %.2f)%s"),
|
||||
CachedCoachPanelState.AlignedTightFollowUpPacketStructureOutcomeHistoryCount,
|
||||
CachedCoachPanelState.AlignedTightFollowUpPacketStructureOutcomeAverageScore,
|
||||
CachedCoachPanelState.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount,
|
||||
CachedCoachPanelState.AlignedBroadRecommendedPacketStructureOutcomeAverageScore,
|
||||
CachedCoachPanelState.PreferredGuidanceSourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up")
|
||||
? TEXT(" | Follow-up is currently being reinforced by retained aligned tight packet outcomes.")
|
||||
: (CachedCoachPanelState.PreferredGuidanceSourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended")
|
||||
? TEXT(" | Recommended is currently being reinforced by retained aligned broad packet outcomes.")
|
||||
: TEXT(""))
|
||||
);
|
||||
}
|
||||
const bool bQueueRecoveryMemorySource =
|
||||
HyperTwistCoachDashboardWidgetInternal::IsQueueRecoveryMemorySource(
|
||||
CachedCoachPanelState.PreferredGuidanceSourceLabel);
|
||||
|
|
|
|||
|
|
@ -423,6 +423,17 @@ namespace HyperTwistTrainingRepositoryLibraryInternal
|
|||
return SourceLabel == TEXT("coach-memory-method-drill-follow-up-packet-structure-broad");
|
||||
}
|
||||
|
||||
bool IsAlignedTightFollowUpPacketStructureCoachMemorySource(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel == TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up");
|
||||
}
|
||||
|
||||
bool IsAlignedBroadRecommendedPacketStructureCoachMemorySource(const FString& SourceLabel)
|
||||
{
|
||||
return SourceLabel
|
||||
== TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended");
|
||||
}
|
||||
|
||||
FString ResolveMethodDrillFollowUpPacketStructureRecoverySourceLabel(
|
||||
const FString& PreferredCoachHandoffSourceLabel,
|
||||
const FString& PreferredGuidanceSourceLabel)
|
||||
|
|
@ -7712,6 +7723,14 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
RecommendationHistory.ReliableAlignedTrustedTightFollowUpGuidanceOutcomeAverageScore;
|
||||
Snapshot.ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore =
|
||||
RecommendationHistory.ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore;
|
||||
Snapshot.AlignedTightFollowUpPacketStructureOutcomeHistoryCount =
|
||||
RecommendationHistory.AlignedTightFollowUpPacketStructureOutcomeHistoryCount;
|
||||
Snapshot.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount =
|
||||
RecommendationHistory.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount;
|
||||
Snapshot.AlignedTightFollowUpPacketStructureOutcomeAverageScore =
|
||||
RecommendationHistory.AlignedTightFollowUpPacketStructureOutcomeAverageScore;
|
||||
Snapshot.AlignedBroadRecommendedPacketStructureOutcomeAverageScore =
|
||||
RecommendationHistory.AlignedBroadRecommendedPacketStructureOutcomeAverageScore;
|
||||
Snapshot.bHasRepeatRecommendationPressure = RecommendationHistory.bHasRepeatRecommendationPressure;
|
||||
const int32 DeferredTightenedLaunchBias = FMath::Clamp(
|
||||
RecommendationHistory.DeferredTightenedLaunchPlanCount,
|
||||
|
|
@ -7977,6 +7996,98 @@ FHyperTwistTrainingCoachMemorySnapshot UHyperTwistTrainingRepositoryLibrary::Der
|
|||
TEXT("recommendation-history-aligned-broad-recommended-outcome");
|
||||
}
|
||||
}
|
||||
const int32 AlignedTightPacketStructureOutcomeBias =
|
||||
(RecommendationHistory.AlignedTightFollowUpPacketStructureOutcomeHistoryCount >= 2
|
||||
&& RecommendationHistory.AlignedTightFollowUpPacketStructureOutcomeAverageScore
|
||||
>= 60.0f)
|
||||
? FMath::Clamp(
|
||||
RecommendationHistory.AlignedTightFollowUpPacketStructureOutcomeHistoryCount
|
||||
- RecommendationHistory.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount
|
||||
+ (RecommendationHistory.AlignedTightFollowUpPacketStructureOutcomeAverageScore
|
||||
>= 78.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AlignedBroadPacketStructureOutcomeBias =
|
||||
(RecommendationHistory.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount >= 2
|
||||
&& RecommendationHistory.AlignedBroadRecommendedPacketStructureOutcomeAverageScore
|
||||
>= 58.0f)
|
||||
? FMath::Clamp(
|
||||
RecommendationHistory.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount
|
||||
- RecommendationHistory.AlignedTightFollowUpPacketStructureOutcomeHistoryCount
|
||||
+ (RecommendationHistory.AlignedBroadRecommendedPacketStructureOutcomeAverageScore
|
||||
>= 76.0f
|
||||
? 1
|
||||
: 0),
|
||||
1,
|
||||
4)
|
||||
: 0;
|
||||
if (AlignedTightPacketStructureOutcomeBias > AlignedBroadPacketStructureOutcomeBias)
|
||||
{
|
||||
Snapshot.FollowUpGuidanceContinueBias += AlignedTightPacketStructureOutcomeBias;
|
||||
Snapshot.SuppressedPrimaryQueuePressureCount += FMath::Max(
|
||||
1,
|
||||
AlignedTightPacketStructureOutcomeBias - 1
|
||||
);
|
||||
if (Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::None
|
||||
|| Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::Recommended
|
||||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane = EHyperTwistTrainingCoachGuidanceLane::FollowUp;
|
||||
Snapshot.PreferredGuidanceSourceLabel =
|
||||
TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up");
|
||||
}
|
||||
if (Snapshot.PreferredCoachHandoffKind == EHyperTwistTrainingCoachHandoffKind::None
|
||||
|| Snapshot.PreferredCoachHandoffKind == EHyperTwistTrainingCoachHandoffKind::Recommended
|
||||
|| Snapshot.PreferredCoachHandoffSourceLabel.IsEmpty()
|
||||
|| Snapshot.PreferredCoachHandoffSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredCoachHandoffKind = EHyperTwistTrainingCoachHandoffKind::FollowUp;
|
||||
Snapshot.PreferredCoachHandoffSourceLabel =
|
||||
TEXT("coach-memory-aligned-follow-up-packet-structure-tight-follow-up");
|
||||
}
|
||||
}
|
||||
else if (AlignedBroadPacketStructureOutcomeBias > AlignedTightPacketStructureOutcomeBias)
|
||||
{
|
||||
Snapshot.RecommendedGuidanceContinueBias += AlignedBroadPacketStructureOutcomeBias;
|
||||
Snapshot.SuppressedFollowUpQueuePressureCount += AlignedBroadPacketStructureOutcomeBias;
|
||||
if (Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::None
|
||||
|| Snapshot.PreferredGuidanceLane == EHyperTwistTrainingCoachGuidanceLane::FollowUp
|
||||
|| Snapshot.PreferredGuidanceSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredGuidanceSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredGuidanceLane = EHyperTwistTrainingCoachGuidanceLane::Recommended;
|
||||
Snapshot.PreferredGuidanceSourceLabel =
|
||||
TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended");
|
||||
}
|
||||
if (Snapshot.PreferredCoachHandoffKind == EHyperTwistTrainingCoachHandoffKind::None
|
||||
|| Snapshot.PreferredCoachHandoffKind == EHyperTwistTrainingCoachHandoffKind::FollowUp
|
||||
|| Snapshot.PreferredCoachHandoffSourceLabel.IsEmpty()
|
||||
|| Snapshot.PreferredCoachHandoffSourceLabel.StartsWith(TEXT("recommendation-history"))
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel)
|
||||
|| HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
Snapshot.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Snapshot.PreferredCoachHandoffKind =
|
||||
EHyperTwistTrainingCoachHandoffKind::Recommended;
|
||||
Snapshot.PreferredCoachHandoffSourceLabel =
|
||||
TEXT("coach-memory-aligned-follow-up-packet-structure-broad-recommended");
|
||||
}
|
||||
}
|
||||
|
||||
if (!RecommendationHistory.FocusDeckId.IsEmpty()
|
||||
&& (Snapshot.FocusDeckId.IsEmpty()
|
||||
|
|
@ -13201,6 +13312,8 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
float ReliableAlignedTrustedBroadPlanOutcomeAccumulator = 0.0f;
|
||||
float ReliableAlignedTrustedTightFollowUpLaneOutcomeAccumulator = 0.0f;
|
||||
float ReliableAlignedTrustedBroadRecommendedLaneOutcomeAccumulator = 0.0f;
|
||||
float AlignedTightFollowUpPacketStructureOutcomeAccumulator = 0.0f;
|
||||
float AlignedBroadRecommendedPacketStructureOutcomeAccumulator = 0.0f;
|
||||
FString LatestPlanSortUtc;
|
||||
|
||||
for (const FHyperTwistTrainingCoachActionPlan& Plan : UserPlans)
|
||||
|
|
@ -13411,6 +13524,18 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
ReliableAlignedTrustedBroadRecommendedLaneOutcomeAccumulator += OutcomeSummary.OutcomeScore;
|
||||
}
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsAlignedTightFollowUpPacketStructureCoachMemorySource(
|
||||
OutcomeSummary.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Summary.AlignedTightFollowUpPacketStructureOutcomeHistoryCount += 1;
|
||||
AlignedTightFollowUpPacketStructureOutcomeAccumulator += OutcomeSummary.OutcomeScore;
|
||||
}
|
||||
if (HyperTwistTrainingRepositoryLibraryInternal::IsAlignedBroadRecommendedPacketStructureCoachMemorySource(
|
||||
OutcomeSummary.PreferredCoachHandoffSourceLabel))
|
||||
{
|
||||
Summary.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount += 1;
|
||||
AlignedBroadRecommendedPacketStructureOutcomeAccumulator += OutcomeSummary.OutcomeScore;
|
||||
}
|
||||
if (OutcomeSummary.PlannedLaunchCaseCount > 0)
|
||||
{
|
||||
PlannedLaunchCaseCountAccumulator +=
|
||||
|
|
@ -13584,6 +13709,18 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
/ static_cast<float>(
|
||||
Summary.ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeHistoryCount);
|
||||
}
|
||||
if (Summary.AlignedTightFollowUpPacketStructureOutcomeHistoryCount > 0)
|
||||
{
|
||||
Summary.AlignedTightFollowUpPacketStructureOutcomeAverageScore =
|
||||
AlignedTightFollowUpPacketStructureOutcomeAccumulator
|
||||
/ static_cast<float>(Summary.AlignedTightFollowUpPacketStructureOutcomeHistoryCount);
|
||||
}
|
||||
if (Summary.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount > 0)
|
||||
{
|
||||
Summary.AlignedBroadRecommendedPacketStructureOutcomeAverageScore =
|
||||
AlignedBroadRecommendedPacketStructureOutcomeAccumulator
|
||||
/ static_cast<float>(Summary.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount);
|
||||
}
|
||||
Summary.bHasRepeatRecommendationPressure =
|
||||
Summary.RepeatRecommendationSequenceCount > 0
|
||||
&& (Summary.RecurringCaseCount > 0
|
||||
|
|
@ -13636,11 +13773,34 @@ FHyperTwistTrainingCoachRecommendationHistorySummary UHyperTwistTrainingReposito
|
|||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AlignedTightPacketStructureOutcomeLaneSignal =
|
||||
(Summary.AlignedTightFollowUpPacketStructureOutcomeHistoryCount >= 2
|
||||
&& Summary.AlignedTightFollowUpPacketStructureOutcomeAverageScore >= 60.0f)
|
||||
? FMath::Clamp(
|
||||
Summary.AlignedTightFollowUpPacketStructureOutcomeHistoryCount
|
||||
- Summary.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount
|
||||
+ (Summary.AlignedTightFollowUpPacketStructureOutcomeAverageScore >= 78.0f ? 1 : 0),
|
||||
1,
|
||||
4)
|
||||
: 0;
|
||||
const int32 AlignedBroadPacketStructureOutcomeLaneSignal =
|
||||
(Summary.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount >= 2
|
||||
&& Summary.AlignedBroadRecommendedPacketStructureOutcomeAverageScore >= 58.0f)
|
||||
? FMath::Clamp(
|
||||
Summary.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount
|
||||
- Summary.AlignedTightFollowUpPacketStructureOutcomeHistoryCount
|
||||
+ (Summary.AlignedBroadRecommendedPacketStructureOutcomeAverageScore >= 76.0f ? 1 : 0),
|
||||
1,
|
||||
4)
|
||||
: 0;
|
||||
Summary.PreferredGuidanceLane =
|
||||
bHasFollowUpLaneSignal
|
||||
&& (FollowUpLaneScore + static_cast<float>(ReliableAlignedTrustedTightFollowUpLaneSignal) * 1.5f)
|
||||
&& (FollowUpLaneScore
|
||||
+ static_cast<float>(ReliableAlignedTrustedTightFollowUpLaneSignal) * 1.5f
|
||||
+ static_cast<float>(AlignedTightPacketStructureOutcomeLaneSignal) * 1.25f)
|
||||
> (RecommendedLaneScore
|
||||
+ static_cast<float>(ReliableAlignedTrustedBroadRecommendedLaneSignal) * 1.5f)
|
||||
+ static_cast<float>(ReliableAlignedTrustedBroadRecommendedLaneSignal) * 1.5f
|
||||
+ static_cast<float>(AlignedBroadPacketStructureOutcomeLaneSignal) * 1.25f)
|
||||
? EHyperTwistTrainingCoachGuidanceLane::FollowUp
|
||||
: EHyperTwistTrainingCoachGuidanceLane::Recommended;
|
||||
|
||||
|
|
|
|||
|
|
@ -864,6 +864,14 @@ FHyperTwistTrainingCoachPanelState UHyperTwistTrainingSubsystem::GetActiveCoachP
|
|||
ActiveCoachMemorySnapshot.AlignedTightFollowUpPacketStructureAverageOutcomeScore;
|
||||
PanelState.AlignedBroadRecommendedPacketStructureAverageOutcomeScore =
|
||||
ActiveCoachMemorySnapshot.AlignedBroadRecommendedPacketStructureAverageOutcomeScore;
|
||||
PanelState.AlignedTightFollowUpPacketStructureOutcomeHistoryCount =
|
||||
ActiveCoachMemorySnapshot.AlignedTightFollowUpPacketStructureOutcomeHistoryCount;
|
||||
PanelState.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount =
|
||||
ActiveCoachMemorySnapshot.AlignedBroadRecommendedPacketStructureOutcomeHistoryCount;
|
||||
PanelState.AlignedTightFollowUpPacketStructureOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot.AlignedTightFollowUpPacketStructureOutcomeAverageScore;
|
||||
PanelState.AlignedBroadRecommendedPacketStructureOutcomeAverageScore =
|
||||
ActiveCoachMemorySnapshot.AlignedBroadRecommendedPacketStructureOutcomeAverageScore;
|
||||
PanelState.bRepositoryVerificationPassed = ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
PanelState.bRepositoryVerificationNeedsAttention = ActiveRepositoryRoundTripVerification.ResolvedPath.IsEmpty()
|
||||
|| !ActiveRepositoryRoundTripVerification.bDidRoundTripPass;
|
||||
|
|
|
|||
|
|
@ -2031,6 +2031,18 @@ struct FHyperTwistTrainingCoachMemorySnapshot
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedBroadRecommendedPacketStructureAverageOutcomeScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AlignedTightFollowUpPacketStructureOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AlignedBroadRecommendedPacketStructureOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedTightFollowUpPacketStructureOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
bool bNeedsCoachIntervention = false;
|
||||
|
||||
|
|
@ -4543,6 +4555,18 @@ struct FHyperTwistTrainingCoachRecommendationHistorySummary
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float ReliableAlignedTrustedBroadRecommendedGuidanceOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AlignedTightFollowUpPacketStructureOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AlignedBroadRecommendedPacketStructureOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedTightFollowUpPacketStructureOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
TArray<FString> RecurringCaseIds;
|
||||
|
||||
|
|
@ -5206,6 +5230,18 @@ struct FHyperTwistTrainingCoachPanelState
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedBroadRecommendedPacketStructureAverageOutcomeScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AlignedTightFollowUpPacketStructureOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 AlignedBroadRecommendedPacketStructureOutcomeHistoryCount = 0;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedTightFollowUpPacketStructureOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
float AlignedBroadRecommendedPacketStructureOutcomeAverageScore = 0.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
int32 SignalCount = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue