/ Experiments
Experiments / RFC-014 / Input experiment

One million rows. Owned touch.

A standalone prototype of logical scrolling with signed touch velocity and a viewport-sized content box. Drag, fling, catch, change direction, and interrupt a smooth jump.

Experimental boundary policy: same-axis touch stops at either edge. It does not hand off to the page—even when a new gesture starts inside the list. Swipe the page margins to scroll the parent. This behavior is under evaluation, not approved for v3.

Native runway comparison
Motion stateidle
Logical position · px0
Native main-axis offset · px0
Rendered / visible rows0
Active frame gaps >32ms0
Boundary contacts0
Paint coverage failures0
Unexpected native main scroll0

Physical-device sign-off: pending. Green counters alone do not certify touch feel, zoom, accessibility, or parent-scroll behavior.

Recent transitions and interruptions

The position slider is a native test control. Production scrollbar accessibility and real vlist plugin integration remain separate gates. Device test checklist.

iOS / Android test checklist
  1. Enter your device, OS and browser in the notes field, then reset telemetry.
  2. Drag slowly, reverse direction, fling quickly and catch the moving list.
  3. Repeat in horizontal mode. Try diagonal gestures and native cross-axis panning.
  4. Pinch to zoom and add a second finger during a drag. Check that normal dragging works again after lifting both fingers.
  5. Try First and Last. Touch at the edge stops inside the list; swiping the page margin should scroll the page.
  6. Start a smooth jump, then interrupt it with touch or the position slider. Resize the viewport and try a link tap.
  7. Add observations to the notes, then download the result JSON for each axis. Notes are kept on this page only; export before changing axis or reloading.

Compare with the native runway page. Record stalls, unexpected page movement, zoom problems and any difference in feel. Automated checks do not replace these device observations.

Parent-scroll target

This page intentionally extends beyond the widget. Test a gesture beginning in the page margin, a gesture beginning at a list edge, and a gesture reaching the edge mid-drag. Record the difference.

On vertical mode, pan sideways to inspect the far column and header sync. On horizontal mode, pan vertically inside a card. Try pinch zoom, a second finger during drag, and a link tap after scrolling.