Added
- "Show background art" sub-toggle: when recents are hidden, the first shelf shows hero background art on card focus, matching the native recents behavior with CSS Loader theme support (e.g. Obsidian grayscale filter)
- Global "Match native card size" and "Highlight first game" toggles in QAM with precedence over per-shelf settings
- PlaceholderCard component: games without art show a styled card with the game name instead of a broken image
- Mouse hover support: card labels, brightness, and compat badges activate on hover (CSS-only, no interference with gamepad)
Changed
- DeckRow.tsx split into modular files:
shelf/types.ts,shelf/shelfStyles.ts,shelf/GameCard.tsx,shelf/MoreCard.tsx,shelf/PlaceholderCard.tsx,shelf/HeroBackground.tsx - Navigation patches extracted from HomeInject.tsx to
home/navPatches.ts(210 lines) - QAM icons extracted to
qam/icons.tsx steam.tsmoved tosteam/index.tsas modular barrelsettingsStore.tsmoved tostore/settingsStore.tswith backwards-compatible re-exportfocusRestore.tsrewritten with AbortController + recursive setTimeout (cleaner than nested setInterval)- Dimension change tolerance increased to 4px with 2-cycle confirmation to prevent resize flicker
- Featured card width/height transitions smoothly (CSS transition: 0.3s ease)
- Hero background replicates full native DOM chain for CSS Loader theme compatibility (zoom animation, grayscale filters)
- Documentation consolidated into
docs/directory: architecture, plugin-api, development, filters
Fixed
- Vertical shelf centering restored: fallback scroll calculations use correct
scrollTop + deltamath - Card art overflow:hidden in stylesheet for Round theme compatibility