package com.example.livingai.utils

import androidx.compose.ui.unit.dp

object Constants {
    const val USER_SETTINGS = "USER_SETTINGS"
    const val APP_ENTRY = "APP_ENTRY"
    const val ANIMAL_DATA_FILENAME = "animal_data.csv"

    val silhouetteList = listOf(
        "front",
        "back",
        "left",
        "right",
        "leftangle",
        "rightangle",
        "angleview"
    )

    val VIDEO_SILHOETTE_FRAME_HEIGHT = 300.dp
    const val JACCARD_THRESHOLD = 85
    const val MODEL_HEIGHT = 320F

    // Target operational distance (meters)
    const val TARGET_DISTANCE_METERS = 5.0f

    // Tolerances
    const val DISTANCE_TOLERANCE_METERS_STRICT = 0.10f
    const val DISTANCE_TOLERANCE_METERS_RELAXED = 0.25f

    // ARCore confidence threshold
    const val DEPTH_CONFIDENCE_MIN = 0.6f

    const val MIN_DEPTH_SAMPLES = 20

    // IMU orientation limits
    const val MAX_ACCEPTABLE_PITCH_DEGREES = 5f
    const val MAX_ACCEPTABLE_ROLL_DEGREES = 3f

    // Object centering thresholds
    const val CENTER_TOLERANCE_X_FRACTION = 0.15f
    const val CENTER_TOLERANCE_Y_FRACTION = 0.20f

    // Fallback known-object dimension
    const val DEFAULT_OBJECT_REAL_HEIGHT_METERS = 1.2f

    // Fusion weights
    const val WEIGHT_ARCORE = 0.8f
    const val WEIGHT_KNOWN_DIM = 0.2f
}
