Skip to content

State Machine Reference

This document shows the navigation flow between screens in Grout.


Overview

flowchart LR
    PS[Platform Selection] -->|"Select Platform"| GL[Game List] -->|"Select Game"| GD[Game Details]

Platform Selection

flowchart LR
    PS[Platform Selection]
    PS -->|"Select Platform"| GL[Game List]
    PS -->|"Collections"| COLL[["Collections Flow"]]
    PS -->|"Settings"| SETT[["Settings Flow"]]
    PS -->|"Save Sync"| SS[Save Sync]
    PS -->|"Quit"| EXIT((Exit))
    SS --> PS

Game List

flowchart LR
    GL[Game List]
    GL -->|"Select Game"| GD[Game Details]
    GL -->|"Search"| S[Search] --> GL
    GL -->|"Filters"| GF[Game Filters]
    GF -->|"Apply"| GL
    GF -->|"Cancel/Clear"| GL
    GL -->|"BIOS"| BIOS[BIOS Download] --> GL
    GL -->|"Back"| PS[Platform Selection]

Game Details

flowchart LR
    GD[Game Details]
    GD -->|"Download"| GL[Game List]
    GD -->|"Options"| GO[Game Options] --> GD
    GD -->|"Back"| GL

Collections Flow

flowchart TD
    PS[Platform Selection]
    CL[Collection List]
    CPS[Collection Platform Selection]
    GL[Game List]
    CS[Collection Search]

    PS -->|"Collections"| CL
    CL -->|"Select"| CPS
    CL -->|"Search"| CS
    CL -->|"Back"| PS

    CPS -->|"Select Platform"| GL
    CPS -->|"Back"| CL

    CS --> CL

    GL -->|"Back"| CPS
    GL -.->|"Back (unified)"| CL

Settings Flow

flowchart TD
    PS[Platform Selection]
    SET[Settings]
    GSET[General Settings]
    CSET[Collections Settings]
    SSSET[Save Sync Settings]
    ASET[Advanced Settings]
    PM[Platform Mapping]
    INFO[Info]
    UPD[Update Check]
    LOGOUT[Logout Confirm]

    PS -->|"Settings"| SET
    SET -->|"Save/Back"| PS
    SET --> GSET
    SET --> CSET
    SET --> SSSET
    SET --> ASET
    SET --> PM
    SET --> INFO
    SET --> UPD

    GSET --> SET
    CSET --> SET
    SSSET --> SET
    ASET --> SET
    PM --> SET
    UPD --> SET

    INFO -->|"Back"| SET
    INFO --> LOGOUT

    LOGOUT -->|"Cancel"| INFO
    LOGOUT -->|"Confirm"| PS

Advanced Settings Flow

flowchart TD
    SET[Settings]
    ASET[Advanced Settings]
    RC[Refresh Cache]
    ART[Artwork Sync]

    SET --> ASET
    ASET -->|"Back"| SET
    ASET --> RC
    ASET --> ART

    RC --> ASET
    ART --> ASET

State Descriptions

State Description
Platform Selection Main menu showing platforms and collections
Game List List of games for selected platform/collection
Game Details Detailed view with metadata and download
Game Options Per-game settings (save directory)
Game Filters Filter games by genre, franchise, platform, etc. Changing a filter dynamically updates available options for other filters and clears selections that become invalid
Search On-screen keyboard for game search
Collection List List of available collections
Collection Platform Selection Platform filter within a collection
Collection Search On-screen keyboard for collection search
Settings Main settings menu
General Settings Box art, download behavior, language
Collections Settings Collection display options
Save Sync Settings Save sync mode and per-platform config
Advanced Settings Timeouts and cache management
Platform Mapping Configure ROM directory mappings
Refresh Cache Select and refresh cache types
Artwork Sync Pre-cache artwork for all games
Info App info (version, CFW, RomM version) and logout option
Update Check Check for and install updates
Logout Confirmation Confirm logout action
Save Sync Manual save synchronization
BIOS Download Download BIOS files