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/guichetiere.md Normal file
View File

@@ -0,0 +1,57 @@
# Guichetière (Billetterie)
## 1. Définition
Personnage de service associé à la billetterie. Il matérialise la vente de tickets (file, contrôle capacité) et sert de personnage contextuel lors des événements dentrée/saturation/VIP.
## 2. Fonctions
* **Traitement file** : Représente le débit du guichet (entrées par tick).
* **Gestion saturation** : Signale `ZOO_FULL`, `QUEUE_LONG`.
* **Accueil visiteurs** : Déclenche des feedbacks visuels cohérents avec le thème.
## 3. Icone
* **Représentation :** Ticket + tampon.
* **Couleur dominante :** Rouge (ticket) + or (pièces).
## 4. Interactions
* **Clic billetterie** : ouvre le panneau stats (prix, capacité, file).
* **Clic sur alerte** : deep-link vers la billetterie et met en avant la cause (capacité, file).
## 5. Annexes Techniques
### Données (JSON)
```json
{
"employee_id": "ticket_clerk_01",
"type": "guichetiere",
"name": "Nina",
"salary": 0,
"hire_cost": 0,
"assigned_building": "ticket_booth_uuid",
"state": "enum (IDLE, SELLING, VIP_PROCESS, OVERLOADED)",
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
```
### Règles Métier
* Le personnage est lié à la `billeterie.md` (bâtiment fixe).
* Les événements `ZOO_FULL` et `QUEUE_LONG` déclenchent une UI explicite (pas de fallback).
# 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)
- **Billetterie** (`billeterie.md`) : clic panneau, saturation, file longue, arrivée bus VIP.
- **Chemins** (`chemin.md`) : si la suppression de chemins casse laccès entrée (erreur `CANNOT_REMOVE_BLOCKING`), la guichetière peut être le personnage contextuel du problème “entrée inaccessible”.
## Skins & thèmes
* Uniforme/guichet dépend du thème (`theme.md`).
* Accessoires (casquette, badge, ticket) via `skin.md` / `inventaire_skins.md` si activé.