8163693150c978d9f13f585ce42fbcc39406bce6
Preloading was counted in steps and then shared out between the panels, so with four panels only the very next step was ready and each panel did its resolving and buffering at the moment it was swiped to -- four panels, four starts in a row. It is now counted per panel: every panel keeps its next three videos ready (N * 3 for a step of N), the rendered window reaches far enough forward to hold them, and the step right behind the one being watched buffers for real rather than taking its metadata alone. Their formats are resolved up front and all at once, rather than one panel at a time as each is swiped to. The listing is fetched several pages at a time to keep up: a page number is claimed before its request goes out, which is what lets pages overlap, and finished pages wait their turn so the reader still gets them in order. A page whose request fails puts its number back rather than leaving a hole. How far ahead to run scales with the split, since a step of N panels gets through a page N times as fast. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MPZFnNdHbPGDTqQUNiE4ZN
Description
A webclient for hottub
Languages
JavaScript
60%
Python
29.7%
CSS
8.3%
HTML
1.7%
Shell
0.3%