# Entwicklungsrouten – Multi-Dimensionales Training & Planung **Version:** 1.0 **Status:** Konzept **Ziel-Release:** v9e / v9f **Basis:** Rest Days Multi-Dimensional Architecture (v9d Phase 2a) --- ## Überblick **Entwicklungsrouten** sind unabhängige Dimensionen der körperlichen und mentalen Entwicklung, die jeweils eigene: - Trainingspläne - Ruhetag-Regeln - Fortschritts-Tracking - Ziele haben. **Kernidee:** Ein Tag kann gleichzeitig ein "Kraft-Ruhetag" UND ein "Mental-Aktivtag" sein. --- ## Die 6 Entwicklungsrouten ### 1. 💪 Kraft (Strength) **Fokus:** Muskelaufbau, Maximalkraft, Power **Trainingstypen:** - Strength (Krafttraining allgemein) - Power (Schnellkraft, Explosivität) - HIIT (Hochintensiv) **Ruhetag-Regeln:** - Nach schwerer Beineinheit → 48-72h Kraft-Ruhetag - Andere Routen (Cardio, Mental) bleiben erlaubt - Intensität: Max 60% bei erlaubten Aktivitäten **Metriken:** - Gewicht, Umfänge, Caliper - 1RM-Schätzung (optional) - Muskelregeneration (Ruhepuls + HRV) --- ### 2. 🏃 Kondition (Conditioning) **Fokus:** Ausdauer, VO2Max, Herz-Kreislauf **Trainingstypen:** - Cardio Low (GA1, Grundlagenausdauer) - Cardio High (GA2, Tempo-Läufe) - Endurance (Lange Einheiten) **Ruhetag-Regeln:** - Nach Wettkampf/Tempo-Lauf → 24-48h Cardio-Ruhetag - Kraft & Mobility erlaubt - Intensität: Max 70% HFmax **Metriken:** - HF-Zonen-Verteilung - VO2Max-Schätzung - Lauf-Pace / Rad-Watt --- ### 3. 🧘 Mental (Mental) **Fokus:** Stressmanagement, Fokus, Wettkampf-Readiness **Trainingstypen:** - Meditation - Wettkampf (Competition) - High-Pressure Training **Ruhetag-Regeln:** - Nach Wettkampf → 1-3 Tage Mental-Ruhetag - Physisches Training erlaubt (aber kein Wettkampf-Druck) - Nur entspannende Aktivitäten (Meditation, Spaziergang) **Metriken:** - Stresslevel (1-5 subjektiv) - Schlafqualität - HRV (Mental-Recovery-Indikator) --- ### 4. 🤸 Koordination (Coordination) **Fokus:** Balance, Agilität, Reaktion, propriozeptives Training **Trainingstypen:** - Coordination (Agilität, Balance) - Sport-spezifische Drills - Reaktionstraining **Ruhetag-Regeln:** - Nach intensivem Koordinationstraining → 24h Pause - Andere Routen erlaubt - Kein koordinativ anspruchsvolles Training bei Müdigkeit **Metriken:** - Subjektive Koordinations-Scores - Balance-Tests (optional) --- ### 5. 🧘‍♂️ Mobilität (Mobility) **Fokus:** Flexibilität, ROM (Range of Motion), Faszien **Trainingstypen:** - Mobility (Stretching, Yoga) - Faszien-Training - Passive Dehnung **Ruhetag-Regeln:** - Normalerweise kein Ruhetag nötig - Bei Überdehnung / Verletzung → Pause für betroffene Bereiche **Metriken:** - ROM-Messungen (optional) - Subjektive Beweglichkeit (1-5) --- ### 6. 🎯 Technik (Technique) **Fokus:** Sport-spezifische Skills, Bewegungsqualität **Trainingstypen:** - Technique Drills - Skill Work - Video-Analyse **Ruhetag-Regeln:** - Technik-Training bei Müdigkeit kontraproduktiv - Mental-Ruhetag → auch Technik pausieren - Physisches Training erlaubt (ohne Technik-Fokus) **Metriken:** - Video-Analyse-Scores (optional) - Coach-Feedback --- ## Datenmodell ### rest_days (Multi-Entry per Date) **Änderung:** UNIQUE constraint `(profile_id, date)` entfernt (Migration 011) **Erlaubt:** ```sql -- Gleiches Datum, verschiedene Routen: INSERT INTO rest_days (profile_id, date, rest_config, note) VALUES ('user-1', '2026-03-23', '{"focus": "muscle_recovery", ...}', 'Beine heavy'), ('user-1', '2026-03-23', '{"focus": "mental_rest", ...}', 'Wettkampf-Pause'); ``` **UI:** ``` 23. März 2026 💪 Muskelregeneration | "Beine heavy" 🧘 Mental Rest | "Wettkampf-Pause" → Cardio erlaubt, Kraft pausiert, keine Wettkämpfe ``` --- ## Wochenplanung mit Routen ### Tabelle: weekly_goals (erweitert) **JSONB Schema:** ```json { "routes": { "strength": { "goal": 3, // 3x Kraft pro Woche "min_rest_days": 1, // Mind. 1 Kraft-Ruhetag "intensity_distribution": { "heavy": 1, // 1x schwer (80-90%) "medium": 1, // 1x mittel (70-80%) "light": 1 // 1x leicht (60-70%) } }, "conditioning": { "goal": 2, "min_rest_days": 0, "hr_zones": { "zone_2": 60, // 60% der Zeit in Zone 2 "zone_3": 30, // 30% in Zone 3 "zone_4": 10 // 10% in Zone 4 } }, "mental": { "goal": 7, // Täglich Meditation "min_duration": 10, // Mind. 10 Min "rest_after_competition": 2 // 2 Tage Pause nach Wettkampf } }, "rules": { "max_consecutive_strength": 2, // Max 2 Krafteinheiten hintereinander "require_rest_after": ["competition", "strength_heavy"], "auto_rest_on_poor_recovery": true // Bei HRV < Baseline → Auto-Ruhetag } } ``` --- ## Activity Validation mit Routen ### Endpoint: `POST /api/rest-days/validate-activity` **Request:** ```json { "date": "2026-03-23", "activity_type": "strength", "route": "strength" // Neue Dimension } ``` **Response:** ```json { "conflicts": [ { "route": "strength", "severity": "warning", "message": "Kraft-Ruhetag – Muskelregeneration nach Beineinheit. Trotzdem trainieren?" } ], "allowed": false } ``` **Logik:** ```python def validate_activity_multi_route(profile_id, date, activity_type, route=None): """ Prüft alle rest_days für das Datum. - Wenn route angegeben: Nur diese Route prüfen - Sonst: Alle passenden Routen prüfen """ rest_days = get_rest_days(profile_id, date) conflicts = [] for rest_day in rest_days: config = rest_day['rest_config'] # Prüfe ob Activity in rest_from if activity_type in config.get('rest_from', []): conflicts.append({ 'route': config['focus'], 'severity': 'warning', 'message': f"{ROUTE_LABELS[config['focus']]} Ruhetag – {activity_type} sollte pausiert werden." }) return { 'conflicts': conflicts, 'allowed': len(conflicts) == 0 } ``` --- ## Habits & Streaks pro Route ### Tabelle: route_habits (neu in v9f) ```sql CREATE TABLE route_habits ( id SERIAL PRIMARY KEY, profile_id UUID NOT NULL REFERENCES profiles(id) ON DELETE CASCADE, route VARCHAR(20) NOT NULL, -- 'strength', 'conditioning', 'mental', etc. habit_type VARCHAR(50) NOT NULL, -- 'meditation', 'mobility', 'strength_training' frequency VARCHAR(20) NOT NULL, -- 'daily', 'weekly_3', 'weekly_5' streak_current INTEGER DEFAULT 0, streak_longest INTEGER DEFAULT 0, last_completed DATE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` **Beispiele:** - Mental-Route: "Tägliche Meditation" (7x/Woche) - Mobility-Route: "Stretching" (3x/Woche) - Strength-Route: "Krafttraining" (3x/Woche) **UI:** ``` 🧘 Mental-Route Meditation 🔥 12 Tage Streak Stress-Check 🔥 5 Tage Streak 💪 Kraft-Route Krafttraining 🔥 2 Wochen Streak Protein > 150g 🔥 10 Tage Streak ``` --- ## Dashboard Integration ### Route-Übersicht Widget ``` Entwicklungsrouten (diese Woche) ───────────────────────────────────── 💪 Kraft 2/3 [██░] 1 Ruhetag 🏃 Kondition 1/2 [█░░] 0 Ruhetage 🧘 Mental 7/7 [███] ✓ Täglich 🤸 Koordination 0/1 [░░░] Geplant: Do 🧘‍♂️ Mobilität 3/3 [███] ✓ Ziel erreicht Empfehlung: Kraft-Training heute, Cardio morgen ``` --- ## KI-Integration ### Neue Platzhalter (v9f) ```python {{route_balance}} # "Kraft überlastet, Cardio unterfordert" {{route_progress_strength}} # "3/3 Einheiten, +2kg seit letztem Monat" {{route_recovery_strength}} # "Gut erholt, schweres Training möglich" {{route_next_recommended}} # "Kraft-Oberkörper empfohlen (Push-Fokus)" {{route_conflict_today}} # "Kraft-Ruhetag, Cardio/Mental erlaubt" ``` ### KI-Analyse-Funktion ```python def analyze_route_balance(profile_id, weeks=4): """ Analysiert Balance über alle Routen. Warnt bei: - Übertraining in einer Route - Vernachlässigung einer Route - Fehlende Ruhetage in Route """ routes = ['strength', 'conditioning', 'mental', 'coordination', 'mobility'] analysis = {} for route in routes: activities = get_activities_by_route(profile_id, route, weeks) rest_days = get_rest_days_by_route(profile_id, route, weeks) analysis[route] = { 'activity_count': len(activities), 'rest_days_count': len(rest_days), 'intensity_avg': calculate_intensity_avg(activities), 'status': calculate_route_status(activities, rest_days) # 'balanced', 'overload', 'neglected' } return analysis ``` --- ## Implementierungs-Phasen ### Phase 1: Foundation (v9d Phase 2a) ✅ - ✅ Migration 011: UNIQUE constraint entfernen - ✅ Multiple rest_days per date erlauben - ✅ UI: Mehrere Kacheln pro Tag anzeigen ### Phase 2: Route-Konzept (v9e) - 🔲 Routen-Taxonomie festlegen (6 Routen) - 🔲 Activity-Types den Routen zuordnen - 🔲 `training_types` Tabelle um `route` Spalte erweitern - 🔲 Validation: Multi-Route-Konflikt-Check ### Phase 3: Wochenplanung (v9f) - 🔲 `weekly_goals` mit Routen-JSONB erweitern - 🔲 Planungs-UI: Routen-basierte Wochenansicht - 🔲 Regeln-Engine: Auto-Ruhetag bei Poor Recovery - 🔲 Empfehlungs-System: "Heute: Kraft-Oberkörper empfohlen" ### Phase 4: Habits & Streaks (v9g) - 🔲 `route_habits` Tabelle - 🔲 Streak-Tracking pro Route - 🔲 Dashboard-Integration - 🔲 Push-Notifications bei Streak-Gefahr ### Phase 5: KI-Integration (v9f/g) - 🔲 Route-Balance-Analyse - 🔲 Übertraining-Warnung pro Route - 🔲 Neue KI-Platzhalter - 🔲 Route-spezifische Empfehlungen --- ## Offene Fragen 1. **Route-Hierarchie:** Gibt es Abhängigkeiten? (z.B. Mental-Rest → auch Technik-Rest?) 2. **Auto-Zuordnung:** Sollen Activities automatisch Routen zugeordnet werden? (Strength → Kraft-Route) 3. **Konflikt-Priorität:** Was passiert bei widersprüchlichen Ruhetagen? (Kraft erlaubt, Mental verbietet → ?) 4. **Routen-Gewichtung:** Sind manche Routen wichtiger als andere? (User-konfigurierbar?) --- ## Referenzen - **Migration:** `backend/migrations/011_allow_multiple_rest_days_per_date.sql` - **Technical Spec:** `.claude/docs/technical/V9D_PHASE2_VITALS_SLEEP.md` (zu aktualisieren) - **Routen-Mapping:** `.claude/docs/functional/TRAINING_TYPES.md` (zu erweitern) --- **Dokumentiert:** 2026-03-22 **Autor:** User Konzept + Claude Implementation **Status:** Living Document (wird mit v9e/f erweitert)