# YMhut Box

YMhut Box is now a native Windows toolbox built with **C# + .NET + WinUI 3**.

## Project Layout

- `src/box-winUI/` - WinUI 3 application shell, pages, services, packaging manifest
- `src/YMhut.Box.Core/` - settings, logging, HTTP/API, tool catalog and tool execution logic
- `src/YMhut.Box.Tests/` - MSTest unit tests for services, settings, catalog and tools
- `assets/` - icons, fonts, images and local reference data
- `installer/ymhut_box_winui.iss` - Inno Setup installer script
- `scripts/build-winui.ps1` - publish, MSIX and installer build pipeline
- `plan/` - migration plan and per-stage status

## Build

```bat
build.bat --target=publish
build.bat --target=msix
build.bat --target=both
```

Build outputs are written to:

- `build/winui/publish/`
- `latest/`
- `installer_output/`

The MSIX path uses a local self-signed certificate for sideloading. The EXE installer uses Inno Setup when `ISCC.exe` is installed or available on `PATH`.

## Test

```bat
dotnet restore YMhut.Box.Native.sln --configfile NuGet.Config --ignore-failed-sources
dotnet build src\box-winUI\YMhut.Box.WinUI.csproj -c Debug -p:Platform=x64 --no-restore
dotnet test src\YMhut.Box.Tests\YMhut.Box.Tests.csproj -c Debug --no-restore
```

## Release Baseline

- Self-contained `win-x64`
- MSIX + classic EXE installer
- App Installer update metadata
- Native WinUI pages for browser and media playback
- Tool catalog and execution fully registered in C#/.NET
