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:
@@ -14,9 +14,12 @@ Espace délimité destiné à accueillir une ou plusieurs espèces animales. L'e
|
||||
### Données (JSON)
|
||||
```json
|
||||
{
|
||||
"enclosure_id": "enclosure_lions_01",
|
||||
"animal_type": "lion",
|
||||
"biome_type": "savanna",
|
||||
"enclosure_id": "uuid",
|
||||
"owner_zoo_id": "uuid",
|
||||
"created_at": "timestamp",
|
||||
"updated_at": "timestamp",
|
||||
"animal_type": "string (ref inventaire_animaux)",
|
||||
"biome_type": "enum('prairie','ocean','montagne','savane','toundra','desert','jungle','marais')",
|
||||
"cells": [
|
||||
{"x": 10, "y": 10},
|
||||
{"x": 10, "y": 11},
|
||||
@@ -29,6 +32,24 @@ Espace délimité destiné à accueillir une ou plusieurs espèces animales. L'e
|
||||
"cleanliness": 85,
|
||||
"fence_health": 100,
|
||||
"decoration_score": 15,
|
||||
"perimeter_edges": "integer",
|
||||
"fence_style_id": "string (skin/theme)",
|
||||
"sign": {
|
||||
"enabled": "boolean",
|
||||
"sign_id": "uuid | null"
|
||||
},
|
||||
"render": {
|
||||
"auto_tile_key": "string",
|
||||
"fence_segments": [
|
||||
{
|
||||
"edge": "enum('N','S','E','W')",
|
||||
"x": "integer",
|
||||
"y": "integer",
|
||||
"variant": "string",
|
||||
"occluder": "boolean"
|
||||
}
|
||||
]
|
||||
},
|
||||
"iso_x": "integer",
|
||||
"iso_y": "integer",
|
||||
"z_index": "integer"
|
||||
@@ -38,6 +59,14 @@ Espace délimité destiné à accueillir une ou plusieurs espèces animales. L'e
|
||||
### Règles Métier
|
||||
* **Algorithme de Fusion :** À chaque placement/suppression de case enclos, recalculer les composants connectés (Connected Components) pour mettre à jour les murs.
|
||||
* **Murs :** Les murs ne sont générés que sur les bords de la zone connectée qui ne touchent pas une autre case du même enclos.
|
||||
* **Cohérence espèce** : un composant connecté ne peut contenir qu’un `animal_type` nominal. Si une case est convertie, elle déclenche un split/merge.
|
||||
* **Capacité** : `capacity = floor(area * capacity_per_tile)` où `capacity_per_tile` dépend de l’espèce (valeur par défaut 1.5).
|
||||
* **Propreté** : décroît par présence animale et par visiteurs proches ; remonte via employé (soigneur/nourisseur selon design) et/ou nettoyage.
|
||||
|
||||
### Cas limites (Edge cases)
|
||||
* **Split** : retirer une case centrale peut séparer l’enclos en 2 composants → créer 2 enclos (nouveaux `enclosure_id`) et recalculer clôtures/affiches.
|
||||
* **Pont/chemin** : une case chemin/pont adjacente ne fait pas partie de l’enclos mais influence la pose de l’affiche (priorité visibilité).
|
||||
* **Occlusion** : si un segment de clôture masque l’animal (S/E), utiliser variante basse ou alpha réduit.
|
||||
|
||||
## 6. Annexes UX/UI
|
||||
|
||||
@@ -51,6 +80,7 @@ Espace délimité destiné à accueillir une ou plusieurs espèces animales. L'e
|
||||
* **Feedback** : Surbrillance (outline blanc/jaune) au survol de la souris.
|
||||
|
||||
### 0. Direction Artistique & Vue
|
||||
* **Note** : ce bloc double un autre bloc similaire ; les deux sont conservés. Celui-ci précise les règles de grille/profondeur.
|
||||
* **Vue** : Isométrique (2.5D).
|
||||
* **Grille** : Les déplacements se font sur une grille losange.
|
||||
* **Sprites** : 4 directions (Nord-Est, Sud-Est, Sud-Ouest, Nord-Ouest).
|
||||
@@ -64,3 +94,8 @@ Espace délimité destiné à accueillir une ou plusieurs espèces animales. L'e
|
||||
* **Visuel Barrières :** Génération procédurale des barrières uniquement sur le pourtour (Auto-tiling). Fusion visuelle des barrières si adjacents.
|
||||
* **Isométrique :** Les barrières au Sud et à l'Est doivent être semi-transparentes ou plus basses pour ne pas cacher les animaux.
|
||||
* **Signalétique :** Affiche de l'animal visible sur la clôture.
|
||||
|
||||
### Interactions (sélection / inspection)
|
||||
* **Sélection enclos** : clic sur une clôture ou sur une case enclos ouvre un panneau “Enclos”.
|
||||
* **Panneau** : espèce, population/capacité, propreté, santé clôture, bonus déco, bouton “Améliorer clôture”, bouton “Déplacer affiche” (si optionnel).
|
||||
* **Erreurs** : tentative d’ajouter un animal d’une autre espèce dans un enclos fusionné → refus + message.
|
||||
|
||||
Reference in New Issue
Block a user