Spaces:
Running
Running
| export interface Activity { | |
| date: Date; | |
| activityType?: string; | |
| title?: string; | |
| distance?: number; // in kilometers | |
| duration?: number; // in minutes | |
| trainingStressScore?: number; | |
| calories?: number; | |
| averageHR?: number; | |
| maxHR?: number; | |
| totalAscent?: number; // in meters | |
| } | |
| export interface ProcessedData { | |
| activities: Activity[]; | |
| dates: string[]; | |
| distances: (number | null)[]; | |
| durations: (number | null)[]; | |
| tss: (number | null)[]; | |
| } | |
| export interface MetricACWRData { | |
| dates: string[]; | |
| values: (number | null)[]; // Daily sum values | |
| average7d: (number | null)[]; // 7-day rolling average | |
| average28d: (number | null)[]; // 28-day rolling average | |
| acwr: (number | null)[]; // ACWR based on this metric | |
| targetTomorrowValue?: number | null; // Value needed tomorrow to reach target ACWR of 1.3 | |
| targetACWR?: number; // The target ACWR value used for calculation | |
| restTomorrowACWR?: number | null; // What ACWR would be with a rest day tomorrow | |
| todayValue?: number | null; // Today's value for reference | |
| activitiesByDate?: Map<string, Activity[]>; // Activities grouped by date | |
| // Future predictions (next 7 days) | |
| futureDates?: string[]; // Dates for future predictions | |
| futureValues?: (number | null)[]; // Optimal activity values for future days | |
| futureAverage7d?: (number | null)[]; // Predicted 7-day rolling average | |
| futureAverage28d?: (number | null)[]; // Predicted 28-day rolling average | |
| futureAcwr?: (number | null)[]; // Predicted ACWR values | |
| } | |