from .visible_attrs import _visible_attrs from .style_string import _style_string from .attr_string import _attr_string from .personnage_data import resolve_personnage_idle_frame def _render_personnage(el, meta, slug=None, children_map=None, ctx=None, parent_flex_direction=None): """Widget Personnage — un qui affiche sa pose "idle" dès le rendu SERVEUR (aperçu correct même sans JS), animée ensuite en boucle par static/js/screen_edit/personnage-preview.js dans l'éditeur, ou par une action de flow/un clip de Timeline en mode jouable (voir runSpriteAnimation() dans static/js/play/actions.js — moteur inchangé, seul l'auteuring dans l'éditeur diffère). data-personnage="1" marque cet élément pour la prévisualisation animée de l'éditeur.""" attrs = _visible_attrs(el, meta, ctx) attrs["data-personnage"] = "1" idle_frame = resolve_personnage_idle_frame(el) if idle_frame: attrs["src"] = idle_frame style = _style_string(el, parent_flex_direction=parent_flex_direction, widget_key=el.get("widget")) return f""