feat(site): phase 18 — the Rust screenshots, web and app #39

Merged
whitlocktech merged 1 commits from feat/phase-18-screenshots into main 2026-10-22 22:09:18 -05:00
Member

What & why

PLAN.md §16 phase 18 (D65): the Rust captures, plus the emulator pass for /app/'s Rust screens. Two decisions from the org lead during the phase, recorded in "How phase 18 built it" (count of record 81):

  • D80: every name in a capture is a role — admin, moderator, player, player2… It applies from this phase on; the phase 9 captures keep their cast.
  • D81: the Rust captures' players are mock data. The rig has no players, and staging stand-ins on it was stopped in favour of writing the game data into the demo database. scripts/mockRustDemo.mjs writes it as SQL in the module's own row shapes.
    • Real in the captures: the Oxide test server behind a real rust-link sidecar, its status, world map and markers, the permission groups its plugins hold, and RunicNPC's sync state.
    • Mock: the feed, the leaderboard, weapon kills, the server list's player count and the linked Steam account.
    • What the pages say: the captions describe what a screen does and never say a player did something. screens.mjs, /modules/rust/ and /app/ say which part is a demo cast.

Captures (nine, all tagged rust)

  • Web (1920×1200): rust-servers, rust-feed, rust-leaderboard, rust-map, admin-rust-permissions (the VIP group open), admin-rust-npcs (the profile editor for a guard).
  • Phone (1440×3088): app-rust-server (the feed), app-rust-map, app-rust-account (Steam link, VIP group, coins, backpack).
    • Taken from an Android-app edge debug build on the s22_ultra AVD, signed in as player. The Rust screens aren't in a release yet.
    • The app's server list was left out: one server card on a phone-height screen is mostly empty.

Where they show

  • /modules/rust/: the four public shots under "What players see" (with a sentence about the demo cast) and the two staff shots under "What staff run".
  • Homepage, What it looks like: the Rust live map beside the UO capture (D76). I picked the map because nothing in that frame is mocked.
  • /app/: the three phone shots. The grid's lede no longer says "not mocked up".
  • Docs: The live map, Permissions and groups, and RunicNPC's NPC profiles each carry their screen.

Tooling

  • seedDemo.mjs --game rust: the neutral identity, the moderator and player accounts, the server row with a weekly wipe, and public visibility for who is online and the map's players (a demo choice; the seed says why). It also adds two RunicNPC profiles on a kit the rig's Kits holds, and a VIP group with player in it. The sidecar token comes from a file outside the repo (RG_RUST_SERVERS). The UO path is unchanged apart from step order.
  • captureScreens.mjs: an entry may carry click, the visible text to click before the shot. It's used for the permissions group and the profile editor. A step that matches nothing fails the shot.
  • mockRustDemo.mjs: prints SQL and connects to nothing. Re-running replaces what it wrote.

How it was tested

  • npm run verify is green: all twelve checks, including checkTerms --built, checkScreens (27 screens) and checkFacts, plus both test suites.
  • I looked at every capture before keeping it, and retook several: framing, an editor that opened below the fold, a kit name that looked like a test fixture.
  • At 1280 and 390px, the homepage section, /modules/rust/ and /app/ have no horizontal overflow.

For the org lead

  • Rig: the Oxide rig is now on Rust 26139947 / Oxide 2.0.7839. A restart and a panel reinstall both left it on 25902425: steamcmd cancels the delta on a DLL Oxide patches. Removing appmanifest_258550.acf and starting fixed it. The Carbon rig is untouched, on 25902425, per your one-rig ruling.
  • Rig cleanup: the stand-in plugin is deleted and TruePVE is reloaded. The walk core (:3270) is stopped, as you chose.
  • Demo stack still running: the demo core on :3000 (DB rgdemorust).
  • Findings, reported and not fixed:
    • The feed prints prefab names as weapons ("with ak47u entity"). Module-Rust's format.js prefab() only turns dots and underscores into spaces, and the app does the same. It's in the captures as the product shows it.
    • The app's first-run and sign-in screens say "shard" ("Connect to your shard", "Sign in with your shard account") on every deployment, Rust ones included.
    • The permissions screen's Players tab lists Steam ids the rig already held, including your own from the player walk. That is the screen working as designed, and it's why the capture opens the Groups tab.
  • Merging this deploys the site (D54).

Checklist

  • I have read CONTRIBUTING.md.
  • npm run verify passes locally (all twelve checks and both test suites).
  • No fact is stated in prose — versions and platform facts come from src/data/platform.json.
  • PLAN.md still describes what this repository does; a decision it records is either unchanged or amended here, with the reasoning.
  • My commits are reasonably scoped, with Conventional Commit messages.

AI-assisted contributions (required)

  • No AI tools were used to produce this contribution.
  • AI tools were used. Tool(s): Claude Code (Claude Opus 5.5). I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with a Co-Authored-By / Assisted-By trailer.

License

  • I agree that my contribution is licensed under this project's license (GNU GPL v3.0 or later), and I have the right to contribute it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

## What & why PLAN.md §16 phase 18 (D65): the Rust captures, plus the emulator pass for `/app/`'s Rust screens. Two decisions from the org lead during the phase, recorded in "How phase 18 built it" (count of record **81**): - **D80: every name in a capture is a role** — `admin`, `moderator`, `player`, `player2`… It applies from this phase on; the phase 9 captures keep their cast. - **D81: the Rust captures' players are mock data.** The rig has no players, and staging stand-ins on it was stopped in favour of writing the game data into the demo database. `scripts/mockRustDemo.mjs` writes it as SQL in the module's own row shapes. - **Real in the captures:** the Oxide test server behind a real rust-link sidecar, its status, world map and markers, the permission groups its plugins hold, and RunicNPC's sync state. - **Mock:** the feed, the leaderboard, weapon kills, the server list's player count and the linked Steam account. - **What the pages say:** the captions describe what a screen does and never say a player did something. `screens.mjs`, `/modules/rust/` and `/app/` say which part is a demo cast. ### Captures (nine, all tagged `rust`) - **Web (1920×1200):** `rust-servers`, `rust-feed`, `rust-leaderboard`, `rust-map`, `admin-rust-permissions` (the VIP group open), `admin-rust-npcs` (the profile editor for a guard). - **Phone (1440×3088):** `app-rust-server` (the feed), `app-rust-map`, `app-rust-account` (Steam link, VIP group, coins, backpack). - Taken from an **`Android-app` `edge` debug build** on the `s22_ultra` AVD, signed in as `player`. The Rust screens aren't in a release yet. - The app's server list was left out: one server card on a phone-height screen is mostly empty. ### Where they show - **`/modules/rust/`:** the four public shots under "What players see" (with a sentence about the demo cast) and the two staff shots under "What staff run". - **Homepage, *What it looks like*:** the Rust **live map** beside the UO capture (D76). I picked the map because nothing in that frame is mocked. - **`/app/`:** the three phone shots. The grid's lede no longer says "not mocked up". - **Docs:** *The live map*, *Permissions and groups*, and RunicNPC's *NPC profiles* each carry their screen. ### Tooling - **`seedDemo.mjs --game rust`:** the neutral identity, the `moderator` and `player` accounts, the server row with a weekly wipe, and public visibility for who is online and the map's players (a demo choice; the seed says why). It also adds two RunicNPC profiles on a kit the rig's Kits holds, and a VIP group with `player` in it. The sidecar token comes from a file outside the repo (`RG_RUST_SERVERS`). The UO path is unchanged apart from step order. - **`captureScreens.mjs`:** an entry may carry `click`, the visible text to click before the shot. It's used for the permissions group and the profile editor. A step that matches nothing fails the shot. - **`mockRustDemo.mjs`:** prints SQL and connects to nothing. Re-running replaces what it wrote. ## How it was tested - **`npm run verify` is green:** all twelve checks, including `checkTerms --built`, `checkScreens` (27 screens) and `checkFacts`, plus both test suites. - **I looked at every capture before keeping it**, and retook several: framing, an editor that opened below the fold, a kit name that looked like a test fixture. - **At 1280 and 390px**, the homepage section, `/modules/rust/` and `/app/` have no horizontal overflow. ## For the org lead - **Rig:** the Oxide rig is now on **Rust 26139947 / Oxide 2.0.7839**. A restart and a panel reinstall both left it on 25902425: steamcmd cancels the delta on a DLL Oxide patches. Removing `appmanifest_258550.acf` and starting fixed it. The Carbon rig is untouched, on 25902425, per your one-rig ruling. - **Rig cleanup:** the stand-in plugin is deleted and TruePVE is reloaded. The **walk core (:3270) is stopped**, as you chose. - **Demo stack still running:** the demo core on `:3000` (DB `rgdemorust`). - **Findings, reported and not fixed:** - **The feed prints prefab names as weapons** ("with ak47u entity"). Module-Rust's `format.js` `prefab()` only turns dots and underscores into spaces, and the app does the same. It's in the captures as the product shows it. - **The app's first-run and sign-in screens say "shard"** ("Connect to your shard", "Sign in with your shard account") on every deployment, Rust ones included. - **The permissions screen's Players tab lists Steam ids the rig already held**, including your own from the player walk. That is the screen working as designed, and it's why the capture opens the Groups tab. - **Merging this deploys the site** (D54). ## Checklist - [x] I have read [CONTRIBUTING.md](CONTRIBUTING.md). - [x] `npm run verify` passes locally (all twelve checks and both test suites). - [x] No fact is stated in prose — versions and platform facts come from `src/data/platform.json`. - [x] `PLAN.md` still describes what this repository does; a decision it records is either unchanged or amended here, with the reasoning. - [x] My commits are reasonably scoped, with Conventional Commit messages. ## AI-assisted contributions (required) - [ ] No AI tools were used to produce this contribution. - [x] AI tools were used. Tool(s): `Claude Code (Claude Opus 5.5)`. I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with a `Co-Authored-By` / `Assisted-By` trailer. ## License - [x] I agree that my contribution is licensed under this project's license (**GNU GPL v3.0 or later**), and I have the right to contribute it. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-22 22:05:35 -05:00
feat(site): phase 18 - the Rust screenshots, web and app
All checks were successful
PR checks / checks (pull_request) Successful in 2m55s
c47e9c1aa4
Nine captures tagged rust (D65): the server list, feed, leaderboard,
live map, permissions and the RunicNPC profile editor on the web, and a
server's feed, its map and the player's Rust account in the app, from
an Android-app edge debug build.

D80: every name in a capture is a role (admin, moderator, player...),
from this phase on. D81: the Rust demo's players are mock data written
by scripts/mockRustDemo.mjs; the server, its status, map, permission
groups and RunicNPC sync state are the real Oxide test server's. The
captions and /modules/rust/ and /app/ say which part is a demo cast.

seedDemo.mjs gains --game rust (server row with a weekly wipe, public
presence for the demo, two NPC profiles, a VIP group). captureScreens.mjs
gains a click list per screen. The homepage shows the Rust live map beside
the UO capture (D76); three Rust docs pages carry their screen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit abf7dceb06 into main 2026-10-22 22:09:18 -05:00
whitlocktech deleted branch feat/phase-18-screenshots 2026-10-22 22:09:20 -05:00
Sign in to join this conversation.
No description provided.