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

@@ -13,7 +13,23 @@
## 1. Données et États
### Modèle de Données (JSON)
**Transaction** : `{ "id": "uuid", "type": "BUY/UPGRADE", "item": "string", "cost": "int", "timestamp": "date" }`.
**Transaction** :
```json
{
"id": "uuid",
"type": "BUY/UPGRADE",
"item_type": "string",
"item_id": "uuid",
"cost": "int",
"currency": "coins",
"status": "enum (SUCCESS, FAILED)",
"failure_reason": "string (optional)",
"timestamp": "date",
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
```
### Caractéristiques Initiales
**Solde Joueur** : Voir `joueur.md`.
@@ -36,7 +52,7 @@
**Isolation** : Les bâtiments de haut niveau résistent mieux aux coûts énergétiques (Chauffage/Clim -10% par niveau).
### Impact Milieu (Biome)
**Adaptation** : Construire sur un biome "difficile" (Toundra, Désert) coûte +20% à l'achat initial.
**Adaptation** : Construire sur un biome "difficile" (Toundra, Désert) coûte +20% à l'achat initial (frais de fondations).
### Impact Saisons
**Soldes** : Certains items moins chers en Hiver (-15% sur les chauffages).
@@ -94,21 +110,44 @@
### Pseudo-code Impacts
```javascript
function processPurchase(player, item):
# Vérification pré-requis (ex: niveau joueur)
if player.level < item.required_level:
emitEvent("BUY_FAIL", "Niveau joueur insuffisant")
return
# Vérification espace (si applicable)
if item.is_physical and not map.hasSpace(item.size):
emitEvent("BUY_FAIL", "Pas de place")
return
if player.coins >= item.cost:
player.coins -= item.cost
player.inventory.add(item)
emitEvent("BUY_SUCCESS")
logTransaction(player, item, "SUCCESS")
else:
emitEvent("BUY_FAIL", "Fonds insuffisants")
logTransaction(player, item, "FAILED")
```
### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `FUNDS_LOW` | Alerte | "Pas assez de pièces !" |
| `LEVEL_LOW` | Alerte | "Niveau X requis pour acheter ceci." |
| `NO_SPACE` | Alerte | "Impossible de construire ici." |
# 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.
## 1. Expérience Utilisateur (UX)
### Interface d'Achat (Consultation)
**Description UX** : Le joueur ouvre le menu de construction ou d'upgrade.