Files
horizon-airdef/docs/README.md
T
Ludovic Marie 4e7c25bb55 Remove shader packs
A developer of Iris showed that Horizon's shader pack code was written from
Iris's source. This removes it: the horizon-shaderpack crate, Java pack
loading and its render stages, Horizon's own WGSL packs and the example
packs, the Shader Packs screen and its option, the launcher's shader pack
browsing and installing, and the docs about them. Shader packs may come
back later as a clean-room rewrite.

The vanilla renderer and its post-processing (resolution scale, FXAA) are
unchanged. Options files that name a pack load and drop the key; the
launcher reads manifests that list a shader pack, and files in
`shaderpacks/` are never deleted.

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

5.2 KiB

Horizon documentation

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

Build and run

  • AGENTS.md and Architecture: where each part of the code lives, how Game is organised, which harness checks which area.
  • 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.
  • Host a server: install horizon-server, prepare the game files, first run, server.toml, the commands, the web panel, backups, services and Docker; what works today and what doesn't yet.
  • Hosting a server: design: horizon-server, the design and the plan: install, server.toml, the CLI, the web panel, backups, services, Docker, and the bot benchmark against vanilla.
  • Agent control: what AI agents can drive in the launcher and the game, and the design of the control socket, horizon-ctl and MCP.
  • Graphics: the Simple and Advanced graphics settings, the graphics benchmark and what it measured.
  • Benchmark: Horizon against vanilla 26.3 and vanilla with performance mods, on the same machine, world, path and settings: what is measured, how it is kept fair, how to reproduce it.
  • Extras: optional zoom, minimap, FPS and keystroke overlays and auto-reconnect, all off by default.
  • Mods: Horizon's own mod system (Rust, sandboxed WebAssembly), how to make and install mods, and what carries over from Java mods.
  • Modpacks: porting whole packs (ATM10 and smaller): import, inventory, carry-over, an agent per mod with a harness against the Java original, coverage, and how "10x" is measured.
  • Launcher: installs, updates and starts builds; its CLI and MCP server; releasing it.
  • Versioning: how releases are numbered from 0.2 (v0.2.x, launcher@0.2.x), how installs from before 0.2 get there, and the steps for the day 0.2 ships.
  • Resource packs: everything a 26.3 resource pack can change, whether Horizon honours it, and the proof.
  • Opt-in data collection: the consent, exactly what is sent, how it is stored and sent.
  • Benchmark report format: the versioned JSON every benchmark writes (game, launcher, tools/perf_bench.py), the local log and, with consent, the upload.
  • Menus: every screen is vanilla's (title, world list, create world, multiplayer, options, pause). Horizon's own settings hang off vanilla's Options the way mods add theirs: Horizon Settings... and Mods... in the last two slots of the Options grid (Horizon Settings opens Graphics, Advanced Graphics, Controller Settings, Extras and Mods, each a vanilla options list), with Horizon Graphics and Advanced Graphics also at the top of Video Settings and Controller Settings at the bottom of Controls. The title screen's and pause menu's Friends buttons open Join a Friend and Play with Friends (play-with-friends.md).

Parity

Architecture: world generation

Architecture: world data and simulation

The earlier Java track (no longer developed)