Ajoute l'assistant IA "Ruby" (Claude + Scenario) et corrige plusieurs bugs de la scène
Intègre un chat IA capable de manipuler la scène via les mêmes fonctions que l'éditeur manuel (objets, variables, déclencheurs, images générées), avec conversations multiples par écran façon Claude. Corrige au passage le rafraîchissement pjax hors-ordre, l'onglet IA/déclencheurs vide après sélection d'un objet, la comparaison de booléens dans les conditions, et le blocage du glisser-déposer hors du cadre caméra après un redimensionnement de fond par l'IA. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
ab6635eee0
commit
b07b231a61
@@ -1,4 +1,4 @@
|
||||
from flask import request, redirect, url_for
|
||||
from flask import request, redirect, render_template, url_for, jsonify
|
||||
|
||||
import db
|
||||
|
||||
@@ -9,7 +9,10 @@ from core.flask_app import app
|
||||
def create_global_var(slug):
|
||||
"""Depuis l'onglet "Variables" de l'éditeur de scène (screen_edit.html)
|
||||
— idempotent par nom (voir db.create_global_variable), donc sans
|
||||
risque en cas de double soumission."""
|
||||
risque en cas de double soumission. Réponse AJAX (voir
|
||||
static/js/scenes/global-variables.js) : renvoie le HTML de la LIGNE
|
||||
créée (templates/_global_variable_row.html, partagé avec le rendu
|
||||
initial de la page — jamais dupliqué), que le JS insère sans recharger."""
|
||||
name = (request.form.get("name") or "").strip()
|
||||
var_type = request.form.get("type") or "texte"
|
||||
default_value = request.form.get("default_value") or ""
|
||||
@@ -21,6 +24,14 @@ def create_global_var(slug):
|
||||
per_player = request.form.get("per_player", "1") == "1"
|
||||
if name:
|
||||
db.create_global_variable(slug, name, var_type, default_value, per_player=per_player)
|
||||
if request.headers.get("X-Requested-With") == "fetch":
|
||||
row_html = ""
|
||||
if name:
|
||||
variable = db.get_global_variable(slug, name)
|
||||
row_html = render_template(
|
||||
"_global_variable_row.html", v=variable, global_variable_types=db.GLOBAL_VARIABLE_TYPES,
|
||||
)
|
||||
return jsonify({"ok": True, "row_html": row_html})
|
||||
if screen_id:
|
||||
return redirect(url_for("screen_edit", slug=slug, screen_id=screen_id, tab="variables"))
|
||||
return redirect(url_for("game_dashboard", slug=slug))
|
||||
|
||||
Reference in New Issue
Block a user