# Spécifications : Bébé Animal

## Définition
Stade de développement entre l'éclosion de l'œuf et l'âge adulte.

## Spécificités
- **Lieu** : Doit grandir en Nurserie (recommandé) ou sur une case adaptée.
- **Fragilité** : Plus sensible aux écarts de température/faim que les adultes.
- **Vente** : Peut être vendu comme "Bébé" (souvent plus cher car potentiel reproducteur intact).
- **Évolution** : Devient "Bébé mature" en fin de nurserie, prêt à être placé sur la grille comme adulte.

# Annexes Techniques

## 1. Données et États
### Modèle de Données (JSON)
Structure identique à `Animal` (voir `animal_generique.md`), avec un flag ou état spécifique :
```json
{
  "is_baby": true,
  "growth_progress": "float (0-100)",
  "nurserie_id": "uuid_v4 | null"
}
```

### Caractéristiques Initiales
| Caractéristique | Valeur Initiale |
| :--- | :--- |
| Santé | 100.0 |
| Faim | 0.0 |
| Croissance | 0.0 |

### Scores Initiaux
| Score | Valeur |
| :--- | :--- |
| Valeur Vente | 1.5 * Valeur Adulte (Potentiel) |
| Attractivité | 2 * Attractivité Adulte (Effet "Mignon") |

## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
| Type | Condition |
| :--- | :--- |
| Naissance | Reproduction réussie |
| Éclosion | Fin timer œuf en Nurserie |

### Conditions de Disparition
| Cause | Seuil |
| :--- | :--- |
| Croissance terminée | Croissance >= 100 (Devient Adulte) |
| Mort | Santé <= 0 (Plus fragile) |

### Hérédité
Voir `animal_generique.md`.

## 3. Impacts Environnementaux
### Impact Température
**Facteur de fragilité : x2** par rapport à l'adulte.
| Delta T° | Effet sur Santé / Heure |
| :--- | :--- |
| +/- 1 | -2 |
| +/- 2 | -10 |
| > +/- 2 | -40 (Mort rapide) |

### Impact Milieu (Biome)
| Compatibilité | Effet |
| :--- | :--- |
| Mauvais Biome | Stress x2 par rapport à l'adulte |

### Impact Saisons
Voir `animal_generique.md`.

### Impact Heure / Jour-Nuit
Voir `animal_generique.md`.

## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Stérilité temporaire** : Un bébé ne peut pas se reproduire (Logique biologique).

### Impact Mort
| Événement | Effet Satisfaction |
| :--- | :--- |
| Mort d'un bébé | Malus Réputation x2 (Tristesse visiteurs) |

### Impact Nourriture
**Métabolisme rapide :** Faim augmente 1.5x plus vite que l'adulte.

### Impact Attractivité (Visiteurs/Animaux)
| Rareté | Attractivité |
| :--- | :--- |
| Toutes | Bonus "Cuteness" (+50% rayon attraction) |

### Impact Valeur
| Facteur | Effet |
| :--- | :--- |
| Croissance 0-50% | Valeur max (Potentiel) |
| Croissance 50-99% | Valeur décroissante vers prix adulte |

## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
**Vitesse Croissance** : 1% toutes les 30 secondes (rapide) à 1h (lent) selon Rareté.

### Dépenses (Boutiques/Visiteurs)
**Soins Vétérinaires** : Coût x2 si malade (Fragilité pédiatrique).

### Trajet Visiteurs
**Aimant** : Priorité absolue pour les visiteurs si le bébé est visible (hors nurserie).

## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
*   **Croissance** : Passage à l'âge adulte (Notification).
*   **Besoin Soin** : Alerte plus fréquente.
*   **Premiers Pas** : Petit event mignon (+Satisfaction).

## 7. Progression
### Tableau des Upgrades
*Note : Stades biologiques naturels.*
| Stade | Nom | Effet |
| :--- | :--- | :--- |
| 0-30% | Nouveau-né | Fragilité Max, Dort beaucoup. |
| 30-70% | Jeune | Commence à marcher, Joue. |
| 70-100% | Adolescent | Mange comme un adulte, Moins fragile. |

## 8. Logique et Interfaces
### Pseudo-code Impacts
```javascript
function updateBaby(baby, context):
  # Fragilité accrue
  damageMultiplier = 2.0
  growthRate = baseGrowthRate * nurserieLevelBonus

  baby.growth_progress += growthRate

  if baby.growth_progress >= 100:
    transformToAdult(baby)

  # Reste de la logique héritée de Animal avec damageMultiplier
```

### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `BABY_GROWN` | Info | "Un bébé est devenu adulte !" |
| `BABY_CRITICAL` | Critique | "Un bébé est en danger critique !" |

# 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)
### Croissance en Nurserie (Passif)
**Description UX** : Le bébé est visible dans son slot de nurserie. Il grandit visuellement (petite jauge).
**Description UI** : Sprite "Bébé" (tête disproportionnée, grands yeux). Jauge de croissance.
**Emplacement** : Modal Nurserie.
**Intégration** : Slot.
**Navigation** : Clic Slot Nurserie (Zoom).
**Événements** : `BABY_GROWING`.

#### Assets
- **Musiques** : Berceuse (Boîte à musique, boucle 30s).
- **Sons** : Petits bruits aigus.
- **Graphiques** : Sprite Bébé.
- **Images** : Photo "Échographie" (si œuf).
- **Vidéos** : Cinématique éclosion (optionnel).
- **Animations** : Respiration (Scale up/down léger).
- **Couleurs** : Tons pastels.
- **Textes** : "Bébé [Espèce]".
- **Formes** : Bulle de protection autour du bébé.

### Sortie Prématurée (Action)
**Description UX** : Le joueur décide de placer le bébé dans le zoo avant l'âge adulte (risqué).
**Description UI** : Warning "Attention, ce bébé est fragile !".
**Emplacement** : Nurserie -> Zoo.
**Intégration** : Confirmation modale.
**Navigation** : Drag -> Confirm -> Drop.
**Événements** : `PLACE_BABY`.

#### Assets
- **Musiques** : Alerte "Danger" (rythme rapide).
- **Sons** : `warning_beep.mp3`.
- **Graphiques** : Icône Danger.
- **Images** : Fond d'écran rouge clignotant (léger).
- **Vidéos** : Effet de tremblement rouge sur le sprite.
- **Animations** : Tremblement de l'interface.
- **Couleurs** : Rouge.
- **Textes** : "Risque de mort élevé !".
- **Formes** : Triangle d'avertissement.

### Passage Adulte (Événement)
**Description UX** : Le bébé atteint 100% de croissance. Il se transforme en adulte.
**Description UI** : Flash lumineux. Le sprite change. Notification "Adulte !".
**Emplacement** : Nurserie ou Zoo.
**Intégration** : Immédiat.
**Navigation** : Auto (Cutscene).
**Événements** : `BECOME_ADULT`.

#### Assets
- **Musiques** : Jingle évolution.
- **Sons** : `level_up.mp3`.
- **Graphiques** : Particules brillantes.
- **Images** : Sprite Adulte.
- **Vidéos** : Effet de morphing (shader).
- **Animations** : Morphing ou Fade cross.
- **Couleurs** : Blanc/Or.
- **Textes** : "Adulte".
- **Formes** : Rayons de lumière.

## Définition

| Champ | Valeur |
|---|---|
| Concept | Instance d’animal au stade “bébé” (post-éclosion), avec progression de croissance vers l’adulte. |
| Rôle | Introduire une phase de fragilité et de soins, visible en nurserie et/ou sur le zoo, avec effets d’attractivité “mignon” et contraintes biologiques (non reproductible). |
| Portée | Une entité `Animal` (référence `animal_id`) au sein d’un zoo, potentiellement rattachée à une `nurserie_id`. |
| Contrainte | Calculs dérivés (croissance, fragilité, dégâts) à la volée, sans cache/mémorisation ; pas de fallback silencieux en cas d’état incohérent (log + erreur). |

## Fonctions (tableau détaillé)

| Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité |
|---|---|---|---|---|---|
| Créer bébé | éclosion / naissance | `parents_ids?`, `species_id`, `genetics` | entité animal `is_baby=true` | Création atomique ; init `growth_progress=0` | Event `BABY_CREATED` |
| Assigner à une nurserie | placement automatique ou choix joueur | `animal_id`, `nurserie_id`, `slot_id` | bébé visible en slot | Un bébé peut être en nurserie ou sur grille, pas les deux | Event `BABY_ASSIGNED_NURSERY` |
| Progresser croissance | tick logique (lazy) | temps, conditions | `growth_progress` ↑ | Vitesse dépend de rareté + niveau nurserie ; clamp 0..100 | Event `BABY_GROWTH_UPDATED` |
| Appliquer fragilité | calcul impacts | température, faim, stress | santé ↓ | Multiplicateur fragilité > adulte ; pas d’exception au biome/temp extrêmes | Event `BABY_FRAGILITY_APPLIED` |
| Interdire reproduction | tentative accouplement | `animal_id` | refus | Toujours refus tant que `is_baby=true` | Event `BABY_REPRO_BLOCKED` |
| Transformer en adulte | `growth_progress>=100` | `animal_id` | `is_baby=false` | Transition irréversible ; conserve identité + génétique | Event `BABY_BECAME_ADULT` |
| Mettre en vente (bébé) | action joueur | `animal_id`, type vente | listing créé | Vente possible si pas “en danger critique” | Event `BABY_LISTED_FOR_SALE` |

## Icone de base

| Élément | Spécification |
|---|---|
| Représentation | Sprite “bébé” (tête plus grande), badge “B” sur coin UI |
| Couleur dominante | Pastel (bleu/rose selon thème), outline blanc au survol |
| Variantes | `animal_baby_<species>_dir_{N,E,S,W}.png` |
| États | `calme`, `affamé`, `froid/chaud`, `malade`, `en_croissance` |

## Interactions (tableau détaillé)

| Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages |
|---|---|---|---|---|---|
| Ouvrir fiche bébé | Consultation | bébé visible (nurserie ou zoo) | clic sprite/base → panneau | stats + actions | - |
| Nourrir bébé | Action | nourriture dispo | clic “Nourrir” | faim ↓, santé stable | `NO_FOOD`, `BABY_CRITICAL` |
| Soigner bébé | Action | employé/soigneur dispo | clic “Soigner” | maladie ↓ | `NO_STAFF`, `NETWORK_ERROR` |
| Sortie prématurée | Action | bébé en nurserie | drag vers case → confirm | bébé sur grille | `PLACEMENT_INVALID`, `BABY_TOO_FRAGILE` |
| Mettre en vente | Action | bébé stable | “Vendre” → choisir mode | listing créé | `BABY_CRITICAL` |

## Personnages contextuels (événements & interaction)
- **Nurse (nurserie)** : voir `nurse.md` (triage, urgences, éclosion).
- **Soigneur** : voir `soigneur.md` (soins santé, maladies, stabilisation globale).

### Affichage
La nurse est le personnage contextuel principal des actions “bébé” (éclosion, sortie prématurée, danger). Le soigneur est affiché lors des événements de santé (maladie, traitement, surcharge).

### Déclencheurs (exemples)
| Event | Condition | Personnage | Effet UI |
|---|---|---|---|
| `BABY_CREATED` | naissance/éclosion | nurse | bulle “Bébé né” + CTA “Voir” |
| `BABY_CRITICAL` | danger critique | nurse | bulle “Urgence” + CTA “Soigner / Voir” |
| `ANIMAL_SICK` (bébé) | état maladie | soigneur | bulle “Maladie détectée” + CTA “Appeler soigneur” |
| `ANIMAL_HEALED` (bébé) | fin soin | soigneur | message fin intervention |

### Skins & thèmes
Rendu des personnages : `theme.md` + skins 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 |
|---|---|---|---|---|
| `animal_id` | uuid_v4 | `uuid_v4` | DB | identifiant stable |
| `species_id` | string | `PANDA` | DB | enum espèces |
| `is_baby` | boolean | true | DB | vrai jusqu’à transition adulte |
| `growth_progress` | float | 42.5 | calcul/DB | clamp 0..100 |
| `growth_stage` | string | `juvenile` | calcul | dérivé de `growth_progress` |
| `nurserie_id` | uuid_v4 \| null | `uuid_v4` | DB | null si sur grille |
| `position.iso_x` | int \| null | 120 | DB | requis si sur grille |
| `position.iso_y` | int \| null | 88 | DB | requis si sur grille |
| `render.z_index` | int | 12088 | calcul | tri profondeur (iso) |
| `render.hitbox` | string | `base_sprite` | client | clic sur base |
| `health` | float | 100.0 | calcul/DB | 0..100 |
| `hunger` | float | 0.0 | calcul/DB | 0..100 |
| `stress` | float | 0.0 | calcul/DB | 0..100 |
| `timestamps.created_at` | timestamp | - | DB | UTC |
| `timestamps.updated_at` | timestamp | - | DB | UTC |

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

| Caractéristique | Valeur initiale | Unité | Notes |
|---|---:|---|---|
| Santé | 100.0 | pts | base |
| Faim | 0.0 | pts | augmente plus vite qu’un adulte |
| Stress | 0.0 | pts | sensible aux écarts |
| Croissance | 0.0 | % | 0..100 |
| Fragilité | 2.0 | multiplicateur | dégâts environnement ×2 |

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

| Score | Valeur initiale | Plage | Impact |
|---|---:|---|---|
| Attractivité “mignon” | +100% vs adulte | 0..+200% | augmente afflux visiteurs |
| Valeur potentielle | 150% du prix adulte | 50%..200% | décroît avec croissance |
| Malus réputation (mort bébé) | ×2 | ×1..×3 | punit davantage un accident |

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

| Phase | Déclencheur | Entrées | Sorties | Invariants |
|---|---|---|---|---|
| Éclosion/Naissance | reproduction ok / timer œuf | genetics, species | bébé créé | `is_baby=true` |
| Croissance | temps + conditions | température, nourriture | `growth_progress` ↑ | monotone |
| Transition adulte | `growth_progress>=100` | animal | adulte | identité conservée |

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

| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Reproduction réussie | true | est | spawn bébé |
| Éclosion | timer fini | atteint | spawn bébé |

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

| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Croissance terminée | 100 | >= | devient adulte |
| Santé critique | 0 | <= | mort |

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

| Élément | Hérité | Règle |
|---|---|---|
| Génétique | Oui | copie des gènes (voir `animal_generique.md`) |
| Traits esthétiques | Oui | pattern/couleurs, appliqués au sprite bébé |
| Affinités milieu/temp | Oui | modifie fragilité effective |

### 3. Impacts Environnementaux

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

| Condition | Effet bébé | Notes |
|---|---|---|
| \(|\Delta T|\le 1\) | santé \(-2\) / h | fragilité ×2 vs adulte |
| \(|\Delta T|=2\) | santé \(-10\) / h | soins requis rapidement |
| \(|\Delta T|\ge 3\) | santé \(-40\) / h | mort rapide si non corrigé |

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

| Biome | Effet bébé | Notes |
|---|---|---|
| Biome compatible | stress +0 | nominal |
| Biome incompatible | stress +2x | plus fort que l’adulte |

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

| Saison | Effet bébé | Notes |
|---|---|---|
| Hiver | risque froid ↑ | privilégier nurserie |
| Été | risque chaud ↑ | besoin d’eau/ombre |

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

| Période | Effet bébé | Notes |
|---|---|---|
| Nuit | sommeil ↑, faim ↑ | bébé se repose, métabolisme reste rapide |
| Jour | attractivité visiteurs ↑ | “mignon” visible |

### 4. Impacts Biologiques et Sociaux

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

| Facteur | Effet sur taux | Condition |
|---|---|---|
| Stade bébé | 0 | reproduction interdite |

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

| Cas | Effet | Condition |
|---|---|---|
| Mort bébé | malus réputation ×2 | si visiteurs exposés à l’événement |

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

| Ressource | Effet | Condition |
|---|---|---|
| Nourriture espèce | faim \(-\) plus fréquemment | métabolisme ×1.5 |

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

| Action/État | Gain | Rayon | Notes |
|---|---:|---:|---|
| Bébé visible | +50% | +2 cases | priorité de visite |
| Bébé en nurserie | +0% sur grille | - | visible uniquement via UI |

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

| Action/État | Effet animaux | Condition |
|---|---|---|
| Présence bébé | stress \(\pm\) selon espèce | certaines espèces parentales calment, d’autres stressent |

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

| Facteur | Variation | Condition |
|---|---:|---|
| Croissance 0..50% | +50% | potentiel maximum |
| Croissance 50..99% | décroissance vers adulte | linéaire |
| Santé < 50 | -30% | vente risquée |

### 5. Impacts Logistiques et Économiques

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

| Paramètre | Effet | Condition |
|---|---|---|
| Transport bébé | vitesse \(-20%\) | conduite prudente |
| Contrôle température | stabilité ↑ | camion équipé |

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

| Paramètre | Effet | Condition |
|---|---|---|
| Niveau nurserie | croissance +\(\{0,10,20,30\}%\) | upgrade nurserie |
| Soins assignés | dégâts temp \(-25%\) | soigneur actif |

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

| Paramètre | Effet | Condition |
|---|---|---|
| Check-in bébé | durée +10% | contrôles supplémentaires |

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

| Paramètre | Effet | Condition |
|---|---|---|
| Étude bébé | progrès recherche +5% | si centre recherche dispose d’un protocole |

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

| Paramètre | Effet | Condition |
|---|---|---|
| Analyses | durée +15% | prélèvements délicats |

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

| Paramètre | Effet | Condition |
|---|---|---|
| Temps devant bébé | +20% | “effet mignon” |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Communication “naissance” | 0 | - | événement interne, pas d’analytics |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Souvenir “bébé” | +1 | item | si boutique souvenir |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Satisfaction (bonus) | + | points | si bébé visible |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Temps soigneur | +1 | min / tick | bébé fragile |

#### 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 |
|---|---:|---|---|
| Slot nurserie | 5 | coins / h | par bébé |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Nourriture bébé | +20% | coins / ration | rations plus fréquentes |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Contrôle santé bébé | 10 | coins | à l’arrivée |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Caisson temp | 15 | coins | transport bébé |

#### Trajet Visiteurs

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

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Ville | Zoo | annonce naissance (in-game) | afflux modéré |

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

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Entrée | Enclos bébé | bébé visible | priorité haute |

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

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Enclos bébé | Boutique souvenir | souvenir dispo | achat impulsif |

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

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| Billetterie | Enclos bébé | visite planifiée | détour direct |

### 6. Événements

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

| Event | Déclencheur | Payload | Effet |
|---|---|---|---|
| `BABY_CREATED` | éclosion/naissance | `animal_id`, `species_id` | ajoute entité |
| `BABY_GROWTH_UPDATED` | tick lazy | `animal_id`, `growth_progress` | UI jauge |
| `BABY_BECAME_ADULT` | seuil 100 | `animal_id` | swap sprite + stats |
| `BABY_CRITICAL` | santé basse | `animal_id`, raison | alerte |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `BABY_MARKER_SHOW` | map open | badge sur bâtiment nurserie |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `BABY_SELECTED` | clic sprite | ouvre panneau |
| `BABY_MOVED` | placement | maj position iso + z_index |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `VISITOR_ATTRACTED_BY_BABY` | bébé visible | route vers enclos |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `VISITOR_TAKES_PHOTO_BABY` | proche enclos | satisfaction + |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `PLAYER_FEEDS_BABY` | action | faim ↓ |
| `PLAYER_LISTS_BABY` | vente | listing |

### 7. Progression

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

| Niveau | Coût | Effet | Débloque |
|---|---:|---|---|
| Nurserie 1 | 0 | croissance nominale | slots base |
| Nurserie 2 | 250 | croissance +10% | slot +1 |
| Nurserie 3 | 750 | dégâts temp -10% | protocole soins |

### 8. Logique et Interfaces 

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

| Fonction | Entrées | Sorties | Notes |
|---|---|---|---|
| `computeBabyGrowth` | baby, now, nurserieLevel | float | clamp 0..100 |
| `computeBabyTempDamage` | deltaT, fragility | float | multiplicateur |
| `canReproduce` | baby | bool | false si `is_baby` |
| `transformToAdult` | baby | adult | conserve ID + génétique |

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

| ID | Niveau | Message | Condition |
|---|---|---|---|
| `BABY_GROWING` | Info | "Croissance en cours." | bébé actif |
| `BABY_BECAME_ADULT` | Info | "Un bébé est devenu adulte." | transition |
| `BABY_CRITICAL` | Critique | "Un bébé est en danger critique." | santé basse |
| `BABY_TOO_FRAGILE` | Warning | "Bébé trop fragile pour sortir." | sortie prématurée |

## Annexes UX/UI 

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

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

| Parcours | But | Friction | Réduction clics |
|---|---|---|---|
| Consulter bébé | suivre croissance | trouver slot | notif deep-link vers slot |
| Nourrir | éviter danger | action répétée | bouton direct dans panneau sélection |
| Sortir prématurément | placer sur grille | validation risque | une seule modale de confirmation |

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

| Composant | Contenu | États |
|---|---|---|
| Slot nurserie | sprite + jauge | normal/critique |
| Panneau bébé | santé, faim, croissance | actions activées/désactivées |
| Badge “B” | état bébé | visible sur sprite et liste |

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

| Zone UI | Position | Notes |
|---|---|---|
| Nurserie | slots | vue principale |
| Zoo | sur case (iso) | clic sur base |
| Notifications | top UI | deep-link |

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

| Intégration | Contrat | Notes |
|---|---|---|
| `nurserie.md` | slots + jauge | croissance |
| `animal_generique.md` | base stats | mêmes champs + `is_baby` |
| `vente_*` | vente bébé | règles “pas critique” |

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

| Action | Chemin | Résultat |
|---|---|---|
| Ouvrir bébé (nurserie) | notif → nurserie → slot | panneau ouvert |
| Ouvrir bébé (zoo) | clic sprite/base | panneau |
| Nourrir | panneau → bouton | action appliquée |
| Sortir prématurément | drag → modale → drop | bébé placé |

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

| Event UI | Déclencheur | Effet |
|---|---|---|
| `OPEN_BABY_PANEL` | clic | ouvre panneau |
| `CLICK_FEED_BABY` | bouton | action |
| `CONFIRM_PLACE_BABY` | modale | place |

#### Assets Skinables

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

| Asset | Usage | Durée | Notes |
|---|---|---:|---|
| `nursery_lullaby_loop.mp3` | nurserie | loop | discret |

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

| Asset | Usage | Volume |
|---|---|---|
| `baby_chirp_01.mp3` | idle bébé | bas |
| `ui_warning_beep.mp3` | critique | moyen |
| `ui_level_up.mp3` | transition adulte | moyen |

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

| Asset | Usage | Contraintes |
|---|---|---|
| `baby_outline_hover.png` | survol | overlay iso |
| `baby_growth_bar.png` | jauge | lisible petit |
| `baby_warning_icon.png` | critique | contraste |

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

| Asset | Usage |
|---|---|
| `nursery_slot_frame.png` | slot |
| `baby_card_bg.png` | panneau |

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

| Asset | Usage | Durée |
|---|---|---:|
| `baby_hatch.webm` | éclosion | 2.0s |
| `baby_morph_to_adult.webm` | transition | 1.2s |

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

| Animation | Déclencheur | Notes |
|---|---|---|
| respiration légère | idle | 1.5s loop |
| tremblement | critique | 0.4s |
| flash + particules | adulte | 0.8s |

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

| Token | Valeur | Usage |
|---|---|---|
| `baby_pastel_blue` | #A7D8FF | nurserie |
| `baby_pastel_pink` | #FFB3D9 | accents |
| `baby_warning_red` | #D32F2F | critique |

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

| Clé | FR | EN |
|---|---|---|
| `baby.title` | Bébé | Baby |
| `baby.feed` | Nourrir | Feed |
| `baby.heal` | Soigner | Heal |
| `baby.too_fragile` | Bébé trop fragile. | Baby too fragile. |
| `baby.became_adult` | Devenu adulte. | Became adult. |

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

| Élément | Forme | Notes |
|---|---|---|
| Jauge croissance | rectangle arrondi | compacte |
| Badge “B” | pastille ronde | lisible |
| Alerte critique | triangle | contraste élevé |
