from flask import jsonify import screens from core.flask_app import app from .collision_rule_objects import build_collision_rule_objects @app.route("/game//screens//collision-rule-objects", methods=["GET"]) def scene_collision_rule_objects(slug, screen_id): """Liste à jour des cartes "🧩 Collision" (voir COLLISION_RULE_OBJECTS, templates/scene_edit.html) — appelée en AJAX après un ajout/suppression d'objet, ou un changement de rôle/nom (voir static/js/scenes/ scene-editor.js) qui peut faire apparaître/disparaître un objet de cette liste (rôle passé à/depuis "joueur", voir build_collision_rule_objects) ou changer son libellé affiché (nom). Recalculée entièrement plutôt que diffée : la liste reste petite (un objet de scène par carte, jamais un "fond"/widget d'UI) et cette même fonction est déjà appelée à chaque rendu complet de la page.""" objects = screens.list_scene_objects(slug, screen_id) for o in objects: o["rendered_html"] = screens.render_scene_object(o) return jsonify(build_collision_rule_objects(objects))