Feature #49
Von Julius Haman vor 14 Tagen aktualisiert
### Problem Im Hauptchart (ErgometerDataPlotControl.ShowMetricsTrainingData) werden Ist-Werte (Cadence, TargetPower, ActualPulse) bereits aus den gespeicherten TrainingPoints gezeichnet. Die überlagerte Soll-Kurve (DesiredPulseLine, bei Puls-/Leistungsprofilen) wird dagegen bei jeder Anzeige neu aus Profile.GetDrawingPoints() berechnet - das ist Profildaten, keine Trainingsdaten. Dadurch geht Information verloren: GetDrawingPoints() nutzt den zur Laufzeit verstellbaren Intensitätsfaktor Profile.HeightFactor ([NotMapped], nicht persistiert, startet jede Session bei 1). Schaut man sich ein altes Training später an, zeigt die Soll-Linie die Kurve mit dem heutigen Standard-Faktor, nicht mit dem, was während des damaligen Trainings durch IncreaseHeight/DecreaseHeight tatsächlich eingestellt war. Seit #44 gibt es dafür bereits die passenden Felder direkt am TrainingPoint: TargetPower und TargetPulse, die den tatsächlich zum Aufnahmezeitpunkt geltenden Sollwert festhalten (inkl. damaliger Intensitätsanpassung). ### Vorschlag Grundsatz: im Hauptchart sollen ausschließlich Trainingsdaten angezeigt werden, keine (live nachberechneten) Profildaten. - Soll-Kurve bei Leistungsprofil-Trainings aus tp.TargetPower statt Profile.GivenPowerAt() zeichnen. - Soll-Kurve bei Pulsprofil-Trainings (die "rosa Linie") aus tp.TargetPulse statt Profile.GivenPulseAt() zeichnen. - Prüfen, ob/wie das mit der bestehenden DesiredPulseLine-Infrastruktur (SetDesiredCurve, live vs. Historie) zusammenpasst, oder ob eine grundsätzlichere Überarbeitung der Chart-Datenquellen sinnvoll ist (daher als eigenes, möglicherweise größeres Ticket statt Teil von #44). ### Kontext Entstanden aus der Spalten-Review von TrainingPoint nach #44. Test