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:
@@ -5,7 +5,7 @@ Panneau informatif fixé sur la clôture d'un enclos, présentant l'espèce anim
|
||||
|
||||
## 2. Fonctions
|
||||
* **Information :** Indique aux visiteurs (et au joueur) quel animal se trouve ici.
|
||||
* **Éducation :** Augmente légèrement le score d'éducation du zoo.
|
||||
* **Éducation :** Augmente légèrement le score d'éducation du zoo (les visiteurs s'arrêtent pour lire).
|
||||
* **Esthétique :** Habille les clôtures et rend le zoo plus réaliste.
|
||||
|
||||
## 3. Icone
|
||||
@@ -15,6 +15,7 @@ Panneau informatif fixé sur la clôture d'un enclos, présentant l'espèce anim
|
||||
## 4. Interactions
|
||||
* **Clic :** Ouvre la fiche encyclopédique de l'animal ("Zoopédia").
|
||||
* **Personnalisation :** (Optionnel) Changer le style du cadre ou l'image.
|
||||
* **Maintenance :** Peut être vandalisé (tagué) ou cassé, nécessitant une réparation par un agent d'entretien.
|
||||
|
||||
## 5. Annexes Techniques
|
||||
|
||||
@@ -23,20 +24,61 @@ Panneau informatif fixé sur la clôture d'un enclos, présentant l'espèce anim
|
||||
{
|
||||
"sign_id": "sign_lion_01",
|
||||
"parent_enclosure_id": "enclosure_lions_01",
|
||||
"position": {"x": 10, "y": 11, "face": "south"}, // Position sur la grille et orientation
|
||||
"created_at": "timestamp",
|
||||
"updated_at": "timestamp",
|
||||
"position": {
|
||||
"x": 10,
|
||||
"y": 11,
|
||||
"face": "enum (NORTH, SOUTH, EAST, WEST)"
|
||||
},
|
||||
"style_id": "wood_basic",
|
||||
"status": "enum (OK, BROKEN, TAGGED)",
|
||||
"animal_info": {
|
||||
"name": "Lion d'Afrique",
|
||||
"scientific_name": "Panthera leo",
|
||||
"conservation_status": "VU" // Vulnerable
|
||||
}
|
||||
"conservation_status": "VU"
|
||||
},
|
||||
"iso_x": "integer",
|
||||
"iso_y": "integer",
|
||||
"z_index": "integer"
|
||||
}
|
||||
```
|
||||
|
||||
### Règles Métier
|
||||
* **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.
|
||||
|
||||
### Algorithme de Placement
|
||||
```python
|
||||
def place_sign(enclosure):
|
||||
# Trouver les murs adjacents à un chemin
|
||||
valid_walls = []
|
||||
for wall in enclosure.walls:
|
||||
if is_path(wall.neighbor):
|
||||
valid_walls.append(wall)
|
||||
|
||||
# Priorité : Sud > Est > Ouest > Nord (pour visibilité isométrique)
|
||||
best_wall = select_best_wall(valid_walls)
|
||||
|
||||
create_sign(best_wall.position, best_wall.orientation)
|
||||
```
|
||||
|
||||
## 6. Annexes UX/UI
|
||||
* **Visuel :** Petit panneau en bois avec une image miniature de l'animal.
|
||||
* **Lisibilité :** Doit être visible sans cacher les animaux derrière.
|
||||
* **Zoom :** Devient plus détaillé ou affiche une bulle d'info au survol de la souris.
|
||||
* **Vue Isométrique :**
|
||||
* **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.
|
||||
|
||||
|
||||
# Annexes UX/UI
|
||||
|
||||
## 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.
|
||||
|
||||
Reference in New Issue
Block a user