From a0093950fe853656b6c7eea6424dbae45352db26 Mon Sep 17 00:00:00 2001 From: axiomlogicnexus Date: Thu, 25 Jun 2026 00:11:06 +0000 Subject: [PATCH] Drain higher-dimensional runtime header validators --- ...rainingHigherDimensionalRuntimeLibrary.cpp | 393 +++++++++++++++ ...tTrainingHigherDimensionalRuntimeLibrary.h | 452 +----------------- .../HyperTwist/DEVELOPMENT.md | 37 ++ 3 files changed, 439 insertions(+), 443 deletions(-) diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.cpp b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.cpp index b9f40a7..283afaa 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.cpp +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.cpp @@ -146,6 +146,54 @@ namespace HyperTwistTrainingHigherDimensionalRuntimeLibraryInternal 0); } + bool AreImportedRuntimeSelectorsConsistent( + const TArray& Selectors, + const TArray& DefaultSelectorChoices + ) + { + if (Selectors.Num() == 0 || DefaultSelectorChoices.Num() == 0) + { + return false; + } + + TSet SeenSelectorIds; + for (const FHyperTwistTrainingImportedRuntimeSelector& Selector : Selectors) + { + if (!Selector.IsStructurallyValid()) + { + return false; + } + + const FString NormalizedSelectorId = Selector.SelectorId.ToLower(); + if (SeenSelectorIds.Contains(NormalizedSelectorId)) + { + return false; + } + + SeenSelectorIds.Add(NormalizedSelectorId); + } + + TSet SeenChoiceSelectorIds; + for (const FHyperTwistTrainingImportedRuntimeSelectorChoice& Choice : DefaultSelectorChoices) + { + if (!Choice.IsStructurallyValid()) + { + return false; + } + + const FString NormalizedSelectorId = Choice.SelectorId.ToLower(); + if (!SeenSelectorIds.Contains(NormalizedSelectorId) + || SeenChoiceSelectorIds.Contains(NormalizedSelectorId)) + { + return false; + } + + SeenChoiceSelectorIds.Add(NormalizedSelectorId); + } + + return SeenChoiceSelectorIds.Num() == SeenSelectorIds.Num(); + } + bool TryGetMagic120CellContracts( FHyperTwistTrainingMagic120CellRuntimeProfileContract& OutRuntimeProfile, FHyperTwistTrainingMagic120CellPersistenceBoundary& OutPersistenceBoundary, @@ -1563,6 +1611,351 @@ namespace HyperTwistTrainingHigherDimensionalRuntimeLibraryInternal } } +bool FHyperTwistTrainingHigherDimensionalRuntimeActivationCatalog::IsStructurallyValid() const +{ + if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || Profiles.Num() == 0) + { + return false; + } + + TSet SeenProfileIds; + TSet SeenPuzzleIds; + TSet SeenRuntimeModeIds; + for (const FHyperTwistTrainingHigherDimensionalRuntimeActivationProfile& Profile : Profiles) + { + if (!Profile.IsStructurallyValid()) + { + return false; + } + + const FString NormalizedProfileId = Profile.ActivationProfileId.ToLower(); + if (SeenProfileIds.Contains(NormalizedProfileId)) + { + return false; + } + + const FString NormalizedPuzzleId = Profile.PuzzleId.ToLower(); + if (SeenPuzzleIds.Contains(NormalizedPuzzleId)) + { + return false; + } + + const FString NormalizedRuntimeModeId = Profile.RuntimeModeId.ToLower(); + if (SeenRuntimeModeIds.Contains(NormalizedRuntimeModeId)) + { + return false; + } + + SeenProfileIds.Add(NormalizedProfileId); + SeenPuzzleIds.Add(NormalizedPuzzleId); + SeenRuntimeModeIds.Add(NormalizedRuntimeModeId); + } + + return true; +} + +bool FHyperTwistTrainingHigherDimensionalRuntimeHostCatalog::IsStructurallyValid() const +{ + if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || HostSurfaces.Num() == 0) + { + return false; + } + + TSet SeenHostSurfaceIds; + TSet SeenActivationProfileIds; + for (const FHyperTwistTrainingHigherDimensionalRuntimeHostSurface& HostSurface : HostSurfaces) + { + if (!HostSurface.IsStructurallyValid()) + { + return false; + } + + const FString NormalizedHostSurfaceId = HostSurface.HostSurfaceId.ToLower(); + if (SeenHostSurfaceIds.Contains(NormalizedHostSurfaceId)) + { + return false; + } + + const FString NormalizedActivationProfileId = HostSurface.ActivationProfileId.ToLower(); + if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) + { + return false; + } + + SeenHostSurfaceIds.Add(NormalizedHostSurfaceId); + SeenActivationProfileIds.Add(NormalizedActivationProfileId); + } + + return true; +} + +bool FHyperTwistTrainingHigherDimensionalRuntimeLaunchSurface::IsStructurallyValid() const +{ + if (LaunchSurfaceId.IsEmpty() + || ActivationProfileId.IsEmpty() + || HostSurfaceId.IsEmpty() + || Title.IsEmpty() + || HostMapPath.IsEmpty() + || HostMapRouteId.IsEmpty() + || DeckId.IsEmpty() + || SeedCaseId.IsEmpty() + || SeedPromptLabel.IsEmpty() + || SurfaceKind.IsEmpty() + || SurfaceId.IsEmpty() + || SurfaceLabel.IsEmpty() + || RuntimeModeId.IsEmpty() + || GeneratorType.IsEmpty() + || PrimaryPersistenceBoundaryId.IsEmpty() + || !SourceAttribution.IsStructurallyValid()) + { + return false; + } + + return HyperTwistTrainingHigherDimensionalRuntimeLibraryInternal:: + AreImportedRuntimeSelectorsConsistent(Selectors, DefaultSelectorChoices); +} + +bool FHyperTwistTrainingHigherDimensionalRuntimeLaunchCatalog::IsStructurallyValid() const +{ + if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || LaunchSurfaces.Num() == 0) + { + return false; + } + + TSet SeenLaunchSurfaceIds; + TSet SeenActivationProfileIds; + TSet SeenSurfaceIds; + for (const FHyperTwistTrainingHigherDimensionalRuntimeLaunchSurface& LaunchSurface : + LaunchSurfaces) + { + if (!LaunchSurface.IsStructurallyValid()) + { + return false; + } + + const FString NormalizedLaunchSurfaceId = LaunchSurface.LaunchSurfaceId.ToLower(); + if (SeenLaunchSurfaceIds.Contains(NormalizedLaunchSurfaceId)) + { + return false; + } + + const FString NormalizedActivationProfileId = LaunchSurface.ActivationProfileId.ToLower(); + if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) + { + return false; + } + + const FString NormalizedSurfaceId = LaunchSurface.SurfaceId.ToLower(); + if (SeenSurfaceIds.Contains(NormalizedSurfaceId)) + { + return false; + } + + SeenLaunchSurfaceIds.Add(NormalizedLaunchSurfaceId); + SeenActivationProfileIds.Add(NormalizedActivationProfileId); + SeenSurfaceIds.Add(NormalizedSurfaceId); + } + + return true; +} + +bool FHyperTwistTrainingHigherDimensionalRuntimeViewContextSurface::IsStructurallyValid() const +{ + if (ViewContextSurfaceId.IsEmpty() + || ActivationProfileId.IsEmpty() + || LaunchSurfaceId.IsEmpty() + || HostSurfaceId.IsEmpty() + || Title.IsEmpty() + || HostMapPath.IsEmpty() + || HostMapRouteId.IsEmpty() + || HostMapLabel.IsEmpty() + || PrimaryViewProfileContractId.IsEmpty() + || !SourceAttribution.IsStructurallyValid()) + { + return false; + } + + return HyperTwistTrainingHigherDimensionalRuntimeLibraryInternal:: + AreImportedRuntimeSelectorsConsistent(Selectors, DefaultSelectorChoices); +} + +bool FHyperTwistTrainingHigherDimensionalRuntimeViewContextCatalog::IsStructurallyValid() const +{ + if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || ViewContextSurfaces.Num() == 0) + { + return false; + } + + TSet SeenViewContextSurfaceIds; + TSet SeenActivationProfileIds; + TSet SeenLaunchSurfaceIds; + for (const FHyperTwistTrainingHigherDimensionalRuntimeViewContextSurface& ViewContextSurface : + ViewContextSurfaces) + { + if (!ViewContextSurface.IsStructurallyValid()) + { + return false; + } + + const FString NormalizedViewContextSurfaceId = + ViewContextSurface.ViewContextSurfaceId.ToLower(); + if (SeenViewContextSurfaceIds.Contains(NormalizedViewContextSurfaceId)) + { + return false; + } + + const FString NormalizedActivationProfileId = + ViewContextSurface.ActivationProfileId.ToLower(); + if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) + { + return false; + } + + const FString NormalizedLaunchSurfaceId = ViewContextSurface.LaunchSurfaceId.ToLower(); + if (SeenLaunchSurfaceIds.Contains(NormalizedLaunchSurfaceId)) + { + return false; + } + + SeenViewContextSurfaceIds.Add(NormalizedViewContextSurfaceId); + SeenActivationProfileIds.Add(NormalizedActivationProfileId); + SeenLaunchSurfaceIds.Add(NormalizedLaunchSurfaceId); + } + + return true; +} + +bool FHyperTwistTrainingHigherDimensionalRuntimeSessionSurface::IsStructurallyValid() const +{ + if (SessionSurfaceId.IsEmpty() + || ActivationProfileId.IsEmpty() + || HostSurfaceId.IsEmpty() + || LaunchSurfaceId.IsEmpty() + || ViewContextSurfaceId.IsEmpty() + || Title.IsEmpty() + || HostMapPath.IsEmpty() + || HostMapRouteId.IsEmpty() + || HostMapLabel.IsEmpty() + || RuntimeModeId.IsEmpty() + || PrimaryPersistenceBoundaryId.IsEmpty() + || PrimaryViewProfileContractId.IsEmpty() + || !SourceAttribution.IsStructurallyValid()) + { + return false; + } + + return HyperTwistTrainingHigherDimensionalRuntimeLibraryInternal:: + AreImportedRuntimeSelectorsConsistent(Selectors, DefaultSelectorChoices); +} + +bool FHyperTwistTrainingHigherDimensionalRuntimeSessionCatalog::IsStructurallyValid() const +{ + if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || SessionSurfaces.Num() == 0) + { + return false; + } + + TSet SeenSessionSurfaceIds; + TSet SeenActivationProfileIds; + TSet SeenLaunchSurfaceIds; + TSet SeenViewContextSurfaceIds; + for (const FHyperTwistTrainingHigherDimensionalRuntimeSessionSurface& SessionSurface : + SessionSurfaces) + { + if (!SessionSurface.IsStructurallyValid()) + { + return false; + } + + const FString NormalizedSessionSurfaceId = SessionSurface.SessionSurfaceId.ToLower(); + if (SeenSessionSurfaceIds.Contains(NormalizedSessionSurfaceId)) + { + return false; + } + + const FString NormalizedActivationProfileId = + SessionSurface.ActivationProfileId.ToLower(); + if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) + { + return false; + } + + const FString NormalizedLaunchSurfaceId = SessionSurface.LaunchSurfaceId.ToLower(); + if (SeenLaunchSurfaceIds.Contains(NormalizedLaunchSurfaceId)) + { + return false; + } + + const FString NormalizedViewContextSurfaceId = + SessionSurface.ViewContextSurfaceId.ToLower(); + if (SeenViewContextSurfaceIds.Contains(NormalizedViewContextSurfaceId)) + { + return false; + } + + SeenSessionSurfaceIds.Add(NormalizedSessionSurfaceId); + SeenActivationProfileIds.Add(NormalizedActivationProfileId); + SeenLaunchSurfaceIds.Add(NormalizedLaunchSurfaceId); + SeenViewContextSurfaceIds.Add(NormalizedViewContextSurfaceId); + } + + return true; +} + +bool FHyperTwistTrainingHigherDimensionalInteractiveSceneCatalog::IsStructurallyValid() const +{ + if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || SceneSurfaces.Num() == 0) + { + return false; + } + + TSet SeenSceneSurfaceIds; + TSet SeenSessionSurfaceIds; + TSet SeenActivationProfileIds; + TSet SeenSceneContextIds; + for (const FHyperTwistTrainingHigherDimensionalInteractiveSceneSurface& SceneSurface : + SceneSurfaces) + { + if (!SceneSurface.IsStructurallyValid()) + { + return false; + } + + const FString NormalizedSceneSurfaceId = SceneSurface.SceneSurfaceId.ToLower(); + if (SeenSceneSurfaceIds.Contains(NormalizedSceneSurfaceId)) + { + return false; + } + + const FString NormalizedSessionSurfaceId = SceneSurface.SessionSurfaceId.ToLower(); + if (SeenSessionSurfaceIds.Contains(NormalizedSessionSurfaceId)) + { + return false; + } + + const FString NormalizedActivationProfileId = + SceneSurface.ActivationProfileId.ToLower(); + if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) + { + return false; + } + + const FString NormalizedSceneContextId = + SceneSurface.SceneContext.SceneContextId.ToLower(); + if (SeenSceneContextIds.Contains(NormalizedSceneContextId)) + { + return false; + } + + SeenSceneSurfaceIds.Add(NormalizedSceneSurfaceId); + SeenSessionSurfaceIds.Add(NormalizedSessionSurfaceId); + SeenActivationProfileIds.Add(NormalizedActivationProfileId); + SeenSceneContextIds.Add(NormalizedSceneContextId); + } + + return true; +} + FHyperTwistTrainingHigherDimensionalRuntimeActivationCatalog UHyperTwistTrainingHigherDimensionalRuntimeLibrary::BuildBundledHigherDimensionalRuntimeActivationCatalog() { diff --git a/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.h b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.h index 58b43b3..9527822 100644 --- a/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.h +++ b/UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.h @@ -149,48 +149,7 @@ struct FHyperTwistTrainingHigherDimensionalRuntimeActivationCatalog UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") TArray Profiles; - bool IsStructurallyValid() const - { - if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || Profiles.Num() == 0) - { - return false; - } - - TSet SeenProfileIds; - TSet SeenPuzzleIds; - TSet SeenRuntimeModeIds; - for (const FHyperTwistTrainingHigherDimensionalRuntimeActivationProfile& Profile : Profiles) - { - if (!Profile.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedProfileId = Profile.ActivationProfileId.ToLower(); - if (SeenProfileIds.Contains(NormalizedProfileId)) - { - return false; - } - - const FString NormalizedPuzzleId = Profile.PuzzleId.ToLower(); - if (SeenPuzzleIds.Contains(NormalizedPuzzleId)) - { - return false; - } - - const FString NormalizedRuntimeModeId = Profile.RuntimeModeId.ToLower(); - if (SeenRuntimeModeIds.Contains(NormalizedRuntimeModeId)) - { - return false; - } - - SeenProfileIds.Add(NormalizedProfileId); - SeenPuzzleIds.Add(NormalizedPuzzleId); - SeenRuntimeModeIds.Add(NormalizedRuntimeModeId); - } - - return true; - } + bool IsStructurallyValid() const; }; USTRUCT(BlueprintType) @@ -270,40 +229,7 @@ struct FHyperTwistTrainingHigherDimensionalRuntimeHostCatalog UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") TArray HostSurfaces; - bool IsStructurallyValid() const - { - if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || HostSurfaces.Num() == 0) - { - return false; - } - - TSet SeenHostSurfaceIds; - TSet SeenActivationProfileIds; - for (const FHyperTwistTrainingHigherDimensionalRuntimeHostSurface& HostSurface : HostSurfaces) - { - if (!HostSurface.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedHostSurfaceId = HostSurface.HostSurfaceId.ToLower(); - if (SeenHostSurfaceIds.Contains(NormalizedHostSurfaceId)) - { - return false; - } - - const FString NormalizedActivationProfileId = HostSurface.ActivationProfileId.ToLower(); - if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) - { - return false; - } - - SeenHostSurfaceIds.Add(NormalizedHostSurfaceId); - SeenActivationProfileIds.Add(NormalizedActivationProfileId); - } - - return true; - } + bool IsStructurallyValid() const; }; USTRUCT(BlueprintType) @@ -389,67 +315,7 @@ struct FHyperTwistTrainingHigherDimensionalRuntimeLaunchSurface UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") FHyperTwistTrainingSourceAttribution SourceAttribution; - bool IsStructurallyValid() const - { - if (LaunchSurfaceId.IsEmpty() - || ActivationProfileId.IsEmpty() - || HostSurfaceId.IsEmpty() - || Title.IsEmpty() - || HostMapPath.IsEmpty() - || HostMapRouteId.IsEmpty() - || DeckId.IsEmpty() - || SeedCaseId.IsEmpty() - || SeedPromptLabel.IsEmpty() - || SurfaceKind.IsEmpty() - || SurfaceId.IsEmpty() - || SurfaceLabel.IsEmpty() - || RuntimeModeId.IsEmpty() - || GeneratorType.IsEmpty() - || PrimaryPersistenceBoundaryId.IsEmpty() - || !SourceAttribution.IsStructurallyValid() - || Selectors.Num() == 0 - || DefaultSelectorChoices.Num() == 0) - { - return false; - } - - TSet SeenSelectorIds; - for (const FHyperTwistTrainingImportedRuntimeSelector& Selector : Selectors) - { - if (!Selector.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedSelectorId = Selector.SelectorId.ToLower(); - if (SeenSelectorIds.Contains(NormalizedSelectorId)) - { - return false; - } - - SeenSelectorIds.Add(NormalizedSelectorId); - } - - TSet SeenChoiceSelectorIds; - for (const FHyperTwistTrainingImportedRuntimeSelectorChoice& Choice : DefaultSelectorChoices) - { - if (!Choice.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedSelectorId = Choice.SelectorId.ToLower(); - if (!SeenSelectorIds.Contains(NormalizedSelectorId) - || SeenChoiceSelectorIds.Contains(NormalizedSelectorId)) - { - return false; - } - - SeenChoiceSelectorIds.Add(NormalizedSelectorId); - } - - return SeenChoiceSelectorIds.Num() == SeenSelectorIds.Num(); - } + bool IsStructurallyValid() const; }; USTRUCT(BlueprintType) @@ -466,48 +332,7 @@ struct FHyperTwistTrainingHigherDimensionalRuntimeLaunchCatalog UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") TArray LaunchSurfaces; - bool IsStructurallyValid() const - { - if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || LaunchSurfaces.Num() == 0) - { - return false; - } - - TSet SeenLaunchSurfaceIds; - TSet SeenActivationProfileIds; - TSet SeenSurfaceIds; - for (const FHyperTwistTrainingHigherDimensionalRuntimeLaunchSurface& LaunchSurface : LaunchSurfaces) - { - if (!LaunchSurface.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedLaunchSurfaceId = LaunchSurface.LaunchSurfaceId.ToLower(); - if (SeenLaunchSurfaceIds.Contains(NormalizedLaunchSurfaceId)) - { - return false; - } - - const FString NormalizedActivationProfileId = LaunchSurface.ActivationProfileId.ToLower(); - if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) - { - return false; - } - - const FString NormalizedSurfaceId = LaunchSurface.SurfaceId.ToLower(); - if (SeenSurfaceIds.Contains(NormalizedSurfaceId)) - { - return false; - } - - SeenLaunchSurfaceIds.Add(NormalizedLaunchSurfaceId); - SeenActivationProfileIds.Add(NormalizedActivationProfileId); - SeenSurfaceIds.Add(NormalizedSurfaceId); - } - - return true; - } + bool IsStructurallyValid() const; }; USTRUCT(BlueprintType) @@ -569,61 +394,7 @@ struct FHyperTwistTrainingHigherDimensionalRuntimeViewContextSurface UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") FHyperTwistTrainingSourceAttribution SourceAttribution; - bool IsStructurallyValid() const - { - if (ViewContextSurfaceId.IsEmpty() - || ActivationProfileId.IsEmpty() - || LaunchSurfaceId.IsEmpty() - || HostSurfaceId.IsEmpty() - || Title.IsEmpty() - || HostMapPath.IsEmpty() - || HostMapRouteId.IsEmpty() - || HostMapLabel.IsEmpty() - || PrimaryViewProfileContractId.IsEmpty() - || !SourceAttribution.IsStructurallyValid() - || Selectors.Num() == 0 - || DefaultSelectorChoices.Num() == 0) - { - return false; - } - - TSet SeenSelectorIds; - for (const FHyperTwistTrainingImportedRuntimeSelector& Selector : Selectors) - { - if (!Selector.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedSelectorId = Selector.SelectorId.ToLower(); - if (SeenSelectorIds.Contains(NormalizedSelectorId)) - { - return false; - } - - SeenSelectorIds.Add(NormalizedSelectorId); - } - - TSet SeenChoiceSelectorIds; - for (const FHyperTwistTrainingImportedRuntimeSelectorChoice& Choice : DefaultSelectorChoices) - { - if (!Choice.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedSelectorId = Choice.SelectorId.ToLower(); - if (!SeenSelectorIds.Contains(NormalizedSelectorId) - || SeenChoiceSelectorIds.Contains(NormalizedSelectorId)) - { - return false; - } - - SeenChoiceSelectorIds.Add(NormalizedSelectorId); - } - - return SeenChoiceSelectorIds.Num() == SeenSelectorIds.Num(); - } + bool IsStructurallyValid() const; }; USTRUCT(BlueprintType) @@ -640,51 +411,7 @@ struct FHyperTwistTrainingHigherDimensionalRuntimeViewContextCatalog UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") TArray ViewContextSurfaces; - bool IsStructurallyValid() const - { - if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || ViewContextSurfaces.Num() == 0) - { - return false; - } - - TSet SeenViewContextSurfaceIds; - TSet SeenActivationProfileIds; - TSet SeenLaunchSurfaceIds; - for (const FHyperTwistTrainingHigherDimensionalRuntimeViewContextSurface& ViewContextSurface : - ViewContextSurfaces) - { - if (!ViewContextSurface.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedViewContextSurfaceId = - ViewContextSurface.ViewContextSurfaceId.ToLower(); - if (SeenViewContextSurfaceIds.Contains(NormalizedViewContextSurfaceId)) - { - return false; - } - - const FString NormalizedActivationProfileId = - ViewContextSurface.ActivationProfileId.ToLower(); - if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) - { - return false; - } - - const FString NormalizedLaunchSurfaceId = ViewContextSurface.LaunchSurfaceId.ToLower(); - if (SeenLaunchSurfaceIds.Contains(NormalizedLaunchSurfaceId)) - { - return false; - } - - SeenViewContextSurfaceIds.Add(NormalizedViewContextSurfaceId); - SeenActivationProfileIds.Add(NormalizedActivationProfileId); - SeenLaunchSurfaceIds.Add(NormalizedLaunchSurfaceId); - } - - return true; - } + bool IsStructurallyValid() const; }; USTRUCT(BlueprintType) @@ -755,64 +482,7 @@ struct FHyperTwistTrainingHigherDimensionalRuntimeSessionSurface UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") FHyperTwistTrainingSourceAttribution SourceAttribution; - bool IsStructurallyValid() const - { - if (SessionSurfaceId.IsEmpty() - || ActivationProfileId.IsEmpty() - || HostSurfaceId.IsEmpty() - || LaunchSurfaceId.IsEmpty() - || ViewContextSurfaceId.IsEmpty() - || Title.IsEmpty() - || HostMapPath.IsEmpty() - || HostMapRouteId.IsEmpty() - || HostMapLabel.IsEmpty() - || RuntimeModeId.IsEmpty() - || PrimaryPersistenceBoundaryId.IsEmpty() - || PrimaryViewProfileContractId.IsEmpty() - || !SourceAttribution.IsStructurallyValid() - || Selectors.Num() == 0 - || DefaultSelectorChoices.Num() == 0) - { - return false; - } - - TSet SeenSelectorIds; - for (const FHyperTwistTrainingImportedRuntimeSelector& Selector : Selectors) - { - if (!Selector.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedSelectorId = Selector.SelectorId.ToLower(); - if (SeenSelectorIds.Contains(NormalizedSelectorId)) - { - return false; - } - - SeenSelectorIds.Add(NormalizedSelectorId); - } - - TSet SeenChoiceSelectorIds; - for (const FHyperTwistTrainingImportedRuntimeSelectorChoice& Choice : DefaultSelectorChoices) - { - if (!Choice.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedSelectorId = Choice.SelectorId.ToLower(); - if (!SeenSelectorIds.Contains(NormalizedSelectorId) - || SeenChoiceSelectorIds.Contains(NormalizedSelectorId)) - { - return false; - } - - SeenChoiceSelectorIds.Add(NormalizedSelectorId); - } - - return SeenChoiceSelectorIds.Num() == SeenSelectorIds.Num(); - } + bool IsStructurallyValid() const; }; USTRUCT(BlueprintType) @@ -829,59 +499,7 @@ struct FHyperTwistTrainingHigherDimensionalRuntimeSessionCatalog UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") TArray SessionSurfaces; - bool IsStructurallyValid() const - { - if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || SessionSurfaces.Num() == 0) - { - return false; - } - - TSet SeenSessionSurfaceIds; - TSet SeenActivationProfileIds; - TSet SeenLaunchSurfaceIds; - TSet SeenViewContextSurfaceIds; - for (const FHyperTwistTrainingHigherDimensionalRuntimeSessionSurface& SessionSurface : - SessionSurfaces) - { - if (!SessionSurface.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedSessionSurfaceId = SessionSurface.SessionSurfaceId.ToLower(); - if (SeenSessionSurfaceIds.Contains(NormalizedSessionSurfaceId)) - { - return false; - } - - const FString NormalizedActivationProfileId = - SessionSurface.ActivationProfileId.ToLower(); - if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) - { - return false; - } - - const FString NormalizedLaunchSurfaceId = SessionSurface.LaunchSurfaceId.ToLower(); - if (SeenLaunchSurfaceIds.Contains(NormalizedLaunchSurfaceId)) - { - return false; - } - - const FString NormalizedViewContextSurfaceId = - SessionSurface.ViewContextSurfaceId.ToLower(); - if (SeenViewContextSurfaceIds.Contains(NormalizedViewContextSurfaceId)) - { - return false; - } - - SeenSessionSurfaceIds.Add(NormalizedSessionSurfaceId); - SeenActivationProfileIds.Add(NormalizedActivationProfileId); - SeenLaunchSurfaceIds.Add(NormalizedLaunchSurfaceId); - SeenViewContextSurfaceIds.Add(NormalizedViewContextSurfaceId); - } - - return true; - } + bool IsStructurallyValid() const; }; USTRUCT(BlueprintType) @@ -991,59 +609,7 @@ struct FHyperTwistTrainingHigherDimensionalInteractiveSceneCatalog UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist") TArray SceneSurfaces; - bool IsStructurallyValid() const - { - if (CatalogId.IsEmpty() || CatalogVersion.IsEmpty() || SceneSurfaces.Num() == 0) - { - return false; - } - - TSet SeenSceneSurfaceIds; - TSet SeenSessionSurfaceIds; - TSet SeenActivationProfileIds; - TSet SeenSceneContextIds; - for (const FHyperTwistTrainingHigherDimensionalInteractiveSceneSurface& SceneSurface : - SceneSurfaces) - { - if (!SceneSurface.IsStructurallyValid()) - { - return false; - } - - const FString NormalizedSceneSurfaceId = SceneSurface.SceneSurfaceId.ToLower(); - if (SeenSceneSurfaceIds.Contains(NormalizedSceneSurfaceId)) - { - return false; - } - - const FString NormalizedSessionSurfaceId = SceneSurface.SessionSurfaceId.ToLower(); - if (SeenSessionSurfaceIds.Contains(NormalizedSessionSurfaceId)) - { - return false; - } - - const FString NormalizedActivationProfileId = - SceneSurface.ActivationProfileId.ToLower(); - if (SeenActivationProfileIds.Contains(NormalizedActivationProfileId)) - { - return false; - } - - const FString NormalizedSceneContextId = - SceneSurface.SceneContext.SceneContextId.ToLower(); - if (SeenSceneContextIds.Contains(NormalizedSceneContextId)) - { - return false; - } - - SeenSceneSurfaceIds.Add(NormalizedSceneSurfaceId); - SeenSessionSurfaceIds.Add(NormalizedSessionSurfaceId); - SeenActivationProfileIds.Add(NormalizedActivationProfileId); - SeenSceneContextIds.Add(NormalizedSceneContextId); - } - - return true; - } + bool IsStructurallyValid() const; }; USTRUCT(BlueprintType) diff --git a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md index feac3db..4aec39c 100644 --- a/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md +++ b/docs/v6_5_deep_manual_pack/HyperTwist/DEVELOPMENT.md @@ -390,6 +390,43 @@ Latest same-day training-benchmark header ownership follow-up still on the higher-dimensional runtime header rather than validation-benchmark bundles +Latest same-day higher-dimensional runtime header cleanup follow-up still on +`2026-06-24`: + +- the next same-family runtime packet then moved the larger activation, launch, + view-context, session, and interactive-scene catalog/surface validators out + of + `Public/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.h` + and into the private runtime owner file + `Private/HyperTwistTraining/HyperTwistTrainingHigherDimensionalRuntimeLibrary.cpp` +- the private runtime owner now also carries a shared + `AreImportedRuntimeSelectorsConsistent(...)` helper so the selector/default-choice + integrity loop no longer repeats inline across the launch, view-context, and + session surface validators +- `scripts/run-hypertwist-sentrux-source-only.sh` then improved again to: + - `Quality: 6172` + - all `7` rules passing +- the higher-dimensional runtime header’s remaining inline validators are now + down to small residual seams: + - `23` lines for `FHyperTwistTrainingMagicCube5DInteractiveSceneStateEnvelope` + - `22` lines for `FHyperTwistTrainingMagic120CellInteractiveSceneStateEnvelope` + - `20` lines for `FHyperTwistTrainingHigherDimensionalInteractiveSceneSurface` + - `18` lines for `FHyperTwistTrainingHigherDimensionalRuntimeActivationProfile` + - `14` lines for `FHyperTwistTrainingHigherDimensionalRuntimeHostSurface` +- the overall public-header inline-validator hotspots now shift away from the + Phase 6C runtime family and toward other owned surfaces: + - `52` lines for `FHyperTwistVirtual3333VisibleProjection` + - `51` lines for `FHyperTwistMelindaProjectedCell` + - `47` lines for `FHyperTwistVirtual3333RuntimeState` + - `42` lines for `FHyperTwistVisionBrowserShellProfile` + - `42` lines for `FHyperTwistMelinda2x2x2x2ScramblePacket` +- current truthful “vanilla refactor” reading tightens again: + - the higher-dimensional runtime header is no longer a meaningful large + inline-validator hotspot + - if we keep draining structural header weight, the next honest family is now + simulation/recognition/core ownership rather than more Phase 6C runtime + cleanup + Latest same-day browser/distribution continuity follow-up still on `2026-06-24`: - auth-entry, protected-route loading, dashboard auth health, and release-authority fallback states now share a more deliberate operator-facing recovery shape instead of scattering single-line warnings across public and protected surfaces