fcbbff26a7
The mark is an H whose crossbar is the horizon: a violet line edge to edge, the stems above it and their reflection below at a third, on whole units of a 16-unit grid so it stays sharp at 16 px. docs/media/brand holds the SVG masters (square icon, macOS tile, avatars, the mark for light and dark backgrounds), the two alternatives that were shown with it, the GitHub social preview and the Discord banner, and a README of what goes where and how to upload what only Ludovic's accounts can. `cargo run -p xtask -- icons` renders the masters (rsvg-convert) and packs, in plain Rust: packaging/icons/horizon.ico and horizon.icns, Linux's hicolor icons 16–512 and the scalable SVG, the game's run-time window icon, the avatars and the website's favicons. packaging/linux has .desktop entries for the launcher and the game. On Windows, build.rs embeds the .ico as icon resource 1 in horizon-client (and its tools) and horizon-launcher (winresource, a Windows-only build dependency); gpui loads that resource as the launcher's window icon. The game window sets the icon itself (X11, Windows) and names itself `horizon` on Wayland so the desktop entry matches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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-ctlscripting, 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 byui_themeover a live frozen backdrop (game/backdrop.rs, blurred and graded bypost.rs). Options → Interface → Menu style switches to vanilla's screens (Classic, kept inhorizon.txt;HORIZON_MENU_STYLE=horizon|classicoverrides it, and scripted runs default to Classic). Title (webm), worlds, options, pause.
Parity
- Rust rewrite status: completion criteria, how to reproduce the validation, and per-area scope.
- Parity workflow:
tools/parity.py, the gate, other machines, merging. - Area notes: block behaviours and ticking, section meshing.
- Decompilation and research lab and decompilation status: the local game inspection workspace the harnesses build on.
Architecture: world generation
- World generation: the pipeline from noise to features.
- Noise generation, compiled density functions, structure density, terrain filling.
- Biomes: lookup, temperatures.
- Surfaces: material surfaces, material conditions, rule libraries, vertical anchors, value providers.
- Carving, heightmaps, feature placement.
Architecture: world data and simulation
- World data: chunk storage, palettes, region files.
- Block-state codecs, scheduled ticks.
- Collision geometry: shapes, collision, movement and fluids.
- Face visibility: which model faces the mesher emits.