# Spécifications : Centre de Recherche

## Définition
Bâtiment produisant des points de science/recherche.

## Fonctionnalités
- **Production** : Génère des unités de recherche périodiquement.
- **Déblocage** : Permet de payer l'agrandissement de la carte du monde.
- **Visibilité** : Donne accès aux niveaux d'animaux/bébés supérieurs dans les autres zoos (débloque la vue sur les offres rares).

## Niveaux d'Amélioration (7 niveaux)
- **Coût** : Progressif par palier.
- **Effet** : Augmente la production et le niveau de visibilité des offres externes.
- **Ratio** : 1 unité couvre la visibilité sur 10 zoos définis (par proximité).

# Annexes Techniques

## 1. Données et États
### Modèle de Données (JSON)
```json
{
  "id": "uuid",
  "type": "research_center",
  "level": "integer (1-7)",
  "stats": {
    "points_generated": "integer",
    "last_collection": "timestamp"
  },
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}
```

### Caractéristiques Initiales
| Caractéristique | Valeur Initiale (Niv 1) |
| :--- | :--- |
| Production | 10 pts / heure |
| Portée Radar | 10 zoos voisins |
| Rareté Visible | Niveau 1 (Commun) |

### Scores Initiaux
**Archives** : 0 découvertes.

## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
Présent au démarrage.

### Conditions de Disparition
Indestructible (ou un seul obligatoire).

### Hérédité
**Archives** : 10% des points de recherche conservés au reset (Savoir accumulé).

## 3. Impacts Environnementaux
### Impact Température
**Surchauffe** : Production -10% si Canicule (Surchauffe serveurs/cerveaux).

### Impact Milieu (Biome)
**Stabilité** : Terrain stable requis (pas de marais). Si Marais : Coût construction x2.

### Impact Saisons
**Rentrée scolaire** : +10% production en Automne (Stagiaires).
**Vacances** : -5% production en Été.

### Impact Heure / Jour-Nuit
Production continue 24h/24.

## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Étude** : +50 pts recherche à chaque naissance rare dans le zoo.

### Impact Mort
**Autopsie** : +20 pts recherche à chaque mort (Triste mais utile).

### Impact Nourriture
**Cafétéria** : Consomme 5 unités nourriture/jour pour le personnel.

### Impact Attractivité (Visiteurs/Animaux)
**Conférences** : +10 Attractivité le week-end (Vulgarisation scientifique).

### Impact Valeur
**Brevets** : Valeur intrinsèque élevée. Revente impossible (Bien public).

## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
**Vitesse Recherche** :
| Niveau | Points / Heure |
| :--- | :--- |
| 1 | 10 |
| 2 | 20 |
| 3 | 40 |
| 4 | 80 |
| 5 | 150 |
| 6 | 300 |
| 7 | 600 |

### Dépenses (Boutiques/Visiteurs)
**Subventions** : Coût fonctionnement réduit de 50% si Réputation Zoo > 80.

### Trajet Visiteurs
**Musée** : Si module Musée (Niv 4+), attire visiteurs comme une attraction secondaire.

## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
*   **Découverte** : Déblocage d'une nouvelle zone carte monde.
*   **Percée** : Gain immédiat de 500 pts (Aléatoire).

## 7. Progression
### Tableau des Upgrades
| Niveau | Coût (Pièces) | Production | Portée (Zoos) | Rareté Visible | Temps Construction |
| :--- | :--- | :--- | :--- | :--- | :--- |
| 1 | 0 | 10 | 10 | 1 | 0s |
| 2 | 300 | 20 | 20 | 2 | 0s |
| 3 | 600 | 40 | 30 | 2 | 0s |
| 4 | 1200 | 80 | 50 | 3 | 0s |
| 5 | 2400 | 150 | 80 | 3 | 0s |
| 6 | 4800 | 300 | 120 | 4 | 0s |
| 7 | 9600 | 600 | Tout | 5 | 0s |

## 8. Logique et Interfaces
### Pseudo-code Impacts
```
function updateResearch(center):
  points = center.productionRate * deltaTime
  player.addResearchPoints(points)

  visibleRarity = center.maxRarityVisible
  updateWorldMapVisibility(center.range, visibleRarity)
```

### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `RESEARCH_UNLOCK` | Info | "Nouvelle zone de carte découverte !" |
| `RESEARCH_BOOST` | Info | "Percée scientifique ! +500 pts." |

# Annexes UX/UI

## 0. Direction Artistique & Vue
*   **Vue** : Isométrique (2.5D).
*   **Style** : Coloré, vivant, détails foisonnants (Réf: IMG_20260303_170253.jpg).
*   **Sprites** : 4 directions.
*   **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.


## 1. Expérience Utilisateur (UX)
### Collecte de Points (Action)
**Description UX** : Les points de recherche s'accumulent. Le joueur clique sur le bâtiment pour les récolter (ou collecte auto si implémenté).
**Description UI** : Une icône "Fiole" ou "Atome" flotte au-dessus du bâtiment quand des points sont disponibles. Au clic, les points volent vers le compteur global.
**Emplacement** : Case Centre Recherche.
**Intégration** : Overlay au-dessus du sprite.
**Navigation** : Clic Bâtiment -> Collecte.
**Événements** : `COLLECT_RESEARCH`.

#### Assets
- **Musiques** : Son "Science" (synthé léger).
- **Sons** : `bubble_pop.mp3` ou `sci_fi_bloop.mp3`. **Design ASMR** : "Bloop" liquide ou tintement cristallin.
- **Graphiques** : Icône Fiole bleue/violette.
- **Images** : Particules d'atomes.
- **Vidéos** : Effet de liquide bouillonnant (shader).
- **Animations** : Flottement (bobbing) de l'icône. Trajectoire courbe des points vers le HUD.
- **Couleurs** : Bleu Science #0088FF.
- **Textes** : "+10 RP".
- **Formes** : Cercle ou Fiole.

### Consultation & Arbre Techno (Consultation)
**Description UX** : Le joueur veut voir sa production et débloquer des zones.
**Description UI** : **Bottom Sheet** affichant "Production : X/h". Un bouton "Carte du Monde" pour voir l'effet du radar.
**Emplacement** : Modal Centre Recherche.
**Intégration** : Lien vers la Carte du Monde.
**Navigation** : Clic Bâtiment (si pas de collecte ou double clic) -> Modal.
**Événements** : `OPEN_RESEARCH`.

#### Assets
- **Musiques** : Ambiance "Laboratoire" (bourdonnement machines).
- **Sons** : `ui_open.mp3`
- **Graphiques** : Style High-Tech / Labo.
- **Images** : `radar_icon.png`.
- **Vidéos** : Écran de contrôle avec données défilantes.
- **Animations** : Radar qui balaie (décoratif).
- **Couleurs** : Blanc, Gris, Bleu néon.
- **Textes** : "Portée Radar : X km".
- **Formes** : Panneaux anguleux.

### Amélioration (Upgrade)
**Description UX** : Augmenter la production et la portée.
**Description UI** : Bouton standard d'upgrade avec comparaison "Actuel vs Suivant".
**Emplacement** : Modal Centre Recherche.
**Intégration** : Standard.
**Navigation** : Clic Upgrade.
**Événements** : `UPGRADE_RESEARCH`.

#### Assets
- **Musiques** : Son "Upgrade" futuriste.
- **Sons** : `upgrade_tech.mp3` (son électronique).
- **Graphiques** : Schéma technique (Blueprint).
- **Images** : Icône Puce Électronique.
- **Vidéos** : Hologramme de construction.
- **Animations** : Flash bleu sur le bâtiment.
- **Couleurs** : Bleu.
- **Textes** : "Upgrade Terminé".
- **Formes** : Hexagones.


## Fonctions (tableau détaillé)

| Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité |
|---|---|---|---|---|---|
| Production RP | Tick / delta | `level`, mod saison/météo | `research_points +` | Production continue 24h/24 ; modifs cumulables avec caps | Event `RESEARCH_TICK`, compteurs `/h` et `/jour` |
| Déblocage carte | Action joueur | `research_points`, coût | `world_map_unlocks +` | Dépense atomique, refuse si points insuffisants | Event `RESEARCH_SPEND_UNLOCK` |
| Radar offres | Tick visibilité | `range`, `rarity_visible` | UI offre filtrée | La visibilité est une règle d’affichage, pas un cache | Event `WORLD_OFFER_VISIBILITY_UPDATED` |
| Musée / conférences | Calendrier | week-end, level | attractivité + | Actif si module/milestone atteint | Event `RESEARCH_TALK` |

## Icone de base

| Élément | Spécification |
|---|---|
| Représentation | Fiole / atome / radar |
| Couleur dominante | Bleu science |
| Variantes | `icon_research_flask.png`, `icon_research_atom.png`, `icon_research_radar.png` |
| États | Badge “collectable” (+RP), “boost” (éclair), “surchauffe” (thermo) |

## Interactions (tableau détaillé)

| Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages |
|---|---|---|---|---|---|
| Collecter points | Action | points disponibles | Clic bâtiment | RP crédités | `RESEARCH_NOT_READY` |
| Ouvrir détail | Consultation | - | Double clic / bouton “Détails” | panneau stats/upgrade | - |
| Améliorer | Action | coins ≥ coût | Bouton upgrade | level +1 | `INSUFFICIENT_FUNDS` |
| Consommer RP | Action | RP ≥ coût | Arbre/Carte monde → déverrouiller | unlock | `INSUFFICIENT_RESEARCH_POINTS` |
| Affecter chercheurs | Action | slots < 3 | Panel centre → slots | production + | `RESEARCH_CENTER_FULL` |

## Personnage contextuel (événements & interaction)
Voir `chercheur.md`.

### Affichage
Le chercheur s’affiche lorsque :
- le module est **actionné** (ouverture du centre, affectation, collecte, upgrade) ;
- un **événement** de recherche survient (gain RP, percée, déverrouillage).

### Déclencheurs (exemples)
| Event | Condition | Effet UI personnage |
|---|---|---|
| `OPEN_RESEARCH` | ouverture panel | portrait + production/h + slots |
| `RESEARCH_TICK` / `RESEARCH_UNIT_GAINED` | tick | bulles science + feedback UI |
| `RESEARCH_BOOST` | percée | bulle “Percée” + détails |
| `INSUFFICIENT_RESEARCH_POINTS` | dépense refusée | bulle cause + CTA “Collecter / Attendre” |

### Skins & thèmes
Uniforme et accessoires suivent `theme.md` ; variantes via `inventaire_skins.md` si skins de staff.

## Annexes Techniques

### 1. Données et États (tableau détaillé)

| Donnée / État | Type | Exemple | Source | Contraintes |
|---|---|---|---|---|
| `id` | uuid | - | DB | unique |
| `type` | enum | `research_center` | DB | constante |
| `level` | int | 1..7 | DB | clamp |
| `stats.points_generated` | int | 0..∞ | runtime | monotone |
| `stats.last_collection` | timestamp | - | runtime | null au début |
| `production_rate_per_hour` | int | 10..600 | config | selon tableau |
| `range_zoos` | int/string | 10..Tout | config | niveau 7 = Tout |
| `rarity_visible` | int | 1..5 | config | 1=commun, 5=légendaire |
| `assigned_researchers` | uuid[] | max 3 | runtime | cf. `chercheur.md` |
| `grid` | object | `{x,y}` | runtime | position |
| `iso_x/iso_y` | int | - | rendu | projection |
| `z_index` | int | - | rendu | profondeur |
| `hitbox` | enum | `base_sprite` | rendu | click base |

#### Caractéristiques Initiales (tableau détaillé)

| Caractéristique | Valeur initiale | Unité | Notes |
|---|---:|---|---|
| Production | 10 | RP/heure | niv 1 |
| Portée radar | 10 | zoos | proximité |
| Rareté visible | 1 | niveau | commun |
| Slots chercheurs | 0/3 | slots | activés si feature employés |

#### Scores Initiaux (tableau détaillé)

| Score | Valeur initiale | Plage | Impact |
|---|---:|---|---|
| Archives découvertes | 0 | 0..∞ | progression méta |
| RP cumulés | 0 | 0..∞ | déverrouillages |
| Boost actif | 0 | 0/1 | modifie production |

### 2. Cycles de Vie et Apparition (tableau détaillé)

| Phase | Déclencheur | Entrées | Sorties | Invariants |
|---|---|---|---|---|
| Apparition | début partie | seed | bâtiment | présent au démarrage |
| Production | tick | delta | RP + | 24h/24 |
| Collecte | clic | points | RP global + | atomicité |
| Disparition | supprimé compte | - | supprimé | indestructible en jeu |

#### Conditions d'Apparition (tableau détaillé)

| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Début partie | true | est | présent |

#### Conditions de Disparition (tableau détaillé)

| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Compte supprimé | true | est | supprimé |
| Destruction | - | interdit | refus |

#### Hérédité (tableau détaillé)

| Élément | Hérité | Règle |
|---|---|---|
| Archives | Oui | 10% des RP conservés |
| Level | Oui | persiste |
| RP non collectés | Non | convertis/collectés au login (lazy update) |

### 3. Impacts Environnementaux

#### Impact Température (tableau détaillé)

| Condition | Effet | Modificateur |
|---|---|---|
| Canicule | production - | -10% |
| Tempérée | neutre | 0% |

#### Impact Milieu (Biome) (tableau détaillé)

| Biome | Effet | Règle |
|---|---|---|
| Marais | coût construction | x2 |
| Terrain stable | normal | x1 |

#### Impact Saisons (tableau détaillé)

| Saison | Effet | Modificateur |
|---|---|---|
| Automne | rentrée | +10% |
| Été | vacances | -5% |

#### Impact Heure / Jour-Nuit (tableau détaillé)

| Période | Effet | Règle |
|---|---|---|
| Jour | production | normale |
| Nuit | production | normale (24h/24) |

### 4. Impacts Biologiques et Sociaux

#### Impact Reproduction (tableau détaillé)

| Déclencheur | Gain RP | Condition |
|---|---:|---|
| Naissance rare | +50 | rareté ≥ 3 |

#### Impact Mort (tableau détaillé)

| Déclencheur | Gain RP | Condition |
|---|---:|---|
| Mort | +20 | autopsie active |

#### Impact Nourriture (tableau détaillé)

| Poste | Consommation | Unité | Condition |
|---|---:|---|---|
| Cafétéria | 5 | unités/jour | personnel centre |

#### Impact Attractivité(Visiteurs (tableau détaillé)

| Action/État | Gain | Rayon | Notes |
|---|---:|---:|---|
| Conférences | +10 | zoo | week-end |
| Musée module | + | local | niv 4+ |

#### Impact Attractivité Animaux) (tableau détaillé)

| Action/État | Effet animaux | Condition |
|---|---|---|
| Aucune interaction directe | aucun | centre n’est pas un enclos |

#### Impact Valeur (tableau détaillé)

| Facteur | Variation | Condition |
|---|---:|---|
| Brevets | valeur élevée | non revendable |

### 5. Impacts Logistiques et Économiques

#### Vitesse (Camion) (tableau détaillé)

| Paramètre | Effet | Condition |
|---|---|---|
| Livraison matériel | indirect | si feature équipement |

#### Vitesse (Nurserie) (tableau détaillé)

| Paramètre | Effet | Condition |
|---|---|---|
| Tech incub | accélère | si recherche débloquée |

#### Vitesse (Accueil) (tableau détaillé)

| Paramètre | Effet | Condition |
|---|---|---|
| - | aucun | - |

#### Vitesse (Recherche) (tableau détaillé)

| Niveau | Points / Heure | Unité | Notes |
|---|---:|---|---|
| 1 | 10 | RP/h | base |
| 2 | 20 | RP/h | - |
| 3 | 40 | RP/h | - |
| 4 | 80 | RP/h | - |
| 5 | 150 | RP/h | - |
| 6 | 300 | RP/h | - |
| 7 | 600 | RP/h | - |

#### Vitesse (Labo) (tableau détaillé)

| Paramètre | Effet | Condition |
|---|---|---|
| - | indirect | via tech |

#### Vitesse (Visite) (tableau détaillé)

| Paramètre | Effet | Condition |
|---|---|---|
| Temps de séjour | + | musée/conférences |

#### Dépenses (Billeterie) (tableau détaillé)

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 0 | - | - |

#### Dépenses (Boutiques) (tableau détaillé)

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Souvenirs science | stock | coins | boutique |

#### Dépenses (Visiteurs) (tableau détaillé)

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Conférences | 0 | - | included |

#### Dépenses (Employés) (tableau détaillé)

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Salaires chercheurs | variable | coins/jour | selon `chercheur.md` |

#### 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 |
|---|---:|---|---|
| - | 0 | - | - |

#### Dépenses (Nourriture) (tableau détaillé)

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Cafétéria | 5 | unités/jour | centre |

#### Dépenses (Acceuil des animaux) (tableau détaillé)

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 0 | - | - |

#### Dépenses (Camion) (tableau détaillé)

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 0 | - | - |

#### Trajet Visiteurs

##### Trajet Visiteurs vers/depuis la ville (tableau détaillé)

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Ville | Zoo | attractivité | centre augmente attractivité |

##### Trajet Visiteurs vers/depuis les animaux (tableau détaillé)

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Centre | Enclos | curiosité | détour (si musée) |

##### Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Centre | Boutique | souvenirs | dépense + |

##### Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Entrée | Centre | halo science | visite guidée |

### 6. Événements

#### Événements du Jeu  (tableau détaillé)

| Event | Déclencheur | Payload | Effet |
|---|---|---|---|
| `RESEARCH_TICK` | tick | amount | RP+ |
| `RESEARCH_SPEND_UNLOCK` | spend | cost | unlock |

#### Événements du Carte (tableau détaillé)

| Event | Déclencheur | Effet |
|---|---|---|
| `WORLD_OFFER_VISIBILITY_UPDATED` | level/range | UI filtre |

#### Événements du Zoo (tableau détaillé)

| Event | Déclencheur | Effet |
|---|---|---|
| `RESEARCH_BOOST` | percée | +500 RP |

#### Événements du Ville / Visiteur (tableau détaillé)

| Event | Déclencheur | Effet |
|---|---|---|
| `RESEARCH_TALK` | week-end | attractivité + |

#### Événements du Visiteur (tableau détaillé)

| Event | Déclencheur | Effet |
|---|---|---|---|
| `VISITOR_INTEREST_SCIENCE` | musée | stay + |

#### Événements du Joueur (tableau détaillé)

| Event | Déclencheur | Effet |
|---|---|---|---|
| `COLLECT_RESEARCH` | clic | collecte |

### 7. Progression

#### Tableau des Upgrades (tableau détaillé)

| Niveau | Coût (Pièces) | Production | Portée (Zoos) | Rareté Visible | Notes |
|---|---:|---:|---|---:|---|
| 1 | 0 | 10 | 10 | 1 | base |
| 2 | 300 | 20 | 20 | 2 | - |
| 3 | 600 | 40 | 30 | 2 | - |
| 4 | 1200 | 80 | 50 | 3 | musée possible |
| 5 | 2400 | 150 | 80 | 3 | - |
| 6 | 4800 | 300 | 120 | 4 | - |
| 7 | 9600 | 600 | Tout | 5 | max |

### 8. Logique et Interfaces 

#### Pseudo-code Impacts (tableau détaillé)

| Fonction | Entrées | Sorties | Notes |
|---|---|---|---|
| `updateResearch` | center, delta | rp | basé sur `level` |
| `updateWorldMapVisibility` | range, rarity | UI | pas de cache |

#### Messages d'Infos / Alerte (tableau détaillé)

| ID | Niveau | Message | Condition |
|---|---|---|---|
| `RESEARCH_UNLOCK` | Info | "Nouvelle zone de carte découverte !" | spend ok |
| `RESEARCH_BOOST` | Info | "Percée scientifique ! +500 pts." | random proc |
| `INSUFFICIENT_RESEARCH_POINTS` | Warning | "Points de recherche insuffisants." | spend fail |

## Annexes UX/UI 

### 1. Expérience Utilisateur (UX)

#### Description UX (tableau détaillé)

| Parcours | But | Friction | Réduction clics |
|---|---|---|---|
| Collecter | récupérer RP | oubli | badge + clic direct |
| Upgrader | augmenter prod | coût | comparaison “actuel/suivant” |
| Déverrouiller | étendre monde | navigation | deep-link carte monde |

#### Description UI (tableau détaillé)

| Composant | Contenu | États |
|---|---|---|
| Badge RP | +RP | visible quand dispo |
| Panel centre | prod/h, portée, rareté | level 1..7 |

#### Emplacement (tableau détaillé)

| Zone UI | Position | Notes |
|---|---|---|
| Carte zoo | bâtiment | clic base |
| HUD | compteur RP | global |

#### Intégration (tableau détaillé)

| Intégration | Contrat | Notes |
|---|---|---|
| Carte monde | portée radar | overlay |
| Achats upgrades | coût coins | - |

#### Navigation (tableau détaillé)

| Action | Chemin | Résultat |
|---|---|---|
| Ouvrir panel | clic | panel |
| Aller carte monde | bouton | navigation |

#### Événements (tableau détaillé)

| Event UI | Déclencheur | Effet |
|---|---|---|
| `OPEN_RESEARCH` | clic | ouvre |
| `UPGRADE_RESEARCH` | bouton | upgrade |

#### Assets Skinables

##### Musiques (tableau détaillé)

| Asset | Usage | Durée | Notes |
|---|---|---:|---|
| `research_center_loop.mp3` | ambiance | loop | discret |

##### Sons (tableau détaillé)

| Asset | Usage | Volume |
|---|---|---|
| `sci_fi_bloop.mp3` | collecte | faible |
| `upgrade_tech.mp3` | upgrade | moyen |

##### Graphiques (tableau détaillé)

| Asset | Usage | Contraintes |
|---|---|---|
| `fx_atoms.png` | overlay | isométrique |
| `radar_sweep.png` | radar | décoratif |

##### Images (tableau détaillé)

| Asset | Usage |
|---|---|
| `radar_icon.png` | panel |
| `icon_research_atom.png` | HUD |

##### Vidéos (tableau détaillé)

| Asset | Usage | Durée |
|---|---|---:|
| `hologram_upgrade.webm` | upgrade | 1.2s |

##### Animations (tableau détaillé)

| Animation | Déclencheur | Notes |
|---|---|---|
| icône bobbing | points dispo | loop |
| trajectoire points | collecte | 0.6s |

##### Couleurs (tableau détaillé)

| Token | Valeur | Usage |
|---|---|---|
| `research_primary` | #0088FF | UI |
| `research_neon` | #00E5FF | accent |

##### Textes (tableau détaillé)

| Clé | FR | EN |
|---|---|---|
| `research.collect` | Collecter | Collect |
| `research.upgrade` | Améliorer | Upgrade |

##### Formes (tableau détaillé)

| Élément | Forme | Notes |
|---|---|---|
| Badge RP | cercle | lisible |
| Panel | bottom sheet | standard |
