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"
"