Engine: - layoutSizingVertical/Horizontal setters now use child's own layout direction (not parent's) to map primary/counter axis — matches Yoga - FILL on cross-axis uses alignSelf:Stretch instead of flexGrow (flexGrow only works on main axis, caused even distribution bug) - FILL on main axis auto-sets layoutGrow=1 for leaf nodes This fixes the 20-step debugging spiral where AI set FIXED heights on HORIZONTAL children inside VERTICAL parent but Yoga ignored them (wrote primaryAxisSizing via parent axis, Yoga read counterAxisSizing via child axis — never saw the FIXED value). Describe noise reduction: - Suppress 'absolutely positioned inside flex' — intentional for decorative overlays (selection handles, badges) - Suppress 'justify=between with HUG' when node fills parent width - Suppress 'fixed size + grow' when sizing is FILL (standard pattern) - 'Inconsistent padding' requires 3+ siblings (not 2) Prompt: - Bail-out: delete and re-render after 2 failed set_* attempts - eval restricted to operations, not layout debugging |
||
|---|---|---|
| .. | ||
| e2e | ||
| engine | ||
| figma | ||
| fixtures | ||
| helpers | ||