Site-tutorial
Verboden
Échouer la tâche si un de ces invariants est cassé. Ce n’est pas du style : c’est le contrat live.
- Imbriquer des views dans un tableau
childrenJSON (le live est plat) - % calculé sur
P.size.mainWpour un enfant de folder — % enfant = % du parent zone possur un enfant de wrap/row/column (ignoré)- Nouveau uuid de type (hors
view_type.dart) → shrink invisible action_open_page/action_open_viewpour naviguer (no-op live)- Ré-appliquer pad/theme/position « pour être sûr » (l’onion l’a déjà fait)
height: 0compris comme 0 px (c’est hug)- String brute pour
uuid_themeview (ViewDataStringattend{l:{i:…}}) loc_text: "fr"pour « visible seulement en français » (live : ça cache en fr). Whitelist =locale: ["fr"]- Phrase marketing dans un seul
id_textavec markdown. Highlights = spans wrap_text +uuid_gradient axis_align: 3sur wrap_text pour « spaceBetween » (c’estTextAlign.left)image_pos: 1lu comme « bottom » (live = gauche)box_fitsans boîte width×height image/vidéoposavec seulementi*ettime_start: 0(live lite*)radius/bordersurid_buttonouid_imageen attendant un rendupos.iL: -1traité comme 100 % zone (c’est hide-widthInit)pop: 1+uuid_folderrempli (overlay jamais monté)from_uuid_copyémis dans le JSON auteur (runtime only)locale: ["all"]— n’existe pas. Vide = toutes- Omettre
enable(défaut 0 → invisible) - Stack
direction_align4 lu comme center (center stack = 5 ; center gradient = 4)
{
"enable": 1,
"desktop": 1,
"mobile": 1,
"layer": 1,
"pop": 0,
"uuid_folder": "",
"type": "bca54f56-4e50-11ee-be56-0242ac120002",
"uuid_theme": { "l": { "i": "f81ad0b2-fc67-45a8-aff9-f48d608d5f95" } },
"locale": [],
"loc_text": ""
}
Table plate. Racines
uuid_folder: "". % relatif au parent. 0 = hug, <0 = 100 % zone, pos −1 = hide. Ouvrir une route = action_link. Styles = uuid existants.