refactor: perf getAllSessions, zéro warning analyze, docs à jour
- getAllSessions : élimine le N+1 (une requête par session + par analyse)
au profit de 3 requêtes groupées (sessions, analyses IN, shots IN),
découpées en paquets de 500 pour rester sous la limite SQLite. Assemblage
en mémoire via maps — accueil/historique/stats ne ralentiront plus au fil
des mois
- flutter analyze : 28 -> 0 problème. APIs dépréciées migrées (withOpacity
-> withValues, scale -> scaleByDouble, DropdownButtonFormField.value ->
initialValue, dialogBackgroundColor -> dialogTheme, activeColor ->
activeThumbColor), use_build_context_synchronously corrigés dans
l'armurerie (repository capturé avant await + gardes mounted), print ->
debugPrint, identifiants TopLeft/... -> lowerCamelCase, blocs if, champ final
- _showShotDetails dédupliqué : bottom sheet extraite dans le widget partagé
shot_details_sheet.dart, utilisée par l'écran d'analyse et l'éditeur d'impacts
- CLAUDE.md : sections Features réécrites (retrait détection auto/références,
ajout capture/plotting manuel) ; description pubspec renseignée
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>