How reinhardt-stadler/wds-mod-manager works
WDS Mod Manager installs and manages Wargame Design Studio visual mods through a shared Python backend exposed by a CLI and a Tauri/Vue desktop client. The main workflow discovers games, scans and matches mod paths, lets users review mappings, then installs files with backups and registry/log updates; users can inspect status, switch or uninstall mods, and undo operations. The GUI adds game/file browsing and BMP preview and comparison. Some command and GUI internals were not excerpted, so those links rely on README statements or indexed references.
Main entry points: app.py CLI and REPL · installer.py Install engine · install_cmd.py Install command · App.vue GUI shell
Components 31
CLI and commands
- CLI and REPL
src/wds/cli/app.py - Install command
src/wds/cli/install_cmd.py - Mod management
src/wds/cli/manage_cmd.py - Scan command
src/wds/cli/scan_cmd.py - Status command
src/wds/cli/status_cmd.py - Undo command
src/wds/cli/undo_cmd.py - Mapping commands
src/wds/cli/map_cmd.py - Edit protection
src/wds/cli/edit_cmd.py - ZIP import
src/wds/cli/import_zip_cmd.py
Discovery and mapping
- Mapping review
src/wds/cli/review.py - Game discovery
src/wds/scanner.py - Path matcher
src/wds/matcher.py - Mapping profiles
src/wds/mapping_profile.py
Install and state
- Install engine
src/wds/installer.py - File backups
src/wds/backup.py - Mod registry
src/wds/registry.py - Undo log
src/wds/operation_log.py - Domain models
src/wds/models.py
Desktop interface
- GUI shell
gui/src/App.vue - Game dashboard
gui/src/views/DashboardView.vue - File tree
gui/src/views/TreeView.vue - CLI bridge
gui/src/lib/wds-bridge.ts - Tauri backend bridge
gui/src-tauri/src/wds_cli.rs
BMP preview
- Preview state
gui/src/lib/preview-store.ts - Preview canvas
gui/src/components/PreviewCanvas.vue - Preview tile
gui/src/components/PreviewTile.vue - BMP comparison
gui/src/components/BmpCompare.vue - BMP worker
gui/src/lib/bmp-worker.ts - BMP decoder
gui/src/lib/bmp-decode.ts
Other components
- User
- WDS game files
Connections 43
- User → CLI and REPL: runs commands
README.md - CLI and REPL → Install command: dispatches
src/wds/cli/app.py - CLI and REPL → Mod management: dispatches
src/wds/cli/app.py - CLI and REPL → Scan command: dispatches
src/wds/cli/app.py - CLI and REPL → Status command: dispatches
src/wds/cli/app.py - CLI and REPL → Undo command: dispatches
src/wds/cli/app.py - CLI and REPL → Mapping commands: dispatches
src/wds/cli/app.py - CLI and REPL → Edit protection: dispatches
src/wds/cli/app.py - CLI and REPL → ZIP import: dispatches
src/wds/cli/app.py - Install command → Game discovery: discovers games
src/wds/cli/install_cmd.py - Install command → Path matcher: matches paths
src/wds/cli/install_cmd.py - Install command → Mapping profiles: applies rules
src/wds/cli/install_cmd.py - Install command → Mapping review: requests review
src/wds/cli/install_cmd.py - Install command → Install engine: installs mod
src/wds/cli/install_cmd.py - Mapping review → Mapping profiles: learns mappings
src/wds/mapping_profile.py - Scan command → Game discovery: discovers games
- Mod management → Install engine: manages mods
src/wds/cli/manage_cmd.py - Mod management → Mod registry: reads status
src/wds/cli/manage_cmd.py - Mapping commands → Mapping profiles: edits rules
src/wds/cli/map_cmd.py - Edit protection → Mod registry: marks files
src/wds/cli/edit_cmd.py - Undo command → Install engine: reverses operation
- Install engine → File backups: backs up files
src/wds/installer.py - Install engine → Mod registry: updates state
src/wds/installer.py - Install engine → Undo log: logs operation
src/wds/installer.py - Install engine → WDS game files: copies files
src/wds/installer.py - Game discovery → WDS game files: scans directories
src/wds/scanner.py - User → GUI shell: uses desktop app
README.md - GUI shell → Game dashboard: shows view
gui/src/App.vue - GUI shell → File tree: shows view
gui/src/App.vue - Game dashboard → CLI bridge: requests game status
gui/src/views/DashboardView.vue - File tree → CLI bridge: requests files and status
gui/src/views/TreeView.vue - CLI bridge → Tauri backend bridge: invokes backend
README.md - Tauri backend bridge → CLI and REPL: runs CLI backend
README.md - GUI shell → User: sets theme
gui/src/App.vue - File tree → Preview state: sets selection
gui/src/views/TreeView.vue - File tree → Preview canvas: mounts preview
gui/src/views/TreeView.vue - Preview canvas → Preview state: reads selection
gui/src/components/PreviewCanvas.vue - Preview canvas → Preview tile: renders tiles
gui/src/components/PreviewCanvas.vue - Preview tile → BMP comparison: shows comparison
gui/src/components/PreviewTile.vue - BMP comparison → BMP worker: decodes images
gui/src/components/BmpCompare.vue - BMP worker → BMP decoder: uses decoder
gui/src/lib/bmp-worker.ts - BMP comparison → BMP decoder: decodes BMP
gui/src/components/BmpCompare.vue - BMP comparison → File backups: compares original
README.md