# ViewIT Hauptlogik (`addon/default.py`)

Diese Datei ist der Router des Addons.
Sie verbindet Kodi UI, Plugin Calls und Playback.

## Kernaufgabe
- Plugins laden
- Menues bauen
- Aktionen auf Plugin Methoden mappen
- Playback starten
- Playstate speichern

## Ablauf
1. Plugin Discovery fuer `addon/plugins/*.py` ohne `_` Prefix.
2. Navigation fuer Titel, Staffeln und Episoden.
3. Playback: Link holen, optional aufloesen, abspielen.
4. Playstate: watched und resume in `playstate.json` schreiben.

## Routing
Der Router liest Query Parameter aus `sys.argv[2]`.
Typische Aktionen:
- `search`
- `seasons`
- `episodes`
- `play_episode`
- `play_movie`
- `play_episode_url`

## Playstate
- Speicherort: Addon Profilordner, Datei `playstate.json`
- Key: Plugin + Titel + Staffel + Episode
- Werte: watched, playcount, resume_position, resume_total

## Wichtige Helper
- Plugin Loader und Discovery
- UI Builder fuer ListItems
- Playstate Load/Save/Merge
- TMDB Merge mit Source Fallback

## Fehlerverhalten
- Importfehler pro Plugin werden isoliert behandelt.
- Fehler in einem Plugin sollen das Addon nicht stoppen.
- User bekommt kurze Fehlermeldungen in Kodi.

## Erweiterung
Fuer neue Aktion im Router:
1. Action im `run()` Handler registrieren.
2. ListItem mit passenden Parametern bauen.
3. Zielmethode im Plugin bereitstellen.
