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:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Types de Ventes
|
||||
- **Aux Enchères** : Vers d'autres joueurs (prix potentiellement élevé).
|
||||
- **Libération (Vente rapide)** : Vente au "système" (prix bas fixe) pour faire de la place rapidement (si implémenté pour éviter la mort). *Note : Le cahier des charges privilégie le marché joueurs, la libération est une option de secours.*
|
||||
- **Libération (Vente rapide)** : Vente au "système" (prix plancher fixe) pour libérer de la place rapidement (optionnelle selon design retenu). *Note : Le cahier des charges privilégie le marché joueurs ; la libération est un mode de vente alternatif.*
|
||||
|
||||
## Contraintes
|
||||
- Un animal malade ou mourant ne peut pas être mis en vente.
|
||||
@@ -12,7 +12,50 @@
|
||||
|
||||
## 1. Données et États
|
||||
### Modèle de Données (JSON)
|
||||
N/A
|
||||
```json
|
||||
{
|
||||
"sale_id": "uuid",
|
||||
"seller_zoo_id": "uuid",
|
||||
"seller_player_id": "uuid | null (null si bot)",
|
||||
"animal_id": "uuid",
|
||||
"sale_type": "enum('auction_adult','auction_baby','release_system')",
|
||||
"status": "enum('draft','in_transit','listed','pending_validation','completed','expired','cancelled')",
|
||||
"created_at": "timestamp",
|
||||
"updated_at": "timestamp",
|
||||
"listing": {
|
||||
"start_price": "integer",
|
||||
"buy_now_price": "integer | null",
|
||||
"currency": "enum('coins')",
|
||||
"duration_seconds": "integer (3600|14400|86400)",
|
||||
"end_at": "timestamp"
|
||||
},
|
||||
"bids": [
|
||||
{
|
||||
"bid_id": "uuid",
|
||||
"bidder_zoo_id": "uuid",
|
||||
"amount": "integer",
|
||||
"created_at": "timestamp"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"accepted_bid_id": "uuid | null",
|
||||
"pending_until": "timestamp | null (sablier 10 min)",
|
||||
"finalized_at": "timestamp | null"
|
||||
},
|
||||
"transport": {
|
||||
"truck_id": "uuid",
|
||||
"from_site_id": "uuid",
|
||||
"to_site_id": "uuid | null",
|
||||
"climate_control": "boolean",
|
||||
"insurance": "boolean",
|
||||
"transport_started_at": "timestamp",
|
||||
"transport_eta_at": "timestamp"
|
||||
},
|
||||
"iso_x": "integer",
|
||||
"iso_y": "integer",
|
||||
"z_index": "integer"
|
||||
}
|
||||
```
|
||||
|
||||
### Caractéristiques Initiales
|
||||
**Total Vendu** : 0 animaux.
|
||||
@@ -124,12 +167,12 @@ function sellAnimal(animal, price, mode):
|
||||
**Événements** : `RELEASE_ANIMAL`.
|
||||
|
||||
#### Assets
|
||||
- **Musiques** : N/A
|
||||
- **Musiques** : `ui_warning_soft.mp3` (jingle court à l’ouverture de confirmation).
|
||||
- **Sons** : `bird_fly_away.mp3` (bruit de nature positif).
|
||||
- **Graphiques** : Icône Cage ouverte.
|
||||
- **Images** : N/A
|
||||
- **Vidéos** : N/A
|
||||
- **Images** : `icon_release.png`, `modal_confirm.png`.
|
||||
- **Vidéos** : `release_fade.webm` (1.2s non loop, optionnel).
|
||||
- **Animations** : Animal s'estompe ou court hors de l'écran.
|
||||
- **Couleurs** : Vert (Nature).
|
||||
- **Textes** : "Libéré !".
|
||||
- **Formes** : N/A
|
||||
- **Formes** : Bouton danger (rouge) + modal arrondie.
|
||||
|
||||
Reference in New Issue
Block a user