Spaces:
Running
Running
File size: 2,061 Bytes
35527e2 bccd229 35527e2 0f92957 d831612 35527e2 b10734b 3b7869d bccd229 fcc9f70 35527e2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
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 (filtered - only significant activities)
futureDates?: string[]; // Dates for future predictions (filtered)
futureValues?: (number | null)[]; // Optimal activity values for future days (filtered)
futureAverage7d?: (number | null)[]; // Predicted 7-day rolling average (filtered)
futureAverage28d?: (number | null)[]; // Predicted 28-day rolling average (filtered)
futureAcwr?: (number | null)[]; // Predicted ACWR values (filtered)
// Complete future predictions (including rest days for ACWR curve continuity)
allFutureDates?: string[]; // All future dates including rest days
allFutureValues?: number[]; // All future values including low values
allFutureAverage7d?: number[]; // All 7-day averages
allFutureAverage28d?: number[]; // All 28-day averages
allFutureAcwr?: number[]; // All ACWR values for curve continuity
}
|