Ajoute la fonctionnalite quiz autonome/plein ecran a la boite a quiz
Build and deploy / test-python (push) Successful in 12m10s
Build and deploy / test-js (push) Successful in 1m27s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped

Introduit la double categorie de modeles (boite de dialogue / page de
quiz plein ecran) avec plein ecran, minuteur, score integre et ecran de
resultat pour les modeles page ; ajoute les modeles "Manga" (boite et
page) et "Classique" (page), pilotables aussi par l'assistant IA Ruby.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
william
2026-09-13 15:07:23 +02:00
co-authored by Claude Sonnet 5
parent 559331f9cf
commit 7db4803b93
26 changed files with 3173 additions and 60 deletions
+23
View File
@@ -0,0 +1,23 @@
from flask import request, jsonify
import screens
from core.flask_app import app
@app.route("/game/<slug>/scene-objects/<int:object_id>/quiz-config", methods=["POST"])
def scene_object_quiz_config(slug, object_id):
"""Réglages "❓ Boîte à quiz" (plein écran/minuteur/modèle, voir
screens/rendering/quiz_box_config.py) — mirror exact de
routes/scenes/scene_object_dialogue_box_style.py."""
body = request.get_json(silent=True) or {}
config = screens.set_scene_object_quiz_config(slug, object_id, body.get("config"))
if config is None:
return jsonify({"error": "objet introuvable"}), 404
# Un modèle change la STRUCTURE du balisage, pas juste une classe CSS
# (voir screens/rendering/quiz_box_templates.py) — renvoyer le HTML
# déjà rendu permet à scene-editor.js de remplacer l'aperçu en un
# coup, plutôt que de deviner quelle balise ajouter/retirer côté
# client.
obj = screens.get_scene_object(slug, object_id)
return jsonify({"config": config, "rendered_html": screens.render_scene_object(obj)})