Commit Graph

58 Commits

Author SHA1 Message Date
Ludovic Marie 002bd18170 Link the C runtime statically into the Windows build
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 19:31:00 +02:00
Ludovic Marie 6fab5eb279 Merge branch 'main' into parity-base
# Conflicts:
#	README.md
#	crates/horizon-client/src/game.rs
2026-10-12 19:02:09 +02:00
Ludovic Marie 222345b5d1 Build Horizon on Windows and package playable folders
The control socket reports itself unavailable on Windows, which has no
Unix domain sockets, and horizon-ctl uses the same stream type. A release
workflow builds the Windows client by hand; packaging/package.sh assembles
the binary, the resource preparation tool and PLAY.txt, without any of
Minecraft's files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:58:25 +02:00
Ludovic Marie 6c90e42675 Install ALSA headers for the CI lint and test job
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:02:37 +02:00
Ludovic Marie 37898e856b Build from the user's own copy of the game instead of downloading it
Horizon no longer fetches anything of Minecraft from Mojang's servers. The
client jar, version JSON, libraries and assets come from the user's official
launcher install, and the server jar is one they downloaded themselves
(--server-jar or HORIZON_SERVER_JAR). Every file is checked against checksums
pinned in research-lock.json, and the prepared .local/ layout is byte-identical
to the old downloads, so the harnesses and the native client are unchanged.

CI keeps the offline checks on GitHub's runners; the vanilla comparisons and
the mod build need the game, so they move to a manual job on a self-hosted
runner that holds the maintainer's own copy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:00:18 +02:00
Ludovic Marie 8441c66bdb Run macOS only when started by hand
Everyday work is built and tested on Linux only. macOS and Windows jobs run only when started by hand (workflow_dispatch: gh workflow run <workflow> --ref <branch>), not on pull requests or pushes to main. Release workflows are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 12:24:41 +02:00
Ludovic Marie 08b8e71838 Drop Windows from scope and add a native client packager
Horizon now targets Linux and macOS only: remove the Windows CI runners and
wgpu's DX12 backend, and update the scope docs. The Ubuntu RTX 4080 desktop
becomes the first physical Linux target. tools/package_native_client.py bundles
a release build with its prepared resources and a launcher for playing on
another machine of the same platform.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 10:48:58 +02:00
Ludovic Marie b9a8e381bb Implement below-zero upgrade data and resident chunk transformations 2026-10-06 15:55:41 +02:00
Ludovic Marie eed1879fae Model pinned chunk statuses and reuse their pre-light metadata 2026-10-06 15:40:26 +02:00
Ludovic Marie e755a5920a Implement proto-chunk block-entity storage and coordinate resolution 2026-10-06 14:59:17 +02:00
Ludovic Marie 53ff11164e Implement small speleothem patches and waterlogged points 2026-10-06 14:16:46 +02:00
Ludovic Marie e2200620ff Implement recursive chorus generation and connection refreshes 2026-10-06 14:12:29 +02:00
Ludovic Marie 736424e01c Implement bonus chest search, loot seeding and torches 2026-10-06 14:08:13 +02:00
Ludovic Marie b344304c62 Implement End gateway geometry and conditional exit updates 2026-10-06 14:03:31 +02:00
Ludovic Marie 1cf1322ae2 Implement proto-chunk ticks and world-generation tick routing 2026-10-06 13:39:19 +02:00
Ludovic Marie fd3416da36 Implement frozen top layers and snowy ground updates 2026-10-06 13:32:39 +02:00
Ludovic Marie 0c80bfa5f8 Implement biome freezing and snow eligibility 2026-10-06 13:28:59 +02:00
Ludovic Marie 6dc8183433 Implement Nether delta rims and shifted content placement 2026-10-06 13:21:42 +02:00
Ludovic Marie 11acaa1617 Implement bamboo stalks, leafy caps and podzol patches 2026-10-06 13:17:56 +02:00
Ludovic Marie 4cc0eaf6da Implement replacement blobs with native Manhattan traversal 2026-10-06 13:13:46 +02:00
Ludovic Marie f5a6904494 Implement End podium construction and destruction requests 2026-10-06 13:09:24 +02:00
Ludovic Marie d99a8d00bb Implement native spike geometry and discontinuous roots 2026-10-06 13:04:32 +02:00
Ludovic Marie 49f526116b Implement native blue-ice seeding and spreading 2026-10-06 12:59:34 +02:00
Ludovic Marie 4634364ed7 Implement underwater magma and preserve signed-zero codec rules 2026-10-06 12:51:12 +02:00
Ludovic Marie c8d07903ef Implement native vine attachment priority and placement 2026-10-06 12:38:59 +02:00
Ludovic Marie 6d5305f987 Implement spring cavities and scheduled fluid ticks 2026-10-06 12:36:10 +02:00
Ludovic Marie 7984238b3e Implement vanilla block-blob support search and placement 2026-10-06 12:29:30 +02:00
Ludovic Marie ea237d983f Implement disk replacement and chunk postprocessing marks 2026-10-06 12:25:49 +02:00
Ludovic Marie 801bec30d5 Implement native block-pile placement and support checks 2026-10-06 12:20:29 +02:00
Ludovic Marie 5a1044f3fc Implement vanilla neighbor-based feature spreading 2026-10-06 11:57:55 +02:00
Ludovic Marie 83b5ace0fc Implement vertical pillars and nested cap placement 2026-10-06 11:56:30 +02:00
Ludovic Marie ab67ec0888 Implement native block-column sampling and truncation 2026-10-06 11:55:45 +02:00
Ludovic Marie f41cd70060 Implement vanilla simple-block placement and feature composition
Add registry-bound double-plant and moss placement, independent world RNG, survival ordering and post-write tick scheduling. Integrate named providers and feature graphs. Both pinned JARs matched 9,613,872 trace lines across 492,554 fixtures; workspace tests and all-target Clippy passed.
2026-10-06 11:55:13 +02:00
Ludovic Marie cb19660fbe Build Horizon Rust parity foundations and differential validation
Add version-bound core, world data, geometry, generation and feature implementations with native client/server comparison tools and scoped evidence reports. Apply Horizon project branding.

Workspace tests, Clippy and 147 Python tests passed. Full 51-family survival and expanded provider comparisons are still running; complete gameplay parity and a playable Rust client remain unfinished. Private game artifacts and the isolated simple-block placement work are excluded.
2026-10-06 11:24:51 +02:00
Ludovic Marie 357cc90326 Capture shared client graphics in integrated-server reports 2026-10-04 14:09:19 +02:00
Ludovic Marie 99d6aae5e0 Verify actual cinematic shader activation in private world probes 2026-10-04 13:09:45 +02:00
Ludovic Marie 5f9f973295 Retain mixed overlay-aware Vulkan results and probe demo worlds 2026-10-04 12:22:10 +02:00
Ludovic Marie a5000edf11 Check recommended Mac profiles in demo worlds and retain separate Vulkan research 2026-10-04 11:26:47 +02:00
Ludovic Marie 3858ab38b5 Isolate vanilla and core Vulkan startup failures on macOS 2026-10-04 11:08:07 +02:00
Ludovic Marie d175741de3 Verify native macOS client startup and framebuffer readback 2026-10-04 10:34:50 +02:00
Ludovic Marie 02d7a5189d Capture sampled tick-manager changes without altering simulation 2026-10-04 08:43:00 +02:00
Ludovic Marie 25cfc7f5b3 Measure applied quad reuse shallow retention with a private agent 2026-10-04 07:02:12 +02:00
Ludovic Marie 0a0cd667d5 Reuse discarded terrain quads at fresh allocation sites with isolated controls 2026-10-04 06:00:07 +02:00
Ludovic Marie c6ec0b5e14 Test equivalent arithmetic in the sampled terrain data lookup 2026-10-04 04:26:04 +02:00
Ludovic Marie 7cbe37b605 Reuse per-instance numeric vectors in optional culling ray checks 2026-10-04 03:32:06 +02:00
Ludovic Marie 9a1b22aa56 Release interrupted DH metadata reads without cancelling shared futures 2026-10-04 02:49:54 +02:00
Ludovic Marie 35dd69e9a6 Avoid empty culling whitelist iterator allocation while keeping live registration 2026-10-04 02:07:55 +02:00
Ludovic Marie e091816ce0 Reuse private terrain tick membership without changing published action order 2026-10-04 01:48:12 +02:00
Ludovic Marie 33f9f5a5ef Combine foreground terrain controls and validate collector experiments 2026-10-04 00:53:12 +02:00
Ludovic Marie 93e0ac5bea Install software Vulkan fallback for headless dispatcher checks 2026-10-04 00:34:36 +02:00