from ..rendering.collision_rules import move_action_in_rules, resolve_collision_rules, sanitize_collision_rules from .get_scene_object import get_scene_object from .set_scene_object_collision_rules import set_scene_object_collision_rules def move_action_in_trigger(slug: str, object_id: int, leaf_id: str, direction: str) -> bool: """Déplace une action précise d'un cran ("up"/"down", voir screens/rendering/collision_rules.py::move_action_in_rules) dans son déclencheur d'OBJET — même patron qu'append_action_to_trigger.""" obj = get_scene_object(slug, object_id) if obj is None: return False rules = resolve_collision_rules(obj) if not move_action_in_rules(rules, leaf_id, direction): return False sanitized = sanitize_collision_rules(rules) set_scene_object_collision_rules(slug, object_id, sanitized) return True