The launcher strips these launcher-only tables before horizon-mixins reads a
bundle's manifest (native_mods/api.rs). The check passed them through, so a
mod with a trait package (cpm, #317) failed with E_MANIFEST "unknown field api"
while players' launchers apply it. Mods with an API package are applied but
not compiled, as health already leaves them out.
Co-authored-by: Horizon agent <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
* Add orbital 0.5.10
Submitted by @Stink-O through the form.
Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>
* Add orbital 0.5.10
Submitted by @Stink-O through the form.
Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>
* Add orbital 0.5.10
Submitted by @Stink-O through the form.
Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>
* Add orbital 0.5.10
Submitted by @Stink-O through the form.
Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>
* Add orbital 0.5.10
Submitted by @Stink-O through the form.
Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>
* Add orbital 0.5.10
Submitted by @Stink-O through the form.
Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>
---------
Co-authored-by: Stink-O <[email protected]>
* Daybreak: three screenshots for its page
A sunset over the sea, a lake by day and the same lake at night, the
README's screenshots from hildlabs/horizon-shaders: 1920 x 1080 JPEGs,
144 to 370 KiB each. Page fields only; versions, owners and kind unchanged.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* Daybreak: a new icon
The pack's own new icon.png (hildlabs/horizon-shaders c475da2): its sunset
over the sea with the name across the water. A square 512 x 512 PNG,
244 KiB.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
---------
Co-authored-by: Claude Opus 5.5 <[email protected]>
* Edit wisdom_horizon_lite's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
* Edit wisdom_horizon_lite's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
* Edit wisdom_horizon_lite's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
* Edit wisdom_horizon_lite's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
* Edit wisdom_horizon_lite's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
---------
Co-authored-by: tomasmendes01 <[email protected]>
* Edit wisdom_horizon's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
* Edit wisdom_horizon's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
* Edit wisdom_horizon's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
* Edit wisdom_horizon's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
* Edit wisdom_horizon's page
Submitted by @tomasmendes01 through the form.
Co-authored-by: tomasmendes01 <[email protected]>
---------
Co-authored-by: tomasmendes01 <[email protected]>
* Edit deepbore_quarry_native's page
Submitted by @Bioneisme through the form.
Co-authored-by: Bioneisme <[email protected]>
* Edit deepbore_quarry_native's page
Submitted by @Bioneisme through the form.
Co-authored-by: Bioneisme <[email protected]>
* Edit deepbore_quarry_native's page
Submitted by @Bioneisme through the form.
Co-authored-by: Bioneisme <[email protected]>
* Edit deepbore_quarry_native's page
Submitted by @Bioneisme through the form.
Co-authored-by: Bioneisme <[email protected]>
* Edit deepbore_quarry_native's page
Submitted by @Bioneisme through the form.
Co-authored-by: Bioneisme <[email protected]>
---------
Co-authored-by: Bioneisme <[email protected]>
* Edit customhud's page
Submitted by @sonoFrangu through the form.
Co-authored-by: sonoFrangu <[email protected]>
* Edit customhud's page
Submitted by @sonoFrangu through the form.
Co-authored-by: sonoFrangu <[email protected]>
* Edit customhud's page
Submitted by @sonoFrangu through the form.
Co-authored-by: sonoFrangu <[email protected]>
* Edit customhud's page
Submitted by @sonoFrangu through the form.
Co-authored-by: sonoFrangu <[email protected]>
* Edit customhud's page
Submitted by @sonoFrangu through the form.
Co-authored-by: sonoFrangu <[email protected]>
* Edit customhud's page
Submitted by @sonoFrangu through the form.
Co-authored-by: sonoFrangu <[email protected]>
* Edit customhud's page
Submitted by @sonoFrangu through the form.
Co-authored-by: sonoFrangu <[email protected]>
---------
Co-authored-by: sonoFrangu <[email protected]>
- `stars`: each project's source repository's GitHub stars (owner/repo of
a https://github.com/ source), asked once per repository every hour, as
`downloads` is; a repository that can't be read is left out. The index
field is horizon-rust/horizon's `projects[].stars`; the launcher shows
it on a project's page with a "Star on GitHub" button.
- `screenshots/` goes to GitHub Pages beside `icons/`: the index lists
screenshots at <site>screenshots/<id>/<name>, and only the icons were
copied, so the first gallery to be merged would show only 404s.
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Horizon agent <[email protected]>
* native health: also cargo check, and mark the mods whose own code doesn't compile
The daily check only applied the mods, so versions that apply but don't
compile on the newest Nightly (eatinganimation's ItemRenderState, hitbox_plus's
module path, carryblock's removed Dim::min_y...) weren't marked broken_on,
while every player's build leaves them out.
After the apply pass, the mods that apply are checked together (cargo check,
with Horizon's `mods` feature) in rounds: each round's errors are traced to the
mod whose helper or support module holds them (scripts/native_trace.py, the
launcher's rule), those mods and the ones needing them leave, and the rest
compile again. An error of the kind two mods cause together (a name defined
twice...) is checked again with that mod alone, so a pair is never marked.
Mods that use an API the launcher prepares ([api], trait_method) aren't
compiled here. Dependencies and horizon-mixins come from the Actions cache.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* native health: trace helpers whose signature holds an array type, mask each file once
Co-Authored-By: Claude Opus 5.5 <[email protected]>
* native health: an error in the call horizon-mixins generates for a helper is the helper's mod's
Co-Authored-By: Claude Opus 5.5 <[email protected]>
---------
Co-authored-by: Horizon agent <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
The first daily run (42099210086) marked horizon_physics broken for an
E_OVERWRITE_CONFLICT with another mod: a pair conflict, not a mod that
fails on the Nightly. Each mod refused in the full set is now applied
again with only the mods it needs, and is broken on that Horizon only if
horizon-mixins still refuses it.
Co-authored-by: Horizon agent <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Players' native builds broke on mods made for an older Horizon (targets moved
by the crate split, a support module refused by a glob) and the whole build
failed. scripts/native_compat.py applies mods as the launcher builds them:
- check (pull requests): each new native-mod version on the newest Nightly
with the 20 most downloaded native mods, horizon-mixins apply then cargo
check, and its support modules' (file, name) against every registry mod's.
- health (daily, native-compat.yml): every native mod's newest version on the
newest Nightly; the ones horizon-mixins refuses go to the native-health
release, and publish marks them `broken_on` in index.json so the launcher
warns before an install.
The PR job runs main's script with a read-only token; the submission's build
scripts run under that token only.
Co-authored-by: Horizon agent <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
rdbt (operator, #mod-chat 11-05): the centred 'Vanished: only operators see
you' line covers the view. It is now an action bar line refreshed once a
second; unvanishing sends an empty action bar instead of clearing titles.
proof.py checks the action bar and that nothing shows mid-screen.
Co-authored-by: Horizon agent <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
glue.rs's VERSION still read 0.34.0 after #261 (0.35.0). proof.py's claims mode checks the version line and counts errors from the server's Done on (the engine logs one "No key layers" error while loading the world).
Co-authored-by: Horizon agent <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>