# TechA Unit Browser

Lightweight Dear ImGui + SDL2/OpenGL implementation of the TechA Unit Browser.
The application indexes TechA Lua unit definitions, groups them by faction,
presents unit statistics, synchronizes the required asset folders, and displays
Spring `.s3o` models with orbit, wheel zoom, auto-rotation, 
and DDS (DXT1/DXT3/DXT5) diffuse textures.

Qt is no longer required.

## Windows build

This repository vendors Dear ImGui and the official SDL2 MinGW development
package under `third_party/`. From Linux, cross-build with the existing
`llvm-mingw` toolchain:

```sh
cmake -S . -B build-windows -G Ninja \
  -DCMAKE_SYSTEM_NAME=Windows \
  -DCMAKE_CXX_COMPILER=/home/johnny/projects/.tooling/windows/llvm-mingw/bin/x86_64-w64-mingw32-clang++ \
  -DCMAKE_BUILD_TYPE=Release
cmake --build build-windows --config Release
```

Package these files together:

- `TechAUnitBrowser.exe`
- `SDL2.dll`
- `libc++.dll`
- `libunwind.dll`
- `README.md`

Git is not required for the default GitHub source URL. On Windows, remote
GitHub HTTPS sync downloads the branch ZIP archive with built-in PowerShell and
extracts it into the cache. A local checkout can be selected instead.

The default cache is `%LOCALAPPDATA%\TechAUnitBrowser\TechA` on Windows.
Changing the cache location does not change or modify the source checkout.

## Notes

The Sync command downloads or reads a `source` tree within the selected cache
and copies `objects3d`, `unittextures`, `units`, and `weapons` into the cache.
Refresh Units only reads the cache and is safe to use with a manually prepared
TechA asset directory.
