package com.fieldlabel.collector.domain.model

/**
 * 移動経路ログの概要（1回の記録セッション）。
 * endTime が null の場合は現在記録中を表す。
 */
data class RouteLog(
    val id: String,
    val name: String,
    val startTime: Long,            // epoch ms
    val endTime: Long?,             // epoch ms, null = 記録中
    val totalDistanceMeters: Double,
    val pointCount: Int
) {
    /** 記録中かどうか */
    val isRecording: Boolean get() = endTime == null

    /** 記録時間（ミリ秒）。記録中の場合は現在時刻との差分 */
    val durationMs: Long get() = (endTime ?: System.currentTimeMillis()) - startTime
}

/**
 * 経路上の1測位点。
 */
data class RoutePoint(
    val id: String,
    val routeLogId: String,
    val latitude: Double,
    val longitude: Double,
    val altitude: Double,
    val timestamp: Long,    // epoch ms
    val accuracy: Float     // 水平精度 (m)
)
