mirror of
https://github.com/rommapp/grout.git
synced 2026-04-23 06:54:36 +00:00
171 lines
7.1 KiB
Markdown
171 lines
7.1 KiB
Markdown
---
|
|
search:
|
|
exclude: true
|
|
---
|
|
|
|
# State Machine Reference
|
|
|
|
This document shows the navigation flow between screens in Grout.
|
|
|
|
---
|
|
|
|
## Overview
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
PS[Platform Selection] -->|"Select Platform"| GL[Game List] -->|"Select Game"| GD[Game Details]
|
|
```
|
|
|
|
## Platform Selection
|
|
|
|
```mermaid
|
|
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
|
|
|
|
```mermaid
|
|
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
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
GD[Game Details]
|
|
GD -->|"Download"| GL[Game List]
|
|
GD -->|"Options"| GO[Game Options] --> GD
|
|
GD -->|"Back"| GL
|
|
```
|
|
|
|
---
|
|
|
|
## Collections Flow
|
|
|
|
```mermaid
|
|
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
|
|
|
|
```mermaid
|
|
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
|
|
|
|
```mermaid
|
|
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 |
|