How agtrlabs/sozzle works
Sozzle is a Flutter word-puzzle game. The main user journey is entering from the home screen, playing a level, and reaching its completion/reward screen; level and progress repositories support game state. The tree also identifies settings, audio, localization, and a reusable crossword-level generator. Source excerpts mainly cover native launchers, so the Dart relationships below reflect the module structure and product flow rather than verified call sites.
Main entry points: game_play_page.dart Puzzle screen · game_core_coordinator.dart Game coordinator · home_page.dart Home screen · bootstrap.dart App bootstrap
Components 20
App shell
- App bootstrap
lib/bootstrap.dart - Navigation routes
lib/core/routes/routes.dart - Home screen
lib/src/home/view/home_page.dart
Puzzle play
- Puzzle screen
lib/src/game_play/view/game_play_page.dart - Play controller
lib/src/game_play/bloc/game_play_bloc.dart - Level completion
lib/src/level_won/view/level_complete_page.dart
Game state
- Game coordinator
lib/src/game_core/coordinator/game_core_coordinator.dart - Core game state
packages/game_core/lib/src/bloc/game_core_bloc.dart - Level adapter
lib/src/game_core/adapters/level_repository_adapter.dart - Level repository
lib/src/level/application/level_repository.dart - Level definitions
packages/level_data/lib/src/level_data_base.dart - Progress adapter
lib/src/game_core/adapters/user_progress_repository_adapter.dart - Progress repository
lib/src/user_stats/application/user_stats_repository.dart
Player support
- Settings
lib/src/settings/view/settings_page.dart - Audio controller
lib/src/audio/audio_controller.dart - Game assets
assets - Crossword generator
packages/level_generator/lib/src/app/crossword_generator.dart - Word lists
assets/words/wordlist.txt - Translations
lib/l10n/arb
Other components
- Player
Connections 20
- Player → App bootstrap: launches
- App bootstrap → Navigation routes: starts navigation
- Navigation routes → Home screen: opens
- Player → Home screen: chooses play
- Home screen → Puzzle screen: starts level
- Puzzle screen → Play controller: sends guesses
- Play controller → Game coordinator: coordinates game
- Game coordinator → Core game state: updates state
- Game coordinator → Level adapter: requests levels
- Level adapter → Level repository: loads level
- Level repository → Level definitions: reads definitions
- Game coordinator → Progress adapter: updates progress
- Progress adapter → Progress repository: stores progress
- Puzzle screen → Level completion: shows completion
- Level completion → Puzzle screen: advances level
- Player → Settings: adjusts settings
- Puzzle screen → Audio controller: plays effects
- Puzzle screen → Game assets: renders with
- Crossword generator → Word lists: uses words
- Home screen → Translations: displays strings