Summary #
The new inline minibuffer render method clears the region with a per-cell loop over width*height, which could be slow on large terminals.
The Problem #
In src/cursed/minibuffer.lua lines ~60-70, the view.render method iterates over all rows and columns to clear the region using individual term:set_cell calls. This is O(w*h) and could cause rendering delays on very wide or tall terminals, especially since the minibuffer area is small but the full width is iterated.
Impact #
- category: performance
- description: per-cell clear loop in minibuffer render is O(w*h); replace with row-level clears
Recommended Fix #
Replace the per-cell loop with a single clear call using term:clear(fg, bg) or term:print(x, y, string.rep(' ', w), fg, bg) per row, which are more efficient.
Commit range: c022da8..c022da8
Code Review: CR-2026-07-27-11