# Spécifications : Case de Monde (Générique)

## Définition
Case spécifique à la grille du monde, servant de support aux sites et aux compteurs.

## Types de Contenu Possibles
- **Sites** : Zoo (Joueur/Bot), Ville, Laboratoire.
- **Compteurs** : Bébés à vendre, Animaux à vendre, Labos, Zoos, Villes.
- **Zones Fonctionnelles** : Agrandissement carte, Camion (zone de dépôt/vente).

## Propriétés Spécifiques
- **Fixité** : Le contenu des cases monde est généralement fixe (sites) ou fonctionnel (zones d'interface).
- **Navigation** : Les camions naviguent de case en case entre les sites.

# Annexes Techniques

## 1. Données et États
### Modèle de Données (JSON)
Hérite de `Case (Générique)`.
Pas de propriétés supplémentaires spécifiques.

### Caractéristiques Initiales
**Vide** : Par défaut, une case monde est du vide spatial (ou océan) sauf si un site est généré dessus.

### Scores Initiaux
**Trafic** : 0 camions passés.

## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
Génération monde.

### Conditions de Disparition
**Jamais** : La grille est immuable.

### Hérédité
**Routes** : Les chemins empruntés fréquemment deviennent des "routes" visibles (bonus vitesse) au fil des resets.

## 3. Impacts Environnementaux
### Impact Température
**Météo Locale** : La case porte la météo de la région (Nuage, Pluie).

### Impact Milieu (Biome)
**Fond** : Définit le coût de traversée (Montagne > Plaine).

### Impact Saisons
**Visuel** : La case change de couleur selon la saison globale.

### Impact Heure / Jour-Nuit
**Luminosité** : S'assombrit la nuit.

## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Faune locale** : Reproduction simulée en arrière-plan pour les animaux sauvages (décoratif).

### Impact Mort
**Cycle naturel** : Les animaux sauvages meurent et disparaissent.

### Impact Nourriture
**Ressources** : Certaines cases contiennent des buissons de baies.

### Impact Attractivité (Visiteurs/Animaux)
**Influence** : Si proche d'une ville, la case a une "Valeur de Passage" élevée.

### Impact Valeur
**Terrain** : Prix fictif au m² (pour le lore).

## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
**Frottement** : Ralentit les camions selon le biome (Sable = lent).

### Dépenses (Boutiques/Visiteurs)
**Péage** : Traverser certaines zones coûte des pièces.

### Trajet Visiteurs
**Flux** : Visualisation des flux migratoires.

## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
*   **Météo** : Orage sur la case.

## 7. Progression
### Tableau des Upgrades
| Niveau | Coût | Effet |
| :--- | :--- | :--- |
| 1 | 1000 | Route pavée (Vitesse +10%) |

## 8. Logique et Interfaces
### Pseudo-code Impacts
```javascript
function getTravelCost(case):
  return baseCost * biomeMultiplier
```

### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `ZONE_DISCOVERED` | Info | "Nouvelle zone découverte !" |

# 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)
### Survol (Passif)
**Description UX** : Explorer la carte du monde.
**Description UI** : Curseur main. Tooltip au survol des sites.
**Emplacement** : Carte Monde.
**Intégration** : Standard.
**Navigation** : Mouse move.
**Événements** : `HOVER_WORLD_CASE`.

#### Assets
- **Musiques** : Thème "Exploration".
- **Sons** : `hover_soft.mp3`.
- **Graphiques** : Highlight case.
- **Images** : Texture Biome.
- **Vidéos** : Effet de brillance au survol.
- **Animations** : Légère surbrillance.
- **Couleurs** : Blanc (Alpha).
- **Textes** : Coordonnées X,Y.
- **Formes** : Carré/Hexagone.

## Définition

| Champ | Valeur |
|---|---|
| Concept | Case “monde” : tuile de la grille globale supportant sites fixes (zoo/ville/labo) et widgets fonctionnels (compteurs, upgrade carte). |
| Rôle | Assurer une base de navigation camion (node du graphe), afficher des informations au survol, et porter des modificateurs de traversée (biome). |
| Portée | Carte du monde, immuable structurellement (les cases persistent), contenu majoritairement fixe. |
| Contrainte | Routes et coûts de déplacement calculés à la volée (pas de cache/mémorisation) ; aucun péage/incidence silencieux (message + event). |

## Fonctions (tableau détaillé)

| Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité |
|---|---|---|---|---|---|
| Survol case monde | hover | x,y | tooltip | affiche coord + type | Event `HOVER_WORLD_CASE` |
| Résoudre contenu | rendu | case | marker | type site/compteur | Event `WORLD_CASE_RENDERED` |
| Calculer coût traversée | path camion | biome | cost | multiplicateur biome | Event `WORLD_TRAVEL_COST_COMPUTED` |
| Marquer route visible | trafic | count | route flag | si trafic > seuil | Event `WORLD_ROUTE_MARKED` |

## Icone de base

| Élément | Spécification |
|---|---|
| Représentation | Tuile + pin |
| Couleur dominante | selon biome |
| Variantes | `icon_world_tile.png`, `icon_world_pin.png` |
| États | normal, highlighted, route |

## Interactions (tableau détaillé)

| Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages |
|---|---|---|---|---|---|
| Hover | Consultation | - | survol | tooltip | - |
| Clic site | Navigation | case contient site | clic | ouvre panneau | `ZONE_NOT_EXPLORED` |

## Annexes Techniques

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

| Donnée / État | Type | Exemple | Source | Contraintes |
|---|---|---|---|---|
| `content.site_id` | uuid_v4 \| null | `uuid_v4` | DB | null si vide |
| `content.site_type` | enum \| null | `city` | DB | `zoo/city/lab` |
| `content.counter_type` | enum \| null | `animals_for_sale` | DB | compteur |
| `traffic.trucks_passed` | int | 0 | DB | cumul |
| `travel_cost_multiplier` | float | 1.0 | config | >=1.0 |

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

| Caractéristique | Valeur initiale | Unité | Notes |
|---|---:|---|---|
| Trafic | 0 | count | init |
| Péage | 0 | % | par défaut |

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

| Score | Valeur initiale | Plage | Impact |
|---|---:|---|---|
| Valeur de passage | 0 | 0..100 | influence routes |

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

| Phase | Déclencheur | Entrées | Sorties | Invariants |
|---|---|---|---|---|
| Génération | monde | seed | cases | immuables |
| Marquage routes | trafic | count | flag | observable |

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

| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Génération monde | true | est | case existe |

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

| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| - | - | - | jamais |

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

| Élément | Hérité | Règle |
|---|---|---|
| Routes visibles | Oui | persist reset |

### 3. Impacts Environnementaux

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

| Condition | Effet | Notes |
|---|---|---|
| Orage | vitesse camion - | météo |

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

| Biome | Effet | Notes |
|---|---|---|
| montagne | cost + | traversée |

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

| Saison | Effet | Notes |
|---|---|---|
| hiver | neige | visuel |

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

| Période | Effet | Notes |
|---|---|---|
| nuit | luminosité - | rendu |

### 4. Impacts Biologiques et Sociaux

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

| Facteur | Effet sur taux | Condition |
|---|---|---|
| faune décor | 0 | visuel |

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

| Cas | Effet | Condition |
|---|---|---|
| cycle naturel | 0 | décor |

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

| Ressource | Effet | Condition |
|---|---|---|
| baies | décor | région |

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

| Action/État | Gain | Rayon | Notes |
|---|---:|---:|---|
| proche ville | valeur passage + | monde | trafic |

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

| Action/État | Effet animaux | Condition |
|---|---|---|
| - | neutre | - |

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

| Facteur | Variation | Condition |
|---|---:|---|
| lore terrain | + | descriptif |

### 5. Impacts Logistiques et Économiques

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

| Paramètre | Effet | Condition |
|---|---|---|
| frottement | vitesse - | sable |

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

| Paramètre | Effet | Condition |
|---|---|---|
| - | neutre | - |

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

| Paramètre | Effet | Condition |
|---|---|---|
| - | neutre | - |

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

| Paramètre | Effet | Condition |
|---|---|---|
| route pavée | +10% | upgrade |

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

| Paramètre | Effet | Condition |
|---|---|---|
| - | neutre | - |

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

| Paramètre | Effet | Condition |
|---|---|---|
| flux migratoire | visuel | overlay |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| péage | 1 | % | zones |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 1 | coins | lore |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 1 | coins | lore |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 1 | coins | lore |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| section dupliquée | 1 | coins | conservée |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 1 | coins | lore |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 1 | coins | lore |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 1 | coins | lore |

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

| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| usure | 1 | coins | lore |

#### Trajet Visiteurs

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

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| ville | zoo | attractivité | flux |

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

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| zoo | animaux | visite | - |

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

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| zoo | boutiques | besoins | - |

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

| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| zoo | sortie | fin | - |

### 6. Événements

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

| Event | Déclencheur | Payload | Effet |
|---|---|---|---|
| `ZONE_DISCOVERED` | reveal | coord | visible |
| `WORLD_ROUTE_MARKED` | trafic | count | route |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `HOVER_WORLD_CASE` | hover | tooltip |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `WORLD_CASE_RENDERED` | render | marker |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `WORLD_TRAVEL_COST_COMPUTED` | route | cost |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `ZONE_NOT_EXPLORED` | click | denied |

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

| Event | Déclencheur | Effet |
|---|---|---|
| `PLAYER_CLICKS_SITE` | click | open |

### 7. Progression

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

| Niveau | Coût | Effet | Débloque |
|---|---:|---|---|
| 1 | 1000 | route pavée +10% | speed |

### 8. Logique et Interfaces 

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

| Fonction | Entrées | Sorties | Notes |
|---|---|---|---|
| `getTravelCost` | case | float | multiplicateur |

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

| ID | Niveau | Message | Condition |
|---|---|---|---|
| `ZONE_DISCOVERED` | Info | "Nouvelle zone découverte." | reveal |
| `ZONE_NOT_EXPLORED` | Warning | "Zone non explorée." | fog |

## Annexes UX/UI 

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

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

| Parcours | But | Friction | Réduction clics |
|---|---|---|---|
| Explorer | trouver sites | info | tooltip sur hover |

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

| Composant | Contenu | États |
|---|---|---|
| Highlight | outline | hover |
| Tooltip | coord/type | visible |

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

| Zone UI | Position | Notes |
|---|---|---|
| Carte monde | cases | iso |

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

| Intégration | Contrat | Notes |
|---|---|---|
| `carte_monde.md` | usage | world |

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

| Action | Chemin | Résultat |
|---|---|---|
| Hover | souris | tooltip |

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

| Event UI | Déclencheur | Effet |
|---|---|---|
| `HOVER_WORLD_CASE` | hover | tooltip |

#### Assets Skinables

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

| Asset | Usage | Durée | Notes |
|---|---|---:|---|
| `world_exploration_loop.mp3` | monde | loop | discret |

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

| Asset | Usage | Volume |
|---|---|---|
| `hover_soft.mp3` | hover | bas |

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

| Asset | Usage | Contraintes |
|---|---|---|
| `world_tile_highlight.png` | outline | alpha |

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

| Asset | Usage |
|---|---|
| `biome_texture.png` | fond |

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

| Asset | Usage | Durée |
|---|---|---:|
| `shine_hover.webm` | hover | 0.6s |

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

| Animation | Déclencheur | Notes |
|---|---|---|
| glow | hover | léger |

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

| Token | Valeur | Usage |
|---|---|---|
| `hover_white` | #FFFFFF | outline |

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

| Clé | FR | EN |
|---|---|---|
| `world.coords` | Coordonnées X,Y | Coordinates X,Y |

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

| Élément | Forme | Notes |
|---|---|---|
| Tuile | losange | iso |
