feat(facts): phase 13 - per-game facts, Rust and RunicNPC checked, main green again
All checks were successful
PR checks / checks (pull_request) Successful in 8m25s
All checks were successful
PR checks / checks (pull_request) Successful in 8m25s
platform.json drops the single protocol/bundle/capability list for a `games` object (uo, rust) plus a `runicnpc` block. checkFacts.mjs loops the protocol, plugin-protocol, capability and bundle checks over both games, reads the schema-2 bundles at v2/<game>/current.json, checks each module's coreApi, and reads RunicNPC's plugin.toml. 41 facts, up from 19; clears the two that were red on main (Module API 1.17.0, installer v0.8.0). D66: the hero, footer and structured data show the Module API only; each game's protocol and bundle go on that game's pages, and the docs landing table splits into shared versions plus one column per game. The re-read section 1 requires found, and this fixes: - three hard-coded "1.6.0" Module API versions in the module docs - module-lifecycle saying modules load alphabetically (the loader now refuses a second module, W19), and the install pages never mentioning the one-module rule - "there is one module" in five places, now two modules both built inside this project; the Integration Kit keeps its draft banner - the homepage diagram's ServUO/uo-link sub-labels (D63 wording now) notBuilt drops `second-module` (resolved by Module-Rust's release) and rewords `multi-module`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -83,8 +83,8 @@ const docs = `${platform.gitea.base}/${platform.gitea.org}/docs/src/branch/main`
|
||||
</a>
|
||||
<span
|
||||
>What the game and the sidecar say to each other, and what the sidecar publishes.
|
||||
Protocol {platform.protocol} today, and versioned so a mismatched pair is refused
|
||||
rather than misread.</span
|
||||
Each game pins its own protocol version, so a mismatched pair is refused rather
|
||||
than misread.</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -135,10 +135,9 @@ const gitea = `${platform.gitea.base}/${platform.gitea.org}`;
|
||||
<li>
|
||||
<h3>Build a module for another game</h3>
|
||||
<p>
|
||||
There is one module and it is Ultima Online, so the claim that this platform is
|
||||
game-agnostic is currently an argument rather than a demonstration. The
|
||||
<a href="/modules/">Integration Kit</a> exists to be followed by somebody outside
|
||||
this project — and it stays marked draft until it has been.
|
||||
There are two modules, Ultima Online and Rust, and both were built inside this
|
||||
project. The <a href="/modules/">Integration Kit</a> exists to be followed by
|
||||
somebody outside it — and it stays marked draft until it has been.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -53,7 +53,7 @@ import {
|
||||
* matches bytes, and a stock build hides every one of these links, so a mistake here is
|
||||
* invisible until the day somebody configures a demo.
|
||||
*/
|
||||
assertCapabilityCoverage(platform.moduleUoCapabilities);
|
||||
assertCapabilityCoverage(platform.games.uo.module.capabilities);
|
||||
assertDetailCoverage();
|
||||
|
||||
/**
|
||||
@@ -91,9 +91,10 @@ const description =
|
||||
>.
|
||||
</p>
|
||||
<p>
|
||||
Today there is one module and it covers Ultima Online, so the second group below is
|
||||
what a UO deployment gets. On a deployment with no module, that group is simply absent
|
||||
and the other four are unchanged.
|
||||
Two modules exist today, for Ultima Online and for Rust, and a deployment runs one of
|
||||
them. The second group below is what the Ultima Online module adds; the Rust module
|
||||
brings its own set in its place. On a deployment with no module, that group is simply
|
||||
absent and the other four are unchanged.
|
||||
</p>
|
||||
</PageHeader>
|
||||
|
||||
|
||||
@@ -201,7 +201,7 @@ const integrations = [
|
||||
server, and an installed module merges its own routes into it — so whatever you build
|
||||
against is documented by the thing that is actually running, at
|
||||
{' '}Module API {platform.moduleApi}. The bridge to a game server is a documented wire
|
||||
protocol on the same principle, currently protocol {platform.protocol}.
|
||||
protocol on the same principle, versioned per game.
|
||||
</p>
|
||||
<div class="integ__actions">
|
||||
<a class="btn btn--primary" href="/modules/">How modules work</a>
|
||||
|
||||
Reference in New Issue
Block a user