gpui: Fill auto-sized window roots to the viewport (#60739)

Window roots whose size is `auto` now stretch to fill the window, the
way the root element on the web fills the initial containing block.
Previously a window root with no explicit size shrink-wrapped its
content (flex/grid roots collapsed to content size in both axes), which
is why every root view needed `size_full()`.

Mechanically: `draw_roots` requests layout for the window root (and
prompt roots), then `TaffyLayoutEngine::stretch_auto_size_to_fill`
rewrites any `auto` dimension on the root node to the viewport size
before layout runs. Explicitly styled root dimensions are preserved, and
tooltips, drags, and anchored/deferred draws keep their shrink-wrap
semantics.

Includes regression tests covering both the auto-fill and explicit-size
cases (the auto case collapses to 0×0 without the fix).

Release Notes:

- N/A

---------

Co-authored-by: zed-zippy[bot] <234243425+zed-zippy[bot]@users.noreply.github.com>
b0da438545Mikayla Maki committed on 7/11/2026, 11:02:10 PM· committed by GitHubparent9c32732
2 files changedLine totals unavailable