This commit is contained in:
2026-03-05 04:01:29 +01:00
parent dfecb09b7c
commit 6c8a710432
32 changed files with 8203 additions and 3 deletions

57
docs/specs/vendeur.md Normal file
View File

@@ -0,0 +1,57 @@
# Vendeur (Boutique)
## 1. Définition
Personnage de service associé aux boutiques du zoo. Il matérialise la vente (service, file), les promotions et sert de personnage contextuel lors des événements de boutique.
## 2. Fonctions
* **Service clients** : Représente la cadence de service de la boutique (entrée/sortie visiteurs).
* **Animation vente** : Déclenche les FX de caisse (“pièces qui volent”) et les popups.
* **Gestion file/plein** : Signale `SHOP_FULL` avec cause (capacité) et action (upgrade / poser une autre boutique).
## 3. Icone
* **Représentation :** Sac cadeau / caisse.
* **Couleur dominante :** Vert (vente) + or (pièces).
## 4. Interactions
* **Clic boutique** : ouvre stats et options (upgrade, skin boutique).
* **Clic sur promo** : ouvre un panneau de détails (durée, effet) si la mécanique existe.
## 5. Annexes Techniques
### Données (JSON)
```json
{
"employee_id": "vendor_01",
"type": "vendeur",
"name": "Léo",
"salary": 0,
"hire_cost": 0,
"assigned_building": "shop_uuid",
"state": "enum (IDLE, SERVING, RESTOCKING, OVERLOADED)",
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
```
### Règles Métier
* Le vendeur est lié à une `boutique.md` (pas un employé libre).
* En surcharge (file), létat est visible (badge / bulle) et déclenche un message explicite.
# 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.
## Affichage contextuel (modules)
- **Boutique** (`boutique.md`) : vente, surcharge, rupture de stock (si activée), consultation stats.
- **Menu Achats** (`menu_achats.md`) : pour les items “boutique”/cosmétiques, le vendeur peut être le personnage contextuel lors de la prévisualisation et de la confirmation dachat (UI).
## Skins & thèmes
* Uniforme et comptoir dépendent du thème (`theme.md`).
* Variantes (type de boutique : food/souvenir/boisson) via skins (`inventaire_skins.md`) côté bâtiment + accessoires du vendeur.