Option Strict On
Option Explicit On

Imports System

Namespace Nexamas.UI.FloatRuntime

    ' ============================================================
    ' MASFloatRuntime Contract
    ' Class: MASFloatTransitionKind
    '
    ' Purpose:
    '   Defines visual transition flags for Float opening and closing.
    '
    ' Responsibility:
    '   Describes transition intent.
    '
    ' Owns:
    '   No animation state.
    '
    ' Does Not Own:
    '   Animation timing, rendering, invalidation, or lifecycle transition.
    '
    ' Allowed Dependencies:
    '   System.FlagsAttribute.
    '
    ' Forbidden Dependencies:
    '   Legacy Overlay classes.
    '   TransitionEngine implementation.
    '   Host implementation.
    '
    ' Lifecycle Role:
    '   Presentation-level contract consumed by TransitionEngine.
    '
    ' Threading:
    '   Thread-safe by definition.
    '
    ' Mutation Rules:
    '   Immutable flag values.
    '
    ' Invariants:
    '   Transition describes appearance only.
    '   Transition must not perform lifecycle decisions.
    '
    ' Failure Rules:
    '   Unsupported transition combinations may fall back to None or be rejected by TransitionEngine.
    ' ============================================================
    <Flags>
    Friend Enum MASFloatTransitionKind
        None = 0
        Fade = 1
        Scale = 2
        SlideFromLeft = 4
        SlideFromRight = 8
        SlideFromTop = 16
        SlideFromBottom = 32
    End Enum

End Namespace