Décision produit : seul l'export Web/SCORM (LMS) est pertinent — l'export exécutable Windows autonome (publish/build_package.py, bouton "Publier") et la partie publique par joueur (/jouer/<slug>, routes/public_play/, "Publier en ligne") sont jugés redondants et retirés. Conserve le mécanisme d'état "par joueur" (db/global_vars, db/rows, per_player) : infrastructure générique déjà utilisée par Score/Progression et testée indépendamment de toute route publique (voir tests/test_player_state.py), aucune raison de la retirer. _STATIC_ITEMS/_copy_characters (copie sélective des sprites CraftPix réellement utilisés) migrent de build_package.py vers build_scorm_package.py, seul appelant restant. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
19 lines
778 B
Python
19 lines
778 B
Python
from ..connection import connect
|
|
from .game_type_catalog import get_onboarding_type
|
|
|
|
|
|
def game_meta(slug):
|
|
conn = connect(slug)
|
|
row = conn.execute("SELECT value FROM _meta WHERE key = 'name'").fetchone()
|
|
conn.close()
|
|
return {
|
|
"slug": slug, "name": row["value"] if row else slug,
|
|
# Onboarding guidé (voir game_type_catalog.py) : utilisé par
|
|
# templates/base.html pour cacher le lien "Tableau de bord" à un
|
|
# compte "restreint" (quiz/embranchement/rpg).
|
|
"onboarding_type": get_onboarding_type(slug),
|
|
# Pas de "game_type" ici : depuis la fusion des moteurs (voir
|
|
# screens/screens_repo/ensure_schema.py), "document"/"jeu_2d" est
|
|
# une propriété PAR ÉCRAN (screen["kind"]), plus du projet.
|
|
}
|