Enrichissement exhaustif des specs : Vue Isométrique et Design

**Motivations:**
- Aligner toute la documentation technique avec la nouvelle direction artistique isométrique (Réf IMG_20260303_170253).
- Faciliter l'implémentation en ajoutant les contraintes techniques liées à la 2.5D (Z-index, Sprites 4 directions).

**Root causes:**
- Besoin de cohérence visuelle et technique sur l'ensemble du projet.

**Correctifs:**
- N/A

**Evolutions:**
- Ajout systématique de la section "Direction Artistique & Vue" dans `Annexes UX/UI` de tous les fichiers.
- Enrichissement des modèles JSON avec coordonnées isométriques (`iso_x`, `iso_y`, `z_index`).
- Précision des interactions (clic, survol) adaptées à la grille losange.
- Conservation stricte de la structure existante (aucun titre supprimé).

**Pages affectées:**
- docs/specs/*
This commit is contained in:
2026-03-05 02:10:32 +01:00
parent 1d3352455e
commit e92c1355d0
74 changed files with 1519 additions and 550 deletions

View File

@@ -5,19 +5,10 @@ Espace délimité destiné à accueillir une ou plusieurs espèces animales. L'e
## 2. Fonctions
* **Hébergement :** Lieu de vie des animaux.
* **Fusion (Merge) :** Si deux cases "Enclos [Animal X]" sont posées côte à côte, les barrières internes disparaissent pour créer un espace commun.
* **Fusion (Merge) :** Si deux cases "Enclos [Animal X]" sont posées côte à côte, les barrières internes disparaissent pour créer un espace commun (Auto-tiling).
* **Visibilité :** Permet aux visiteurs d'observer les animaux (augmente l'attractivité).
* **Sécurité :** Empêche les animaux de s'enfuir (si entretenu).
## 3. Icone
* **Représentation :** Barrière en bois ou Grillage.
* **Couleur dominante :** Marron et Vert.
## 4. Interactions
* **Construction :** Outil "Enclos" -> Sélection de l'animal -> Clic sur la carte (glisser pour zone).
* **Gestion :** Clic sur n'importe quelle case de l'enclos fusionné ouvre le menu global de cet enclos.
* **Modification :** Ajouter/Retirer des cases, changer le type de barrière.
## 5. Annexes Techniques
### Données (JSON)
@@ -25,6 +16,7 @@ Espace délimité destiné à accueillir une ou plusieurs espèces animales. L'e
{
"enclosure_id": "enclosure_lions_01",
"animal_type": "lion",
"biome_type": "savanna",
"cells": [
{"x": 10, "y": 10},
{"x": 10, "y": 11},
@@ -32,20 +24,43 @@ Espace délimité destiné à accueillir une ou plusieurs espèces animales. L'e
{"x": 11, "y": 11}
],
"area": 4,
"capacity": 6, // Capacité totale calculée (ex: 1.5 animaux par case)
"capacity": 6,
"current_population": 3,
"cleanliness": 85,
"fence_health": 100
"fence_health": 100,
"decoration_score": 15,
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
```
### Règles Métier
* **Adjacence :** La fusion se fait horizontalement et verticalement (pas en diagonale seule).
* **Cohérence :** Impossible de fusionner deux enclos d'espèces différentes (message d'erreur ou création de deux enclos séparés par une barrière).
* **Taille Minimum :** Certains animaux nécessitent un enclos de X cases minimum pour être heureux.
* **Affichage Animal :** Les animaux apparaissent "en petit" à l'intérieur de l'enclos, se déplaçant librement dans l'espace fusionné.
* **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.
## 6. Annexes UX/UI
* **Visuel Barrières :** Génération procédurale des barrières uniquement sur le pourtour de l'ensemble des cases fusionnées (algorithme de "blob" ou "marching squares").
* **Affiche :** Une affiche descriptive de l'animal est placée automatiquement sur une portion horizontale de la clôture (voir `affiche_enclos.md`).
* **Isométrique :** Les barrières doivent avoir une hauteur et une profondeur en vue isométrique.
## 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.
### 0. Direction Artistique & Vue
* **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).
* **Profondeur** : Gestion du Z-index (les éléments "en bas" cachent ceux "en haut").
* **Style Visuel** : Inspiré de `IMG_20260303_170253.jpg`.
* Coloré, vivant, détails foisonnants.
* Aspect "dessiné à la main" ou "cartoon soigné".
* Couleurs vives et contours nets.
### Détails Spécifiques
* **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.