You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Derive chrome budgets from an explicit fixed-row list
provider-setup.ts's listHeight() subtracted a flat 14 from the
terminal height, justified only by a comment naming roughly nine
rows plus slack — a guess that had to be re-guessed by hand whenever
a row was added or removed. shell.ts already avoids this by summing
its ZoneId budget from PAINT_ORDER, so factor that reducer into a
shared geometry/chrome-budget.ts and have both call sites use it.
provider-setup.ts now names each fixed row it reserves in a
CHROME_ROWS list and derives its budget by summing it. A test mounts
the surface and checks root's child count against CHROME_ROWS plus
the alternate-step rows, so a row added to root without a matching
entry fails there instead of only showing up as garbled text on a
short terminal.
landing.ts mounts its boxes into zones shell.ts already sizes via
PAINT_ORDER, so it carries no fixed-row budget of its own. stream.ts
has no renderable tree at all. Neither needed changes.
0 commit comments