EVIDENCE (from xcode.txt):
- down=false ALWAYS: per-entry deltas are ~1-2pt per callback,
but filter required >2pt. Every delta was rejected.
- cumDown stuck at 129: threshold was max(100, 956*0.2) = 191.
With most deltas rejected, cumulative barely grew.
FIXES:
1. Delta filter: >2pt → >0.5pt for direction detection.
Cumulative accumulation accepts any delta >0 (no filter).
Per-entry callbacks deliver small deltas — filtering at 2pt
discarded virtually all genuine scroll events.
2. Threshold: removed 20% viewport scaling, fixed at 100pt.
The scaling made sense for a global offset tracker (large
deltas), not per-entry tracking (small deltas).
Removed debug logging.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>