Skip to content

Orbits on one page load one after another: the page's frame queue is first come, first served #152

Description

@Devski

Seen by Dawid on 11.09.2026, for later — outside the R360 milestone.

A profile with more than one R360 work: the orbits load one after another. The second one turns only once the first has every frame.

Why

Every orbit on the page shares one queue of three requests (pageQueue in src/components/ui/use-frame-loader.ts, FrameQueue in src/lib/r360/frame-loading.ts), and the queue is first in, first out. Since #123 an orbit in view asks for its whole set at once — 120 or 360 requests — so an orbit that comes into view second waits behind every frame of the first, its own coarse tier (every 8th frame, enough to turn it) included.

What changes

The one queue stays: it is what keeps the frames from crowding out the page's own pictures (#104). Its order changes. Candidates:

  • Round robin: each orbit with work in the queue gets the next free request in turn.
  • Tiers across the page: the coarse tier of every orbit in view before the rest of any of them.
  • The orbit the visitor is touching goes first.

Done when two orbits in view both turn (coarse) within seconds of each other, whatever their order on the page; a unit test on FrameQueue pins the order; the budget of three requests is unchanged.

Spec: SPEC.md A13 · Related: #104, #123

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestuxUser experience: everything between the person and the product. Sequenced, never optional.

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions