Initial commit

**Motivations:**
- Initialisation du versionning git pour le projet

**Root causes:**
- N/A (Nouveau projet)

**Correctifs:**
- N/A

**Evolutions:**
- Structure initiale du projet
- Ajout du .gitignore

**Pages affectées:**
- Tous les fichiers
This commit is contained in:
2026-03-03 22:24:17 +01:00
commit e031c9a1d2
155 changed files with 22334 additions and 0 deletions

View File

@@ -0,0 +1,131 @@
# Vérification des phases 0 à 9 avant phase 10
**Référence :** `docs/plan-implementation-rappel-grandes-regles.md`.
**Objectif :** Sassurer que tout le nécessaire pour la phase 10 (Ventes et enchères) est en place.
---
## Phase 0 Modèle de données et configuration
| Livrable | Statut | Note |
|----------|--------|------|
| Cases couleur + température | Fait | biome-rules, grid, config |
| Animaux multi-cases (shape, stockage) | Fait | cellsWide/cellsHigh dans types, placement, loot-tables |
| Types de bâtiments 7 niveaux | Fait | research, billeterie, souvenirShop, nursery, food, reception, truck, biomeChangeColor, biomeChangeTemp dans config |
| Entités déplaçables (bébé, animal) | Partiel | pendingBabies, receptionAnimals, saleListings en place ; conveyor et labo utilisent encore des œufs (eggType) |
| Config (niveaux max, coûts, capacités) | Fait | GameConfig étendu |
**Blocant phase 10 :** Non. saleListings, pendingBabies, receptionAnimals sont en place.
---
## Phase 1 Cartes : couleurs et températures
| Livrable | Statut |
|----------|--------|
| Biomes / température par case | Fait (biome-rules.js, getDisplayBiome, getDisplayTemperature) |
| Transitions douces (interpolation) | Fait |
| Rendu grille | Fait |
---
## Phase 2 Animaux multi-cases
| Livrable | Statut |
|----------|--------|
| cellsWide / cellsHigh (loot-tables, placement) | Fait |
| Stockage et mouvement du bloc | Fait (placement, zoo, hatching) |
---
## Phase 3 Bâtiments zoo (types et niveaux)
| Livrable | Statut |
|----------|--------|
| Research, Billeterie, Boutique, Nurserie, Food, Reception, Truck, BiomeColor, BiomeTemp | Fait (config 7 niv., build/upgrade dans zoo, placement, ui) |
---
## Phase 4 Bébés et flux nurserie / accueil
| Livrable | Statut | Note |
|----------|--------|------|
| Bébés (nurserie → mature) | Fait | pendingBabies, readyAt, placeMatureBabyOnCell |
| Accueil (reception → animal prêt) | Fait | receptionAnimals, placeReceptionAnimalOnCell |
| Achat / déplacement (bébé mature, animal prêt) | Fait | zoo, placement, ui |
| Suppression complète du modèle « œuf » | Partiel | Conveyor et labo exposent encore des œufs ; bébés/animaux en parallèle |
**Blocant phase 10 :** Non. Flux bébé/animal et saleListings (nursery full) existent.
---
## Phase 5 Nourriture, consommation et morts
| Livrable | Statut | Note |
|----------|--------|------|
| Nourriture (capacité, répartition, lastFedAt) | Fait | food.js, getFoodCapacity, tickFeeding |
| Mort si pas nourri | Fait | checkDeathCauses, MaxSecondsWithoutFood |
| Pas visité | Fait | MaxSecondsWithoutVisit |
| Température / milieu en écart | Fait | maybeDeathBlock (temp + biome) |
| Bébé mature non placé à temps | Fait | filterPendingBabies, MaxSecondsMatureNotPlaced |
| Animal accueil prêt non placé à temps | Fait | filterReceptionAnimals, MaxSecondsReadyNotPlaced |
| Autres causes (seul, tué autre zoo, recherche trop basse, bébé non vendu, vente échouée) | Non fait | Optionnel pour phase 10 ; « bébé invendu meurt » = phase 10 |
**Blocant phase 10 :** Non.
---
## Phase 6 Reproduction
| Livrable | Statut |
|----------|--------|
| Paires même type + autre zoo, adjacentes | Fait (findReproductionPairs, blocksAreAdjacent) |
| Délai (score repro, biome, température) | Fait (tickReproduction, timers, dueAt) |
| Bébé → nurserie ou vente (saleListings) | Fait (addPendingBaby, NoFreeNursery → saleListings) |
---
## Phase 7 Score de reproduction du zoo
| Livrable | Statut |
|----------|--------|
| getReproductionScore (birthCount, feedingRate) | Fait |
| Affichage carte monde (score repro) | Fait (world-map-zoo-reproduction-score) |
| reproductionScoreAtSale sur vente | Fait (reproduction.js lors du push saleListings) |
---
## Phase 8 Attractivité et visiteurs
| Livrable | Statut |
|----------|--------|
| Billeterie = seule entrée, cap 20/unité | Fait (getBilleterieCapacity, tickVisitorArrivals) |
| Durée max 1 journée par visiteur | Fait (visitorArrivals, arrivedAt, getStayDurationSeconds) |
| Prolongation boutiques / diversité | Fait (getStayMultiplier, StayMultiplierPerShopLevel, StayMultiplierPerSpecies) |
| Score attractivité (valeur, espèces, rareté, remplissage, pénalités, bonus) | Fait (getAttractivityScore) |
| Affichage carte monde (score attractivité) | Fait (world-map-zoo-attractivity-score) |
---
## Phase 9 Carte du monde : recherche et compteurs
| Livrable | Statut |
|----------|--------|
| Agrandissement carte en unités de recherche | Fait (getWorldMapUpgradeResearchCost, tryUpgradeWorldMap) |
| Compteurs (bébés à vendre, animaux à vendre, labos, zoos, villes) | Fait (worldMapCounters dans ui.js) |
| Case zoo : nom, score attractivité, score reproduction | Fait (world-map-zoo-name, -reproduction-score, -attractivity-score) |
| Case de vente sous le zoo | Partiel | Un slot « world-map-zoo-slot » existe ; il affiche conveyor offers (œufs / bébé/animal) ; phase 10 doit y afficher saleListings + enchères |
**Blocant phase 10 :** Non. Le slot existe ; phase 10 ajoute laffichage des ventes (saleListings) et les enchères.
---
## Synthèse pour la phase 10
- **Prérequis phase 10 (4, 6, 7, 9) :** Tous satisfaits au niveau nécessaire.
- **Manques non bloquants :**
- Phase 0/4 : modèle œuf encore présent (conveyor, labo) ; phase 10 peut sappuyer sur saleListings et bébés/animaux tels quils sont.
- Phase 5 : certaines causes de mort (seul, autre zoo, recherche trop basse, bébé non vendu) non implémentées ; « bébé invendu meurt » sera ajouté en phase 10.
- Phase 9 : case de vente = slot actuel ; phase 10 y branchera les saleListings et lUI denchères.
**Conclusion :** On peut démarrer la phase 10 (Ventes et enchères). Les écarts listés ci-dessus pourront être traités en parallèle ou dans les phases suivantes.