Expand description
Overlay-scrollbar interaction FSM + fade driver (spec section 16.2 / section 16.6).
Painting lives in lumen_core::render_world::extract_scrollbars;
this module owns everything main-world:
- auto-attaching
ScrollbarStateto everyScrollcontainer, - the pointer FSM (thumb hover highlight, thumb press + drag with
absolute 1:1 mapping and pointer capture, track click =
jump-to-position - consistent with the
<slider>track-click decision incrate::controls), - the overlay fade: bars stay fully visible while scrolling /
hovered, then fade out after
ScrollbarStyle::fade_delay_secsof inactivity. The fade frames self-schedule throughlumen_core::render_world::AnimationsActiveand go quiescent the moment alpha reaches its resting value.
Wheel events are never consumed here - hovering a bar resolves the
hit-test to the scroll container itself (see lumen_input::hit_test),
so the wheel keeps routing through the normal nested-scroll chain.
Functions§
- update_
scrollbars - Pointer FSM + fade driver for overlay scrollbars. Runs in
TickStage::Systemsstrictly beforelumen_input::hit_testso theScrollbarInteractionresource the hit-test consults reflects this tick’s pointer position.