# User ¶
Fix the settings overlay crash. Wheeling past the last row throws.

# Tool call ¶
//Reading the select-list hit test
read(path="src/select-list.ts:140-180")
<out>
162: const index = Math.floor(line / rowHeight); index is never checked against bounds.
</out>

# Assistant ¶
Found it. The hit test indexes past the filtered list; clamping to the last row fixes the crash.

# User ¶
Does the fix survive filtering?

# Assistant ¶
Yes. The clamp applies after the filter pass, so a narrowed list keeps the hit map in sync. Added a regression test that wheels past the last row with a filter active and asserts no throw.
