9f5f76b05dc7dfbff965b05a2d0b1dcea92e291e
The hint panel's height was recomputed every frame from the wrapped hint content (1–3 rows), so it resized as the user typed and shoved the input/output panels — the flicker visible in the screencasts. Make the height a pure function of terminal geometry (new hint_rows), fixed between resizes: 2 content rows on compact (<40-row) terminals, 3 only on comfortable terminals narrow enough (<54 inner cols) to wrap the longest catalog hint past two lines, degrading toward 1 on tiny terminals to protect the output Min(5). resolve_hint_lines clamps to that fixed budget (long hints ellipsize; short ones leave rows blank). This reverses issue #12's shrink-to-content "reclaim"; its two tests are replaced by an anti-jump invariant plus geometry-helper and third-row tests. Two layout snapshots regenerated.
Description
No description provided