Files
builazoo/docs/specs/camion.md
2026-03-05 04:01:29 +01:00

726 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Spécifications : Camion
## Définition
Véhicule de transport pour les achats et les ventes d'animaux/œufs.
## Fonctionnalités
- **Transport** : Effectue les trajets entre le zoo du joueur et les autres sites (zoos, labo) sur la Carte du Monde.
- **Vente** : Zone de dépôt sur la carte du zoo pour mettre un animal en vente.
- **Achat** : Zone de réception sur la carte du monde pour acheter une offre.
## Comportement
- **Trajet** : Aller-retour physique sur la carte du monde. La durée dépend de la distance et du niveau du camion.
- **Capacité** : Transporte un animal/œuf à la fois (par unité de camion).
## Niveaux d'Amélioration (7 niveaux)
- **Coût** : Progressif par palier.
- **Effet** : Augmente la vitesse de déplacement. Réduit la dégradation du score de reproduction due au transport (stress).
- **Ratio** : 1 unité couvre 1 camion actif.
# Annexes Techniques
## 1. Données et États
### Modèle de Données (JSON)
```json
{
"id": "uuid",
"owner_id": "uuid",
"level": "integer (1-7)",
"status": "enum ('idle', 'moving_to_target', 'moving_home')",
"cargo": "animal_uuid | null",
"position": { "x": "float", "y": "float" },
"target_site_id": "uuid | null",
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
```
### Caractéristiques Initiales
| Caractéristique | Valeur Initiale (Niv 1) |
| :--- | :--- |
| Vitesse | 50 km/h (simulé) |
| Confort | Basique (Stress normal) |
### Scores Initiaux
**Kilométrage** : 0 km.
## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
Démarrage jeu.
### Conditions de Disparition
**Panne** : Immobilisation temporaire si pas d'entretien (Réparation requise).
### Hérédité
**Garage** : Conserve les upgrades de vitesse après reset (Véhicule de fonction).
## 3. Impacts Environnementaux
### Impact Température
**Surchauffe moteur** : Si T° > 40°C, vitesse -10%.
**Gel** : Si T° < -10°C, démarrage lent (+5s).
### Impact Milieu (Biome)
**Tout-terrain** : Bonus vitesse sur terre si pneus adaptés (Upgrade). Ralenti sur Sable.
### Impact Saisons
**Hiver** : Vitesse réduite de 20% (Neige).
**Automne** : Risque de boue (Vitesse -5%).
### Impact Heure / Jour-Nuit
**Phares** : Vitesse normale la nuit (si phares débloqués Niv 2). Sinon -30% (Prudence).
## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Stress Transport** : Réduit temporairement la fertilité de l'animal transporté.
| Niveau Camion | Perte Fertilité / Heure Trajet |
| :--- | :--- |
| 1 | -10% |
| 7 | -1% |
### Impact Mort
Si trajet trop long (> 24h) sans confort, risque de mort (Faim/Stress).
### Impact Nourriture
**Carburant** : Consomme de l'essence (coût au km) ou électrique (recharge au zoo).
### Impact Attractivité (Visiteurs/Animaux)
**Design** : Un beau camion (Skin) fait "Pro" (+1 Attractivité).
### Impact Valeur
**Occasion** : Valeur de revente du camion (fictive, pour score richesse).
## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
**Vitesse Déplacement** :
| Niveau | Vitesse |
| :--- | :--- |
| 1 | 50 km/h |
| 2 | 70 km/h |
| 3 | 90 km/h |
| 4 | 110 km/h |
| 5 | 130 km/h |
| 6 | 150 km/h |
| 7 | 200 km/h (Avion/Hélico ?) |
### Dépenses (Boutiques/Visiteurs)
**Entretien** : 10 pièces tous les 1000 km.
### Trajet Visiteurs
**Klaxon** : Écarte les visiteurs sur le passage (au zoo) pour éviter les accidents.
## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
* **Départ** : Camion part.
* **Arrivée** : Camion revient avec marchandise.
* **Crevaison** : Retard aléatoire.
## 7. Progression
### Tableau des Upgrades
| Niveau | Coût (Pièces) | Vitesse | Confort | Temps Construction |
| :--- | :--- | :--- | :--- | :--- |
| 1 | 100 | 50 | Bas | 0s |
| 2 | 200 | 70 | Moyen | 0s |
| 3 | 400 | 90 | Moyen | 0s |
| 4 | 800 | 110 | Bon | 0s |
| 5 | 1600 | 130 | Bon | 0s |
| 6 | 3200 | 150 | Excellent | 0s |
| 7 | 6400 | 200 | Parfait | 0s |
## 8. Logique et Interfaces
### Pseudo-code Impacts
```
function updateTruck(truck, deltaTime):
if truck.status == 'moving':
distance = truck.speed * deltaTime
moveTowardsTarget(truck, distance)
if truck.cargo:
truck.cargo.stress += baseStress * (1.0 - truck.comfortFactor) * deltaTime
```
### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `TRUCK_ARRIVED` | Info | "Le camion est revenu au zoo." |
| `TRUCK_DELAY` | Info | "Le camion a du retard (Météo/Panne)." |
# 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)
### Envoi en Mission (Action)
**Description UX** : Le joueur achète un animal sur la carte du monde. Le camion part automatiquement le chercher.
**Description UI** : Le camion quitte sa case au zoo (animation départ) et apparaît sur la carte du monde, se déplaçant vers la cible.
**Emplacement** : Zoo -> Carte Monde.
**Intégration** : Transition fluide.
**Navigation** : Achat -> Vue Carte Monde (auto ou manuelle).
**Événements** : `TRUCK_DEPART`.
#### Assets
- **Musiques** : Bruit de moteur au démarrage.
- **Sons** : `engine_start.mp3`, `horn.mp3`.
- **Graphiques** : Sprite Camion (Vue dessus et côté).
- **Images** : Carte routière (Icône).
- **Vidéos** : Zoom caméra sur le camion qui part.
- **Animations** : Roues qui tournent, fumée échappement.
- **Couleurs** : Jaune/Noir (Chantier) ou Blanc (Livraison).
- **Textes** : "En route vers [Destination]".
- **Formes** : Flèche de direction.
### Suivi Trajet (Passif/Actif)
**Description UX** : Le joueur peut suivre le camion sur la carte du monde.
**Description UI** : Icône camion qui bouge sur la ligne de trajet. Timer estimé au survol.
**Emplacement** : Carte Monde.
**Intégration** : Overlay.
**Navigation** : Clic Camion -> Info Trajet.
**Événements** : `TRACK_TRUCK`.
#### Assets
- **Musiques** : Sonar "Ping" régulier.
- **Sons** : Bruit moteur continu (faible).
- **Graphiques** : Ligne pointillée (trajet).
- **Vidéos** : Ligne de trajet qui se dessine.
- **Animations** : Déplacement linéaire.
- **Couleurs** : Ligne Blanche.
- **Textes** : "Arrivée dans MM:SS".
- **Formes** : Cercle autour du camion.
### Activité d'Attente (Gameplay)
**Description UX** : Pendant le trajet (temps mort), le joueur peut cliquer sur le camion pour le "booster" ou nettoyer le pare-brise (mini-jeu simple) pour gagner quelques secondes ou de l'XP.
**Description UI** : Zoom sur le camion. Taches apparaissent, clic pour nettoyer.
**Emplacement** : Modal Camion (en trajet).
**Intégration** : Mini-jeu optionnel.
**Navigation** : Clic Camion -> Mini-jeu.
**Événements** : `CLEAN_WINDSHIELD`.
#### Assets
- **Musiques** : Radio camion (musique lo-fi).
- **Sons** : `wipe.mp3` (essuie-glace). **Design ASMR** : Bruit d'éponge mouillée ou de raclette satisfaisant.
- **Graphiques** : Taches de boue/insectes.
- **Images** : Vue cockpit simplifiée.
- **Vidéos** : Reflet du soleil sur le pare-brise.
- **Animations** : Essuie-glace qui bouge.
- **Couleurs** : Marron (Boue), Vert (Insectes).
- **Textes** : "Boost !"
- **Formes** : Éponge (Curseur).
### Arrivée (Passif)
**Description UX** : Le camion revient au zoo et se gare.
**Description UI** : Animation d'arrivée. Notification "Camion rentré".
**Notification Push** : "Le camion est de retour !" (si application fermée).
**Emplacement** : Case Camion.
**Intégration** : Fin cycle.
**Navigation** : Automatique (Cinématique).
**Événements** : `TRUCK_ARRIVE`.
#### Assets
- **Musiques** : Bruit de freins pneumatiques "Pschhh".
- **Sons** : `truck_stop.mp3`.
- **Graphiques** : Traces de pneus au sol.
- **Vidéos** : Fumée d'échappement qui se dissipe.
- **Animations** : Freinage.
- **Couleurs** : Rouge (Feux stop).
- **Textes** : "Livraison effectuée".
- **Formes** : Carré de stationnement.
## Définition
| Champ | Valeur |
|---|---|
| Concept | Unité de transport “Camion” : véhicule qui exécute des missions (achat/vente/transfert) entre sites (carte monde) et le zoo. |
| Rôle | Relier les transactions (enchères/achats/ventes) à une logistique observable (trajet, délais, incidents), et injecter le cargo dans `accueil_animaux` / `nurserie` selon le cas. |
| Portée | Entité persistante (par joueur/zoo) avec `level`, `status`, `cargo`, `target_site_id`. |
| Contrainte | ETA et trajectoire calculés à la volée, sans cache/mémorisation ; aucun fallback silencieux (cargo manquant => erreur + log). |
## Fonctions (tableau détaillé)
| Fonction | Déclencheur | Entrées | Sorties | Règles | Observabilité |
|---|---|---|---|---|---|
| Démarrer mission | achat/vente | `target_site_id`, cargo | status moving | refuse si déjà en mission | Event `TRUCK_DEPART` |
| Calculer durée | départ | distance, level | ETA | vitesse table par level + météo | Event `TRUCK_ETA_COMPUTED` |
| Déplacer sur carte | tick lazy | now, route | position | interpolation | Event `TRUCK_POSITION_UPDATED` |
| Appliquer stress cargo | tick | cargo, confort | fertilité/stress | perte fertilité/h selon level | Event `CARGO_STRESS_APPLIED` |
| Gérer incidents | tick | météo, entretien | delay | crevaison/panne explicités | Event `TRUCK_DELAYED` |
| Arriver au site | ETA atteint | - | status arrived | charge/décharge | Event `TRUCK_ARRIVED_SITE` |
| Retourner au zoo | fin opération | - | status moving_home | trajet retour | Event `TRUCK_RETURNING` |
| Décharger au zoo | arrivée | cargo | slot réception | adultes → `accueil_animaux`, œufs/bébés → `nurserie` (selon type) | Event `DELIVERY_COMPLETE` |
| Mini-jeu attente | clic camion | - | bonus léger | bonus borné, non obligatoire | Event `CLEAN_WINDSHIELD` |
## Icone de base
| Élément | Spécification |
|---|---|
| Représentation | Camion isométrique + flèche direction |
| Couleur dominante | Jaune/noir ou blanc |
| Variantes | `truck_lvl_{1..7}_dir_{N,E,S,W}.png` |
| États | `idle`, `moving`, `delayed`, `arrived`, `cargo_loaded` |
## Interactions (tableau détaillé)
| Interaction | Type | Préconditions | Étapes UI | Résultat | Erreurs / Messages |
|---|---|---|---|---|---|
| Envoyer en mission | Action | camion idle | achat → auto départ | mission lancée | `TRUCK_BUSY` |
| Suivre trajet | Consultation | mission active | clic icône | panel ETA | - |
| Ouvrir mini-jeu | Action | mission active | clic camion | modal mini-jeu | - |
| Voir arrivée | Consultation | mission finie | notif | focus cargo | - |
## Personnages contextuels (événements & interaction)
Selon le contexte de la mission, le camion peut afficher un personnage contextuel :
- **Personnel daccueil (déchargement au zoo)** : voir `personnel_accueil.md` (cargo adulte).
- **Nurse (déchargement vers nurserie)** : voir `nurse.md` (cargo œuf/bébé).
- **Laborantin (achat depuis le laboratoire)** : voir `laborantin.md` (refus/gating/validation).
- **Agent de sécurité (incident de trajet)** : voir `agent_securite.md` (retard/menace si la cause est “sécurité”).
### Déclencheurs (exemples)
| Event | Condition | Personnage | Effet UI |
|---|---|---|---|
| `TRUCK_DEPART` | mission démarrée | (option UI) | état “en route” + destination |
| `TRUCK_DELAYED` | incident détecté | sécurité | bulle “Retard” + cause + CTA “Voir trajet” |
| `TRUCK_ARRIVE` / `DELIVERY_COMPLETE` | arrivée zoo | accueil ou nurse | bulle “Livraison effectuée” + deep-link vers `accueil_animaux`/`nurserie` selon cargo |
| `TRUCK_ARRIVED_SITE` | arrivée site | laborantin (si site labo) | bulle “Offre disponible” + CTA “Ouvrir labo” |
### Skins & thèmes
Le rendu des personnages suit `theme.md` et `inventaire_skins.md` (uniformes + accessoires). Le camion lui-même reste skinable via `inventaire_skins.md`.
## Annexes Techniques
### 1. Données et États (tableau détaillé)
| Donnée / État | Type | Exemple | Source | Contraintes |
|---|---|---|---|---|
| `id` | uuid_v4 | `uuid_v4` | DB | - |
| `owner_id` | uuid_v4 | `uuid_v4` | DB | - |
| `level` | int | 1 | DB | 1..7 |
| `status` | enum | `idle` | DB | `idle/moving_to_target/moving_home/delayed` |
| `cargo.type` | string \| null | `animal` | DB | null si vide |
| `cargo.id` | uuid_v4 \| null | `uuid_v4` | DB | - |
| `position.x` | float | 10.2 | calcul/DB | carte monde |
| `position.y` | float | 12.7 | calcul/DB | carte monde |
| `target_site_id` | uuid_v4 \| null | `uuid_v4` | DB | - |
| `iso_x` | int | 120 | DB/calcul | si rendu zoo |
| `iso_y` | int | 88 | DB/calcul | si rendu zoo |
| `z_index` | int | 12088 | calcul | profondeur |
| `maintenance.km_since_service` | float | 0 | DB | - |
| `timers.departed_at` | timestamp \| null | - | DB | UTC |
| `timers.eta_at` | timestamp \| null | - | calcul/DB | UTC |
#### Caractéristiques Initiales (tableau détaillé)
| Caractéristique | Valeur initiale | Unité | Notes |
|---|---:|---|---|
| Vitesse (lvl1) | 50 | km/h | simulé |
| Capacité | 1 | cargo | par camion |
| Confort | 0.0 | score | réduit stress |
#### Scores Initiaux (tableau détaillé)
| Score | Valeur initiale | Plage | Impact |
|---|---:|---|---|
| Kilométrage | 0 | 0..∞ | entretien |
| Retards cumulés | 0 | 0..∞ | info joueur |
### 2. Cycles de Vie et Apparition (tableau détaillé)
| Phase | Déclencheur | Entrées | Sorties | Invariants |
|---|---|---|---|---|
| Apparition | début jeu | - | camion idle | 1 camion min |
| Mission | achat/vente | cargo+site | moving | exclusif |
| Arrivée | ETA | - | arrived | décharge |
| Retour | fin op | - | moving_home | - |
| Idle | arrivée zoo | - | idle | cargo null |
#### Conditions d'Apparition (tableau détaillé)
| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| Début partie | true | est | camion créé |
#### Conditions de Disparition (tableau détaillé)
| Condition | Seuil | Opérateur | Résultat |
|---|---:|---|---|
| - | - | - | camion persiste |
#### Hérédité (tableau détaillé)
| Élément | Hérité | Règle |
|---|---|---|
| Upgrades | Oui | persiste |
| Cargo | Non | mission-only |
### 3. Impacts Environnementaux
#### Impact Température (tableau détaillé)
| Condition | Effet camion | Notes |
|---|---|---|
| > 40°C | vitesse -10% | surchauffe |
| < -10°C | démarrage +5s | gel |
#### Impact Milieu (Biome) (tableau détaillé)
| Biome | Effet camion | Notes |
|---|---|---|
| Sable | vitesse - | sans pneus |
| Terre | vitesse + | pneus adaptés |
#### Impact Saisons (tableau détaillé)
| Saison | Effet camion | Notes |
|---|---|---|
| Hiver | vitesse -20% | neige |
| Automne | vitesse -5% | boue |
#### Impact Heure / Jour-Nuit (tableau détaillé)
| Période | Effet camion | Notes |
|---|---|---|
| Nuit sans phares | vitesse -30% | prudence |
| Nuit avec phares | normal | level ≥ 2 |
### 4. Impacts Biologiques et Sociaux
#### Impact Reproduction (tableau détaillé)
| Facteur | Effet sur taux | Condition |
|---|---|---|
| Stress transport | fertilité \(\downarrow\) | cargo animal |
#### Impact Mort (tableau détaillé)
| Cas | Effet | Condition |
|---|---|---|
| Trajet > 24h + confort bas | risque mort | cas extrême |
#### Impact Nourriture (tableau détaillé)
| Ressource | Effet | Condition |
|---|---|---|
| Carburant | coût/km | mission |
#### Impact Attractivité(Visiteurs (tableau détaillé)
| Action/État | Gain | Rayon | Notes |
|---|---:|---:|---|
| Skin camion | +1 | zoo | esthétique |
#### Impact Attractivité Animaux) (tableau détaillé)
| Action/État | Effet animaux | Condition |
|---|---|---|
| Klaxon | stress + | au passage |
#### Impact Valeur (tableau détaillé)
| Facteur | Variation | Condition |
|---|---:|---|
| Niveau camion | + | richesse (score) |
### 5. Impacts Logistiques et Économiques
#### Vitesse (Camion) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Niveau | table vitesse | 1..7 |
#### Vitesse (Nurserie) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Livraison œuf/bébé | push vers nurserie | cargo type |
#### Vitesse (Accueil) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Livraison adulte | push vers accueil | cargo type |
#### Vitesse (Recherche) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| - | - | - |
#### Vitesse (Labo) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| Route labo | vitesse selon route | autoroute/piste |
#### Vitesse (Visite) (tableau détaillé)
| Paramètre | Effet | Condition |
|---|---|---|
| - | - | - |
#### Dépenses (Billeterie) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 0 | - | - |
#### Dépenses (Boutiques) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Entretien | 10 | coins / 1000 km | règle |
#### Dépenses (Visiteurs) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| - | 0 | - | - |
#### Dépenses (Employés) (tableau détaillé)
| Poste | Coût | Unité | Condition |
|---|---:|---|---|
| Chauffeur (abstrait) | 0 | - | inclus |
#### 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 |
|---|---:|---|---|
| - | 0 | - | - |
#### 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 |
|---|---:|---|---|
| Carburant | variable | coins | distance |
#### Trajet Visiteurs
##### Trajet Visiteurs vers/depuis la ville (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| - | - | - | - |
##### Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| - | - | - | - |
##### Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| - | - | - | - |
##### Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
| Source | Destination | Déclencheur | Effet |
|---|---|---|---|
| - | - | - | - |
### 6. Événements
#### Événements du Jeu (tableau détaillé)
| Event | Déclencheur | Payload | Effet |
|---|---|---|---|
| `TRUCK_DEPART` | mission | target, cargo | moving |
| `TRUCK_DELAYED` | incident | reason, delta | ETA \(\uparrow\) |
| `TRUCK_ARRIVE` | retour zoo | cargo | décharge |
#### Événements du Carte (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `TRACK_TRUCK` | clic | panel |
#### Événements du Zoo (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `DELIVERY_COMPLETE` | arrivée | push accueil/nurserie |
#### Événements du Ville / Visiteur (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| - | - | - |
#### Événements du Visiteur (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| - | - | - |
#### Événements du Joueur (tableau détaillé)
| Event | Déclencheur | Effet |
|---|---|---|
| `PLAYER_OPENS_TRUCK_PANEL` | clic | UI |
### 7. Progression
#### Tableau des Upgrades (tableau détaillé)
| Niveau | Coût | Effet | Débloque |
|---|---:|---|---|
| 1 | 100 | 50 km/h | base |
| 2 | 200 | 70 km/h + phares | nuit |
| 7 | 6400 | 200 km/h | rapide |
### 8. Logique et Interfaces
#### Pseudo-code Impacts (tableau détaillé)
| Fonction | Entrées | Sorties | Notes |
|---|---|---|---|
| `computeTruckSpeed` | level, season, temp | float | table + mods |
| `computeETA` | distance, speed | timestamp | à la volée |
| `applyCargoStress` | cargo, comfort, dt | cargo | fertilité/stress |
#### Messages d'Infos / Alerte (tableau détaillé)
| ID | Niveau | Message | Condition |
|---|---|---|---|
| `TRUCK_ARRIVED` | Info | "Le camion est revenu au zoo." | arrivée |
| `TRUCK_DELAY` | Info | "Le camion a du retard." | incident |
| `TRUCK_BUSY` | Warning | "Camion déjà en mission." | lancement |
## Annexes UX/UI
### 1. Expérience Utilisateur (UX)
#### Description UX (tableau détaillé)
| Parcours | But | Friction | Réduction clics |
|---|---|---|---|
| Acheter sur carte | déclencher livraison | navigation | auto-focus camion |
| Suivre | connaître ETA | dispersion | panel clic icône |
| Mini-jeu | occuper attente | option | accessible en 1 clic |
#### Description UI (tableau détaillé)
| Composant | Contenu | États |
|---|---|---|
| Icône camion | position + badge | moving/delayed |
| Panel trajet | ETA + destination | open/closed |
| Modal mini-jeu | taches | progress |
#### Emplacement (tableau détaillé)
| Zone UI | Position | Notes |
|---|---|---|
| Carte monde | overlay | camion |
| Carte zoo | case camion | départ/arrivée |
#### Intégration (tableau détaillé)
| Intégration | Contrat | Notes |
|---|---|---|
| `accueil_animaux.md` | livraison adulte | dépôt |
| `nurserie.md` | livraison œuf/bébé | dépôt |
| `vente_animal.md` | logistique | mission |
#### Navigation (tableau détaillé)
| Action | Chemin | Résultat |
|---|---|---|
| Suivre | clic camion | panel |
| Jouer | clic camion → mini-jeu | modal |
| Voir arrivée | clic notif | focus |
#### Événements (tableau détaillé)
| Event UI | Déclencheur | Effet |
|---|---|---|
| `TRACK_TRUCK` | clic | panel |
| `CLEAN_WINDSHIELD` | clic | mini-jeu |
#### Assets Skinables
##### Musiques (tableau détaillé)
| Asset | Usage | Durée | Notes |
|---|---|---:|---|
| `truck_radio_lofi.mp3` | mini-jeu | loop | doux |
##### Sons (tableau détaillé)
| Asset | Usage | Volume |
|---|---|---|
| `engine_start.mp3` | départ | moyen |
| `truck_stop.mp3` | arrivée | moyen |
| `wipe.mp3` | mini-jeu | bas |
##### Graphiques (tableau détaillé)
| Asset | Usage | Contraintes |
|---|---|---|
| `truck_route_dotted.png` | route | overlay |
| `truck_badge_delayed.png` | retard | lisible |
##### Images (tableau détaillé)
| Asset | Usage |
|---|---|
| `truck_map_icon.png` | carte |
##### Vidéos (tableau détaillé)
| Asset | Usage | Durée |
|---|---|---:|
| `truck_depart_zoom.webm` | départ | 1.5s |
##### Animations (tableau détaillé)
| Animation | Déclencheur | Notes |
|---|---|---|
| fumée échappement | moving | loop |
| rotation roues | moving | loop |
##### Couleurs (tableau détaillé)
| Token | Valeur | Usage |
|---|---|---|
| `truck_yellow` | #FBC02D | carrosserie |
| `truck_black` | #212121 | accents |
##### Textes (tableau détaillé)
| Clé | FR | EN |
|---|---|---|
| `truck.en_route` | En route vers {dest} | En route to {dest} |
| `truck.arrived` | Camion rentré | Truck arrived |
##### Formes (tableau détaillé)
| Élément | Forme | Notes |
|---|---|---|
| Badge | rond | statut |
| Flèche | triangle | direction |