This commit is contained in:
larssand
2026-08-24 21:28:38 +02:00
parent 355a1ad3b0
commit 3aeb77a042
13 changed files with 642 additions and 8 deletions

View File

@@ -179,8 +179,13 @@ The `Training` menu provides a non-race progression view for registered drivers:
The default view is intentionally simple: four key statistics, the next lap target, today's 20-minute plan and active rewards. Goal administration, mobile sharing, detailed history and the club comparison remain available in collapsed sections when needed.
When Open Practice, Free Practice, or Practice is running, the selected driver gets a compact live card with current valid laps, best lap, average, and latest lap. The session remains shared by everyone; only the mobile 20-minute timer and personal profile link are unique per driver. The primary action at the top creates or opens that link.
- durable lifetime valid-lap ledger synchronized from stored session results
- practice days, recorded sessions, personal best, overall/recent averages, controlled-lap streak, and recent consistency spread
- automatic stint boundaries after a passing gap longer than 2 minutes
- best 3 consecutive laps plus best 5-minute result and its average pace
- the best 5-minute result counts the final lap when it started before `5:00` (`300 s`), even when the result finishes after the cutoff
- daily history for the latest practice days and recent personal-best improvement
- automatic progression levels at useful lap totals without manual setup
- a 20-minute recommendation split into maximum-focus and controlled 80-90% blocks
@@ -367,6 +372,13 @@ Example:
- judging log can be exported per session as JSON
- supports `Undo latest` and per-log-row undo for multiple recent manual actions
## Future improvements
- Optional neural text-to-speech for more natural start, finish, and driver-name announcements.
- Preferred design: generate speech through the backend, cache short audio files under `data/tts/`, and play cached audio without network delay during a race.
- Keep provider credentials on the backend only. Never expose API keys to the browser or public overlay.
- Retain the current system voice and passing beep as offline fallbacks.
- Support uploaded or prerecorded WAV/MP3 clips for fixed start and finish announcements.
## Windows installation
Use 64-bit Windows 11 and Node.js 22 or 24 LTS. The easiest supported setup is: