How sofianeelhor/pkforge works
PKForge is an Android Pokémon save editor and cross-generation Bank. The main workflow is choosing a save, opening it as an engine session, editing or organizing Pokémon, then saving changes safely. Separate capabilities cover Bank transfers, legality and generation, collection tracking, event injection, game-specific editing, and Poképark. The graph follows README architecture and sampled session/service code; several feature links are intentionally omitted where their call sites were not sampled.
Main entry points: BoxBrowserPage.cs Box editor · SaveSessionService.cs Save sessions · FileBankService.cs Bank service · SaveEngineSession.cs Engine session
Components 19
Android app
- Save picker
src/PKForge.App/Views/SavePickerSheet.cs - Box editor
src/PKForge.App/Views/BoxBrowserPage.cs - Android file access
src/PKForge.App/Platforms/Android/AndroidFolderFileAccess.cs - Bank browser
src/PKForge.App/Views/BankPage.cs
Save engine
- Save engine
src/PKForge.Engine/SaveEngine.cs - Engine session
src/PKForge.Engine/SaveEngineSession.cs
Bank and safety
- Save sessions
src/PKForge.Infrastructure/SaveSessionService.cs - Bank service
src/PKForge.Infrastructure/FileBankService.cs - Bank archive
src/PKForge.Infrastructure/BankArchive.cs - Safe save writer
src/PKForge.Infrastructure/SafeSaveWriter.cs - Restore points
src/PKForge.Infrastructure/FileBackupService.cs
Pokémon features
- Transfers
src/PKForge.App/Services/TransferService.cs - Legalizer
src/PKForge.Engine/LegalizerService.cs - Event database
src/PKForge.Engine/EventDatabaseService.cs - Living Dex planner
src/PKForge.Engine/LivingDexAutopilotEngine.cs
Poképark
- Poképark
src/PKForge.App/Views/PokeparkPage.cs - Poképark service
src/PKForge.App/Services/PokeparkService.cs - Park simulation
src/PKForge.Domain/ParkOfflineSimulation.cs
Other components
- Player
Connections 20
- Player → Save picker: chooses save
- Save picker → Save sessions: opens document
- Save sessions → Android file access: reads bytes
- Save sessions → Save engine: opens session
- Save engine → Engine session: creates session
- Box editor → Engine session: edits Pokémon
- Player → Box editor: edits save
- Player → Bank browser: organizes collection
- Bank browser → Bank service: uses Bank
- Bank service → Bank archive: reads and writes
- Transfers → Engine session: transfers Pokémon
- Transfers → Bank service: moves Bank entries
- Box editor → Legalizer: legalizes Pokémon
- Box editor → Event database: browses events
- Box editor → Living Dex planner: plans living dex
- Save sessions → Safe save writer: writes save
- Safe save writer → Restore points: backs up first
- Player → Poképark: visits habitat
- Poképark → Poképark service: uses park services
- Poképark service → Park simulation: simulates park