github misobadev/neostation-frontend v0.7.5+90
NeoStation Beta 0.7.5+90

latest releases: v0.13.0+129, v0.12.0+128, v0.11.5+127...
4 months ago

Systems grid and games list

  • Cache SystemInfo list conversion in _SystemCardGridViewState, rebuilt only
    when widget.systems or crossAxisCount changes
  • Move Theme.copyWith() and ScrollConfiguration.copyWith() to
    didChangeDependencies to avoid rebuilding theme objects on every build
  • Add RepaintBoundary to AnimatedPositioned highlight border in systems grid
  • Compile RegExp for letter detection to static final, avoiding recompilation
    on every navigation keystroke
  • Replace context.watch with context.select to avoid full
    games screen rebuilds on unrelated theme changes
  • Cache theme-dependent colors for letter indicator in didChangeDependencies
    and add RepaintBoundary to isolate shadow repaints during AnimatedOpacity
  • Add Map<GameModel, int> index lookup to replace O(n) indexOf in _selectGame

RAM management on game launch

  • Clear Flutter image cache and live images before launching emulator
  • Release game list and index map from memory on launch, reload on return
  • Clear SystemBackgroundProvider image on launch
  • Add SystemBackgroundProvider.clear() method
  • Hide games list UI content while game dialog is active to prevent
    empty state widget rendering behind the dialog
  • Hide carousel and systems grid content while game dialog is active
    using _isGameLaunching flag and ValueNotifier respectively
  • Apply same RAM-free logic for game launches from recent card in
    both carousel and systems grid views
  • Rebuild game index map after reloading games on game close

Bug fixes

  • Fix GamepadControl receiving keyboard focus causing Enter key to
    trigger view mode dialog during system navigation; set canRequestFocus
    false on InkWell so all keyboard input routes through GamepadNavigation
  • Fix music system always showing in systems list when music folder is
    empty; remove isAlwaysVisibleVirtual special case so music follows
    the same romCount > 0 visibility rule as all other systems

Don't miss a new neostation-frontend release

NewReleases is sending notifications on new releases.