# CHANGELOG — Coaster World v1.70.0

## Progression V2
- Refonte du moteur de progression existant sans créer de nouvelle table SQL.
- Exploitation complète des tables `achievements`, `user_achievements`, `skills`, `user_skills` et `skill_xp_events` déjà présentes.
- Synchronisation rétroactive de l'activité existante afin qu'un ancien compte récupère ses badges et son XP lors du recalcul.
- Les six compétences existantes deviennent réellement actives : Hunter, Explorer, Guide, Expert, Local et Social.

## XP automatique
- Hunter : +100 XP par coaster différent enregistré.
- Explorer : XP pour chaque parc différent, chaque pays exploré et chaque Road Trip terminé.
- Expert : XP pour les constructeurs différents découverts et les parcs dont la collection coaster a été complétée.
- Local : XP pour les journées de visite terminées.
- Social : XP pour les sorties de groupe terminées et les challenges complétés.
- Guide : XP pour les contributions communautaires approuvées.
- Tous les gains utilisent des clés de déduplication : relancer la synchronisation ne donne pas l'XP une seconde fois.
- Recalcul du niveau de chaque compétence à partir de l'historique réel des événements XP.

## Nouveaux badges
- Paliers coaster : 1, 10, 25, 50, 100, 250, 500, 750 et 1000 coasters.
- Paliers parcs : 1, 5, 10, 25 et 50 parcs visités.
- Paliers pays : 3, 5, 10 et 20 pays explorés.
- Paliers constructeurs : 5, 10 et 20 constructeurs différents.
- Badge répétable de parc maîtrisé + paliers de 5 et 10 parcs complétés.
- Paliers challenges : 1, 5 et 10 challenges terminés.
- Paliers Road Trips : 1, 3 et 5 voyages terminés.
- Paliers sorties de groupe : 1, 5 et 10 sorties terminées.
- Paliers communauté : 1, 5 et 20 contributions approuvées.
- Chaque badge possède désormais une icône et un niveau visuel Bronze / Argent / Or / Légende stockés dans ses métadonnées.

## Nettoyage des anciens succès
- Les anciens badges historiques `first_coaster`, `coaster_5`, `coaster_10`, `park_*` et `country_*` faisant doublon sont désactivés.
- Aucun historique utilisateur n'est supprimé de la base.
- Les paliers canoniques v1.70 sont automatiquement recréés/débloqués à partir des données du compte.
- Correction de la création des paliers coaster afin d'éviter plusieurs déblocages du même succès non répétable.

## Page Progression
- Les six compétences apparaissent maintenant même lorsqu'elles sont encore à 0 XP.
- Ajout d'icônes dédiées pour chaque compétence.
- Nouveau journal des 10 derniers gains XP avec compétence, origine, date relative et quantité gagnée.
- Statistiques enrichies avec le nombre de constructeurs et de challenges terminés.
- Nouveaux filtres de badges Social et Communauté.
- Libellés de catégories traduits au lieu des identifiants techniques.
- Mise en valeur visuelle des badges Argent, Or et Légende.

## Profils
- Les badges récents des profils privé et public utilisent maintenant leurs vraies icônes et leur niveau visuel.
- Les succès inactifs/anciens doublons ne sont plus affichés.
- Déduplication des succès récents sur les profils.
- Correction du compteur de badges du profil public : il affiche maintenant le nombre réel de succès uniques débloqués et non uniquement les huit badges visibles.

## Données prises en compte
- Coasters/rides déjà enregistrés.
- Visites personnelles actives ou terminées.
- Participation acceptée à une visite de groupe.
- Constructeurs des coasters déjà ridés.
- Complétions de parc existantes.
- Challenges terminés.
- Road Trips terminés en tant qu'organisateur ou participant accepté.
- Sorties de groupe terminées.
- Contributions communautaires approuvées.

## Base de données
- Aucune nouvelle migration.
- Aucune nouvelle table.
- Un `cw:progression:sync --all` est recommandé après installation pour recalculer immédiatement tous les comptes existants.

## Interface
- Responsive desktop / tablette / smartphone.
- Compatible thèmes clair et sombre.
- 22 nouvelles chaînes d'interface dans chacune des langues FR / EN / DE / ES / IT.
- Nouvel asset CSS de production `app-v170-progression-v2.css`.

## Vérifications
- Syntaxe PHP contrôlée sur les fichiers applicatifs, routes, configuration, seeders et traductions.
- Équilibre des directives Blade contrôlé sur les 56 vues du projet.
- JavaScript source et asset de production validés avec `node --check`.
- Cohérence des 22 nouvelles traductions vérifiée dans les 5 langues.
- Manifest Vite contrôlé et asset CSS v1.70 présent.
- Aucune migration v1.70 ajoutée.
- Composer et `vendor/` ne sont pas présents dans l'environnement de génération : les tests Artisan runtime n'ont pas pu être exécutés ici.
