Files
horizon-airdef/docs
Ludovic Marie 48c85fa19f Add tools/pr_ready.py, CONTRIBUTING.md and a pull request template
pr_ready is the one self-check to run before asking for review: from the
files a branch changes it runs rustfmt, clippy with warnings denied, the
tests of the touched crates (mapped through cargo metadata), the launcher's
own workspace when it is affected, the tokens.css check, the Cargo.lock
rule, the Python tests and the public-tree check, and the vanilla harnesses
the change can affect, picked by tools/parity.py exactly as CI's parity job
picks them. It runs locally or on a fleet machine through ~/fleet/rbuild;
on the Mac mini the harnesses use the parity runner's own workspace and
scripts. It prints one Markdown block for the pull request body and exits
non-zero on any failure.

tools/parity.py gains --changed-files for copies without Git history, and
tools/ci/vanilla-data.sh accepts the preparation key from outside.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:13:39 +02:00
..

Horizon documentation

To play, use the launcher; the project site is playhorizon.dev. These pages are for developers.

Build and run

  • Build from source: your own copy of the game, resource preparation, cargo run.
  • Native client: options, controls, the dedicated server, horizon-ctl scripting, packaging, architecture.
  • Graphics: the Simple and Advanced graphics settings, the graphics benchmark and what it measured.
  • Extras: optional zoom, minimap, FPS and keystroke overlays and auto-reconnect, all off by default.
  • Launcher: installs, updates and starts builds; its CLI and MCP server; releasing it.
  • Menus: the title, world list, create world, multiplayer, options and pause screens share the launcher's design tokens and fonts (crates/horizon-theme), drawn by ui_theme over a live frozen backdrop (game/backdrop.rs, blurred and graded by post.rs). Options → Interface → Menu style switches to vanilla's screens (Classic, kept in horizon.txt; HORIZON_MENU_STYLE=horizon|classic overrides it, and scripted runs default to Classic). Title (webm), worlds, options, pause.

Parity

Architecture: world generation

Architecture: world data and simulation

The earlier Java track (no longer developed)