Skip to content

perf(media): request display-sized cover thumbnails #285

Description

@zaparoo-automation-bot

There is no single optimal source-art size: rendered cover dimensions vary by display resolution, grid shape, list/detail layout, and device pixel density. Users should retain good-quality source artwork rather than manually pre-scaling every image.

Implemented pipeline

  • Frontend calculates cover requirements from actual grid and detail viewport geometry.
  • Grid and detail views request independent image sizes.
  • Frontend sends bounded media.image requests through maxSize.
  • Core snaps requests to bounded thumbnail tiers: 32, 64, 128, 256, 512, and 768.
  • Core resizes once and caches lossy WebP thumbnails.
  • MiSTer can consume Core-owned local thumbnail paths instead of transferring base64 payloads.
  • Frontend caches decoded images in process memory with a strict 128 MiB LRU cap.

This keeps transferred and decoded images close to their rendered size without sacrificing detail-pane quality or requiring users to maintain device-specific artwork copies.

Implemented by ZaparooProject/zaparoo-core#1034 and frontend #377.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions