Jeder Block bekommt konkrete Defaults mit ✅ / ⚠️ / ❌ / 💬 Markern. Größere Änderungen ggü. reiner Fragenliste: - EXP-System konkretisiert (quadratische Level-Formel, Tier-Multiplikator) - Tier-Freischaltung mit 3-Bedingungen-System - Kalibrierung: 5 Referenz-Wdh Standard - Sensorik: Accelerometer+Gyro, Flutter-Stack - Roadmap in v1.0 / v1.x / v2.0 strukturiert
267 lines
13 KiB
Markdown
267 lines
13 KiB
Markdown
# LevelRep – offene Fragen & Antworten
|
||
|
||
> Stand: 24.08.2026 · aus `idee.md` & `progress.md` abgeleitet
|
||
> Jeder Themenblock hat: **Frage(n)** + **Antwort-Empfehlung(en)**. Antworten mit
|
||
> ✅ = Vorschlag / Defaults zum Übernehmen; ⚠️ = bewusste offene Entscheidung;
|
||
> 💬 = Diskussionspunkt.
|
||
>
|
||
> Diese Datei dient als lebendiges Decision-Memo: Antworten können später in
|
||
> `idee.md` / `progress.md` zurückfließen und hier gelöscht werden.
|
||
|
||
---
|
||
|
||
## 1. Level- & EXP-System (größte offene Lücke)
|
||
|
||
### Fragen
|
||
- Wie genau wird **EXP** vergeben? Pro Wiederholung, pro Satz, pro Einheit, pro Übung?
|
||
- Wie viel EXP erhält eine bestandenene Einheit — pro Tier unterschiedlich?
|
||
- Bonus-EXP für saubere Ausführung, vollständige Sätze, Max-Rep?
|
||
- EXP bei Nichtbestehen — Trost-EXP oder 0?
|
||
- Level bei Tier-Wechsel: erhalten, relativ (%) oder absolut?
|
||
- Level-Cap pro Tier?
|
||
- Skaliert EXP mit Tier?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **EXP pro bestandenem Satz**: `EXP = sum(Wiederholungen) × Tier-Multiplikator`
|
||
- Tier-Multiplikator: Beginner = 1.0, Fortgeschritten = 1.5, Pro = 2.0
|
||
- Max-Rep fließt mit normalem Satz-EXP ein (ist ja auch ein Satz, nur ohne Wiederholungs-Ziel)
|
||
- ✅ **Bonus-EXP**: +5 EXP pro Einheit wenn alle Sätze ohne Pause-Verkürzung absolviert (Disziplin-Bonus)
|
||
- ✅ **Keine Trost-EXP** bei Nichtbestehen — klares Fail-Signal, klare Motivation zur Wiederholung
|
||
- ✅ **Level-Formel**: `Level n → (n-1)² × 100 EXP` (quadratisch, damit höhere Level länger dauern)
|
||
- L1: 0 EXP · L2: 100 · L3: 400 · L4: 900 · L5: 1600 …
|
||
- ✅ **Tier-Wechsel**: absolutes Level bleibt, aber Anzeige wird relativ zum Tier (`14 / 20` für aktuelles Tier statt `14` absolut)
|
||
- ✅ **Level-Cap pro Tier**: Beginner 10, Fortgeschritten 20, Pro ∞
|
||
- ⚠️ Diskussionspunkt: Pro-Tier-EXP-Multiplikator — ist das fair, oder sollten höhere Tiers PRO Wiederholung sogar WENGER EXP geben, weil sie schwieriger sind (also intrinsisch motivierend)?
|
||
|
||
## 2. Tier-System & Tier-Wechsel
|
||
|
||
### Fragen
|
||
- Wie wird das Tier bestimmt? (automatisch oder manuell)
|
||
- Wann wird Aufstieg freigeschaltet? (EXP-Schwelle, Einheiten, Max-Rep, …)
|
||
- Kann ein Tier übersprungen werden?
|
||
- Ist „Pro" Endgame oder gibt es „Pro+"?
|
||
- Wie wird Tier-Wechsel sichtbar gemacht?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Manuelle Wahl** mit Empfehlung: App schlägt Tier basierend auf `Aktivitätslevel` + erstem Kalibrierungs-Ergebnis vor, User bestätigt oder ändert
|
||
- ✅ **Freischaltung**: Tier-Aufstieg wird freigeschaltet wenn
|
||
1. alle 13 Einheiten des aktuellen Tiers bestanden UND
|
||
2. Level-Cap des aktuellen Tiers erreicht UND
|
||
3. Max-Rep bei mind. 3 der letzten 5 Einheiten über Schwellwert (Tier-spezifisch)
|
||
- ✅ **Kein Überspringen** (verhindert Überforderung, klare Progressions-Linie)
|
||
- ✅ **„Pro" = Endgame für v1.0**. Spätere Erweiterung als Tier 4 ("Pro+" / "Elite") in v2.x — nicht im MVP
|
||
- ✅ **Tier-Wechsel-Anzeige**: Popup + Animation + Farbwechsel der Übungs-Karte (sanfter Übergang von Rot → Orange → tieferes Rot für Liegestütze z. B.)
|
||
- 💬 Schwellwert für Max-Rep-Freischaltung: Vorschlag `Max-Rep ≥ 1.5 × Beginner-Last der gleichen Einheit`. Beispiel Kniebeugen Einheit 1 Pro: 20, Schwelle = 30 Wiederholungen.
|
||
|
||
## 3. Kalibrierung
|
||
|
||
### Fragen
|
||
- Was genau misst der Gyrosensor? (Amplitude, Beschleunigungsspitzen, Winkel, Kombi)
|
||
- Wie viele Referenzwiederholungen für saubere Kalibrierung?
|
||
- Re-Kalibrierung wann möglich?
|
||
- Verhalten bei Fehlschlag der Kalibrierung?
|
||
- Mehrere Kalibrierungen pro Profil/Übung speichern?
|
||
- Kalibrierung pro Übung oder pro Bewegungsrichtung?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Sensorik-Kombi**: Accelerometer (Beschleunigungs-Threshold pro Wiederholung) + Gyroskop (Winkel-Extrempunkte)
|
||
- ✅ **5 Referenzwiederholungen** als Standard, mit Skip-Option für Fortgeschrittene (3)
|
||
- ✅ **Re-Kalibrierung manuell** jederzeit möglich (Settings → Übung → neu kalibrieren). **Auto-Re-Kalibrierung** wenn Bewegungserkennung an 2 aufeinanderfolgenden Trainingseinheiten schlechter als 70 % Confidence.
|
||
- ✅ **Fehlschlag-Handling**: UI zeigt konkrete Anweisungen ("Smartphone zu locker", "zu langsam", "Winkel zu klein") + Re-Try-Button
|
||
- ⚠️ **Eine Kalibrierung pro Übung pro Profil** für v1.0 (vereinfacht DB-Schema). Mehrere Kalibrierungen (Tagesform) v2.x.
|
||
- ✅ **Pro Übung, eine Hauptkalibrierung**. Varianten (enge/breite Liegestütze) sind **eigene Übungen**.
|
||
|
||
## 4. Max-Rep
|
||
|
||
### Fragen
|
||
- Zählt Max-Rep in EXP-Vergabe ein?
|
||
- Wird er für Statistiken ausgewertet?
|
||
- Wiederholungszahl per Sensor oder manuell?
|
||
- Limit / Sicherheitsabbruch bei Formeinbruch?
|
||
- Anzeige prominent oder versteckt?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Max-Rep zählt EXP** (siehe §1)
|
||
- ✅ **Statistik-Max-Rep**: ja, eigener Chart mit Verlauf + persönlicher Rekord
|
||
- ✅ **Sensor-Zählung primär** + manueller Override-Button ("Mehr gemacht? Hier anpassen")
|
||
- ✅ **Sicherheitsabbruch**: kein hartes Limit, aber Warnton + Vibrations-Pulse wenn Form-Degradation erkannt wird (Acceleration-Varianz steigt um Faktor 1.5+)
|
||
- ✅ **Prominente Anzeige** auf Hauptmenü: "Klimmzüge — Level 6 · Max-Rep 8" (gibt intrinsische Motivation)
|
||
|
||
## 5. Profile
|
||
|
||
### Fragen
|
||
- Welche Aktivitätslevel-Werte genau?
|
||
- Wie viele Profile maximal?
|
||
- Avatar / Foto — ja oder nur Text?
|
||
- Löschen / Umbenennen möglich?
|
||
- Profilwechsel mid-training erlaubt?
|
||
- Datenmigration geplant?
|
||
- Mehrere Personen auf einem Gerät — Feature oder Risiko?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Aktivitätslevel**: 4 Werte — "Anfänger" / "Hobby" (1–2x/Woche) / "Aktiv" (3–4x/Woche) / "Leistungssportler"
|
||
- ✅ **Max 8 Profile** pro Gerät (mehr ist selten realistisch; falls doch nötig: Cloud-Sync in v2.x)
|
||
- ✅ **Avatar via Emoji-Auswahl** (kein Foto in v1.0 — Privacy + Storage)
|
||
- ✅ **Löschen mit Bestätigungs-Dialog** (zwei Mal tippen) · **Umbenennen** jederzeit
|
||
- ⚠️ **Profilwechsel mid-training gesperrt** — verhindert versehentlichen Daten-Mix
|
||
- ✅ **Datenmigration v1.x**: JSON-Export/Import via Share-Sheet (kein Cloud-Zwang, DSGVO-clean)
|
||
- 💬 **Multi-User auf einem Gerät** = bewusstes Feature (Familien-Use-Case), aber **kein Login-Schutz** in v1.0. Wer das braucht: PIN-Sperre optional in v2.x.
|
||
|
||
## 6. Trainingseinheit & Progression
|
||
|
||
### Fragen
|
||
- Wann genau rückt man eine Einheit vor (Konflikt idee.md ↔ progress.md)?
|
||
- Regenerationstage: nur passive Anzeige oder Stretching-Bonusaufgaben?
|
||
- Pausen-Timer: nur Countdown oder Sound/Haptik?
|
||
- Bewegungserkennung-Fehler: manuelle Korrektur möglich?
|
||
- Wann gilt Satz als bestanden? (vollständig oder Mindest-Schwelle)
|
||
- Übungs-Reihenfolge: frei oder fixer Tagesplan?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Nicht bestanden = dieselbe Einheit erneut** (übereinstimmend mit `progress.md`-Logik). Vorrücken erst wenn bestanden.
|
||
- ✅ **Regenerationstage**: passive Anzeige + 3 optionale Stretching-Vorschläge (statisch, kein Sensor-Tracking)
|
||
- ✅ **Pausen-Timer**: Countdown + dezenter Tick-Ton letzte 5 Sek. + Vibrations-Pulse bei Satzende
|
||
- ✅ **Manuelle Korrektur**: "+1" / "−1" Button am Satzende (wenn Sensor-Erkennung danebenlag)
|
||
- ✅ **Satz bestanden** = alle Ziel-Wiederholungen erreicht. Bei Sensor-Fehler zählt manuelle Korrektur.
|
||
- ✅ **Übungs-Reihenfolge**: frei wählbar pro Trainingstag, aber App **schlägt Reihenfolge** vor (z. B. Klimmzüge zuerst wenn noch am kräftigsten)
|
||
|
||
## 7. Übungen
|
||
|
||
### Fragen
|
||
- Wann kommt Dips (5. Übung)?
|
||
- Neue Übungen über App oder Code-Update?
|
||
- Sonderregeln pro Übung (z. B. Plank mit Zeit)?
|
||
- Variationen als eigene Übung oder Modifikation?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Dips: v1.0 mit dabei** (5. Übung, Farbe Cyan/Lila)
|
||
- ✅ **v1.x**: neue Übungen per Code-Update (Release-Notes) — **keine User-definierten Übungen** (validierte Progressionstabellen sind nicht trivial)
|
||
- ✅ **Sonderregeln pro Übung**: möglich (Plank mit Zeit, Burpees mit Combo-Zähler), aber jede Sonderregel ist eigene Übung mit eigener Progressionstabelle
|
||
- ✅ **Variationen = eigene Übung** (z. B. "Enge Liegestütze" separat von "Liegestütze")
|
||
- 💬 Langfristig: Community-Übungen in v2.x als opt-in Content-Pack
|
||
|
||
## 8. Sensorik / Hardware
|
||
|
||
### Fragen
|
||
- Welche Sensoren genau?
|
||
- Smartphone-Mounting-Empfehlung?
|
||
- Geräteanforderungen?
|
||
- Fallback ohne Sensor?
|
||
- Gleich gute Erkennung für alle Übungen?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Accelerometer + Gyroskop** (Standard in allen modernen Smartphones)
|
||
- ✅ **Mounting-Empfehlung**: Brustgurt-Halterung für Klimmzüge/Liegestütze, Oberschenkel-Halterung für Kniebeugen, freiliegend (Boden) für Sit-ups
|
||
- ✅ **Geräteanforderungen**: iOS 14+ / Android 8+ mit Gyroskop (Pre-2017 Geräte sind Ausnahme)
|
||
- ✅ **Fallback ohne Sensor**: manuelle Wiederholungs-Eingabe per Tap-Button
|
||
- 💬 **Klimmzüge sind Sensor-anspruchsvoll** (vertikale hängende Position, viel Bewegung im Schulterbereich). Hier ggf. zusätzlicher Algorithmus mit Winkel-Threshold statt Beschleunigungs-Threshold.
|
||
|
||
## 9. UI / UX & Tech-Stack
|
||
|
||
### Fragen
|
||
- Plattform: Native, Flutter, React Native, PWA?
|
||
- Offline-First oder Cloud-Sync?
|
||
- Notifications / Reminder?
|
||
- Sprachen?
|
||
- Dark Mode?
|
||
- Sounds / Haptik?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Flutter** — eine Codebase für iOS + Android, gute Sensorik-Support, schnelle UI-Iteration
|
||
- ✅ **Offline-First** — alle Daten lokal (SQLite), Cloud-Sync optional in v2.x
|
||
- ✅ **Notifications** für Trainingstage (Tag vorher + am Tag selbst) + Regenerations-Reminder (optional)
|
||
- ✅ **Sprachen v1.0**: Deutsch + Englisch (Struktur für einfache i18n-Erweiterung)
|
||
- ✅ **Dark Mode** mit System-Follow
|
||
- ✅ **Sounds + Haptik** für Satzwechsel, Tier-Up, Bestleistung (alles in Settings einzeln deaktivierbar)
|
||
|
||
## 10. Daten & Persistenz
|
||
|
||
### Fragen
|
||
- Speicher: lokal (SQLite/JSON/Core Data) oder Cloud?
|
||
- Backup-Strategie?
|
||
- DSGVO / Datenschutz?
|
||
- Datenformat für späteren Umzug?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **SQLite** lokal (Flutter-Default, performant für 8 Profile × 5 Übungen × 13 Einheiten × 4 Sätze × Reps + Verlauf)
|
||
- ✅ **Backup**: JSON-Export/Import manuell + Auto-Backup alle 7 Tage in App-internen Storage
|
||
- ✅ **DSGVO**: alle Daten lokal, keine Telemetrie, keine User-IDs, kein Cloud. Privacy-Policy in App.
|
||
- ✅ **Datenformat**: SQLite-Schema dokumentiert + JSON-Export mit Schema-Version. Migration bei Major-Updates mit Schema-Validator.
|
||
|
||
## 11. Statistiken & Feedback
|
||
|
||
### Fragen
|
||
- Verlaufschart pro Übung?
|
||
- Persönliche Bestleistungen?
|
||
- Wochen-/Monatsstatistik?
|
||
- Streak-Tracking?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Verlaufschart pro Übung** — Trainingslast (Sätze × Reps) über die letzten 30 Einheiten
|
||
- ✅ **Persönliche Bestleistungen** je Übung + Max-Rep-Rekord separat
|
||
- ✅ **Wochenstatistik** prominent (diese Woche: 4/4 Trainings absolviert, 480 EXP, Tier-Up in 320 EXP)
|
||
- ✅ **Streak-Tracking** (aktuelle Serie, längste Serie) — motivierender gamification-light Touch
|
||
|
||
## 12. Soziale / Gamification-Features (offen)
|
||
|
||
### Fragen
|
||
- Achievements / Badges?
|
||
- Tagesziel / Wochenziel außerhalb 30-Tage-Plan?
|
||
- Freund:innen / Leaderboard?
|
||
- Trainings-Tagebuch / Notizen?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ⚠️ **Achievements**: kleine Badges für "Erste Einheit bestanden", "7-Tage-Streak", "Tier-Up", "Alle 4 Übungen getestet" — kosmetisch, kein Pay-to-Win
|
||
- ⚠️ **Wochenziel** optional: vom User setzbar ("3x diese Woche"), App erinnert wenn Plan abweicht
|
||
- ❌ **Leaderboard/Freund:innen**: out-of-scope für v1.0 (Privacy, Server-Kosten)
|
||
- ✅ **Trainings-Tagebuch**: einfache Notiz pro Einheit (max 280 Zeichen), optional
|
||
|
||
## 13. Fehler- & Edge-Cases
|
||
|
||
### Fragen
|
||
- App-Crash mid-Einheit — teilweise bestanden speichern?
|
||
- Sensor-Ausfall mid-workout?
|
||
- Akku leer im Max-Rep?
|
||
- Gerät neu kalibriert nötig mid-workout?
|
||
|
||
### Antwort-Empfehlungen
|
||
- ✅ **Auto-Save nach jedem Satz** (in SQLite). Bei Crash: vorherige Sätze bleiben, aktueller Satz verloren (User kann manuell nachtragen oder wiederholen)
|
||
- ✅ **Sensor-Ausfall**: App bietet manuellen Tap-Counter an, Training läuft normal weiter
|
||
- ✅ **Akku-Safe-Mode**: bei <15 % Akku optional Training ohne Sensor + Vibration-only Timer
|
||
- ✅ **Re-Kalibrierung mid-workout**: App pausiert aktuelle Einheit, fordert Re-Kalibrierung, setzt Einheit fort (verlorene Sätze zählen nicht als bestanden — Einheit muss wiederholt werden wenn Re-Kalibrierung mitten in Einheit)
|
||
|
||
## 14. Roadmap-Reihenfolge (Priorisierung offen)
|
||
|
||
### Antwort-Empfehlung (vorgeschlagene Roadmap)
|
||
|
||
**v1.0 (MVP) — ~3 Monate**
|
||
- 4 Übungen (Liegestütze, Kniebeugen, Klimmzüge, Sit-ups) + Dips
|
||
- 3 Tiers mit existierenden Progressionstabellen
|
||
- 1 Profil pro Gerät (max 8 Profile, optional wechseln)
|
||
- Kalibrierung mit Sensor + manuellem Fallback
|
||
- 30-Tage-Trainingsplan mit Regenerationstagen
|
||
- Max-Rep optional nach letzter Einheit
|
||
- SQLite-Speicher, JSON-Export
|
||
- Deutsch + Englisch, Dark Mode
|
||
- Offline-First
|
||
|
||
**v1.x (3–6 Monate nach MVP)**
|
||
- Achievements / Badges
|
||
- Wochenziel-Feature
|
||
- Trainings-Tagebuch
|
||
- iCloud/Google-Drive Backup-Integration
|
||
|
||
**v2.0 (12+ Monate)**
|
||
- Multi-User Cloud-Sync mit Account-System
|
||
- Community-Übungen
|
||
- Übungs-Varianten pro User
|
||
- Apple-Watch / Wear-OS Companion
|
||
|
||
---
|
||
|
||
## Meta
|
||
|
||
- Diese Datei lebt im Repo und wird mit jeder neuen Entscheidung kürzer.
|
||
- Vorschlag: nach jeder Klärung die Antwort **direkt im Repo** dokumentieren (oder in `idee.md` / `progress.md` einpflegen) und den Eintrag hier löschen bzw. mit Verweis stehen lassen.
|
||
- ✅ = Vorschlag zum Übernehmen · ⚠️ = Diskussionspunkt · ❌ = bewusst raus · 💬 = freier Kommentar
|