Skip to content
This repository was archived by the owner on Oct 22, 2026. It is now read-only.

feat(gui)!: migrate to an Avalonia desktop interface - #27

Merged
CnBarrier404 merged 18 commits into
mainfrom
feat/gui
Oct 3, 2026
Merged

CnBarrier404 merged 18 commits into
mainfrom
feat/gui

Conversation

@CnBarrier404

@CnBarrier404 CnBarrier404 commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Migrate the application from CLI/TUI to a .NET 10 and Avalonia desktop interface for previewing and installing mod packages, managing installed mods, and checking for updates.

Changes

  • Remove the CLI, TUI, and custom localization generator; integrate the Avalonia interface and English/Chinese RESX resources into the main application.
  • Support dragging or selecting ZIP mod packages, previewing metadata, choosing the game directory and optional content, and displaying installation progress and results.
  • Add installed mod management with refresh, dependency checks, and uninstall confirmation.
  • Add logging settings, a shortcut to the log directory, and startup and manual update checks; simplify the GitHub Release update workflow.
  • Centralize interface styles, notifications, and dialogs; configure CI for self-contained single-file publishing with build artifacts, and update the English and Chinese documentation.

Compatibility

The application now opens a desktop window. The previous command-line and terminal interfaces have been removed, so automation scripts that depend on the old CLI need to be updated.

- Add the desktop application, main window, MVVM base, and icon.
- Remove CLI and TUI projects and their tests.
- Move localization resources to the repository root.
- Update application identity, project configuration, and agent guidance.
- Remove ARCHITECTURE.md and ignore .agents files.

BREAKING CHANGE: CLI commands and the terminal UI are removed.
The desktop window does not yet expose mod management workflows.
Add package selection and drag-and-drop support, display mod metadata,
target directory and optional groups, and localize preview errors.
- add shared Fluent styles, typography, navigation resources, and bundled MiSans font
- reorganize navigation and install-page layout
- remove inline install errors while preserving package validation
Move the Avalonia UI and assets into the executable project, remove the obsolete GUI project, update namespaces and resource configuration, and make MainWindowViewModel a required DI dependency.
Add verbose logging toggle, read-only log path display, folder opening action, and localized settings text.
Connect installation with busy states and disabled controls.
Show installed mod details and allow selecting another package.
Add localized completion and failure messages in English and Chinese.
Display installed mods with version badges beside their names.
Add automatic loading, manual refresh and uninstall prechecks.
Handle busy, empty and failure states with localized messages.
Show release dialogs when updates are available and notify manual checks
when no update is found. Cancel pending checks on window close.
Add localized text and ignore personal IDE settings.
Centralize update checking and failure handling in the application layer, use GitHub's latest-release API, and update UI flows, tests, and release automation accordingly.
@CnBarrier404 CnBarrier404 changed the title feat(gui)!: 迁移至 Avalonia 桌面界面 feat(gui)!: migrate to an Avalonia desktop interface Oct 3, 2026
@CnBarrier404
CnBarrier404 merged commit 7cfd599 into main Oct 3, 2026
3 checks passed
@CnBarrier404
CnBarrier404 deleted the feat/gui branch October 3, 2026 05:38
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant