Option Strict On
Option Explicit On

Namespace Nexamas.UI.Controls

    ''' <summary>
    ''' Friend-only readiness evidence for MASLoadingSkeleton refinement. The control stays
    ''' visual-only; data loading, clock-based activity, local/parallel animation clocks, progress lifetime, virtualization,
    ''' render verification execution, and performance runners remain outside the element.
    ''' </summary>
    Friend NotInheritable Class MASLoadingSkeletonReadinessManifest
        Friend Sub New(status As MASLoadingSkeletonReadinessStatus,
                       hasVisualPolicy As Boolean,
                       hasVariantGeometryPolicy As Boolean,
                       hasDeterministicLineWidthPolicy As Boolean,
                       hasReducedMotionStableRenderPolicy As Boolean,
                       clockOrMotionRouteAbsent As Boolean,
                       parallelLoadingRouteAbsent As Boolean)
            Me.Status = status
            Me.HasVisualPolicy = hasVisualPolicy
            Me.HasVariantGeometryPolicy = hasVariantGeometryPolicy
            Me.HasDeterministicLineWidthPolicy = hasDeterministicLineWidthPolicy
            Me.HasReducedMotionStableRenderPolicy = hasReducedMotionStableRenderPolicy
            Me.ClockOrMotionRouteAbsent = clockOrMotionRouteAbsent
            Me.ParallelLoadingRouteAbsent = parallelLoadingRouteAbsent
        End Sub

        Friend ReadOnly Property Status As MASLoadingSkeletonReadinessStatus
        Friend ReadOnly Property HasVisualPolicy As Boolean
        Friend ReadOnly Property HasVariantGeometryPolicy As Boolean
        Friend ReadOnly Property HasDeterministicLineWidthPolicy As Boolean
        Friend ReadOnly Property HasReducedMotionStableRenderPolicy As Boolean
        Friend ReadOnly Property ClockOrMotionRouteAbsent As Boolean
        Friend ReadOnly Property ParallelLoadingRouteAbsent As Boolean

        Friend Shared Function CreateCurrent() As MASLoadingSkeletonReadinessManifest
            Return New MASLoadingSkeletonReadinessManifest(MASLoadingSkeletonReadinessStatus.Ready, True, True, True, True, True, True)
        End Function
    End Class

End Namespace
