Retire l'export exécutable (.exe) et la partie publique en ligne (/jouer)
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>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
82d00b3800
commit
e82eb7ce88
@@ -24,7 +24,7 @@ def _load_manifest():
|
||||
except FileNotFoundError:
|
||||
# Poste de dev sans les assets animaux copiés (script pas encore
|
||||
# lancé), ou paquet exporté pour un jeu qui n'utilise aucun
|
||||
# personnage animal (voir publish/build_package.py, copie
|
||||
# personnage animal (voir publish/build_scorm_package.py, copie
|
||||
# sélective) : aucun personnage animal disponible, pas une erreur.
|
||||
return {}
|
||||
|
||||
|
||||
@@ -14,20 +14,21 @@ from ..scenes.render_scene_object import render_scene_object
|
||||
|
||||
def full_game_payload(slug, player_id=db.PLAYER_SHARED):
|
||||
"""Toutes les données nécessaires au runtime JS de la page de jeu jouable
|
||||
(/game/<slug>/play, ou /jouer/<slug> — voir routes/public_play/) : chaque
|
||||
écran avec ses éléments (HTML déjà généré, y compris les Répéteurs de
|
||||
données, lus en direct), le graphe de logique (nœuds + fils) de chaque
|
||||
écran, et un instantané des données du jeu (avec le type de chaque
|
||||
champ, nécessaire pour évaluer une condition correctement) — un seul
|
||||
aller-retour serveur, ensuite tout se joue côté client (aucune
|
||||
navigation ne recharge la page, sauf pour appliquer une action "modifier
|
||||
une donnée", qui doit passer par le serveur).
|
||||
(/game/<slug>/play, ou le paquet Web/SCORM exporté — voir
|
||||
publish/build_scorm_package.py) : chaque écran avec ses éléments (HTML
|
||||
déjà généré, y compris les Répéteurs de données, lus en direct), le
|
||||
graphe de logique (nœuds + fils) de chaque écran, et un instantané des
|
||||
données du jeu (avec le type de chaque champ, nécessaire pour évaluer
|
||||
une condition correctement) — un seul aller-retour serveur, ensuite
|
||||
tout se joue côté client (aucune navigation ne recharge la page, sauf
|
||||
pour appliquer une action "modifier une donnée", qui doit passer par
|
||||
le serveur).
|
||||
|
||||
player_id (état par joueur, Phase 1) : PLAYER_SHARED pour l'aperçu
|
||||
créateur (comportement inchangé — une seule partie partagée pendant la
|
||||
conception), l'identifiant réel du visiteur pour une partie publique
|
||||
(voir core/player_identity.py) — chaque objet/variable per_player
|
||||
renvoie alors la valeur propre à CE joueur."""
|
||||
player_id (état par joueur, Phase 1) : toujours PLAYER_SHARED
|
||||
aujourd'hui (une seule partie partagée, pour la conception comme pour
|
||||
un paquet exporté) — le paramètre reste générique pour tout objet/
|
||||
variable per_player (voir db/global_vars/, db/rows/), qui renvoie
|
||||
alors la valeur propre à CE joueur."""
|
||||
# Fusion des moteurs (voir screens/screens_repo/ensure_schema.py) : un
|
||||
# écran "jeu_2d" construit "elements" depuis _scene_objects (objets de
|
||||
# scène en pixels) plutôt que _screen_elements (DOM en %) — décidé
|
||||
|
||||
@@ -9,7 +9,7 @@ def list_used_forge_characters(slug):
|
||||
réellement référencés par CE jeu — tous écrans, écrans-modèles compris
|
||||
(même patron que full_game_payload.py : un personnage peut vivre dans
|
||||
un écran-modèle d'élément réutilisable). Utilisé par
|
||||
publish/build_package.py pour ne copier dans le .zip exporté que les
|
||||
publish/build_scorm_package.py pour ne copier dans le .zip exporté que les
|
||||
dossiers static/characters/animals/<animal>/<NN>/ réellement utilisés
|
||||
par CE jeu, plutôt que les ~52 000 fichiers de toute la bibliothèque
|
||||
(voir le plan "Bibliothèque de sprites animaux CraftPix")."""
|
||||
|
||||
Reference in New Issue
Block a user