**Motivations:** - Make docs/specs implementation-ready without empty sections or placeholders. **Root causes:** - Multiple specs still contained non-actionable placeholders (N/A, “see above”, "..."), and inconsistent “no cache” wording. **Correctifs:** - Replace placeholders with explicit tables, structures, and typed examples. - Align “no cache / no memorization” statements where relevant. **Evolutions:** - Add a features doc entry to track the documentation enrichment effort. **Pages affectées:** - docs/specs/* - docs/features/docs-specs-enrichment.md - docs/leo.md - docs/plan-enrich-docs-specs.md
3.8 KiB
3.8 KiB
Spécifications : Chemin
Définition
Les chemins sont des cases aménagées permettant aux visiteurs et au staff de se déplacer efficacement à travers le zoo. Ils connectent les différentes infrastructures (Enclos, Boutiques, Services).
Fonctions
- Circulation : Permet le déplacement des entités (Visiteurs, Staff).
- Connexion : Relie les bâtiments entre eux pour former un réseau accessible.
- Esthétique : Améliore l'aspect visuel du zoo.
Annexes Techniques
1. Données et États
Modèle de Données (JSON)
{
"type": "path",
"material": "enum('terre','gravier','paves','bois','tapis_rouge')",
"level": "integer (1-7)",
"x": 10,
"y": 12,
"connected_neighbors": ["enum('N','S','E','W')"],
"movement": {
"visitor_speed_multiplier": "float (>= 1.0)",
"staff_speed_multiplier": "float (>= 1.0)",
"visitor_preference_weight": "integer (0-100)"
},
"economy": {
"build_cost": "integer (coins)",
"upkeep_cost_per_day": "integer (coins)",
"attractiveness_bonus": "integer"
},
"render": {
"auto_tile_key": "string",
"variant_seed": "integer (for random subtle variation)"
},
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
2. Règles Métier
- Connexion Automatique : Les textures des chemins se connectent automatiquement aux chemins adjacents (Auto-tiling).
- Vitesse : Bonus de vitesse de déplacement pour les entités sur les chemins.
- Terre : visiteurs x1.15, staff x1.25
- Gravier : visiteurs x1.25, staff x1.35
- Pavés : visiteurs x1.35, staff x1.45
- Bois (pont / passerelle) : visiteurs x1.20, staff x1.30
- Tapis rouge (VIP) : visiteurs VIP x1.50 (sinon x1.10), bonus satisfaction +2/min sur la tuile
- Attraction : les visiteurs préfèrent rester sur les chemins quand ils se déplacent (
visitor_preference_weight). - Construction : une tuile chemin ne peut pas être posée si la case est occupée par un bâtiment/animal/enclos (sauf règle “chemin sous enclos” explicitement définie ailleurs).
- Auto-tiling : le
auto_tile_keydépend deconnected_neighborset dematerial(ex.paves_NSE). - Cas limites : conversion d’un chemin sous un visiteur → appliquer au tick suivant, pas instantanément (évite téléportations).
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.
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.
1. Détails Spécifiques
- Textures Connectées : Les chemins utilisent des textures connectées (Terre, Gravier, Pavés) pour éviter les coupures nettes entre les cases.
- Variété : Différents types de sols disponibles (Terre, Gravier, Pavés).
- Lisibilité iso : les bordures de chemin doivent rester visibles même sous l’occlusion partielle (contraste + outline discret).
- Hitbox : clic sur le losange (tuile) sélectionne la tuile chemin ; un clic sur une entité au-dessus a priorité (z-order + hit testing).