package com.example.livingai.domain.ml

data class OrientationPixelResult(
    val orientationMatched: Boolean,     // true only if requested orientation is confidently matched
    val matchedOrientation: Orientation?,// which orientation matched (if any)
    val iouScore: Float,                 // IoU score for matched orientation (0..1)
    val iouBestOther: Float,             // best IoU among other orientations
    val pixelMetrics: PixelMetrics?      // null if orientation not matched
)

enum class Orientation {
    LEFT, RIGHT, FRONT, BACK, LEFT_45, RIGHT_45, TOP, BOTTOM
}

data class PixelMetrics(
    val widthPx: Int,
    val heightPx: Int,
    val areaPx: Int,
    val centroidX: Float,
    val centroidY: Float,
    val distanceProxyInvHeight: Float,  // 1 / heightPx (relative distance proxy)
    val heightPxFloat: Float,           // convenience
    val medianDepthMeters: Float?       // if depth map available (null otherwise)
)
