Repository navigation
Image Tournament Building from Source
.\build.ps1 # builds bin\RulZ Image Tournament.exe
.\build.ps1 -Test # also builds and runs the bracket logic tests firstThe build uses the C# compiler that ships with Windows (.NET Framework 4.8), so no SDK or Visual Studio is needed. Both logos (white lettering for dark, black for light) are embedded in the .exe, so the app is still a single file.
launch.bat and install.bat run the build for you.
| Path | What's in it |
|---|---|
src\Tournament.cs |
The bracket: pairing, byes, rounds, saving and loading. No UI code. |
src\LoadedImage.cs |
Decodes an image fully into memory (GDI+ first, then Windows Imaging Component for WebP/HEIC), applies camera rotation, and builds smaller copies for fast drawing. |
src\CompareView.cs |
The custom-drawn view: side-by-side and split modes, synced zoom and pan, the divider. |
src\MainForm.cs |
The main window: toolbar, picking, Losers handling, undo, drag and drop, resume. |
src\ChooseLook.cs |
The first-run "Choose your look" window. |
src\Support.cs |
Color palettes (dark and light), settings storage, and small Windows helpers such as the folder picker. |
src\Program.cs |
Entry point and version number. |
tests\TournamentTests.cs |
Tests for the bracket logic. |
tools\make_logo.py |
Builds the logo files and app icon from assets\logo-source.webp (needs Pillow). |
launch.bat, install.bat, uninstall.bat
|
Run, install and remove the app. |
.\build.ps1 -Test covers the bracket: pairing order, byes, every image count from 0 to 70 (each image loses exactly once, and there are n − 1 matches), saving and loading mid-tournament, undo, and adding or removing images mid-round.
The interface itself isn't covered by automated tests; it's checked by running the app.
Replace assets\logo-source.webp (a logo on a white background), run python tools\make_logo.py, then .\build.ps1. It makes the transparent logos for both looks and the app icon.
Issues and pull requests are welcome at the repository. The source is under the MIT License. The RulZ name and logo are excluded from it. If you fork or redistribute the project, replace the branding; see LOGO-NOTICE.md.
RulZ AI Tools Suite
The apps
RulzTrainer
Rulz Training Captioner
Getting started
Using the app
Models and GPUs
Reference
RulZ LLM Suite
Using the app
Reference
Contributing
RulZ Coding Agent
Using the app
- Getting Started
- Projects and Tasks
- Approvals and Safety
- Model Settings
- Run and Share
- Notes and Instructions
- Extra Tools (MCP)
- Phone Access
Reference
Contributing
RulZ Image Organizer
Using RulZ
- Getting Started
- Library and Scanning
- People and Corrections
- Search and Filters
- Photo Viewer
- Appearance
More
RulZ Image Tournament
Using the app
- Getting Started
- How the Tournament Works
- Comparing Images
- Controls and Shortcuts
- Options and Settings
- Supported Formats
- Troubleshooting and FAQ
Developers
RulZ Image Crawler
Getting started
Using the app
Help
RulZ Image Preparer
Getting started
Using the app
Reference
RulZ Image Grid
Using the app
Help
RulZ Simple Video Clip Extractor
Getting started
User guide
- Playback and Marks
- Fixed-Length Clips
- Exporting
- Crop, Rotate and Flip
- Colour Matching
- Preferences and Themes
Help