Fusion des deux moteurs : type d'écran par écran, plus par projet
"document" (écrans %) et "jeu_2d" (scène pixels) devient une propriété PAR ÉCRAN (_screens.kind, migration automatique idempotente dans ensure_schema.py, source = l'ancien game_type au niveau projet) plutôt qu'un choix figé pour tout le jeu — un même projet peut désormais mélanger écrans classiques et scènes 2D librement. - routes/screens/screen_edit.py : dispatch vers l'éditeur de scène selon screen["kind"] (l'écran demandé), plus game["game_type"]. - screens/payload/full_game_payload.py, templates/play.html, static/js/play/screens.js : le rendu jouable (payload, markup, bascule du mode plein-écran #playFrame) décide écran par écran, y compris en cours de partie (changer d'écran ne recharge pas la page). - screens/screens_repo/create_screen.py : nouveau paramètre kind. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
f767ed4fab
commit
d5a59bdbd8
@@ -34,6 +34,13 @@
|
||||
</div>
|
||||
<form method="post" action="{{ url_for('screens_new', slug=game.slug) }}" class="dashCreateBar" id="dashCreate-screens" style="display:none;">
|
||||
<input type="text" name="name" placeholder="Nom du nouvel écran (ex. Accueil, Scène 1...)" required autocomplete="off">
|
||||
<!-- Fusion des moteurs (voir screens/screens_repo/ensure_schema.py) :
|
||||
chaque écran choisit son propre type à la création, librement,
|
||||
plus le jeu entier. -->
|
||||
<select name="kind">
|
||||
<option value="document">Écran classique (%, quiz/formulaire/contenu)</option>
|
||||
<option value="jeu_2d">Scène 2D (pixels, RPG/serious game)</option>
|
||||
</select>
|
||||
<button type="submit" class="primary">Créer</button>
|
||||
</form>
|
||||
{% if screen_list %}
|
||||
@@ -45,6 +52,7 @@
|
||||
<tr>
|
||||
<td>{{ loop.index }}</td>
|
||||
<td>
|
||||
{{ '🧩' if s.kind == 'jeu_2d' else '📄' }}
|
||||
<a href="{{ url_for('screen_edit', slug=game.slug, screen_id=s.id) }}">{{ s.name }}</a>
|
||||
{% if loop.first %} <span class="tag is-info is-light">★ Départ</span>{% endif %}
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user