feat(tutorial): guide the first launch with spotlighted steps and gesture hands

Ajoute un didacticiel joué à la première utilisation : un voile sombre perce un
trou de lumière autour de l'élément à découvrir, une main animée mime le geste
attendu (tap, appui long, glisser, pincement à deux doigts pour zoomer) et une
bulle explique l'étape avec sa progression.

- visite d'accueil : nouvelle session, télémétrie, barre de navigation, réglages
- visite de l'éditeur d'impacts : ajouter, déplacer, zoomer au pincement, valider
- chaque visite n'est jouée qu'une fois (SharedPreferences)
- Paramètres > Aide & didacticiel > Revoir le didacticiel : réinitialise tout et
  relance la visite au retour sur l'écran concerné

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
qlionbleusam
2026-08-29 11:46:02 +02:00
co-authored by Claude Opus 5
parent 32143c5bb1
commit 32582aba3d
14 changed files with 1566 additions and 1 deletions
+19
View File
@@ -98,6 +98,19 @@ flutter test --coverage
- Visualisation des sessions passées
- Suppression de sessions
### Didacticiel (visite guidée)
- Démarre automatiquement à la **première utilisation** sur l'écran d'accueil :
voile sombre, « trou de lumière » autour de l'élément à découvrir et bulle
explicative (bouton nouvelle session, télémétrie, barre de navigation, réglages)
- Visite dédiée à la **première ouverture de l'éditeur d'impacts** : ajouter,
déplacer, **pincer pour zoomer**, valider
- **Main animée** qui mime le geste attendu (tap, appui long, glisser,
pincement à deux doigts, balayage), dessinée au CustomPainter — aucun asset
- « Passer » interrompt la visite, un tap n'importe où passe à l'étape suivante ;
chaque visite n'est jouée qu'une fois (mémorisée dans les SharedPreferences)
- **Paramètres > Aide & didacticiel > Revoir le didacticiel** : réinitialise
toutes les visites, qui rejouent dès le retour sur l'écran concerné
### Interface utilisateur
- Thème sombre adapté au tir
- Support multilingue (Français)
@@ -135,3 +148,9 @@ history_chart.dart Graphique d'évolution des 10 dernières sessions
statistics_screen.dart Écran statistiques avec filtrage par période
heat_map_widget.dart Heat map avec gradient bleu→rouge
backup_service.dart Export/import JSON des sessions, stats et armurerie
tutorial_service.dart Persistance des visites guidées déjà vues (SharedPreferences)
tutorial_provider.dart État du didacticiel : visites à jouer, réactivation
tutorial_coach.dart Lance une visite guidée par-dessus l'écran courant
tutorial_step.dart Modèle d'étape : cible, texte, geste, forme du spot
tutorial_overlay.dart Voile sombre, trou de lumière et bulle explicative
tutorial_hand.dart Main animée qui mime le geste (tap, appui long, pincement…)