Retrait de la création rapide de variable globale depuis le sélecteur de
la Condition de visibilité (bouton "+ Créer") : une variable globale est
désormais gérée comme un objet "jeu" à part entière, avec une vraie page
CRUD ("Variables", nouvelle entrée du menu de gauche) - création, édition
du type/valeur, suppression. Le nom reste volontairement immuable après
création (c'est par ce nom qu'une condition de visibilité ou une action
"Modifier une variable" la référence - la renommer casserait ces réglages
en silence), d'où db.update_global_variable qui ne touche que type/valeur.
Redesign du tableau de bord du jeu (game_dashboard.html) en deux
colonnes : à gauche tout ce qu'on peut créer (écrans, éléments de jeu,
variables, jouer, nouvel objet) plus les paramètres du jeu (renommer/
supprimer) ; à droite ce qui a déjà été créé (objets définis). Remplace
les cartes Bulma par le système de mise en page compact déjà défini dans
style.css (.twoCol/.listRow/.dangerZone/.addBtn) mais jamais utilisé
jusqu'ici - plus dense et cohérent avec le reste de l'éditeur.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
"""Constantes partagées de la couche données."""
|
|
|
|
import os
|
|
|
|
PROJECTS_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "projects")
|
|
|
|
# Types de champ exposés dans l'interface -> type de colonne SQLite réel.
|
|
FIELD_TYPES = {
|
|
"texte": {"label": "Texte court", "sql": "TEXT"},
|
|
"texte_long": {"label": "Texte long", "sql": "TEXT"},
|
|
"nombre_entier": {"label": "Nombre entier", "sql": "INTEGER"},
|
|
"nombre_decimal": {"label": "Nombre décimal", "sql": "REAL"},
|
|
"booleen": {"label": "Oui / Non", "sql": "INTEGER"},
|
|
"date": {"label": "Date", "sql": "TEXT"},
|
|
"relation": {"label": "Relation vers un autre objet", "sql": "INTEGER"},
|
|
}
|
|
|
|
# Types disponibles pour une variable globale (voir db/global_vars/) — un
|
|
# sous-ensemble de FIELD_TYPES : ni "relation" (une variable globale n'a pas
|
|
# d'objet à pointer) ni "texte_long"/"date" (pas gérés par
|
|
# apply_variable_action.py, qui ne coerce que ces 4 types).
|
|
GLOBAL_VARIABLE_TYPES = {
|
|
"texte": FIELD_TYPES["texte"],
|
|
"nombre_entier": FIELD_TYPES["nombre_entier"],
|
|
"nombre_decimal": FIELD_TYPES["nombre_decimal"],
|
|
"booleen": FIELD_TYPES["booleen"],
|
|
}
|