The alpha-jump on L1/R1 works but gives no visual feedback — the list jumps and you infer where you landed. OnionOS shows a large letter overlay while scrubbing, which makes fast navigation through a big library legible.
Sketch
The data is already there. Directory->alphas is an IntArray of entry indices, and each Entry carries an alpha index into it (nextui.c, see Directory_index() and the BTN_L1/BTN_R1 handlers). On a jump, draw the destination letter as a large centered overlay and fade it out after a short delay.
Rendering-wise this is closest to GFX_blitMessage. The fade wants the same getAnimationDraw() path the scrolling title text already uses, so it can redraw without marking the whole frame dirty.
Notes
- Entries sorting before
a (digits, symbols) all map to alpha index 0 — needs a sensible glyph, probably #
- Should respect the existing menu-animations setting
- Worth checking it doesn't fight the selection-pill animation, which owns
LAYER_TRANSITION
The alpha-jump on L1/R1 works but gives no visual feedback — the list jumps and you infer where you landed. OnionOS shows a large letter overlay while scrubbing, which makes fast navigation through a big library legible.
Sketch
The data is already there.
Directory->alphasis anIntArrayof entry indices, and eachEntrycarries analphaindex into it (nextui.c, seeDirectory_index()and theBTN_L1/BTN_R1handlers). On a jump, draw the destination letter as a large centered overlay and fade it out after a short delay.Rendering-wise this is closest to
GFX_blitMessage. The fade wants the samegetAnimationDraw()path the scrolling title text already uses, so it can redraw without marking the whole frame dirty.Notes
a(digits, symbols) all map toalphaindex 0 — needs a sensible glyph, probably#LAYER_TRANSITION