Option Strict On
Option Explicit On

Namespace Nexamas.UI.FloatRuntime

    ' ============================================================
    ' MASFloatRuntime Contract
    ' Class: MASFloatShowPolicy
    '
    ' Purpose:
    '   Defines the caller's requested behavior when showing a Float.
    '
    ' Responsibility:
    '   Expresses show intent without authorizing it.
    '
    ' Owns:
    '   No runtime state.
    '
    ' Does Not Own:
    '   Conflict resolution, queueing, replacement, or reuse execution.
    '
    ' Allowed Dependencies:
    '   None.
    '
    ' Forbidden Dependencies:
    '   Legacy Overlay classes.
    '   PolicyEngine implementation.
    '   Coordinator implementation.
    '
    ' Lifecycle Role:
    '   Request-level contract value consumed by policy.
    '
    ' Threading:
    '   Thread-safe by definition.
    '
    ' Mutation Rules:
    '   Immutable enum values.
    '
    ' Invariants:
    '   ShowPolicy expresses intent only.
    '   PolicyEngine decides the actual action.
    '
    ' Failure Rules:
    '   A requested policy may be rejected if it violates ownership, shield, slot, or scope rules.
    ' ============================================================
    Friend Enum MASFloatShowPolicy
        FailIfOccupied
        ReplaceCurrent
        QueueAfterCurrentClosed
        CloseSameOwnerThenShow
        ReuseIfSameOwner
    End Enum

End Namespace