Files
builazoo/docs/specs/chemin.md
Nicolas Cantu 5143a79890 docs: enrich docs/specs and remove placeholders
**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
2026-03-05 03:08:15 +01:00

3.8 KiB
Raw Blame History

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_key dépend de connected_neighbors et de material (ex. paves_NSE).
  • Cas limites : conversion dun 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 locclusion 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).