Sidebar: engine not answered
Before the engine answers.

host_toasts_fixture.luau. Numbers in the list are pinned on the picture; dashed lines are guides.Variants
- 1medium
Loading shows an empty 'Projects' header and nothing else
While the engine hasn't answered, the sidebar shows the 'Projects' heading over an empty list — no skeleton, no spinner — and the page shows an 'Alerts 1' pill and 'Missing project' in the place row.
Fix: Show skeleton rows under the header (the providers page already has a skeleton), and hold the place row until projects arrive.
ds/sidebar.luau · ds/skeleton.luau · screens/chat/composer.luau - 2low
Hit target under 24 pt (measured)
Hit target 'Dismiss' is 22×22 pt (under 24×24).
Fix: Make it a 24 pt (or larger) icon button; the glyph can stay small.
ds/icon_button.luau - 3low
Glyph off its label's centre line (measured)
In 'Access' the icon's centre sits +1.5 pt off the label's centre (12 pt icon, 17 pt line).
Fix: Centre the row's items (items = center) on the label's line box.
ds/icon.luau · row layout - 4low
Glyph off its label's centre line (measured)
In 'Model' the icon's centre sits +1.5 pt off the label's centre (12 pt icon, 17 pt line).
Fix: Centre the row's items (items = center) on the label's line box.
ds/icon.luau · row layout

