Skip to content

[Foundation] Big-Library engine — windowed grid, letter-jump, decode capping #48

Description

@HamadTheIronside

The substrate every browse/discovery feature rides. Make 40k-item libraries on cheap hardware (a Raspberry Pi server, a modest phone) scroll natively.

What's needed

  • Decode-resolution capping — don't decode full-res posters into a grid; budget image memory.
  • Random-access letter-jump scrollbar — Jellyfin has no letter-jump endpoint, so this needs a sparse windowed data source.
  • Confirm/round out windowed paging.

How it maps to the architecture

Mostly already solved: library_search_provider paginates via startIndex / limit. The genuinely missing pieces are the decode cap and the sparse windowed source behind letter-jump.

Why it matters

The Discovery epic (#40) and every large-library browse surface degrade without this. Land it as substrate before the big discovery wave.

Scope

M.

Definition of done

Unit tests for the sparse-window data source (correct index→page mapping, gaps); a widget/perf sanity test for the grid; flutter analyze lib/ clean; dart format --line-length 120.

Source: product-vision analysis (2026-07). Part of the Driftfin 10x tracking issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions