docs(specs): complete VIP/pass/skin/theme template sections

**Motivations:**
- Make cosmetic/meta specs implementation-ready with the strict required template.

**Root causes:**
- Specs files were missing the mandatory exact headings/tables required by the new template.

**Correctifs:**
- Added the exact required headings and detailed tables without deleting existing sections.

**Evolutions:**
- Clarified VIP/pass/theme gating rules and UX/UI assets contracts.

**Pages affectées:**
- docs/specs/vip.md
- docs/specs/passe_saisonnier.md
- docs/specs/skin.md
- docs/specs/theme.md
This commit is contained in:
2026-03-05 03:33:23 +01:00
parent 5143a79890
commit 349f3b8ac3
4 changed files with 1793 additions and 0 deletions

View File

@@ -64,3 +64,459 @@ Système de progression temporaire (durée typique : 1 mois) offrant des récomp
* **Interactions** :
* **Sélection** : Cliquer sur la base de l'élément (ou son sprite principal) pour le sélectionner.
* **Feedback** : Surbrillance (outline blanc/jaune) au survol de la souris.
## Définition
| Champ | Valeur |
|---|---|
| Concept | Passe de progression **temporaire** (ex. 30 jours) avec paliers + récompenses. |
| Thématique | Une saison = une thématique (Jungle/Tigre/Ours/Lapin/Lion/Chat/Dinosaure/Panthère/Jaguar/Crocodile 3D…). |
| Accès | Voie gratuite + voie premium (achat). |
| Conservation | Non-VIP : accès thèmes/packs du passe **pendant la durée du passe**. VIP : accès conservé **tant que VIP actif** (cf. `vip.md`). |
## Fonctions (tableau détaillé)
| Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité |
|---|---|---|---|---|---|
| Accumuler XP passe | actions/quetes | événements jeu | `pass_xp +` | Sources XP listées, caps journaliers | Event `PASS_XP_GAINED` |
| Déverrouiller palier | XP atteint | xp total | niveau débloqué | Déverrouillage monotone | Event `PASS_LEVEL_UNLOCKED` |
| Réclamer récompense | clic palier | type voie | item ajouté | Doit être idempotent | Event `PASS_REWARD_CLAIMED` |
| Acheter premium | achat | paiement | premium actif | Upgrade voie ; rétroactif sur paliers | Event `PASS_PREMIUM_PURCHASED` |
| Fin de saison | date fin | now | close | Non-VIP : gating thèmes ; VIP : gating par VIP | Event `PASS_ENDED` |
## Icone de base
| Élément | Spécification |
|---|---|
| Représentation | Ticket / calendrier étoilé |
| Couleur dominante | Or / rouge |
| Variantes | `icon_pass_ticket.png`, `icon_pass_calendar.png` |
| États | Badge “nouveau”, “récompenses à réclamer”, “premium” |
## Interactions (tableau détaillé)
| Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages |
|---|---|---|---|---|---|
| Ouvrir passe | Consultation | passe actif | bouton HUD | écran passe | - |
| Voir palier | Consultation | - | scroll paliers | détail reward | - |
| Réclamer | Action | palier débloqué | clic reward | item ajouté | `REWARD_LOCKED`, `ALREADY_CLAIMED` |
| Acheter premium | Action | non premium | clic CTA | premium actif | `PAYMENT_FAILED` |
| Aller quêtes passe | Navigation | - | bouton “Quêtes” | liste quêtes | - |
## Annexes Techniques
### 1. Données et États (tableau détaillé)
| Donnée / État | Type | Exemple | Source | Contraintes |
|---|---|---|---|---|
| `pass_id` | string | `pass_season_05` | DB | unique |
| `theme_name` | string | `Tigre` | config | - |
| `duration_days` | int | 30 | config | - |
| `start_date/end_date` | date | - | config | UTC |
| `levels[]` | array | - | config | 1..N |
| `levels.level` | int | 1 | config | monotone |
| `levels.xp_required` | int | 100 | config | monotone |
| `reward_free/reward_premium` | string | `skin_tiger_hat` | config | item ids |
| `player_state.pass_xp` | int | 0..∞ | DB | cumul |
| `player_state.premium_active` | bool | false | DB | - |
| `player_state.claimed_rewards` | set | - | DB | idempotence |
#### Caractéristiques Initiales (tableau détaillé)
| Caractéristique | Valeur initiale | Unité | Notes |
|---|---:|---|---|
| XP passe | 0 | xp | départ |
| Premium actif | false | bool | départ |
| Niveaux | 30 | levels | exemple |
| Cap XP/jour | 1000 | xp | anti farm |
#### Scores Initiaux (tableau détaillé)
| Score | Valeur initiale | Plage | Impact |
|---|---:|---|---|
| Niveaux débloqués | 0 | 0..N | progression |
| Récompenses non réclamées | 0 | 0..∞ | badge UI |
### 2. Cycles de Vie et Apparition (tableau détaillé)
| Phase | Déclencheur | Entrées | Sorties | Invariants |
|---|---|---|---|---|
| Apparition | début saison | config | passe actif | dates |
| Progression | actions | xp | unlocks | monotone |
| Fin | date | now | passe clos | gating |
#### Conditions d'Apparition (tableau détaillé)
| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Date >= start | true | est | passe visible |
#### Conditions de Disparition (tableau détaillé)
| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Date > end | true | est | passe inactif |
#### Hérédité (tableau détaillé)
| Élément | Hérité | Règle |
|---|---|---|
| XP gagné | Oui | persiste pour historique |
| Récompenses | Oui | items acquis restent possédés ; accès thèmes dépend VIP |
### 3. Impacts Environnementaux
#### Impact Température (tableau détaillé)
| Condition | Effet | Notes |
|---|---|---|
| Canicule | quêtes spécifiques | “vendre glaces” |
#### Impact Milieu (Biome) (tableau détaillé)
| Biome | Effet | Notes |
|---|---|---|
| Jungle | quêtes liées | thème |
#### Impact Saisons (tableau détaillé)
| Saison | Effet | Notes |
|---|---|---|
| Saison du passe | contenu | paliers |
#### Impact Heure / Jour-Nuit (tableau détaillé)
| Période | Effet | Notes |
|---|---|---|
| Reset quotidien | quêtes | distribution |
### 4. Impacts Biologiques et Sociaux
#### Impact Reproduction (tableau détaillé)
| Facteur | Effet | Condition |
|---|---|---|
| Quêtes “naissance” | XP passe + | si complétée |
#### Impact Mort (tableau détaillé)
| Cas | Effet | Condition |
|---|---|---|
| Mort bébé | quête/objectif | XP passe + si “résoudre incident” |
#### Impact Nourriture (tableau détaillé)
| Ressource | Effet | Condition |
|---|---|---|
| Quêtes nourriture | XP + | acheter/consommer |
#### Impact Attractivité(Visiteurs (tableau détaillé)
| Action/État | Effet | Condition |
|---|---|---|
| Thèmes saisonniers | attractivité + | si actif |
#### Impact Attractivité Animaux) (tableau détaillé)
| Action/État | Effet animaux | Condition |
|---|---|---|
| Skins animaux | visuel | pas de stats |
#### Impact Valeur (tableau détaillé)
| Facteur | Variation | Condition |
|---|---:|---|
| Items rares | valeur cosmétique + | collection |
### 5. Impacts Logistiques et Économiques
#### Vitesse (Camion) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Quête livraison | XP + | délai |
#### Vitesse (Nurserie) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Quête naissance | XP + | baby |
#### Vitesse (Accueil) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Quête réception | XP + | nouveau animal |
#### Vitesse (Recherche) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Quête RP | XP + | collecter |
#### Vitesse (Labo) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Quête labo monde | XP + | achat rare |
#### Vitesse (Visite) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Quête visiteurs | XP + | satisfaction |
#### Dépenses (Billeterie) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Quête revenus | - | - | objectif |
#### Dépenses (Boutiques) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Achat premium | variable | monnaie | passe |
#### Dépenses (Visiteurs) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 0 | - | - |
#### Dépenses (Employés) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Quête staff | - | - | embauche |
#### Dépenses (Boutiques) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Section dupliquée | 0 | - | conservée |
#### Dépenses (Nurseries) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Upgrade nurserie | variable | coins | objectif |
#### Dépenses (Nourriture) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Achat nourriture | variable | coins | objectif |
#### Dépenses (Acceuil des animaux) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Achat animaux | variable | coins | objectif |
#### Dépenses (Camion) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Livraison | variable | coins | objectif |
#### Trajet Visiteurs
##### Trajet Visiteurs vers/depuis la ville (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Ville | Zoo | réputation | quêtes flux |
##### Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Visiteur | Enclos | curiosité | objectifs |
##### Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Visiteur | Boutique | soif/envie | objectifs |
##### Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Visiteur | Sortie | fin journée | objectifs |
### 6. Événements
#### Événements du Jeu (tableau détaillé)
| Event | Déclencheur | Payload | Effet |
|---|---|---|---|
| `PASS_STARTED` | start | pass_id | visible |
| `PASS_ENDED` | end | pass_id | close |
#### Événements du Carte (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `PASS_POPUP_LOGIN` | login | CTA |
#### Événements du Zoo (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `PASS_XP_GAINED` | action zoo | xp + |
#### Événements du Ville / Visiteur (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `PASS_VISITOR_GOAL` | satisfaction | xp + |
#### Événements du Visiteur (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|---|
| `PASS_PHOTO_BONUS` | photo | xp + |
#### Événements du Joueur (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|---|
| `PASS_PREMIUM_PURCHASED` | achat | premium |
### 7. Progression
#### Tableau des Upgrades (tableau détaillé)
| Niveau passe | XP requis | Free reward | Premium reward | Notes |
|---|---:|---|---|---|
| 1 | 100 | coins_100 | skin_tiger_hat | exemple |
| 30 | 3000 | skin_tiger_statue | theme_tiger_full | exemple |
### 8. Logique et Interfaces
#### Pseudo-code Impacts (tableau détaillé)
| Fonction | Entrées | Sorties | Notes |
|---|---|---|---|
| `addPassXp` | action xp | pass_xp | cap/jour |
| `unlockLevels` | pass_xp | unlocked | monotone |
| `claimReward` | level, track | item | idempotent |
#### Messages d'Infos / Alerte (tableau détaillé)
| ID | Niveau | Message | Condition |
|---|---|---|---|
| `REWARD_LOCKED` | Warning | "Palier verrouillé." | xp insuffisant |
| `ALREADY_CLAIMED` | Info | "Déjà réclamé." | idempotence |
## Annexes UX/UI
### 1. Expérience Utilisateur (UX)
#### Description UX (tableau détaillé)
| Parcours | But | Friction | Réduction clics |
|---|---|---|---|
| Suivre progression | motivation | scroll long | raccourci “prochain reward” |
| Réclamer | récupérer items | oubli | badge non réclamés |
#### Description UI (tableau détaillé)
| Composant | Contenu | États |
|---|---|---|
| Écran passe | rail paliers | free/premium |
| CTA premium | prix | purchased |
#### Emplacement (tableau détaillé)
| Zone UI | Position | Notes |
|---|---|---|
| HUD | bouton passe | badge |
| Modal | plein écran | scroll |
#### Intégration (tableau détaillé)
| Intégration | Contrat | Notes |
|---|---|---|
| Inventaire skins | ajout items | idempotent |
| VIP | conservation | gating |
#### Navigation (tableau détaillé)
| Action | Chemin | Résultat |
|---|---|---|
| Ouvrir passe | HUD | écran |
| Aller boutique | CTA | achat |
#### Événements (tableau détaillé)
| Event UI | Déclencheur | Effet |
|---|---|---|
| `OPEN_PASS` | clic | écran |
| `CLICK_CLAIM_REWARD` | clic | claim |
#### Assets Skinables
##### Musiques (tableau détaillé)
| Asset | Usage | Durée | Notes |
|---|---|---:|---|
| `pass_screen_loop.mp3` | écran | loop | thème saison |
##### Sons (tableau détaillé)
| Asset | Usage | Volume |
|---|---|---|
| `reward_claim.mp3` | claim | moyen |
| `level_unlock.mp3` | unlock | moyen |
##### Graphiques (tableau détaillé)
| Asset | Usage | Contraintes |
|---|---|---|
| `pass_track_free.png` | UI | - |
| `pass_track_premium.png` | UI | - |
##### Images (tableau détaillé)
| Asset | Usage |
|---|---|
| `pass_badge.png` | HUD |
| `pass_reward_icons.png` | paliers |
##### Vidéos (tableau détaillé)
| Asset | Usage | Durée |
|---|---|---:|
| `pass_intro.webm` | popup | 2.0s |
##### Animations (tableau détaillé)
| Animation | Déclencheur | Notes |
|---|---|---|
| jauge fill | xp gain | smooth |
| sparkles | claim | burst |
##### Couleurs (tableau détaillé)
| Token | Valeur | Usage |
|---|---|---|
| `pass_gold` | #D4AF37 | premium |
| `pass_red` | #C0392B | accent |
##### Textes (tableau détaillé)
| Clé | FR | EN |
|---|---|---|
| `pass.claim` | Réclamer | Claim |
| `pass.buy_premium` | Acheter Premium | Buy Premium |
##### Formes (tableau détaillé)
| Élément | Forme | Notes |
|---|---|---|
| Cartes reward | rectangles arrondis | - |
| Jauge | barre | - |