Extract training media export plan validator
This commit is contained in:
parent
bb0402b1e4
commit
b76a345250
3 changed files with 66 additions and 35 deletions
|
|
@ -493,6 +493,43 @@ UHyperTwistTrainingMediaExportLibrary::BuildBundledMediaExportReferenceBundle()
|
|||
return Bundle;
|
||||
}
|
||||
|
||||
bool FHyperTwistTrainingClassicCubeMediaExportPlan::IsStructurallyValid() const
|
||||
{
|
||||
return !PlanVersion.IsEmpty()
|
||||
&& !ReplayId.IsEmpty()
|
||||
&& !PuzzleId.IsEmpty()
|
||||
&& !MapPath.IsEmpty()
|
||||
&& !LevelSequencePath.IsEmpty()
|
||||
&& !VideoRoute.IsEmpty()
|
||||
&& !StillRoute.IsEmpty()
|
||||
&& !ShareImageRoute.IsEmpty()
|
||||
&& !OutputDirectory.IsEmpty()
|
||||
&& !OutputBaseName.IsEmpty()
|
||||
&& !VideoOutputDirectory.IsEmpty()
|
||||
&& !StillOutputDirectory.IsEmpty()
|
||||
&& !ValidationDirectory.IsEmpty()
|
||||
&& !ExpectedVideoPath.IsEmpty()
|
||||
&& !ExpectedStillFramePath.IsEmpty()
|
||||
&& !ExpectedShareCardPath.IsEmpty()
|
||||
&& !ExpectedReportPath.IsEmpty()
|
||||
&& !ExpectedVideoReportPath.IsEmpty()
|
||||
&& !ExpectedStillReportPath.IsEmpty()
|
||||
&& OutputWidth > 0
|
||||
&& OutputHeight > 0
|
||||
&& OutputFrameRate > 0
|
||||
&& ReplayDurationMs >= 0
|
||||
&& TailDurationMs >= 0
|
||||
&& RenderStartFrame >= 0
|
||||
&& RenderEndFrame > RenderStartFrame
|
||||
&& StillFrame >= RenderStartFrame
|
||||
&& StillFrame < RenderEndFrame
|
||||
&& MoveCount >= 0
|
||||
&& InspectionTimeMs >= 0
|
||||
&& FinalTimeMs >= 0
|
||||
&& ReviewAnchorCount >= 0;
|
||||
}
|
||||
|
||||
|
||||
bool UHyperTwistTrainingMediaExportLibrary::TryGetPackageReferenceById(
|
||||
const FHyperTwistTrainingMediaExportReferenceBundle& Bundle,
|
||||
const FString& PackageId,
|
||||
|
|
|
|||
|
|
@ -426,41 +426,7 @@ struct FHyperTwistTrainingClassicCubeMediaExportPlan
|
|||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HyperTwist")
|
||||
bool bCanExportShareImage = false;
|
||||
|
||||
bool IsStructurallyValid() const
|
||||
{
|
||||
return !PlanVersion.IsEmpty()
|
||||
&& !ReplayId.IsEmpty()
|
||||
&& !PuzzleId.IsEmpty()
|
||||
&& !MapPath.IsEmpty()
|
||||
&& !LevelSequencePath.IsEmpty()
|
||||
&& !VideoRoute.IsEmpty()
|
||||
&& !StillRoute.IsEmpty()
|
||||
&& !ShareImageRoute.IsEmpty()
|
||||
&& !OutputDirectory.IsEmpty()
|
||||
&& !OutputBaseName.IsEmpty()
|
||||
&& !VideoOutputDirectory.IsEmpty()
|
||||
&& !StillOutputDirectory.IsEmpty()
|
||||
&& !ValidationDirectory.IsEmpty()
|
||||
&& !ExpectedVideoPath.IsEmpty()
|
||||
&& !ExpectedStillFramePath.IsEmpty()
|
||||
&& !ExpectedShareCardPath.IsEmpty()
|
||||
&& !ExpectedReportPath.IsEmpty()
|
||||
&& !ExpectedVideoReportPath.IsEmpty()
|
||||
&& !ExpectedStillReportPath.IsEmpty()
|
||||
&& OutputWidth > 0
|
||||
&& OutputHeight > 0
|
||||
&& OutputFrameRate > 0
|
||||
&& ReplayDurationMs >= 0
|
||||
&& TailDurationMs >= 0
|
||||
&& RenderStartFrame >= 0
|
||||
&& RenderEndFrame > RenderStartFrame
|
||||
&& StillFrame >= RenderStartFrame
|
||||
&& StillFrame < RenderEndFrame
|
||||
&& MoveCount >= 0
|
||||
&& InspectionTimeMs >= 0
|
||||
&& FinalTimeMs >= 0
|
||||
&& ReviewAnchorCount >= 0;
|
||||
}
|
||||
bool IsStructurallyValid() const;
|
||||
};
|
||||
|
||||
UCLASS()
|
||||
|
|
|
|||
|
|
@ -535,6 +535,34 @@ Latest same-day core header cleanup follow-up still on `2026-06-25`:
|
|||
- if we continue this structural hardening lane, the next honest family is
|
||||
now viewer/training or a return to the remaining smaller memory seams
|
||||
|
||||
Latest same-day training media-export header cleanup follow-up still on
|
||||
`2026-06-25`:
|
||||
|
||||
- the next bounded training-family packet then moved
|
||||
`FHyperTwistTrainingClassicCubeMediaExportPlan::IsStructurallyValid()` out of
|
||||
`Public/HyperTwistTraining/HyperTwistTrainingMediaExportLibrary.h` and into
|
||||
`Private/HyperTwistTraining/HyperTwistTrainingMediaExportLibrary.cpp`
|
||||
- that keeps the heavier classic-cube export-plan validation beside the live
|
||||
media-export reference bundle and plan-construction routines already owned by
|
||||
the training media-export library instead of leaving the public training
|
||||
export header to carry the lead validator inline
|
||||
- `scripts/run-hypertwist-sentrux-source-only.sh` then improved again to:
|
||||
- `Quality: 6197`
|
||||
- all `7` rules passing
|
||||
- the overall public-header inline-validator hotspots now shift again toward
|
||||
viewer plus the remaining smaller recognition and memory seams:
|
||||
- `36` lines for the current `HyperTwistViewerTypes.h` lead seam
|
||||
- `30` lines for `FHyperTwistVisionCommittedFaceState`
|
||||
- `30` lines for `FHyperTwistMemoryCognitiveFact`
|
||||
- `28` lines for `FHyperTwistMemoryDigestView`
|
||||
- `27` lines for the remaining memory-state cluster
|
||||
- current truthful “vanilla refactor” reading tightens again:
|
||||
- the training media-export header is no longer a meaningful large
|
||||
inline-validator hotspot
|
||||
- the next honest structural continuation is now either the viewer family or
|
||||
a return to the remaining smaller memory seams, not more training
|
||||
media-export 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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue