Add matched training signals, daily recovery and performance analysis

This commit is contained in:
Peter Stockings
2026-10-03 13:22:32 +10:00
parent e6e2f22479
commit 418e03583a
37 changed files with 1380 additions and 47 deletions
+3 -1
View File
@@ -7,7 +7,7 @@ import click
from .analytics import analyse, numeric
ANALYSIS_VERSION = 2
ANALYSIS_VERSION = 3
CHART_LIMIT = 750
ROUTE_TARGET = 1400
CHART_KEYS = (
@@ -105,6 +105,7 @@ def compact_routes(samples):
def persist_analysis(activity):
from .effort_segments import analyze
from .recording_windows import analyze as continuous_windows
analysis = analyse(activity)
effort, segments = analyze(activity.samples or [])
@@ -113,6 +114,7 @@ def persist_analysis(activity):
)
activity.analysis_summary = {key: analysis[key] for key in ("summary", "terrain", "laps")}
activity.analysis_summary["segments"] = segments
activity.analysis_summary["intervals"] = continuous_windows(activity.samples or []) if activity.sport == "running" else []
routes = compact_routes(analysis["samples"])
activity.route_geometry = [[sample["point"] for sample in segment] for segment in routes]
chart_indices = evenly_spaced(len(analysis["samples"]), CHART_LIMIT)