Ajoute le joueur qui a la main et les icônes de catégories
Validation du contenu / validate (push) Has been cancelled
Validation du contenu / validate (push) Has been cancelled
- champ starter des modèles d'Azul (jeton premier joueur), d'Harmonies (main fixe), d'Odin (joueur suivant) et des Chouineurs (meilleur total) ; - documente les icônes de catégories et du joueur qui a la main dans assets/, et les créations originales (« original »: true, sans source) ; - schémas régénérés. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+34
-8
@@ -101,9 +101,18 @@ La fiche de règles d'une extension (`rules.fr.json`, schéma
|
|||||||
|
|
||||||
## Ajouter des images
|
## Ajouter des images
|
||||||
|
|
||||||
Par défaut, l'app affiche la miniature BoardGameGeek du jeu. Vous pouvez
|
Par défaut, l'app affiche la miniature BoardGameGeek du jeu et des symboles
|
||||||
fournir un **logo** (carré) et une **bannière** (format large, environ 3:1),
|
génériques. Vous pouvez fournir vos propres images, **uniquement si leurs
|
||||||
**uniquement si leurs droits le permettent** :
|
droits le permettent** :
|
||||||
|
|
||||||
|
| Rôle (`role`) | Image | Format conseillé |
|
||||||
|
|---|---|---|
|
||||||
|
| `logo` | remplace la miniature du jeu | carré, 256 × 256 |
|
||||||
|
| `banner` | bannière en haut de la fiche | large, environ 3:1 |
|
||||||
|
| `category-icon` | icône d'une catégorie de score ; `category` donne son identifiant dans `scoring.json` (ex : `arbres`) | carré, 96 × 96, fond transparent (PNG ou WebP) |
|
||||||
|
| `starter-icon` | pastille du joueur qui a la main (ex : le jeton premier joueur d'Azul) ; le modèle doit avoir un champ `starter` | carré, 96 × 96, fond transparent |
|
||||||
|
|
||||||
|
Une image par rôle, et une icône par catégorie. Licences acceptées :
|
||||||
|
|
||||||
| Licence (`license`) | Quand l'utiliser |
|
| Licence (`license`) | Quand l'utiliser |
|
||||||
|---|---|
|
|---|---|
|
||||||
@@ -115,6 +124,11 @@ fournir un **logo** (carré) et une **bannière** (format large, environ 3:1),
|
|||||||
Une image trouvée sur internet, une photo de boîte ou un visuel de l'éditeur
|
Une image trouvée sur internet, une photo de boîte ou un visuel de l'éditeur
|
||||||
**sans licence libre ni autorisation écrite** n'a pas sa place ici.
|
**sans licence libre ni autorisation écrite** n'a pas sa place ici.
|
||||||
|
|
||||||
|
**Votre propre création** (dessinée par vous, publiée ici pour la première
|
||||||
|
fois) : mettez `"original": true` à la place de `source`, avec une licence
|
||||||
|
libre et votre nom dans `author`. En la publiant ici, vous la placez sous
|
||||||
|
cette licence.
|
||||||
|
|
||||||
```
|
```
|
||||||
games/230802-azul/
|
games/230802-azul/
|
||||||
assets/
|
assets/
|
||||||
@@ -134,11 +148,22 @@ games/230802-azul/
|
|||||||
"license": "CC-BY-4.0",
|
"license": "CC-BY-4.0",
|
||||||
"author": "Nom de l'auteur",
|
"author": "Nom de l'auteur",
|
||||||
"source": "https://… (page d'origine de l'image)"
|
"source": "https://… (page d'origine de l'image)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file": "jeton.png",
|
||||||
|
"role": "starter-icon",
|
||||||
|
"license": "CC-BY-4.0",
|
||||||
|
"author": "Votre nom",
|
||||||
|
"original": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Les icônes des catégories ajoutées par une extension (ex : `murmures` pour
|
||||||
|
Crescendo) vont dans le dossier `assets/` de l'extension ; celles du jeu de
|
||||||
|
base et le jeton, dans le dossier du jeu.
|
||||||
|
|
||||||
Le CI vérifie que :
|
Le CI vérifie que :
|
||||||
|
|
||||||
- chaque image est déclarée dans `assets.json`, et chaque image déclarée
|
- chaque image est déclarée dans `assets.json`, et chaque image déclarée
|
||||||
@@ -146,12 +171,13 @@ Le CI vérifie que :
|
|||||||
- c'est vraiment une image **PNG, JPEG ou WebP** (pas de SVG) qui correspond
|
- c'est vraiment une image **PNG, JPEG ou WebP** (pas de SVG) qui correspond
|
||||||
à son extension ;
|
à son extension ;
|
||||||
- elle pèse **512 Ko au maximum** (préférez WebP) ;
|
- elle pèse **512 Ko au maximum** (préférez WebP) ;
|
||||||
- l'auteur est indiqué (sauf CC0), et le lien d'autorisation pour
|
- l'auteur est indiqué (sauf CC0), la page d'origine (sauf création
|
||||||
`publisher-permission`.
|
originale), et le lien d'autorisation pour `publisher-permission` ;
|
||||||
|
- chaque icône de catégorie illustre une catégorie qui existe, et le jeton
|
||||||
|
un jeu qui suit le joueur qui a la main.
|
||||||
|
|
||||||
L'app affiche le crédit (auteur, licence, lien vers la source) près de chaque
|
L'app affiche le crédit (auteur, licence, lien vers la source) près du logo
|
||||||
image. Une extension peut aussi avoir son dossier `assets/`, dans son propre
|
et de la bannière, et regroupe celui des icônes en bas de la fiche du jeu.
|
||||||
dossier.
|
|
||||||
|
|
||||||
**À la relecture**, vérifiez la licence sur la page `source` (et
|
**À la relecture**, vérifiez la licence sur la page `source` (et
|
||||||
l'autorisation sur `permission`) : le CI ne peut pas le faire à votre place.
|
l'autorisation sur `permission`) : le CI ne peut pas le faire à votre place.
|
||||||
|
|||||||
@@ -15,6 +15,11 @@
|
|||||||
"primary": "#1d5f96",
|
"primary": "#1d5f96",
|
||||||
"secondary": "#e4572e"
|
"secondary": "#e4572e"
|
||||||
},
|
},
|
||||||
|
"starter": {
|
||||||
|
"rule": "chosen",
|
||||||
|
"label": "a le jeton premier joueur",
|
||||||
|
"prompt": "Qui a pris le jeton premier joueur ?"
|
||||||
|
},
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
|
|||||||
@@ -23,6 +23,9 @@
|
|||||||
"colors": {
|
"colors": {
|
||||||
"primary": "#c2410c"
|
"primary": "#c2410c"
|
||||||
},
|
},
|
||||||
|
"starter": {
|
||||||
|
"rule": "next"
|
||||||
|
},
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"type": "select",
|
"type": "select",
|
||||||
|
|||||||
@@ -18,6 +18,9 @@
|
|||||||
"primary": "#2b4aa8",
|
"primary": "#2b4aa8",
|
||||||
"secondary": "#f2a93b"
|
"secondary": "#f2a93b"
|
||||||
},
|
},
|
||||||
|
"starter": {
|
||||||
|
"rule": "fixed"
|
||||||
|
},
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
|
|||||||
@@ -16,5 +16,8 @@
|
|||||||
"icon": "Drama",
|
"icon": "Drama",
|
||||||
"colors": {
|
"colors": {
|
||||||
"primary": "#6d4a95"
|
"primary": "#6d4a95"
|
||||||
|
},
|
||||||
|
"starter": {
|
||||||
|
"rule": "highest"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,9 +21,15 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
"logo",
|
"logo",
|
||||||
"banner"
|
"banner",
|
||||||
|
"category-icon",
|
||||||
|
"starter-icon"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"category": {
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
||||||
|
},
|
||||||
"license": {
|
"license": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
@@ -38,6 +44,9 @@
|
|||||||
"minLength": 1,
|
"minLength": 1,
|
||||||
"maxLength": 120
|
"maxLength": 120
|
||||||
},
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "uri",
|
"format": "uri",
|
||||||
@@ -52,8 +61,7 @@
|
|||||||
"required": [
|
"required": [
|
||||||
"file",
|
"file",
|
||||||
"role",
|
"role",
|
||||||
"license",
|
"license"
|
||||||
"source"
|
|
||||||
],
|
],
|
||||||
"additionalProperties": false
|
"additionalProperties": false
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -251,6 +251,40 @@
|
|||||||
},
|
},
|
||||||
"default": []
|
"default": []
|
||||||
},
|
},
|
||||||
|
"starter": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"rule": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"fixed",
|
||||||
|
"next",
|
||||||
|
"highest",
|
||||||
|
"lowest",
|
||||||
|
"chosen"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"label": {
|
||||||
|
"type": "string",
|
||||||
|
"minLength": 1,
|
||||||
|
"maxLength": 80,
|
||||||
|
"default": "a la main"
|
||||||
|
},
|
||||||
|
"prompt": {
|
||||||
|
"type": "string",
|
||||||
|
"minLength": 1,
|
||||||
|
"maxLength": 80
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"type": "string",
|
||||||
|
"maxLength": 40
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"rule"
|
||||||
|
],
|
||||||
|
"additionalProperties": false
|
||||||
|
},
|
||||||
"options": {
|
"options": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|||||||
Reference in New Issue
Block a user