Files
builazoo/docs/specs/theme.md
Nicolas Cantu 349f3b8ac3 docs(specs): complete VIP/pass/skin/theme template sections
**Motivations:**
- Make cosmetic/meta specs implementation-ready with the strict required template.

**Root causes:**
- Specs files were missing the mandatory exact headings/tables required by the new template.

**Correctifs:**
- Added the exact required headings and detailed tables without deleting existing sections.

**Evolutions:**
- Clarified VIP/pass/theme gating rules and UX/UI assets contracts.

**Pages affectées:**
- docs/specs/vip.md
- docs/specs/passe_saisonnier.md
- docs/specs/skin.md
- docs/specs/theme.md
2026-03-05 03:33:23 +01:00

14 KiB

Thème

1. Définition

Ensemble cohérent de skins et d'éléments visuels transformant l'ambiance générale du zoo ou de l'interface. Un thème peut inclure des skins pour l'avatar, des textures pour les chemins, des apparences pour les bâtiments et une musique de fond spécifique. Les thèmes sont souvent liés aux passes saisonniers (ex: Jungle, Tigre, Ours, Dinosaures).

2. Fonctions

  • Immersion : Change l'atmosphère du jeu.
  • Récompense : Objectif principal des passes saisonniers.
  • Fidélisation : Renouvellement visuel régulier pour éviter la lassitude.

3. Icone

  • Représentation : Pinceau et palette ou Paysage stylisé.
  • Couleur dominante : Arc-en-ciel ou Variable selon le thème.

4. Interactions

  • Activation : Via le menu des paramètres ou le menu de personnalisation du zoo.
  • Aperçu : Possibilité de voir le rendu du thème avant de l'appliquer.

5. Annexes Techniques

Données (JSON)

{
  "theme_id": "theme_jungle_2026",
  "name": "Saison de la Jungle",
  "associated_pass_id": "pass_jungle",
  "assets": {
    "background_music": "music_jungle_loop.mp3",
    "ui_style": "jungle_skin",
    "default_path_texture": "texture_path_mossy",
    "zoo_entrance_skin": "entrance_temple"
  },
  "active_period": {
    "start": "2026-06-01",
    "end": "2026-06-30"
  }
}

Règles Métier

  • L'accès à un thème est temporaire (durée du passe, ex: 1 mois) pour les joueurs standards.
  • Exception VIP : Les joueurs VIP conservent l'accès aux thèmes débloqués de manière permanente tant qu'ils conservent leur statut VIP.
  • Un thème s'applique globalement mais peut être désactivé par le joueur.

6. Annexes UX/UI

  • Sélecteur de Thème : Carrousel ou liste déroulante dans les options graphiques.
  • Transition : Fondu au noir ou effet de "rideau" lors du changement de thème.

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.

Définition

Champ Valeur
Concept Thème = pack cohérent de skins + style UI + ambiance audio/FX.
Portée Global zoo + UI (selon assets.ui_style).
Source Passe saisonnier, boutique, VIP gating.
Contrainte Application immédiate et réversible ; pas de cache applicatif (état courant).

Fonctions (tableau détaillé)

Fonction Déclencheur Entrées Sorties Règles Observabilité
Lister thèmes open UI filtres liste gating par possession/VIP Event THEME_LIST_OPEN
Prévisualiser hover/clic theme_id preview sandbox visuel (sans commit) Event THEME_PREVIEW
Activer clic apply possession, gating theme actif Un thème actif à la fois ; idempotent Event THEME_APPLIED
Désactiver clic - retour default revert complet Event THEME_REMOVED
Appliquer assets apply assets rendu map textures, UI tokens, musique Event THEME_ASSETS_BOUND

Icone de base

Élément Spécification
Représentation Palette/pinceau / paysage
Couleur dominante variable selon thème
Variantes icon_theme_palette.png, icon_theme_landscape.png
États lock, “actif”, “expire bientôt”

Interactions (tableau détaillé)

Interaction Type Préconditions Étapes UI Résultat Erreurs / Messages
Ouvrir sélecteur Consultation - Paramètres → Thèmes liste -
Prévisualiser Consultation thème visible clic item preview -
Appliquer Action possédé + gating ok bouton “Appliquer” thème actif THEME_LOCKED, VIP_REQUIRED
Désactiver Action thème actif “Désactiver” default -

Annexes Techniques

1. Données et États (tableau détaillé)

Donnée / État Type Exemple Source Contraintes
theme_id string theme_jungle_2026 config unique
name string Saison de la Jungle i18n affichage
associated_pass_id string pass_jungle config gating
assets.background_music string music_jungle_loop.mp3 build loop
assets.ui_style string jungle_skin build tokens
assets.default_path_texture string texture_path_mossy build iso tiles
assets.zoo_entrance_skin string entrance_temple build banderole/entrée
active_period.start/end date - config window
player_state.active_theme_id string null - DB
timestamps.created_at/updated_at timestamp - DB audit

Caractéristiques Initiales (tableau détaillé)

Caractéristique Valeur initiale Unité Notes
Thème actif none id default
Nombre thèmes dispo 0..n count selon possession
Musique default asset fallback interdit, donc default est un thème “base” explicitement défini

Scores Initiaux (tableau détaillé)

Score Valeur initiale Plage Impact
Thèmes possédés 0 0..∞ collection
Thèmes actifs/jour 0 0..∞ debug

2. Cycles de Vie et Apparition (tableau détaillé)

Phase Déclencheur Entrées Sorties Invariants
Apparition passe/shop theme_id visible gating dates
Activation apply id actif unique
Fin période end_date now gating VIP rule

Conditions d'Apparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Possédé true est visible

Conditions de Disparition (tableau détaillé)

Condition Seuil Opérateur Résultat
Non-VIP + fin période true est non activable (reste listé “verrouillé”)

Hérédité (tableau détaillé)

Élément Hérité Règle
Possession thème Oui persiste
Activation Oui persiste
Accès après saison conditionnel VIP gating

3. Impacts Environnementaux

Impact Température (tableau détaillé)

Condition Effet Notes
Hiver textures neige visuel

Impact Milieu (Biome) (tableau détaillé)

Biome Effet Notes
Jungle palette verte cohérence

Impact Saisons (tableau détaillé)

Saison Effet Notes
Saison du passe thème recommandé UI

Impact Heure / Jour-Nuit (tableau détaillé)

Période Effet Notes
Nuit néon/torches rendu

4. Impacts Biologiques et Sociaux

Impact Reproduction (tableau détaillé)

Facteur Effet Condition
- aucun cosmétique

Impact Mort (tableau détaillé)

Cas Effet Condition
- aucun -

Impact Nourriture (tableau détaillé)

Ressource Effet Condition
- aucun -

Impact Attractivité(Visiteurs (tableau détaillé)

Action/État Effet Condition
Thème cohérent attractivité + esthétique

Impact Attractivité Animaux) (tableau détaillé)

Action/État Effet animaux Condition
Skins enclos/objets visuel pas de stats

Impact Valeur (tableau détaillé)

Facteur Variation Condition
Thèmes rares + prestige

5. Impacts Logistiques et Économiques

Vitesse (Camion) (tableau détaillé)

Paramètre Effet Condition
- aucun -

Vitesse (Nurserie) (tableau détaillé)

Paramètre Effet Condition
- aucun -

Vitesse (Accueil) (tableau détaillé)

Paramètre Effet Condition
- aucun -

Vitesse (Recherche) (tableau détaillé)

Paramètre Effet Condition
- aucun -

Vitesse (Labo) (tableau détaillé)

Paramètre Effet Condition
- aucun -

Vitesse (Visite) (tableau détaillé)

Paramètre Effet Condition
Temps visite + attractivité via thème

Dépenses (Billeterie) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Boutiques) (tableau détaillé)

Poste Coût Unité Condition
Achat thème variable coins pass/shop

Dépenses (Visiteurs) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Employés) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Boutiques) (tableau détaillé)

Poste Coût Unité Condition
Section dupliquée 0 - conservée

Dépenses (Nurseries) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Nourriture) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Acceuil des animaux) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Dépenses (Camion) (tableau détaillé)

Poste Coût Unité Condition
- 0 - -

Trajet Visiteurs

Trajet Visiteurs vers/depuis la ville (tableau détaillé)
Source Destination Déclencheur Effet
Ville Zoo esthétique thème indirect
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
Source Destination Déclencheur Effet
- - - -
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
Source Destination Déclencheur Effet
- - - -
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
Source Destination Déclencheur Effet
- - - -

6. Événements

Événements du Jeu (tableau détaillé)

Event Déclencheur Payload Effet
THEME_APPLIED apply theme_id actif
THEME_REMOVED remove - default

Événements du Carte (tableau détaillé)

Event Déclencheur Effet
THEME_ASSETS_BOUND apply bind

Événements du Zoo (tableau détaillé)

Event Déclencheur Effet
THEME_PREVIEW preview render

Événements du Ville / Visiteur (tableau détaillé)

Event Déclencheur Effet
- - -

Événements du Visiteur (tableau détaillé)

Event Déclencheur Effet
- - -

Événements du Joueur (tableau détaillé)

Event Déclencheur Effet
OPEN_THEME_SELECTOR open UI

7. Progression

Tableau des Upgrades (tableau détaillé)

Niveau Coût Effet Débloque
1 0 sélecteur thèmes apply

8. Logique et Interfaces

Pseudo-code Impacts (tableau détaillé)

Fonction Entrées Sorties Notes
applyTheme theme_id ok/err gating
bindAssets assets renderer -

Messages d'Infos / Alerte (tableau détaillé)

ID Niveau Message Condition
THEME_LOCKED Warning "Thème verrouillé." non possédé
VIP_REQUIRED Warning "VIP requis." gating

Annexes UX/UI

1. Expérience Utilisateur (UX)

Description UX (tableau détaillé)

Parcours But Friction Réduction clics
Changer thème ambiance preview bouton “Prévisualiser” + “Appliquer”

Description UI (tableau détaillé)

Composant Contenu États
Sélecteur liste/carrousel locked/active
Transition rideau/fondu -

Emplacement (tableau détaillé)

Zone UI Position Notes
Options menu -

Intégration (tableau détaillé)

Intégration Contrat Notes
UI tokens css/theme cohérence

Navigation (tableau détaillé)

Action Chemin Résultat
Ouvrir options liste

Événements (tableau détaillé)

Event UI Déclencheur Effet
OPEN_THEME_SELECTOR clic modal

Assets Skinables

Musiques (tableau détaillé)
Asset Usage Durée Notes
music_jungle_loop.mp3 fond loop thème
Sons (tableau détaillé)
Asset Usage Volume
ui_theme_apply.mp3 apply moyen
Graphiques (tableau détaillé)
Asset Usage Contraintes
theme_cards.png UI -
Images (tableau détaillé)
Asset Usage
theme_preview.png preview
Vidéos (tableau détaillé)
Asset Usage Durée
theme_transition.webm transition 1.2s
Animations (tableau détaillé)
Animation Déclencheur Notes
rideau apply 1.0s
Couleurs (tableau détaillé)
Token Valeur Usage
theme_primary variable UI
Textes (tableau détaillé)
Clé FR EN
theme.apply Appliquer Apply
theme.preview Prévisualiser Preview
Formes (tableau détaillé)
Élément Forme Notes
Cartes rectangles arrondis -