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:
@@ -17,9 +17,13 @@ Classe abstraite ou interface commune.
|
||||
```json
|
||||
{
|
||||
"id": "uuid",
|
||||
"type": "string",
|
||||
"type": "enum('player','bot','visitor','animal','staff')",
|
||||
"created_at": "timestamp",
|
||||
"updated_at": "timestamp",
|
||||
"position": { "x": "int", "y": "int" },
|
||||
"active": "boolean",
|
||||
"status_flags": ["enum('selected','moving','interacting','hidden','dead','sleeping','busy')"],
|
||||
"hitbox": "enum('tile','base_sprite','custom_polygon')",
|
||||
"iso_x": "integer",
|
||||
"iso_y": "integer",
|
||||
"z_index": "integer"
|
||||
@@ -27,74 +31,134 @@ Classe abstraite ou interface commune.
|
||||
```
|
||||
|
||||
### Caractéristiques Initiales
|
||||
N/A (Spécifique aux sous-types)
|
||||
| Caractéristique | Valeur Initiale | Type | Description |
|
||||
|---|---|---|---|
|
||||
| active | true | bool | L’entité est simulée/rendue si active. |
|
||||
| hitbox | base_sprite | enum | Sélection via base sprite (isométrique). |
|
||||
| status_flags | [] | enum[] | Liste vide au spawn, enrichie par le comportement. |
|
||||
|
||||
### Scores Initiaux
|
||||
N/A
|
||||
| Score | Valeur Initiale | Plage (Min-Max) | Impact |
|
||||
|---|---:|---|---|
|
||||
| visibilité | 100 | 0-100 | Probabilité d’être rendu/affiché (ex. foule dense). |
|
||||
| priorité interaction | 50 | 0-100 | Arbitre quel élément capte le clic en cas de chevauchement. |
|
||||
|
||||
## 2. Cycles de Vie et Apparition
|
||||
### Conditions d'Apparition
|
||||
N/A
|
||||
| Condition | Seuil | Opérateur | Résultat |
|
||||
|---|---:|---|---|
|
||||
| Spawn système | true | Est | Création de l’entité (par règle métier). |
|
||||
| Ressources dispo | selon type | >= | Autorise création (ex. staff payé). |
|
||||
|
||||
### Conditions de Disparition
|
||||
N/A
|
||||
| Condition | Seuil | Opérateur | Résultat |
|
||||
|---|---:|---|---|
|
||||
| active | false | Est | Retrait du rendu/simulation. |
|
||||
| status_flags contient dead | true | Est | Retrait ou état “cadavre” selon design. |
|
||||
|
||||
### Hérédité
|
||||
N/A
|
||||
| Parent | Trait Transmis | Probabilité | Mutation Possible |
|
||||
|---|---|---:|---|
|
||||
| Classe dérivée | Champs spécifiques | 100% | Non |
|
||||
| Skins | Palette/cosmétiques | 100% | Non |
|
||||
|
||||
## 3. Impacts Environnementaux
|
||||
### Impact Température
|
||||
N/A
|
||||
| Plage Température | Effet sur l’entité | Bonus/Malus |
|
||||
|---|---|---|
|
||||
| < 0°C | Animations “froid” (si entité sensible) | vitesse -10% (visiteurs) |
|
||||
| > 30°C | Animations “chaud” | soif +20% (visiteurs) |
|
||||
|
||||
### Impact Milieu (Biome)
|
||||
N/A
|
||||
| Biome | Compatibilité | Bonus/Malus |
|
||||
|---|---:|---|
|
||||
| Chemin | 100% | coût de mouvement 1.0 |
|
||||
| Herbe | 100% | coût de mouvement 1.2 |
|
||||
| Boue | 60% | coût de mouvement 1.5 |
|
||||
|
||||
### Impact Saisons
|
||||
N/A
|
||||
| Saison | Effet | Modificateur |
|
||||
|---|---|---|
|
||||
| Été | foule + | visiteurs + |
|
||||
| Hiver | foule - | visiteurs - |
|
||||
|
||||
### Impact Heure / Jour-Nuit
|
||||
N/A
|
||||
| Période | Activité | Visibilité |
|
||||
|---|---|---|
|
||||
| Jour | simulation normale | haute |
|
||||
| Nuit | entités “dorment” selon type | moyenne/basse |
|
||||
|
||||
## 4. Impacts Biologiques et Sociaux
|
||||
### Impact Reproduction
|
||||
N/A
|
||||
| Facteur | Effet sur Taux | Condition |
|
||||
|---|---|---|
|
||||
| Proximité | augmente | si entité = animal |
|
||||
|
||||
### Impact Mort
|
||||
N/A
|
||||
| Cause | Conséquence | Durée |
|
||||
|---|---|---|
|
||||
| État critique | passage dead | selon règles type |
|
||||
|
||||
### Impact Nourriture
|
||||
N/A
|
||||
| Type Nourriture | Gain Santé | Coût | Préférence |
|
||||
|---|---:|---:|---:|
|
||||
| selon type | variable | variable | 1–5 |
|
||||
|
||||
### Impact Attractivité (Visiteurs/Animaux)
|
||||
N/A
|
||||
| Action/État | Gain Attractivité | Rayon d'action |
|
||||
|---|---:|---:|
|
||||
| entité rare visible | + | 8 cases |
|
||||
|
||||
### Impact Valeur
|
||||
N/A
|
||||
| Facteur | Variation Prix | Condition |
|
||||
|---|---:|---|
|
||||
| rareté cosmétique | + | si skin rare |
|
||||
|
||||
## 5. Impacts Logistiques et Économiques
|
||||
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
||||
N/A
|
||||
| Domaine | Paramètre | Valeur | Unité |
|
||||
|---|---|---:|---|
|
||||
| Déplacement | coût de mouvement | >= 1.0 | multiplicateur |
|
||||
|
||||
### Dépenses (Boutiques/Visiteurs)
|
||||
N/A
|
||||
| Poste | Coût | Unité | Condition |
|
||||
|---|---:|---|---|
|
||||
| maintenance entité | variable | /jour | si staff/bâtiment associé |
|
||||
|
||||
### Trajet Visiteurs
|
||||
N/A
|
||||
| Trajet | Règle | Priorité | Notes |
|
||||
|---|---|---:|---|
|
||||
| vers POI | A* pondéré | 50 | chemins préférés |
|
||||
|
||||
## 6. Événements
|
||||
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
||||
N/A
|
||||
| Event | Déclencheur | Effet | Durée |
|
||||
|---|---|---|---|
|
||||
| `ENTITY_SPAWN` | création | rendu + simulation | instant |
|
||||
| `ENTITY_DESPAWN` | suppression | retrait | instant |
|
||||
|
||||
## 7. Progression
|
||||
### Tableau des Upgrades
|
||||
N/A
|
||||
| Niveau | Coût | Prérequis | Bonus Débloqué |
|
||||
|---|---:|---|---|
|
||||
| 1 | 0 | - | comportement de base |
|
||||
|
||||
## 8. Logique et Interfaces
|
||||
### Pseudo-code Impacts
|
||||
N/A
|
||||
```text
|
||||
computeZIndex(x, y):
|
||||
return y * 1000 + x
|
||||
|
||||
hitTest(click):
|
||||
candidates = entities.sortedBy(z_index desc)
|
||||
return first(entity where click inside entity.hitbox)
|
||||
```
|
||||
|
||||
### Messages d'Infos / Alerte
|
||||
N/A
|
||||
| Type | Message | Condition | Priorité |
|
||||
|---|---|---|---:|
|
||||
| Info | "Entité sélectionnée." | clic valide | 2 |
|
||||
| Warn | "Interaction impossible." | état busy/dead | 4 |
|
||||
|
||||
# Annexes UX/UI
|
||||
|
||||
@@ -117,12 +181,12 @@ N/A
|
||||
**Événements** : `HOVER_CHARACTER`.
|
||||
|
||||
#### Assets
|
||||
- **Musiques** : N/A
|
||||
- **Sons** : N/A
|
||||
- **Musiques** : `ui_hover_soft.mp3` (jingle court, optionnel).
|
||||
- **Sons** : `ui_hover.mp3`, `ui_select.mp3`.
|
||||
- **Graphiques** : Silhouettes archétypales.
|
||||
- **Images** : N/A
|
||||
- **Vidéos** : N/A
|
||||
- **Animations** : N/A
|
||||
- **Images** : `badge_player.png`, `badge_bot.png`, `badge_visitor.png`, `badge_animal.png`.
|
||||
- **Vidéos** : `hover_glow.webm` (0.6s loop, optionnel).
|
||||
- **Animations** : Glow pulse (hover), pop (select).
|
||||
- **Couleurs** : Joueur (Bleu), Bot (Rouge/Gris), Visiteur (Multicolore), Animal (Naturel).
|
||||
- **Textes** : Nom, Rôle.
|
||||
- **Formes** : N/A
|
||||
- **Formes** : Badge rond + tooltip rect arrondi.
|
||||
|
||||
Reference in New Issue
Block a user