# Roadmap produit

Depuis le 2026-07-18, le jeu évolue avec un mandat produit clair : **qu'un
maximum de personnes prennent du plaisir à y jouer**. Les règles historiques
(une seule page, portée MVP) ne sont plus des contraintes.

## Vision

Un idle game satirique de bureau qu'on a plaisir à laisser tourner et à
retrouver : lisible en un coup d'œil, juteux à chaque clic, drôle dans ses
mots, et gratifiant quand on revient.

## Piliers

1. **Plaisir immédiat** — chaque interaction rend quelque chose (tampon qui
   claque, chiffres qui popent), sans fatiguer (budget motion).
2. **Progression qui respire** — toujours un prochain objectif visible :
   bâtiment, amélioration, contrat, réorg.
3. **Retrouvailles** — revenir doit être une récompense, pas une punition.
4. **Partage** — le jeu se montre : belles cartes sociales, pages par langue,
   moments « screenshotables ».

## Prochaines versions (ordre de priorité)

- **0.12 — Re-skin « Atelier tamponné »** : ✅ livré. Voir `design-system.md`.
- **0.13 — Gains hors-ligne** : ✅ livré. « Rapport d'activité » tamponné à la
  réouverture ; l'équipe de nuit produit à 50 %, plafonné à 8 h.
- **0.14 — Le dashboard déménage sur sa page** : ✅ livré. `/dashboard/` avec
  synchro live inter-onglets ; l'historique long et les records restent à
  ajouter (rejoint 0.16).
- **0.15 — Contenu mid-game, tranche 1** : ✅ livré. 11 nouveaux hauts faits
  (16 au total), 4 langues.
- **0.16 — Matière graphique** : intégration des assets générés
  (`images-todo.md`) — EN ATTENTE d'une clé OpenAI valide (l'actuelle est
  rejetée par l'API).
- **0.17 — Contenu mid-game, tranche 2** : ✅ livré. Contrats t5-t8 jusqu'au
  Recensement national (1M), 3 événements, chiffres arbitrés ; l'équilibrage
  fin de la courbe reste à observer en jeu réel.
- **0.18 — La scène 3D rejoint l'atelier** (demande du 2026-07-18) : refonte
  visuelle du diorama three.js pour qu'il aille avec « Atelier tamponné »,
  plus joli et plus fun :
  - palette raccordée (crème/kraft/encre sépia, fenêtres or ambré) — ✅ livré ;
  - **camions de livraison qui circulent sur les routes** entre les bâtiments,
    en nombre croissant avec l'empire (plafonnés, `InstancedMesh`) — ✅ livré ;
  - vie ambiante discrète : fumées lowpoly des cheminées ✅ + tampon géant au
    prestige (seal-crest) ✅ ; reste feuilles de papier qui s'envolent et
    klaxon à la complétion d'un contrat ;
  - ciel synchronisé avec les classes `.sky-*` existantes.
  Décision 2026-07-18 : les stickers de bâtiments restent dessinés (pas de
  régénération depuis l'iso) ; la cohérence passe par la palette.
  Reste à faire : feuilles volantes + klaxon, ciel synchronisé, et
  surtout l'optimisation draw calls (le campus procédural est à ~210 calls,
  cible < 50 par fusion/instanciation des géométries de bâtiments).
  Budget perf mobile NON NÉGOCIABLE : pixelRatio plafonné (≤ 2, 1.5 mobile),
  aucun éclairage dynamique coûteux ni ombre temps réel (blob shadows),
  matériaux partagés, < 50 draw calls, rendu suspendu quand le stage sort du
  viewport (IntersectionObserver) ou que l'onglet est masqué, cible 60 fps
  desktop / 30 fps mobile milieu de gamme.
- **Plus tard** : arbre de compétences (« formations internes »), records et
  fins de partie partageables, mode sombre/clair de l'atelier (jour/nuit déjà
  amorcé par `.sky-*`).

## Règles de fonctionnement

- Direct-to-master, commits/pushes fréquents, pas de tests automatisés (choix
  assumé) : vérification manuelle en navigateur avant chaque push.
- Chaque version significative : entrée dans `README.md` (Versioned Change
  History) + `RELEASE_NOTES.md` si release majeure.
- Tout changement visuel respecte `design-system.md`.
