# document_engine/labels/ Catalogue statique des types d'éléments du support de formation : bibliothèque groupée par catégorie (panneau gauche de l'éditeur), libellés d'affichage, et attributs par défaut posés à la création de chaque type. ## `SHAPE_KINDS: tuple[str, ...]` `("rectangle", "cercle", "triangle", "trait")` — couche de formes libres, toujours en position absolue (`parent_id = NULL`). ## `CONTENT_KINDS: tuple[str, ...]` `("titre", "paragraphe", "image", "bouton")` — éléments du flux, peuvent être top-niveau ou enfants d'une rangée. ## `MINIGAME_KINDS: tuple[str, ...]` `("quiz", "association", "memory", "mots", "scenario", "zones")` — panneau Propriétés minimal aujourd'hui (emplacement réservé), formulaires de contenu dédiés hors périmètre de cette passe. ## `ELEMENT_LIBRARY: dict[str, dict[str, Any]]` Bibliothèque affichée dans le panneau gauche, groupée par catégorie (`mise_en_page` / `contenu` / `minigames`), chaque entrée portant un `label` et sa liste de `kinds`. `"row"` n'y apparaît jamais — créé implicitement par le moteur de layout, jamais choisi directement dans la bibliothèque. ## `ELEMENT_KIND_LABELS: dict[str, str]` Libellé d'affichage pour chaque `kind`, y compris `"row"` (pour l'affichage/debug hors bibliothèque). ## `element_default_attributes(kind: str) -> dict[str, Any]` Attributs posés à la création d'un élément de ce type (voir `document_engine/elements/add_document_element.py`). - **Retour** : un dict d'attributs par défaut, dépendant du `kind` : formes (`x/y/width/height/rotation/z_index/fill/stroke/stroke_width/label`), texte (`content/style` + `bold/italic/underline/align/color`), image (`src/alt`), bouton (`label/target`), rangée (`gap/align/justify`), mini-jeu (`theme_color`), ou `{}` pour un `kind` inconnu. - **Exceptions** : aucune.