import json import db from .ensure_scene_schema import ensure_scene_schema def set_scene_object_commands(slug, object_id, commands): """Enregistre les touches de déplacement/interaction et le blocage d'axe d'un objet de scène kind="personnage" (voir screens/rendering/personnage_commands.py pour les valeurs par défaut, et static/js/play/personnage-controller.js pour leur usage au jeu) — même patron que set_scene_object_personnage_data.py, mais un attribut JSON DISTINCT (_personnage_commandes) pour ne jamais entrer en conflit avec _personnage_data (choix du personnage/de ses animations).""" ensure_scene_schema(slug) conn = db.connect(slug) row = conn.execute("SELECT attributes FROM _scene_objects WHERE id = ?", (object_id,)).fetchone() if not row: conn.close() return attributes = json.loads(row["attributes"] or "{}") attributes["_personnage_commandes"] = json.dumps(commands) conn.execute("UPDATE _scene_objects SET attributes = ? WHERE id = ?", (json.dumps(attributes), object_id)) conn.commit() conn.close()