docs: enrich docs/specs and remove placeholders
**Motivations:** - Make docs/specs implementation-ready without empty sections or placeholders. **Root causes:** - Multiple specs still contained non-actionable placeholders (N/A, “see above”, "..."), and inconsistent “no cache” wording. **Correctifs:** - Replace placeholders with explicit tables, structures, and typed examples. - Align “no cache / no memorization” statements where relevant. **Evolutions:** - Add a features doc entry to track the documentation enrichment effort. **Pages affectées:** - docs/specs/* - docs/features/docs-specs-enrichment.md - docs/leo.md - docs/plan-enrich-docs-specs.md
This commit is contained in:
@@ -18,45 +18,90 @@ Les visiteurs ne se déplacent pas au hasard. Ils ont des "cibles" d'intérêt.
|
||||
## 1. Données et États
|
||||
### Modèle de Données (JSON)
|
||||
Propriétés de `Visiteur`.
|
||||
```json
|
||||
{
|
||||
"visitor_id": "uuid",
|
||||
"current_target": { "type": "enum('animal','shop','bench','toilet','exit')", "entity_id": "uuid" },
|
||||
"target_score": "float",
|
||||
"memory": {
|
||||
"seen_species": "string[]",
|
||||
"last_shop_at": "timestamp | null",
|
||||
"fatigue": "float (0-100)",
|
||||
"thirst": "float (0-100)"
|
||||
},
|
||||
"pathing": {
|
||||
"preferred_tiles": "enum('path','bridge')",
|
||||
"avoid_zones": "uuid[]",
|
||||
"repath_cooldown_ms": "integer"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Caractéristiques Initiales
|
||||
N/A
|
||||
| Caractéristique | Valeur Initiale | Type | Description |
|
||||
|---|---|---|---|
|
||||
| Fatigue | 0 | float | Monte avec la marche ; déclenche recherche de banc. |
|
||||
| Soif | 0 | float | Monte avec le temps/température ; déclenche boutique. |
|
||||
| Diversité vue | 0 | int | Compte d'espèces différentes vues. |
|
||||
|
||||
### Scores Initiaux
|
||||
N/A
|
||||
| Score | Valeur Initiale | Plage (Min-Max) | Impact |
|
||||
|---|---:|---|---|
|
||||
| Enthousiasme | 50 | 0-100 | Modifie durée de visite et dépenses. |
|
||||
| Ennui | 0 | 0-100 | Si > 70, visiteur part vers sortie. |
|
||||
|
||||
## 2. Cycles de Vie et Apparition
|
||||
### Conditions d'Apparition
|
||||
N/A
|
||||
| Condition | Seuil | Opérateur | Résultat |
|
||||
|---|---:|---|---|
|
||||
| Visiteur spawn | true | Est | IA interne démarre (choix cibles). |
|
||||
|
||||
### Conditions de Disparition
|
||||
N/A
|
||||
| Condition | Seuil | Opérateur | Résultat |
|
||||
|---|---:|---|---|
|
||||
| Ennui | 70 | >= | Cible sortie (billeterie). |
|
||||
| Heure | fermeture | >= | Cible sortie. |
|
||||
|
||||
### Hérédité
|
||||
N/A
|
||||
| Parent | Trait Transmis | Probabilité | Mutation Possible |
|
||||
|---|---|---:|---|
|
||||
| Groupe famille | Itinéraire (préférence boutique/enclos) | 100% | Non |
|
||||
|
||||
## 3. Impacts Environnementaux
|
||||
### Impact Température
|
||||
**Canicule/Grand Froid** : Réduit le temps de séjour (-30%).
|
||||
|
||||
### Impact Milieu (Biome)
|
||||
N/A
|
||||
| Biome | Compatibilité | Bonus/Malus |
|
||||
|---|---:|---|
|
||||
| Chemin pavés | 100% | fatigue -10%/min |
|
||||
| Boue | 30% | fatigue +20%/min, satisfaction - |
|
||||
|
||||
### Impact Saisons
|
||||
N/A
|
||||
| Saison | Effet | Modificateur |
|
||||
|---|---|---|
|
||||
| Été | recherche d’ombre/boutiques | soif + |
|
||||
| Hiver | recherche d’intérieur | fatigue + |
|
||||
|
||||
### Impact Heure / Jour-Nuit
|
||||
N/A
|
||||
| Période | Activité | Visibilité |
|
||||
|---|---|---|
|
||||
| 10h–16h | exploration max | haute |
|
||||
| 17h–19h | achats sortie | moyenne |
|
||||
|
||||
## 4. Impacts Biologiques et Sociaux
|
||||
### Impact Reproduction
|
||||
N/A
|
||||
| Facteur | Effet sur Taux | Condition |
|
||||
|---|---|---|
|
||||
| Bébés visibles | + | visiteurs restent plus |
|
||||
|
||||
### Impact Mort
|
||||
Voir `visiteur.md` (Départ immédiat).
|
||||
|
||||
### Impact Nourriture
|
||||
N/A
|
||||
| Type Nourriture | Gain Santé | Coût | Préférence |
|
||||
|---|---:|---:|---:|
|
||||
| Boisson | soif -50 | 5 | 5 |
|
||||
|
||||
### Impact Attractivité (Visiteurs/Animaux)
|
||||
**Poids des Cibles** :
|
||||
@@ -68,25 +113,39 @@ N/A
|
||||
| Banc (si fatigué) | 200 |
|
||||
|
||||
### Impact Valeur
|
||||
N/A
|
||||
| Facteur | Variation Prix | Condition |
|
||||
|---|---:|---|
|
||||
| Visiteur VIP | dépense x2 | si satisfait |
|
||||
|
||||
## 5. Impacts Logistiques et Économiques
|
||||
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
||||
N/A
|
||||
| Paramètre | Valeur | Unité | Détail |
|
||||
|---|---:|---|---|
|
||||
| Repath cooldown | 500 | ms | évite recalcul permanent |
|
||||
| Poids chemin | 2.0 | facteur | préférence chemin vs herbe |
|
||||
|
||||
### Dépenses (Boutiques/Visiteurs)
|
||||
N/A
|
||||
| Action | Dépense | Condition |
|
||||
|---|---:|---|
|
||||
| Achat boisson | 5 | soif > 50 |
|
||||
| Achat souvenir | 15-30 | proche sortie |
|
||||
|
||||
### Trajet Visiteurs
|
||||
Algorithme de choix de cible pondéré.
|
||||
|
||||
## 6. Événements
|
||||
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
||||
N/A
|
||||
| Event | Déclencheur | Effet | Durée |
|
||||
|---|---|---|---|
|
||||
| `TARGET_CHANGED` | nouvelle cible | path recalculé | instant |
|
||||
| `VISITOR_BORED` | ennui seuil | départ | jusqu’à sortie |
|
||||
|
||||
## 7. Progression
|
||||
### Tableau des Upgrades
|
||||
N/A
|
||||
| Niveau | Coût | Prérequis | Bonus Débloqué |
|
||||
|---|---:|---|---|
|
||||
| 1 | 0 | - | IA basique |
|
||||
| 2 | 2000 | chemins niv 2 | préférence chemins + |
|
||||
|
||||
## 8. Logique et Interfaces
|
||||
### Pseudo-code Impacts
|
||||
@@ -101,7 +160,10 @@ function chooseNextTarget(visitor, zoo):
|
||||
```
|
||||
|
||||
### Messages d'Infos / Alerte
|
||||
N/A
|
||||
| Type | Message | Condition | Priorité |
|
||||
|---|---|---|---:|
|
||||
| Info | "La foule se déplace vers une star." | animal rare visible | 2 |
|
||||
| Warn | "Les visiteurs s'ennuient." | ennui moyen > seuil | 4 |
|
||||
|
||||
# Annexes UX/UI
|
||||
|
||||
@@ -120,16 +182,16 @@ N/A
|
||||
**Description UI** : Densité de sprites visiteurs plus élevée autour des cases "Stars".
|
||||
**Emplacement** : Grille Zoo.
|
||||
**Intégration** : Comportement IA.
|
||||
**Navigation** : N/A
|
||||
**Navigation** : Aucune (passif). Option debug : toggle “Heatmap foule” dans HUD pour visualiser les zones d’attroupement.
|
||||
**Événements** : `CROWD_GATHER`.
|
||||
|
||||
#### Assets
|
||||
- **Musiques** : N/A
|
||||
- **Musiques** : `ambience_crowd_dynamic.mp3` (volume selon densité).
|
||||
- **Sons** : Rumeur de foule (volume variable selon densité).
|
||||
- **Graphiques** : N/A
|
||||
- **Images** : N/A
|
||||
- **Vidéos** : N/A
|
||||
- **Graphiques** : Particules “flash photo”, bulles d’émotion.
|
||||
- **Images** : `icon_camera.png`, `icon_star.png`.
|
||||
- **Vidéos** : `crowd_flash.webm` (0.6s loop, optionnel).
|
||||
- **Animations** : Applaudissements, Photos.
|
||||
- **Couleurs** : N/A
|
||||
- **Textes** : N/A
|
||||
- **Formes** : N/A
|
||||
- **Couleurs** : Blanc/Jaune (flash), Or (star).
|
||||
- **Textes** : `CROWD_GATHER` = "La foule se rassemble"
|
||||
- **Formes** : Bulle BD (émotions).
|
||||
|
||||
Reference in New Issue
Block a user