Improve training statistics, achievements and stable pace audio

This commit is contained in:
larssand
2026-09-03 06:36:17 +02:00
parent 82d52ed6cd
commit 4f847610dc
16 changed files with 315 additions and 50 deletions

View File

@@ -534,14 +534,14 @@ Owns:
- stint splitting at persisted decoder `stintBoundary` markers, with gaps greater than `120000 ms` as a legacy fallback
- best N consecutive laps and fixed-duration result calculation
- five-minute (`300000 ms`) results include the final lap when its start is before the cutoff and expose average pace for the counted laps
- daily summaries, controlled-lap streak, and recent personal-best gain
- daily summaries, stint-scoped controlled-lap streak, personal control zone, and recent personal-best gain
- signed personal pace and consistency trends from the latest 30 laps versus the preceding 30, with a minimum of 10 laps in each window
- derived automatic achievements for sessions, lap totals, training days, controlled streaks, and a completed five-minute result
- derived automatic achievements for sessions, lap totals, training days, controlled streaks, strong finishes, and clean/completed five-minute results
- derived optional daily missions for lap volume, controlled consecutive laps, and a completed five-minute stint
- derived positive highlights for current activity, personal-best gain, pace, consistency, and endurance
- derived positive highlights for current activity, personal-best and split-time gains, pace, consistency, strong finishes, and endurance
- active 30-minute pace buckets using a trimmed average and omitting empty clock periods
- persisted class-specific setup markers and 30-minute before/after comparisons
- extended stint analysis with normal pace, best 10-lap race pace, mistake count, consistency, and start/end change
- extended stint analysis with normal pace, best 10-lap race pace, outlier count, consistency, start/end pace retention, and strong-finish detection
- rule-based practice recommendation selection
- automatic and custom milestone progress calculation
- shared club-goal progress from a persisted ledger baseline
@@ -570,7 +570,9 @@ Rules:
- duration-result ranking compares lap count first and elapsed result time second
- a duration result is valid only after crossing the target and includes a final lap whose start is before the target cutoff
- a stint needs at least 3 valid pace laps for consistency/ranking and at least 10 for Race pace 10
- a stint mistake is a lap more than 15 percent slower than that stint's median
- an outlier lap is more than 15 percent slower than that stint's median
- the personal control zone spans the class-specific personal best through 8 percent slower; its flow streak cannot cross a stint, source, or session boundary
- a strong finish requires at least 6 pace laps and closing-third pace no slower than 1 percent above opening-third pace
- setup comparisons need at least 3 valid laps in each 30-minute side of the marker
### `src/training_views.js`
@@ -588,7 +590,7 @@ Owns:
- positive-credit and optional daily-challenge cards based on the selected driver's own development
- recent club progress feed ordered by latest activity, without position numbers or cross-driver performance scoring
- shared club-goal create, celebrate, replace, and delete actions in the overview
- one collapsed More statistics section containing pace heatmap, setup-marker actions, weekday pace, stint analysis, timing channels, and history
- one collapsed More statistics section containing pace heatmap, setup-marker actions, weekday pace, control-zone/outlier/strong-finish totals, stint analysis, timing channels, and history
Mutations:
- replaces or appends entries in `state.training.goals`