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
This commit is contained in:
@@ -18,18 +18,37 @@ Une case est l'unité élémentaire de la grille (Zoo ou Monde).
|
||||
{
|
||||
"x": "integer",
|
||||
"y": "integer",
|
||||
"grid_id": "string (stable key: `${x}:${y}`)",
|
||||
"owner_id": "uuid | null (null = carte neutre/monde)",
|
||||
"created_at": "timestamp",
|
||||
"updated_at": "timestamp",
|
||||
"biome_id": "integer",
|
||||
"temperature_offset": "float",
|
||||
"biome_type": "enum('prairie','ocean','montagne','savane','toundra','desert','jungle','marais')",
|
||||
"temperature_offset": "float (°C, additive)",
|
||||
"content_ref": "uuid | null",
|
||||
"content_type": "string",
|
||||
"content_type": "enum('empty','animal','building','visitor','staff','decoration','path','bridge','water','fence')",
|
||||
"fertility_level": "float (0-100)",
|
||||
"state_flags": ["frozen", "dry", "dirty", "fertilized"],
|
||||
"cleanliness_level": "float (0-100)",
|
||||
"state_flags": [
|
||||
"enum('frozen','dry','dirty','fertilized','muddy','snowy','flooded','trampled')"
|
||||
],
|
||||
"render": {
|
||||
"tile_variant": "string (auto-tiling key)",
|
||||
"occluder": "boolean",
|
||||
"hitbox": "enum('tile','base_sprite','custom_polygon')"
|
||||
},
|
||||
"iso_x": "integer",
|
||||
"iso_y": "integer",
|
||||
"z_index": "integer"
|
||||
}
|
||||
```
|
||||
|
||||
### Contraintes (Invariants)
|
||||
* **Unicité** : (`x`,`y`) est unique dans une grille.
|
||||
* **Cohérence contenu** : si `content_type === 'empty'` alors `content_ref === null`.
|
||||
* **Température** : `temperature_offset` s’applique additivement à la température “biome” et aux modificateurs (saison, jour/nuit).
|
||||
* **Z-index isométrique** : `z_index` est dérivé principalement de `y` (et secondairement de `x`) pour garantir le recouvrement correct.
|
||||
|
||||
## 8. Logique et Interfaces
|
||||
### Pseudo-code Impacts
|
||||
```python
|
||||
@@ -48,6 +67,13 @@ def fertilize_case(case, player):
|
||||
return success("CASE_FERTILIZED")
|
||||
```
|
||||
|
||||
### Messages d'Infos / Alerte
|
||||
| Type | Message | Condition | Priorité |
|
||||
|---|---|---|---:|
|
||||
| Info | "Sol fertilisé." | `state_flags` ajoute `fertilized` | 2 |
|
||||
| Warn | "Fonds insuffisants." | `player.money < cost` | 4 |
|
||||
| Warn | "Case occupée : action indisponible." | `content_type` non compatible | 3 |
|
||||
|
||||
# Annexes UX/UI
|
||||
|
||||
## 0. Direction Artistique & Vue
|
||||
@@ -69,9 +95,11 @@ def fertilize_case(case, player):
|
||||
**Événements** : `FERTILIZE_SOIL`.
|
||||
|
||||
#### Assets
|
||||
- **Musiques** : Bruit de poudre.
|
||||
- **Musiques** : `ambience_garden_soft.mp3` (léger, discret).
|
||||
- **Sons** : `scatter.mp3`.
|
||||
- **Graphiques** : Particules vertes/brunes.
|
||||
- **Images** : Texture terre riche (plus foncée).
|
||||
- **Animations** : Poussière qui retombe.
|
||||
- **Couleurs** : Marron foncé.
|
||||
- **Textes** : `TOOL_FERTILIZE` = "Engrais", `CASE_FERTILIZED` = "Sol fertilisé"
|
||||
- **Formes** : Curseur rond (outil), surbrillance tuile.
|
||||
|
||||
Reference in New Issue
Block a user