package utils
// AstronomicalData contains calculated astronomical data for a recording
// CalculateAstronomicalData calculates astronomical data for a recording.
// Uses the recording MIDPOINT time (not start time) for calculations.
//
// Parameters:
// - timestampUTC: Recording start time in UTC
// - durationSec: Recording duration in seconds
// - lat, lon: Location coordinates in decimal degrees
//
// Returns:
// - solarNight: true if recording midpoint is between sunset and sunrise
// - civilNight: true if recording midpoint is between dusk and dawn
// - moonPhase: 0.00-1.00 representing moon phase (0=New, 0.5=Full)
// isBetweenSunTimes determines if a time is between sunset/dusk and sunrise/dawn
// Handles the case where the night period crosses midnight
// CalculateMidpointTime calculates the midpoint time of a recording
.Time