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:
2026-03-05 03:08:15 +01:00
parent e92c1355d0
commit 5143a79890
44 changed files with 1361 additions and 319 deletions

View File

@@ -33,11 +33,21 @@ Panneau informatif fixé sur la clôture d'un enclos, présentant l'espèce anim
},
"style_id": "wood_basic",
"status": "enum (OK, BROKEN, TAGGED)",
"status_since": "timestamp",
"repair_cost": "integer",
"clean_cost": "integer",
"cooldowns": {
"next_interaction_at": "timestamp"
},
"animal_info": {
"name": "Lion d'Afrique",
"scientific_name": "Panthera leo",
"conservation_status": "VU"
},
"i18n": {
"title_key": "string",
"subtitle_key": "string"
},
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
@@ -48,6 +58,10 @@ Panneau informatif fixé sur la clôture d'un enclos, présentant l'espèce anim
* **Placement Auto :** Le jeu détermine la meilleure position (côté sud ou est généralement, face au chemin le plus proche).
* **Unicité :** Une seule affiche par enclos fusionné (ou une tous les X cases de périmètre).
* **Mise à jour :** Si l'animal change (enclos vidé puis rempli avec autre chose), l'affiche se met à jour automatiquement.
* **Dégradation** :
* `TAGGED` : naffecte pas la lisibilité mais réduit lattractivité (ex. -5 rayon 6 cases) jusquau nettoyage.
* `BROKEN` : la Zoopédia est inaccessible au clic, et malus attractivité plus fort (ex. -15 rayon 8 cases).
* **Cooldown clic** : éviter les spams ; appliquer `next_interaction_at` (ex. 1s) sur ouverture Zoopédia.
### Algorithme de Placement
```python
@@ -72,6 +86,11 @@ def place_sign(enclosure):
* **Orientation :** Le sprite doit correspondre à l'orientation du mur (4 sprites différents).
* **Z-Index :** Doit être dessiné *après* la clôture mais *avant* les visiteurs passant devant.
### Messages i18n (exemples)
* `ENCLOSURE_SIGN_OPEN` : FR "Ouvrir la Zoopédia" / EN "Open Zoopedia"
* `ENCLOSURE_SIGN_TAGGED` : FR "Affiche taguée" / EN "Sign tagged"
* `ENCLOSURE_SIGN_BROKEN` : FR "Affiche cassée" / EN "Sign broken"
# Annexes UX/UI