docs(guides): illustrate installation, settings and save transfer #264

Merged
HumanBean merged 18 commits from bibiburl/Longshot:docs/guide-screenshots into main 2026-11-15 03:24:29 +00:00
Member

Type: docs · Risk: low · Tested on: Linux, game-free checks and source/image review · Needs: successful site build and rendered recheck of the latest update

Why

Players need to recognize the controls in the installation, settings and save-transfer guides. These guides share seven maintained UI screenshots, keep the actions and replacement warnings in readable text, and flag screenshots for review when their source changes.

What changed

Seven UI-only examples illustrate the real maintained views with synthetic state. Graphics was captured from Longshot main b2911d33; six Launcher pictures were captured from nightly-52-b1d9f7a9, source b1d9f7a9. The follow-up retains those PNGs and their original capture provenance.

  • Guides: clickable full-size pictures, descriptive alternatives, version/example captions, numbered save-transfer steps, Linux/SteamOS AppImage executable permission before Build, and platform setup links. Shared-save instructions distinguish the pictured nightly from Launcher rc.3 on Windows. Installed and portable Windows backups now have separate paths, including the rc.3 portable exception.
  • Capture maintenance: exact source, fixture, dependency and PNG hashes; isolated capture helpers; 18 Python guard/isolation tests. Launcher staging retains its AvaloniaStats opt-out and explicit locked NuGet restore policy.
  • Source review: main through 2b1d38c6 is integrated. source-review-e9bed614.md records why the four changed menu inputs permit retaining the labelled Graphics example, and adds the new threaded_rendering.h dependency. All 59 reviewed inputs also match 2b1d38c6. The off-screen row changes the scrollbar proportion; no pixel-equivalence claim is made.
  • Website: registered menu text fields, including Custom output size, retain coverage and restart guards. The exact restart-list test now includes Threaded rendering. Neutral wording covers the item name in #584.
  • Navigation: guides use Starlight's hamburger; home/splash pages use one disclosure with matching icons and styles. This follow-up does not change navigation or CSS. No runtime code differs from the integrated main snapshot.

Measurements

Verdict: the combined previous head and main reproduced four screenshot-source failures and one restart-list test failure. After review and correction, all seven image/source checks, 18 Python screenshot tests and 76 website tests pass. The portable backup path now matches Launcher source. No gameplay or performance improvement is claimed.

Flags and settings

No game/runtime defaults change relative to main. These existing variables are pinned only by the isolated capture helpers:

Flag Before this PR After this PR Effect Recommendation
HOS_DISPLAY_MODES No guide capture helper 1280x720 in the menu fixture Fixed illustrative display input Fixture only; keep normal game behavior
LONGSHOT_LAUNCHER_HOME No guide capture helper Temporary synthetic profile Isolates Launcher state Fixture only; never point at real state
LONGSHOT_LAUNCHER_OFFLINE No guide capture helper 1 in the Launcher fixture Offline capture state Fixture only
LONGSHOT_LAUNCHER_REDUCED_MOTION No guide capture helper 1 in the Launcher fixture Settled capture layout Fixture only

The displayed game-build selection, hardware/tools-ready results and Custom graphics values are illustrative. Launcher and game-build versions are recorded separately. No capture helper was rerun for this follow-up. The optional C++ capture fixture is Linux-only tooling, not a host/runtime interface change.

Testing

Tested:

Integrated baseline: main 2b1d38c682. Updated PR: a0a93f11fe. Linux, Node 26.13.1; npm dependencies restored from the unchanged pinned lockfile.

  • scripts/check_guide_screenshots.py --review-sources --launcher-source ...: all seven assets and recorded UI/fixture inputs pass, using an isolated source archive of exact Launcher b1d9f7a9b19fa99b91ec3e8cd24455d4703d6d25. The review covers 59 menu inputs. Without the external checkout the checker correctly reports six Launcher source checks as NOT CHECKED.
  • tests/test_guide_screenshots.py: 14 passed. tests/test_launcher_capture.py: 4 passed. All seven existing PNGs inspected; image bytes, captured-source records, dates and fixture sources remain unchanged.
  • node --test tests/*.test.ts: 76/76 passed on the final combined tree. The restart test first reproduced the missing Threaded rendering expectation; the fix preserves all existing coverage/restart assertions. Guide tests render the canonical Markdown and verify local image links and numbered-step placement.
  • Portable backup locations verified against LauncherService.SaveEnv, LauncherHome.PortableSaveBackups and LauncherLayout.PortableHome at Launcher b1d9f7a9, and the rc.3 portable backup override at 028ad66d.
  • python3 -I -B tests/run_all.py, outside the sandbox: 499 passed, 12 failed, 69 skipped in 62 seconds. Every failure was rerun on clean main at the integrated revision; all 12 fail there too: test_lift_cleanup_error (missing _lift_store fixture), test_make_game_cache (unexpected compiler subprocess), test_appimage_player_build (prebuilt-renderer path assertion), test_bake_portability (missing zstandard), test_cpm_discovery (stub missing find), test_crash_dialog (clang treats trailing -x none as an error), test_env_on (switch-source check), test_linux_preflight (unexpected profile-probe process), test_readback_late (range-log source expectation), test_vk_pgo (profile-note expectation), test_vram_budget_row (fixture missing Options::preset), and test_walk_key (missing hos_oot_autoload_input stub). These unrelated failures remain outside this documentation change. Missing tool/header and platform checks are reported as skips, not passes.
  • npm run build currently fails before page generation with Astro's MISSING_EXPORT: loadDevToolbarApps from astro:toolbar:internal. It reproduces on unchanged main e9bed614 using the same pinned dependency tree, including after npm ci; the website dependency/config files are unchanged by subsequent main 2b1d38c6. No successful final build or link-count result is claimed.
  • git diff --check passes. No runtime/renderer/third-party differences from the integrated main snapshot, no changed PNGs, no private assets, saves or installed-game settings.

Historical evidence, not a fresh result: head e4627be1 built 15 pages and checked 803 links/assets; its full suite was 503 passed, 6 failed, 69 skipped. The original captures were built and inspected at that head. The maintainer review of e4627be1 reports Chromium checks at nine widths in both themes, image links, keyboard/touch navigation and zoom. It also identifies pre-existing home-page overflow and a search-result rendering limitation. Those results are attributed to that reviewer and revision.

Not tested: a successful website build or browser rendering of this latest update, Firefox/Safari, real mobile devices, screen readers, Windows execution, a fresh menu/Launcher capture, live Vulkan equivalence, actual save transfer or gameplay. The local Astro error prevents using a fresh site build for browser checks here. Source/image review does not establish pixel equivalence.

Must be tested: Linux and Windows, any GPU, by hand: once the baseline Astro failure is resolved or a working CI build is available, run npm run build and npm run check, expecting a successful build and passing link/asset checks. Open /install/, /settings/ and /saves/transfer/ at 320, 390, 800 and 1120px in both themes with keyboard and zoom, expecting the installed/portable backup paths to remain readable, numbered steps and captions to stay aligned, full-size image links to work, and no guide overflow. T-R2H9 remains the existing browser-testing request; the maintainer's prior-head results are linked above, not claimed as a result for this update.

Screenshots

Unchanged UI-only examples captured 2026-11-14. Launcher nightly-52-b1d9f7a9 on Linux; Graphics from development source b2911d33. Values are not recommendations or new-install defaults. Links deliberately retain the original image commit.

Welcome and Build; illustrative candidate game build
Game files; illustrative requirements and tools-ready results
Manage saves; synthetic registered build
Saves; empty shared save list
Import chooser; Another folder
Import confirmation; synthetic source/destination, dry run only
Graphics; Custom output size and illustrative settings

Risks

What could break: future source changes require review of the image, dependency set and adjacent text. Hashes detect recorded-input drift but cannot establish visual usability or discover new dependencies automatically. The nightly and rc.3 differ on Windows saves; the guide distinguishes them. A retained historical image is not a pixel-identical rendering of current main.

Turning it off: revert the documentation/capture/website changes. Original capture provenance stays in Git. source-review-e9bed614.md is the current retention decision; the earlier cf605c85 note concerns a replaced image.

Compatibility: no runtime, save-format, options, cache or renderer ABI change relative to integrated main. No game build, launch, runtime experiment, actual save transfer, official release or production deployment was performed for this follow-up.

The Longshot screenshot workflow is included. Required branch protection and the separate Launcher companion check remain maintainer setup; the README does not claim they are enabled.

Issues

See #104 (comment) for the guide-image request and the review threads on this PR. See #584 for the activity-title wording; its underlying game issue is not fixed here.

Checklist

Everyone

  • One topic.
  • The title is a Conventional Commit (type(scope): description) of the status line's type.
  • Why gives the reason plainly and links the issues that fit (the tracker searched).
  • Measurements has a verdict, or one line saying why there is nothing to measure.
  • Testing names what was tested, what wasn't, and what must still be tested, where and how.
  • Rebased on current main. Integrated main through 2b1d38c6 by merge; the exact validation baseline is named above.
  • python -I -B tests/run_all.py passes (any failure that also fails on main is named above).
  • No game files, dumps, build output or generated files. Documentation PNGs are UI-only captures; no application binaries or generated site are added by this PR.
  • third_party/ untouched (a new folder with a PROVENANCE.md instead).
  • The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.

When it applies

  • AI assistance recorded with Assisted-by: / Co-Authored-By: trailers.
  • Screenshots of the same spot, captioned like the Measurements columns, for a change that shows on screen. Seven examples above; the latest table wording has not received a rendered browser recheck.
  • A game-free test added for the fix, failing on main and passing here.
  • A check under tests/ that reads changed source updated in this PR, not weakened.
  • Docs updated.
**Type:** docs · **Risk:** low · **Tested on:** Linux, game-free checks and source/image review · **Needs:** successful site build and rendered recheck of the latest update ## Why Players need to recognize the controls in the installation, settings and save-transfer guides. These guides share seven maintained UI screenshots, keep the actions and replacement warnings in readable text, and flag screenshots for review when their source changes. ## What changed Seven UI-only examples illustrate the real maintained views with synthetic state. Graphics was captured from Longshot main **b2911d33**; six Launcher pictures were captured from **nightly-52-b1d9f7a9**, source **b1d9f7a9**. The follow-up retains those PNGs and their original capture provenance. - **Guides:** clickable full-size pictures, descriptive alternatives, version/example captions, numbered save-transfer steps, Linux/SteamOS AppImage executable permission before Build, and platform setup links. Shared-save instructions distinguish the pictured nightly from Launcher rc.3 on Windows. Installed and portable Windows backups now have separate paths, including the rc.3 portable exception. - **Capture maintenance:** exact source, fixture, dependency and PNG hashes; isolated capture helpers; 18 Python guard/isolation tests. Launcher staging retains its AvaloniaStats opt-out and explicit locked NuGet restore policy. - **Source review:** main through **2b1d38c6** is integrated. `source-review-e9bed614.md` records why the four changed menu inputs permit retaining the labelled Graphics example, and adds the new `threaded_rendering.h` dependency. All 59 reviewed inputs also match 2b1d38c6. The off-screen row changes the scrollbar proportion; no pixel-equivalence claim is made. - **Website:** registered menu text fields, including Custom output size, retain coverage and restart guards. The exact restart-list test now includes **Threaded rendering**. Neutral wording covers the item name in #584. - **Navigation:** guides use Starlight's hamburger; home/splash pages use one disclosure with matching icons and styles. This follow-up does not change navigation or CSS. No runtime code differs from the integrated main snapshot. ## Measurements **Verdict:** the combined previous head and main reproduced four screenshot-source failures and one restart-list test failure. After review and correction, all seven image/source checks, 18 Python screenshot tests and 76 website tests pass. The portable backup path now matches Launcher source. No gameplay or performance improvement is claimed. ### Flags and settings No game/runtime defaults change relative to main. These existing variables are pinned only by the isolated capture helpers: | Flag | Before this PR | After this PR | Effect | Recommendation | |---|---|---|---|---| | `HOS_DISPLAY_MODES` | No guide capture helper | `1280x720` in the menu fixture | Fixed illustrative display input | Fixture only; keep normal game behavior | | `LONGSHOT_LAUNCHER_HOME` | No guide capture helper | Temporary synthetic profile | Isolates Launcher state | Fixture only; never point at real state | | `LONGSHOT_LAUNCHER_OFFLINE` | No guide capture helper | `1` in the Launcher fixture | Offline capture state | Fixture only | | `LONGSHOT_LAUNCHER_REDUCED_MOTION` | No guide capture helper | `1` in the Launcher fixture | Settled capture layout | Fixture only | The displayed game-build selection, hardware/tools-ready results and Custom graphics values are illustrative. Launcher and game-build versions are recorded separately. No capture helper was rerun for this follow-up. The optional C++ capture fixture is Linux-only tooling, not a host/runtime interface change. ## Testing **Tested:** Integrated baseline: main **2b1d38c682baaa4d52f2cacc75fffb9505c1f34f**. Updated PR: **a0a93f11fe1edd80626de3538d8b638378e5ed6d**. Linux, Node 26.13.1; npm dependencies restored from the unchanged pinned lockfile. - `scripts/check_guide_screenshots.py --review-sources --launcher-source ...`: all seven assets and recorded UI/fixture inputs pass, using an isolated source archive of exact Launcher **b1d9f7a9b19fa99b91ec3e8cd24455d4703d6d25**. The review covers 59 menu inputs. Without the external checkout the checker correctly reports six Launcher source checks as NOT CHECKED. - `tests/test_guide_screenshots.py`: 14 passed. `tests/test_launcher_capture.py`: 4 passed. All seven existing PNGs inspected; image bytes, captured-source records, dates and fixture sources remain unchanged. - `node --test tests/*.test.ts`: **76/76 passed** on the final combined tree. The restart test first reproduced the missing Threaded rendering expectation; the fix preserves all existing coverage/restart assertions. Guide tests render the canonical Markdown and verify local image links and numbered-step placement. - Portable backup locations verified against `LauncherService.SaveEnv`, `LauncherHome.PortableSaveBackups` and `LauncherLayout.PortableHome` at Launcher b1d9f7a9, and the rc.3 portable backup override at 028ad66d. - `python3 -I -B tests/run_all.py`, outside the sandbox: **499 passed, 12 failed, 69 skipped in 62 seconds**. Every failure was rerun on clean main at the integrated revision; **all 12 fail there too: `test_lift_cleanup_error` (missing `_lift_store` fixture), `test_make_game_cache` (unexpected compiler subprocess), `test_appimage_player_build` (prebuilt-renderer path assertion), `test_bake_portability` (missing zstandard), `test_cpm_discovery` (stub missing `find`), `test_crash_dialog` (clang treats trailing `-x none` as an error), `test_env_on` (switch-source check), `test_linux_preflight` (unexpected profile-probe process), `test_readback_late` (range-log source expectation), `test_vk_pgo` (profile-note expectation), `test_vram_budget_row` (fixture missing `Options::preset`), and `test_walk_key` (missing `hos_oot_autoload_input` stub)**. These unrelated failures remain outside this documentation change. Missing tool/header and platform checks are reported as skips, not passes. - `npm run build` currently fails before page generation with Astro's `MISSING_EXPORT: loadDevToolbarApps` from `astro:toolbar:internal`. It reproduces on unchanged main e9bed614 using the same pinned dependency tree, including after `npm ci`; the website dependency/config files are unchanged by subsequent main 2b1d38c6. No successful final build or link-count result is claimed. - `git diff --check` passes. No runtime/renderer/third-party differences from the integrated main snapshot, no changed PNGs, no private assets, saves or installed-game settings. Historical evidence, not a fresh result: head **e4627be1** built 15 pages and checked 803 links/assets; its full suite was 503 passed, 6 failed, 69 skipped. The original captures were built and inspected at that head. The [maintainer review of e4627be1](https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/264#issuecomment-20941) reports Chromium checks at nine widths in both themes, image links, keyboard/touch navigation and zoom. It also identifies pre-existing home-page overflow and a search-result rendering limitation. Those results are attributed to that reviewer and revision. **Not tested:** a successful website build or browser rendering of this latest update, Firefox/Safari, real mobile devices, screen readers, Windows execution, a fresh menu/Launcher capture, live Vulkan equivalence, actual save transfer or gameplay. The local Astro error prevents using a fresh site build for browser checks here. Source/image review does not establish pixel equivalence. **Must be tested:** Linux and Windows, any GPU, by hand: once the baseline Astro failure is resolved or a working CI build is available, run `npm run build` and `npm run check`, expecting a successful build and passing link/asset checks. Open `/install/`, `/settings/` and `/saves/transfer/` at 320, 390, 800 and 1120px in both themes with keyboard and zoom, expecting the installed/portable backup paths to remain readable, numbered steps and captions to stay aligned, full-size image links to work, and no guide overflow. T-R2H9 remains the existing browser-testing request; the maintainer's prior-head results are linked above, not claimed as a result for this update. ## Screenshots Unchanged UI-only examples captured 2026-11-14. Launcher nightly-52-b1d9f7a9 on Linux; Graphics from development source b2911d33. Values are not recommendations or new-install defaults. Links deliberately retain the original image commit. ![Welcome and Build; illustrative candidate game build](https://git.magicbean.dev/bibiburl/Longshot/raw/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/images/guide/launcher-home.png) ![Game files; illustrative requirements and tools-ready results](https://git.magicbean.dev/bibiburl/Longshot/raw/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/images/guide/launcher-game-files.png) ![Manage saves; synthetic registered build](https://git.magicbean.dev/bibiburl/Longshot/raw/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/images/guide/launcher-manage-saves.png) ![Saves; empty shared save list](https://git.magicbean.dev/bibiburl/Longshot/raw/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/images/guide/launcher-saves.png) ![Import chooser; Another folder](https://git.magicbean.dev/bibiburl/Longshot/raw/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/images/guide/launcher-import.png) ![Import confirmation; synthetic source/destination, dry run only](https://git.magicbean.dev/bibiburl/Longshot/raw/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/images/guide/launcher-import-confirm.png) ![Graphics; Custom output size and illustrative settings](https://git.magicbean.dev/bibiburl/Longshot/raw/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/images/guide/settings-graphics.png) ## Risks **What could break:** future source changes require review of the image, dependency set and adjacent text. Hashes detect recorded-input drift but cannot establish visual usability or discover new dependencies automatically. The nightly and rc.3 differ on Windows saves; the guide distinguishes them. A retained historical image is not a pixel-identical rendering of current main. **Turning it off:** revert the documentation/capture/website changes. Original capture provenance stays in Git. `source-review-e9bed614.md` is the current retention decision; the earlier cf605c85 note concerns a replaced image. **Compatibility:** no runtime, save-format, options, cache or renderer ABI change relative to integrated main. No game build, launch, runtime experiment, actual save transfer, official release or production deployment was performed for this follow-up. The Longshot screenshot workflow is included. Required branch protection and the separate Launcher companion check remain maintainer setup; the README does not claim they are enabled. ## Issues See https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/104#issuecomment-12784 for the guide-image request and the review threads on this PR. See #584 for the activity-title wording; its underlying game issue is not fixed here. ## Checklist ### Everyone - [x] One topic. - [x] The title is a Conventional Commit (`type(scope): description`) of the status line's type. - [x] Why gives the reason plainly and links the issues that fit (the tracker searched). - [x] Measurements has a verdict, or one line saying why there is nothing to measure. - [x] Testing names what was tested, what wasn't, and what must still be tested, where and how. - [x] Rebased on current `main`. Integrated main through 2b1d38c6 by merge; the exact validation baseline is named above. - [x] `python -I -B tests/run_all.py` passes (any failure that also fails on `main` is named above). - [x] No game files, dumps, build output or generated files. Documentation PNGs are UI-only captures; no application binaries or generated site are added by this PR. - [x] `third_party/` untouched (a new folder with a `PROVENANCE.md` instead). - [x] The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled. ### When it applies - [x] AI assistance recorded with `Assisted-by:` / `Co-Authored-By:` trailers. - [x] Screenshots of the same spot, captioned like the Measurements columns, for a change that shows on screen. Seven examples above; the latest table wording has not received a rendered browser recheck. - [x] A game-free test added for the fix, failing on `main` and passing here. - [x] A check under `tests/` that reads changed source updated in this PR, not weakened. - [x] Docs updated.
docs(guides): add shared launcher screenshot and provenance
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 3s
PR description / Description follows the template (pull_request_target) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 5s
Third-party parts / As their notes say (pull_request) Successful in 6s
c745cf59d2
Assisted-by: Codex (OpenAI)
docs(saves): illustrate launcher transfer controls
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 4s
CI / Workflow lint (actionlint) (pull_request) Successful in 5s
Third-party parts / As their notes say (pull_request) Successful in 6s
PR description / Description follows the template (pull_request_target) Successful in 5s
Website / Website on Cloudflare (pull_request_target) Failing after 26s
9253f97a81
Assisted-by: Codex (OpenAI)
Author
Member

Added Saves and manual-import screenshots in 9253f97, plus exact rc.3 button labels and confirmation steps. The release-tag source confirms Windows saves remain per build while Linux saves are shared; the captions make that distinction explicit. All three PNG asset copies pass a byte-for-byte check. Settings fixture, source drift check and full website validation remain in progress.

Added Saves and manual-import screenshots in 9253f97, plus exact rc.3 button labels and confirmation steps. The release-tag source confirms Windows saves remain per build while Linux saves are shared; the captions make that distinction explicit. All three PNG asset copies pass a byte-for-byte check. Settings fixture, source drift check and full website validation remain in progress.
Author
Member

Added the developer maintenance plan: local menu/UI/font changes will trigger screenshot source review; Launcher UI/release authors get an explicit cross-repository review command and companion-docs responsibility. The planned Launcher hook is documented as a follow-up integration, not claimed as installed. Capture provenance remains separate from later human review records.

Added the developer maintenance plan: local menu/UI/font changes will trigger screenshot source review; Launcher UI/release authors get an explicit cross-repository review command and companion-docs responsibility. The planned Launcher hook is documented as a follow-up integration, not claimed as installed. Capture provenance remains separate from later human review records.
docs(guides): flag UI drift and document screenshot ownership
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 5s
CI / Workflow lint (actionlint) (pull_request) Successful in 8s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 10s
Third-party parts / As their notes say (pull_request) Successful in 15s
PR description / Description follows the template (pull_request_target) Successful in 5s
6d8a424e70
Assisted-by: Codex (OpenAI)
Author
Member

Implemented the maintenance plan in 6d8a424: an offline PNG/source-fingerprint checker, 12 passing regression tests and a read-only workflow definition for every PR/main push. Changed source identifies each affected screenshot; missing external Launcher source reports NOT CHECKED. The README assigns UI author/reviewer/docs maintainer responsibilities and separates the planned Launcher counterpart and required branch-protection configuration from what this PR actually adds. Settings integration and final validation remain WIP.

Implemented the maintenance plan in 6d8a424: an offline PNG/source-fingerprint checker, 12 passing regression tests and a read-only workflow definition for every PR/main push. Changed source identifies each affected screenshot; missing external Launcher source reports NOT CHECKED. The README assigns UI author/reviewer/docs maintainer responsibilities and separates the planned Launcher counterpart and required branch-protection configuration from what this PR actually adds. Settings integration and final validation remain WIP.
Assisted-by: Codex (OpenAI)
docs(guides): pin the planned launcher review job to its release commit
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 7s
CI / Workflow lint (actionlint) (pull_request) Successful in 10s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 9s
PR description / Description follows the template (pull_request_target) Successful in 9s
Third-party parts / As their notes say (pull_request) Successful in 13s
5afe0a17a8
Assisted-by: Codex (OpenAI)
Author
Member

Maintenance follow-ups require fingerprints for both UI capture source files (13 tests now pass) and specify that the planned Launcher-side review job must check out and verify the exact candidate/final-release commit SHA. Missing Launcher review and branch-protection setup remain explicitly separate from this PR’s local guard.

Maintenance follow-ups require fingerprints for both UI capture source files (13 tests now pass) and specify that the planned Launcher-side review job must check out and verify the exact candidate/final-release commit SHA. Missing Launcher review and branch-protection setup remain explicitly separate from this PR’s local guard.
docs(guides): capture the real settings menu without game assets
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 7s
PR description / Description follows the template (pull_request_target) Successful in 9s
CI / Workflow lint (actionlint) (pull_request) Successful in 10s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 8s
Third-party parts / As their notes say (pull_request) Successful in 10s
5832ee32e0
Render maintained menu code with bundled fonts and deterministic UI-only state; record capture and reviewed sources separately. Share the image with the settings guide and validate site paths containing spaces.

Assisted-by: Codex (OpenAI)
fix(guides): distinguish complete and skipped source reviews
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 6s
PR description / Description follows the template (pull_request_target) Successful in 7s
CI / Workflow lint (actionlint) (pull_request) Successful in 10s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 9s
Third-party parts / As their notes say (pull_request) Successful in 13s
58bb5b1732
Assisted-by: Codex (OpenAI)
docs(guides): track launcher fonts and save behavior dependencies
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 7s
CI / Workflow lint (actionlint) (pull_request) Successful in 7s
Third-party parts / As their notes say (pull_request) Successful in 10s
PR description / Description follows the template (pull_request_target) Successful in 3s
2e4b08009f
Assisted-by: Codex (OpenAI)
Author
Member

Added the real-menu UI-only settings fixture and fourth shared guide image. All image/source checks and 13 checker tests pass; the site builds 14 pages and passes 792-link/asset validation plus all 8 website test files. The developer plan now specifies every-PR source review, a separately installed Launcher companion job, exact-release checks, and required branch protection. Those cross-repository setup steps are not claimed as enabled. Original capture provenance is preserved; current menu comparison changes only the version label. WIP remains for browser-rendered review because the browser access host is unavailable.

Added the real-menu UI-only settings fixture and fourth shared guide image. All image/source checks and 13 checker tests pass; the site builds 14 pages and passes 792-link/asset validation plus all 8 website test files. The developer plan now specifies every-PR source review, a separately installed Launcher companion job, exact-release checks, and required branch protection. Those cross-repository setup steps are not claimed as enabled. Original capture provenance is preserved; current menu comparison changes only the version label. WIP remains for browser-rendered review because the browser access host is unavailable.
Author
Member

Two independent agents reviewed screenshot placement: a UI reviewer and a documentation designer. Their documented plan puts the import chooser inside step 3 before confirmation, the welcome capture directly beside Build, and the settings layout beside navigation. It recommends full-size links and prioritizes a synthetic-state import-confirmation capture. The PR description records exact anchors, reader questions, proposed versus existing assets and acceptance criteria. This was a review pass: guide placement and image files are unchanged; rendered mobile/theme review remains outstanding.

Two independent agents reviewed screenshot placement: a UI reviewer and a documentation designer. Their documented plan puts the import chooser inside step 3 before confirmation, the welcome capture directly beside Build, and the settings layout beside navigation. It recommends full-size links and prioritizes a synthetic-state import-confirmation capture. The PR description records exact anchors, reader questions, proposed versus existing assets and acceptance criteria. This was a review pass: guide placement and image files are unchanged; rendered mobile/theme review remains outstanding.
docs(guide): illustrate Launcher decisions beside their steps
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 4s
CI / Workflow lint (actionlint) (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 6s
Third-party parts / As their notes say (pull_request) Successful in 8s
PR description / Description follows the template (pull_request_target) Failing after 4s
Website / Website on Cloudflare (pull_request_target) Has been skipped
112bd103c1
Add real-view captures for Manage saves, game file selection and import confirmation with isolated synthetic state. Keep capture dependencies and source review in the screenshot manifest, and verify image links and transfer-step placement.

Assisted-by: Codex (OpenAI)
Author
Member

Added the three clarity captures in 112bd10: Manage saves navigation, game-file selection, and import confirmation. Each sits beside its action with a full-size link. The real Launcher views render isolated synthetic state; import remains a dry-run preview. Updated the capture provenance and developer-maintained review plan. All 7 image/source checks, 14 guard tests, and the website build/check pass (14 pages, 802 links/assets, 8 Node test files). WIP remains for rendered browser review and maintainer-side required-check setup.

Added the three clarity captures in 112bd10: Manage saves navigation, game-file selection, and import confirmation. Each sits beside its action with a full-size link. The real Launcher views render isolated synthetic state; import remains a dry-run preview. Updated the capture provenance and developer-maintained review plan. All 7 image/source checks, 14 guard tests, and the website build/check pass (14 pages, 802 links/assets, 8 Node test files). WIP remains for rendered browser review and maintainer-side required-check setup.
bibiburl changed title from WIP: docs(guides): illustrate installation, settings and save transfer to docs(guides): illustrate installation, settings and save transfer 2026-11-13 19:49:32 +00:00
mooki requested changes 2026-11-14 00:24:34 +00:00
Dismissed
mooki left a comment

Read-only review of head 112bd103 against main 514591a3. I read the changed sources, looked at all seven pictures and read the existing check logs. I ran no tests, builds or capture helpers.

What's good

  • The revised Launcher steps match rc.3: Manage saves, From an emulator…, Another folder…, the confirmation, then Import. The replacement warnings stay selectable text.
  • website/src/repo-docs/assets.ts uses fileURLToPath, the shared mapping reaches both the asset-copy hook and the link rewriting, and the new test checks a destination with spaces in it.
  • The screenshot job ran on this head (https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/2406/jobs/0) and its 14 tests passed. It reports the Launcher's sources as NOT CHECKED instead of claiming a review across both repositories.

Must change

  1. Keep the Launcher's build-statistics opt-out in the capture build. scripts/screenshots/capture_launcher.py stages only App/, Core/, Directory.Build.props and Directory.Packages.props. The Launcher's Directory.Build.targets at v1.0.0-rc.3 is left out, and that file is the opt-out: it declares an empty AvaloniaStats target, with the comment that Avalonia.BuildServices otherwise reports each build to Avalonia's servers. DOTNET_CLI_TELEMETRY_OPTOUT, which the helper does set, is a different switch. So as written the capture build is the one Launcher build that would report. Stage that file too and include it in the fingerprint, or reproduce its effect explicitly.
  2. Resolve the README conflict without losing main's newer text. The branch no longer merges: README.md conflicts. Main has since added AMD FSR 4 and limits the fallback sentence to FSR 3.1; keep that when resolving.

Should change

  • Stage the Launcher's NuGet.Config as well. It restricts restores to nuget.org. Locked package versions do not carry the feed configuration, so the staged restore currently uses whatever sources the machine has.
  • Neutral paths in two pictures. The pictures embedded at docs/saves.md lines 7 and 51 show the capture run's temporary folder name, including in the confirmation's backup path. They are throwaway fixture paths, not anyone's saves, but a guide reads better with neutral ones. Recapture with a fixed fixture path rather than repainting the labels.
  • Make the new obligation easy to find. docs/images/guide/README.md describes the check that now runs on every pull request. A link from CONTRIBUTING would help: even a change that only touches a recorded renderer header will ask for a screenshot review.

Small

  • docs/saves.md line 37 changes Frizti to Fritzi. The Launcher's own list at rc.3 says Frizti (Fritchii), so the old spelling matches what a player sees.

Readiness

The description says work in progress while the title does not; the description check on this head lists what is still missing (https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/2448/jobs/0). The README and reference move may need coordinating with #236.

Not checked

Nothing was built or run here: not the capture helpers, not the website build, not a real save transfer, and nothing on Windows. I did not compare the pictures against a live Launcher.

Read-only review of head `112bd103` against main `514591a3`. I read the changed sources, looked at all seven pictures and read the existing check logs. I ran no tests, builds or capture helpers. ### What's good - The revised Launcher steps match rc.3: **Manage saves**, **From an emulator…**, **Another folder…**, the confirmation, then **Import**. The replacement warnings stay selectable text. - `website/src/repo-docs/assets.ts` uses `fileURLToPath`, the shared mapping reaches both the asset-copy hook and the link rewriting, and the new test checks a destination with spaces in it. - The screenshot job ran on this head (https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/2406/jobs/0) and its 14 tests passed. It reports the Launcher's sources as **NOT CHECKED** instead of claiming a review across both repositories. ### Must change 1. **Keep the Launcher's build-statistics opt-out in the capture build.** `scripts/screenshots/capture_launcher.py` stages only `App/`, `Core/`, `Directory.Build.props` and `Directory.Packages.props`. The Launcher's `Directory.Build.targets` at v1.0.0-rc.3 is left out, and that file is the opt-out: it declares an empty `AvaloniaStats` target, with the comment that Avalonia.BuildServices otherwise reports each build to Avalonia's servers. `DOTNET_CLI_TELEMETRY_OPTOUT`, which the helper does set, is a different switch. So as written the capture build is the one Launcher build that would report. Stage that file too and include it in the fingerprint, or reproduce its effect explicitly. 2. **Resolve the README conflict without losing main's newer text.** The branch no longer merges: `README.md` conflicts. Main has since added AMD FSR 4 and limits the fallback sentence to FSR 3.1; keep that when resolving. ### Should change - **Stage the Launcher's `NuGet.Config` as well.** It restricts restores to nuget.org. Locked package versions do not carry the feed configuration, so the staged restore currently uses whatever sources the machine has. - **Neutral paths in two pictures.** The pictures embedded at `docs/saves.md` lines 7 and 51 show the capture run's temporary folder name, including in the confirmation's backup path. They are throwaway fixture paths, not anyone's saves, but a guide reads better with neutral ones. Recapture with a fixed fixture path rather than repainting the labels. - **Make the new obligation easy to find.** `docs/images/guide/README.md` describes the check that now runs on every pull request. A link from CONTRIBUTING would help: even a change that only touches a recorded renderer header will ask for a screenshot review. ### Small - `docs/saves.md` line 37 changes **Frizti** to **Fritzi**. The Launcher's own list at rc.3 says **Frizti (Fritchii)**, so the old spelling matches what a player sees. ### Readiness The description says work in progress while the title does not; the description check on this head lists what is still missing (https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/2448/jobs/0). The README and reference move may need coordinating with https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/236. ### Not checked Nothing was built or run here: not the capture helpers, not the website build, not a real save transfer, and nothing on Windows. I did not compare the pictures against a live Launcher.
bibiburl force-pushed docs/guide-screenshots from 112bd103c1
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 4s
CI / Workflow lint (actionlint) (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 6s
Third-party parts / As their notes say (pull_request) Successful in 8s
PR description / Description follows the template (pull_request_target) Failing after 4s
Website / Website on Cloudflare (pull_request_target) Has been skipped
to 54ffa6b5e0
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 4s
PR description / Description follows the template (pull_request_target) Failing after 5s
CI / Workflow lint (actionlint) (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 6s
Third-party parts / As their notes say (pull_request) Successful in 7s
2026-11-14 01:54:44 +00:00
Compare
bibiburl force-pushed docs/guide-screenshots from 54ffa6b5e0
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 4s
PR description / Description follows the template (pull_request_target) Failing after 5s
CI / Workflow lint (actionlint) (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 6s
Third-party parts / As their notes say (pull_request) Successful in 7s
to f035bbd54f
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 6s
CI / Workflow lint (actionlint) (pull_request) Successful in 9s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 8s
Third-party parts / As their notes say (pull_request) Successful in 9s
PR description / Description follows the template (pull_request_target) Successful in 4s
2026-11-14 02:04:12 +00:00
Compare
Author
Member

Addressed the review in the rebased head f035bbd (main 0815d98):

  • Stage and fingerprint Directory.Build.targets, preserving the Launcher’s AvaloniaStats opt-out; stage NuGet.Config and pass it explicitly to both locked restores.
  • Recapture Manage saves and confirmation with a fixed neutral synthetic path, rejecting existing state before cleanup. Four new isolation/build-policy tests pass.
  • Retain main’s complete README unchanged, including FSR 4 eligibility and FSR 3.1 fallback wording; the previous HDR workaround is now unnecessary. PR #236 remains open, and the description notes the source-move coordination.
  • Link screenshot maintenance from CONTRIBUTING and restore Frizti to match the Launcher.
  • Main changed the visible output-resolution label during follow-up, so recapture the settings image and label it as a development-build example.

Validation: all 7 image/source checks and 18 Python tests pass; both fixture builds succeed; the final site builds 15 pages and validates 852 links/assets. Main/PR/main/PR website tests give 71/72 versus 74/75, with the same existing Audio-output assertion failing on both. Full game-free run: 492 passed, 1 failed, 62 skipped; the sole HoldToggle fixture failure is reproduced on exact main. No game or real save transfer ran.

Independent follow-up review found no blocking issue in the fixes. The description now matches ready-for-review status and records current evidence instead of the old WIP text. Browser rendering review remains outstanding because the browser host is unavailable; no test request or successful visual inspection is claimed. Ready status is retained as requested. Please re-review the addressed findings.

Addressed the review in the rebased head f035bbd (main 0815d98): - Stage and fingerprint Directory.Build.targets, preserving the Launcher’s AvaloniaStats opt-out; stage NuGet.Config and pass it explicitly to both locked restores. - Recapture Manage saves and confirmation with a fixed neutral synthetic path, rejecting existing state before cleanup. Four new isolation/build-policy tests pass. - Retain main’s complete README unchanged, including FSR 4 eligibility and FSR 3.1 fallback wording; the previous HDR workaround is now unnecessary. PR #236 remains open, and the description notes the source-move coordination. - Link screenshot maintenance from CONTRIBUTING and restore Frizti to match the Launcher. - Main changed the visible output-resolution label during follow-up, so recapture the settings image and label it as a development-build example. Validation: all 7 image/source checks and 18 Python tests pass; both fixture builds succeed; the final site builds 15 pages and validates 852 links/assets. Main/PR/main/PR website tests give 71/72 versus 74/75, with the same existing Audio-output assertion failing on both. Full game-free run: 492 passed, 1 failed, 62 skipped; the sole HoldToggle fixture failure is reproduced on exact main. No game or real save transfer ran. Independent follow-up review found no blocking issue in the fixes. The description now matches ready-for-review status and records current evidence instead of the old WIP text. Browser rendering review remains outstanding because the browser host is unavailable; no test request or successful visual inspection is claimed. Ready status is retained as requested. Please re-review the addressed findings.
Author
Member

Posted browser-testing request T-R2H9 for the Install, Settings and Save Transfer guides: desktop and 360–390px layouts, both themes, zoom, keyboard full-size links and search. The system says it is waiting for a maintainer to add the testing wanted label before anyone can claim it. Please add that label to enable testing. The description now links the request; rendered review remains pending, and no successful browser test is claimed.

Posted browser-testing request **T-R2H9** for the Install, Settings and Save Transfer guides: desktop and 360–390px layouts, both themes, zoom, keyboard full-size links and search. The system says it is waiting for a maintainer to add the `testing wanted` label before anyone can claim it. Please add that label to enable testing. The description now links the request; rendered review remains pending, and no successful browser test is claimed.
docs(guides): simplify instructions and align save transfers
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 5s
CI / Workflow lint (actionlint) (pull_request) Successful in 8s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 11s
Third-party parts / As their notes say (pull_request) Successful in 14s
PR description / Description follows the template (pull_request_target) Successful in 4s
Website / Website on Cloudflare (pull_request_target) Successful in 1m11s
d7c62a39d4
Shorten launcher guide copy, make screenshots the full-size links, and align transfer steps and captions with the article. Repair the stale Audio output restart test without weakening its assertion.

Assisted-by: Codex (OpenAI)
Author
Member

Updated in d7c62a3: simplified the three player guides, removed the separate full-size screenshot labels, and aligned save-transfer steps, images and captions with the article while preserving native numbering and screenshot links.

Exact PR-source validation: website build succeeds (15 pages); 851 local links/assets/anchors pass; all 75 website tests pass. The stale Audio output test now mutates the current restart annotation and still requires the same mismatch error. All seven screenshot integrity/source checks and 14 guard tests pass.

Browser access remains unavailable. The PR description explicitly asks the independent reviewer to check the complete transfer page, responsive layouts, both themes, keyboard links and search. No deployment or merge was performed.

Updated in d7c62a3: simplified the three player guides, removed the separate full-size screenshot labels, and aligned save-transfer steps, images and captions with the article while preserving native numbering and screenshot links. Exact PR-source validation: website build succeeds (15 pages); 851 local links/assets/anchors pass; all 75 website tests pass. The stale Audio output test now mutates the current restart annotation and still requires the same mismatch error. All seven screenshot integrity/source checks and 14 guard tests pass. Browser access remains unavailable. The PR description explicitly asks the independent reviewer to check the complete transfer page, responsive layouts, both themes, keyboard links and search. No deployment or merge was performed.
mooki requested changes 2026-11-14 04:19:21 +00:00
Dismissed
mooki left a comment

Read-only re-review of d7c62a39d4 against main cf605c85. I read the changes since 112bd103, the updated description and replies, the existing check logs and the three replaced pictures. I ran nothing from the pull request.

Earlier points

  • Build-statistics opt-out: resolved. scripts/screenshots/capture_launcher.py:14-21,53-61 requires, fingerprints and copies Directory.Build.targets. The three source-rendered Launcher records include it. The missing-file tests cover its omission.
  • README conflict: resolved. README.md:407 retains AMD FSR 4 and the FSR 3.1 fallback. README is no longer in this PR's diff, and Forgejo reports it mergeable.
  • NuGet configuration: resolved. scripts/screenshots/capture_launcher.py:93-95 passes the staged NuGet.Config explicitly to both locked restores; it is also required and fingerprinted.
  • Neutral paths: resolved. Both replaced Launcher pictures now show fixed example names, not a capture run's random directory. capture_launcher.py:25-32,98-99 reserves a new directory before capture and refuses an existing one. LauncherCapture.cs:18-19 accepts that empty directory. The tests check that existing data survives refusal and that failed capture cleans up its own directory.
  • Contributor instructions: resolved. CONTRIBUTING.md:277-280 links the maintenance procedure and explains that implementation-only changes can require review.
  • Frizti: resolved. docs/saves.md:39 matches the released chooser.
  • Description errors: resolved. The current description check passes: https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/3939/jobs/0. The browser review is now requested as T-R2H9, but is not completed.

What's good

  • The save-transfer actions, backup warning and warning that copying replaces rather than merges saves remain selectable text. Forgejo's rendered HTML keeps the chooser in step 3 and the confirmation and Import instruction in step 4.
  • The shared image mapping, fileURLToPath, descriptive alternatives and space-containing-path test are retained. Removing the separate labels has not removed the website's full-size links; the test now checks the rendered links.
  • The Audio output test now changes the current row and asserts that the change happened, while retaining the restart-mismatch assertion.
  • The screenshot job checked this head and passed 14 image-check tests plus four capture-policy tests. Launcher sources still correctly say NOT CHECKED: https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/3935/jobs/0.

Must change

  1. Keep the Linux launch prerequisite. docs/getting-started.md:17-19 now jumps from downloading to pressing Build. The simplification removed both the operating-system instructions and the warning that Linux/SteamOS users must make the AppImage executable. A reader with a non-executable download cannot reach that welcome screen. Restore the short platform links and permission step before Build; the instructions remain in README.md:155-161.
  2. Refresh the source review against the merge target. docs/images/guide/manifest.json:273-274 still records the menu files from the 0815d98 baseline. Current main has changed those files and other recorded headers, including the Intel shader-compilation row and cache/log paths. The green job checked the branch head, not those combined sources; merging unchanged would make the new main-push check fail. Review those changes, then update the review record with a reason for retaining or replacing the picture. Do not just replace the hashes.

Should change

Keep a short example-state caption beside docs/getting-started.md:34 and docs/graphics-and-controls.md:19. The former shows invented hardware/tools-ready results; the latter is a development-menu example with Custom values. Removing the longer captions also removed those qualifications from the player pages. The manifest alone does not tell their readers.

Readiness and not checked

T-R2H9 still awaits eligibility and a browser result: #264 (comment). The new page-scoped list and figure styles need that check. The reported 75 website tests and carried whole-suite result are the author's evidence, not runs made here; website and full-suite CI were skipped. Nothing was built, captured or run on Windows here, and no real save transfer or live-game comparison was made. The reference move remains open at #236.

Read-only re-review of `d7c62a39d4` against main `cf605c85`. I read the changes since `112bd103`, the updated description and replies, the existing check logs and the three replaced pictures. I ran nothing from the pull request. ### Earlier points - **Build-statistics opt-out: resolved.** `scripts/screenshots/capture_launcher.py:14-21,53-61` requires, fingerprints and copies `Directory.Build.targets`. The three source-rendered Launcher records include it. The missing-file tests cover its omission. - **README conflict: resolved.** `README.md:407` retains AMD FSR 4 and the FSR 3.1 fallback. README is no longer in this PR's diff, and Forgejo reports it mergeable. - **NuGet configuration: resolved.** `scripts/screenshots/capture_launcher.py:93-95` passes the staged `NuGet.Config` explicitly to both locked restores; it is also required and fingerprinted. - **Neutral paths: resolved.** Both replaced Launcher pictures now show fixed example names, not a capture run's random directory. `capture_launcher.py:25-32,98-99` reserves a new directory before capture and refuses an existing one. `LauncherCapture.cs:18-19` accepts that empty directory. The tests check that existing data survives refusal and that failed capture cleans up its own directory. - **Contributor instructions: resolved.** `CONTRIBUTING.md:277-280` links the maintenance procedure and explains that implementation-only changes can require review. - **Frizti: resolved.** `docs/saves.md:39` matches the released chooser. - **Description errors: resolved.** The current description check passes: https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/3939/jobs/0. The browser review is now requested as T-R2H9, but is not completed. ### What's good - The save-transfer actions, backup warning and warning that copying replaces rather than merges saves remain selectable text. Forgejo's rendered HTML keeps the chooser in step 3 and the confirmation and Import instruction in step 4. - The shared image mapping, `fileURLToPath`, descriptive alternatives and space-containing-path test are retained. Removing the separate labels has not removed the website's full-size links; the test now checks the rendered links. - The Audio output test now changes the current row and asserts that the change happened, while retaining the restart-mismatch assertion. - The screenshot job checked this head and passed 14 image-check tests plus four capture-policy tests. Launcher sources still correctly say **NOT CHECKED**: https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/3935/jobs/0. ### Must change 1. **Keep the Linux launch prerequisite.** `docs/getting-started.md:17-19` now jumps from downloading to pressing Build. The simplification removed both the operating-system instructions and the warning that Linux/SteamOS users must make the AppImage executable. A reader with a non-executable download cannot reach that welcome screen. Restore the short platform links and permission step before Build; the instructions remain in `README.md:155-161`. 2. **Refresh the source review against the merge target.** `docs/images/guide/manifest.json:273-274` still records the menu files from the `0815d98` baseline. Current main has changed those files and other recorded headers, including the Intel shader-compilation row and cache/log paths. The green job checked the branch head, not those combined sources; merging unchanged would make the new main-push check fail. Review those changes, then update the review record with a reason for retaining or replacing the picture. Do not just replace the hashes. ### Should change Keep a short example-state caption beside `docs/getting-started.md:34` and `docs/graphics-and-controls.md:19`. The former shows invented hardware/tools-ready results; the latter is a development-menu example with Custom values. Removing the longer captions also removed those qualifications from the player pages. The manifest alone does not tell their readers. ### Readiness and not checked T-R2H9 still awaits eligibility and a browser result: https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/264#issuecomment-16733. The new page-scoped list and figure styles need that check. The reported 75 website tests and carried whole-suite result are the author's evidence, not runs made here; website and full-suite CI were skipped. Nothing was built, captured or run on Windows here, and no real save transfer or live-game comparison was made. The reference move remains open at https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/236.
Owner
<!-- website-preview --> **Website preview:** https://pr-264-longshot-website.hckr-5e0.workers.dev This commit (b905befe78bb) on its own: https://a952ccab-longshot-website.hckr-5e0.workers.dev
docs(guides): review screenshots against current main and simplify mobile navigation
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 5s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 5s
Third-party parts / As their notes say (pull_request) Successful in 6s
PR description / Description follows the template (pull_request_target) Successful in 3s
Website / Website on Cloudflare (pull_request_target) Successful in 1m55s
b905befe78
Integrate main cf605c85 and record why all nine changed menu dependencies leave the retained Graphics capture accurate. Preserve capture provenance. Keep one mobile hamburger per page and remove the duplicate Menu row.

Assisted-by: Codex (OpenAI)
Author
Member

Updated in b905befe78.

Addressed source-review item #2 against main cf605c85, now integrated into the branch. The combined tree first reproduced all nine stale-source failures. I reviewed those nine diffs and the existing Graphics image, then recorded per-file retention reasons in docs/images/guide/source-review-cf605c85.md and review.notes. Intel shader compiles is a Windows/Intel-only Debug row; cache/log destinations and pipeline-list error text are not pictured; driver/recorder/sparse-memory headers do not change the fixture drawing path. Original image, capture date, version banner and captured-source provenance remain unchanged. This is a source-and-image review, not a new capture.

Also made the author's requested mobile-header cleanup: guide pages retain Starlight's hamburger without the duplicate Menu disclosure; home/splash pages retain their links behind one hamburger. Removed the empty second header row. Generated home/install/settings/transfer HTML has exactly one mobile navigation control per page and retains the main destinations.

Validation on the combined tree: all seven image/source checks pass including exact Launcher rc.3; 14 screenshot tests + 4 capture-policy tests pass; website builds 15 pages, passes 799 link/asset checks and all 75 tests. Full game-free suite: 490 pass, 3 fail, 68 skip; all three failures reproduce on unchanged cf605c85 (missing zstandard, stale module_ids source marker, missing HoldToggle in pad fixture). No runtime source changes.

Fresh UI fixture rendering could not start without Vulkan headers. Browser host remains unavailable, so rendered mobile interaction/layout review is still pending; no new screenshot or live-game verification is claimed. Review item #1 is intentionally unchanged at the author's request, not claimed resolved. The PR description now contains this current evidence.

Updated in b905befe78bbb00ce2c3875cea7a6e2e932a96cb. Addressed source-review item #2 against main cf605c85, now integrated into the branch. The combined tree first reproduced all nine stale-source failures. I reviewed those nine diffs and the existing Graphics image, then recorded per-file retention reasons in `docs/images/guide/source-review-cf605c85.md` and `review.notes`. Intel shader compiles is a Windows/Intel-only Debug row; cache/log destinations and pipeline-list error text are not pictured; driver/recorder/sparse-memory headers do not change the fixture drawing path. Original image, capture date, version banner and captured-source provenance remain unchanged. This is a source-and-image review, not a new capture. Also made the author's requested mobile-header cleanup: guide pages retain Starlight's hamburger without the duplicate Menu disclosure; home/splash pages retain their links behind one hamburger. Removed the empty second header row. Generated home/install/settings/transfer HTML has exactly one mobile navigation control per page and retains the main destinations. Validation on the combined tree: all seven image/source checks pass including exact Launcher rc.3; 14 screenshot tests + 4 capture-policy tests pass; website builds 15 pages, passes 799 link/asset checks and all 75 tests. Full game-free suite: 490 pass, 3 fail, 68 skip; all three failures reproduce on unchanged cf605c85 (missing zstandard, stale module_ids source marker, missing HoldToggle in pad fixture). No runtime source changes. Fresh UI fixture rendering could not start without Vulkan headers. Browser host remains unavailable, so rendered mobile interaction/layout review is still pending; no new screenshot or live-game verification is claimed. Review item #1 is intentionally unchanged at the author's request, not claimed resolved. The PR description now contains this current evidence.
fix(website): unify mobile hamburger styling
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 5s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 6s
Third-party parts / As their notes say (pull_request) Successful in 10s
PR description / Description follows the template (pull_request_target) Successful in 3s
Website / Website on Cloudflare (pull_request_target) Has been skipped
31a18758e3
Use Starlight icons and shared button styles for home and guide navigation, including light/dark and expanded states.

Assisted-by: Codex (OpenAI)
Author
Member

Fixed the reported hamburger-style mismatch in 31a18758. The home disclosure now uses the same Starlight bars/close icons as the guide sidebar. Shared CSS controls size, centering, background/foreground colours, shadow and open state in both themes.

Validation: 15-page build, 799 link/asset checks and all 75 website tests pass. Generated home/install/settings/transfer markup has identical menu/close SVGs and one mobile navigation control per page. Rendered-browser verification remains unavailable. No runtime changes; the previous source-review record is untouched.

The preview label needs adding again for this new commit to refresh the PR preview.

Fixed the reported hamburger-style mismatch in 31a18758. The home disclosure now uses the same Starlight bars/close icons as the guide sidebar. Shared CSS controls size, centering, background/foreground colours, shadow and open state in both themes. Validation: 15-page build, 799 link/asset checks and all 75 website tests pass. Generated home/install/settings/transfer markup has identical menu/close SVGs and one mobile navigation control per page. Rendered-browser verification remains unavailable. No runtime changes; the previous source-review record is untouched. The preview label needs adding again for this new commit to refresh the PR preview.
mooki requested changes 2026-11-14 06:50:32 +00:00
Dismissed
mooki left a comment

Re-review of 31a18758e3 against main 0caf06184. I read the replies, the source-review record and the later mobile-header changes. I ran the website tests and build, the site check and the screenshot checks on this head, including the pinned Launcher source.

Earlier points

  • Source-review item 2: settled. docs/images/guide/manifest.json:244-274 now records the integrated cf605c85 sources. The nine explanations in docs/images/guide/source-review-cf605c85.md:19-27 match the diffs: the Intel control is a Windows/Intel-only Debug row; the path and pipeline-list changes are not pictured; the driver, recorder and sparse-memory additions do not run in the menu drawing example. None of these recorded sources changed between cf605c85 and current main 0caf06184. The original picture and capture record are preserved, rather than presented as a new capture. The full source check passes here.
  • Linux launch prerequisite: still open. docs/getting-started.md:13-19 still goes straight from downloading to pressing Build. The reply explicitly leaves this unchanged. A Linux or SteamOS reader whose AppImage is not executable still cannot reach that screen. Restore the short permission step and platform-instructions link; the instructions remain in README.md:163-169.
  • Example-state captions: still open. docs/getting-started.md:32-36 and docs/graphics-and-controls.md:17-21 still omit the short explanation that the hardware/tools-ready display is illustrative and the settings picture is a development example, not recommended defaults. The source-review note explains this, but readers of those player pages do not see it.
  • Browser review: partly settled. T-R2H9 exists and there is now a preview: #264 (comment). The pinned preview identifies b905befe78bb, before the latest hamburger styling. It is not a browser result for 31a18758e3, and no completed T-R2H9 result is posted.

What's good

The earlier fixes remain in place: capture_launcher.py:14-21,53-61 preserves the statistics opt-out; 93-95 supplies the explicit NuGet configuration; 25-32,98-99 refuses an existing example directory. The neutral pictures are unchanged. CONTRIBUTING.md:277-280 still links screenshot maintenance, docs/saves.md:39 says Frizti, and README.md:445 preserves the FSR 4/FSR 3.1 wording.

The save-replacement warning, numbered import steps, full-size image links, shared asset mapping and space-containing-path test are retained. The Audio output test still asserts that its input changed and that the restart mismatch is rejected.

New changes

website/src/components/Header.astro:6,23-30 renders its own disclosure only on pages without Starlight's sidebar. Starlight's page frame renders its toggle only when that sidebar exists, so the two branches do not duplicate the control. The new shared styles use the same bars/close icons and appearance rules. I found no new source-level blocker there, but opening, closing, focus, narrow layouts and both themes still need the requested browser review.

Checks run

  • All seven image and recorded source checks passed, including Launcher rc.3 028ad66d.
  • Screenshot tests: 14 passed. Capture-policy tests: four passed.
  • Website tests: 75 passed, none failed or skipped.
  • Website build: 15 pages. Site check: 799 local links/assets, anchors and edit links passed.

These used the pinned dependencies on Linux, under the shared measuring lock. The build retains the existing duplicate-404-route warning. Nothing was deployed or posted. I did not rebuild the screenshot programs, run the whole game-free suite, make a real save transfer, test Windows or perform a rendered-browser check.

The source-review blocker is closed. The missing Linux launch step is why I am keeping the change request open.

Re-review of `31a18758e3` against main `0caf06184`. I read the replies, the source-review record and the later mobile-header changes. I ran the website tests and build, the site check and the screenshot checks on this head, including the pinned Launcher source. ### Earlier points - **Source-review item 2: settled.** `docs/images/guide/manifest.json:244-274` now records the integrated `cf605c85` sources. The nine explanations in `docs/images/guide/source-review-cf605c85.md:19-27` match the diffs: the Intel control is a Windows/Intel-only Debug row; the path and pipeline-list changes are not pictured; the driver, recorder and sparse-memory additions do not run in the menu drawing example. None of these recorded sources changed between `cf605c85` and current main `0caf06184`. The original picture and capture record are preserved, rather than presented as a new capture. The full source check passes here. - **Linux launch prerequisite: still open.** `docs/getting-started.md:13-19` still goes straight from downloading to pressing Build. The reply explicitly leaves this unchanged. A Linux or SteamOS reader whose AppImage is not executable still cannot reach that screen. Restore the short permission step and platform-instructions link; the instructions remain in `README.md:163-169`. - **Example-state captions: still open.** `docs/getting-started.md:32-36` and `docs/graphics-and-controls.md:17-21` still omit the short explanation that the hardware/tools-ready display is illustrative and the settings picture is a development example, not recommended defaults. The source-review note explains this, but readers of those player pages do not see it. - **Browser review: partly settled.** T-R2H9 exists and there is now a preview: https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/264#issuecomment-17237. The pinned preview identifies `b905befe78bb`, before the latest hamburger styling. It is not a browser result for `31a18758e3`, and no completed T-R2H9 result is posted. ### What's good The earlier fixes remain in place: `capture_launcher.py:14-21,53-61` preserves the statistics opt-out; `93-95` supplies the explicit NuGet configuration; `25-32,98-99` refuses an existing example directory. The neutral pictures are unchanged. `CONTRIBUTING.md:277-280` still links screenshot maintenance, `docs/saves.md:39` says Frizti, and `README.md:445` preserves the FSR 4/FSR 3.1 wording. The save-replacement warning, numbered import steps, full-size image links, shared asset mapping and space-containing-path test are retained. The Audio output test still asserts that its input changed and that the restart mismatch is rejected. ### New changes `website/src/components/Header.astro:6,23-30` renders its own disclosure only on pages without Starlight's sidebar. Starlight's page frame renders its toggle only when that sidebar exists, so the two branches do not duplicate the control. The new shared styles use the same bars/close icons and appearance rules. I found no new source-level blocker there, but opening, closing, focus, narrow layouts and both themes still need the requested browser review. ### Checks run - All seven image and recorded source checks passed, including Launcher rc.3 `028ad66d`. - Screenshot tests: 14 passed. Capture-policy tests: four passed. - Website tests: 75 passed, none failed or skipped. - Website build: 15 pages. Site check: 799 local links/assets, anchors and edit links passed. These used the pinned dependencies on Linux, under the shared measuring lock. The build retains the existing duplicate-404-route warning. Nothing was deployed or posted. I did not rebuild the screenshot programs, run the whole game-free suite, make a real save transfer, test Windows or perform a rendered-browser check. The source-review blocker is closed. The missing Linux launch step is why I am keeping the change request open.
docs(install): restore Linux launcher permission step
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 4s
CI / Workflow lint (actionlint) (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 6s
beanstalk/approval awaiting maintainer approval
Third-party parts / As their notes say (pull_request) Successful in 9s
PR description / Description follows the template (pull_request_target) Failing after 5s
b792d80516
Restore the AppImage executable-permission instruction before Build and link the platform setup guides.

Assisted-by: OpenAI Codex
Author
Member

Resolved the Linux launch prerequisite in b792d805: Getting started now tells Linux/SteamOS users to open the AppImage’s Properties and enable Allow executing file as program before opening the launcher and pressing Build. Links to the full Windows and Linux setup instructions are restored. No other source files changed.

Validation on this branch: 15 pages built; 799 link/asset/anchor checks passed; all 75 website tests passed; generated install HTML puts the permission step before Build; git diff --check passed. No fresh browser review or full runtime test run for this text-only edit.

Separate review finding: a temporary merge of the previous PR head 31a18758 with main 414f56e2 is conflict-free but fails the screenshot-source guard on seven inputs. Main’s new Custom output size row is absent from the screenshot, so its review/capture needs refreshing. The combined website build also fails on that setting, but that parser failure reproduces on main itself (main tests 64/72 pass; combined 66/75 pass, all failures reach the same mismatch). These issues remain open; the Linux fix does not claim to resolve them. This is implementation follow-up/self-review, not independent approval.

Resolved the Linux launch prerequisite in b792d805: Getting started now tells Linux/SteamOS users to open the AppImage’s Properties and enable **Allow executing file as program** before opening the launcher and pressing Build. Links to the full Windows and Linux setup instructions are restored. No other source files changed. Validation on this branch: 15 pages built; 799 link/asset/anchor checks passed; all 75 website tests passed; generated install HTML puts the permission step before Build; `git diff --check` passed. No fresh browser review or full runtime test run for this text-only edit. Separate review finding: a temporary merge of the previous PR head 31a18758 with main 414f56e2 is conflict-free but fails the screenshot-source guard on seven inputs. Main’s new **Custom output size** row is absent from the screenshot, so its review/capture needs refreshing. The combined website build also fails on that setting, but that parser failure reproduces on main itself (main tests 64/72 pass; combined 66/75 pass, all failures reach the same mismatch). These issues remain open; the Linux fix does not claim to resolve them. This is implementation follow-up/self-review, not independent approval.
docs(guides): refresh captures from current menu and launcher
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 4s
CI / Workflow lint (actionlint) (pull_request) Successful in 9s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 11s
Third-party parts / As their notes say (pull_request) Successful in 15s
PR description / Description follows the template (pull_request_target) Failing after 7s
beanstalk/approval Test farm not requested
e4627be1ee
Integrate main b2911d33, regenerate seven UI-only screenshots, record capture provenance and refresh version-specific guidance. Support registered menu text fields in the website catalogue and neutralize the new item name reported in issue 584.

Assisted-by: OpenAI Codex
Author
Member

Refreshed all seven guide screenshots in e4627be1, integrating main b2911d33. Graphics now shows Custom output size; all six Launcher views are captured from nightly-52-b1d9f7a9 (b1d9f7a9) using synthetic state and the real maintained UI. Captions identify nightly/example state, and save guidance distinguishes its shared Windows saves from rc.3. Linux executable permission remains restored.

The website importer now handles registered text fields and their restart requirement. A neutral-copy rule also covers the item name in issue #584, which blocked the publication check. All source/fixture checks, 18 Python screenshot tests, 76 website tests and 803 link/asset checks pass; all 15 pages build. All seven PNGs were inspected. No game, real save transfer or deployment occurred.

Full game-free suite: 503 pass / 6 fail / 69 skip. All six failures reproduce on main b2911d33 and are named in the updated description. Main advanced to 546dc212 during this work: its 58 recorded menu inputs still match; those unrelated commits are not integrated. Browser host is unavailable, so rendered responsive/keyboard/theme review remains pending. The PR description and image links now point to these fresh captures.

Refreshed all seven guide screenshots in e4627be1, integrating main b2911d33. Graphics now shows Custom output size; all six Launcher views are captured from nightly-52-b1d9f7a9 (b1d9f7a9) using synthetic state and the real maintained UI. Captions identify nightly/example state, and save guidance distinguishes its shared Windows saves from rc.3. Linux executable permission remains restored. The website importer now handles registered text fields and their restart requirement. A neutral-copy rule also covers the item name in issue #584, which blocked the publication check. All source/fixture checks, 18 Python screenshot tests, 76 website tests and 803 link/asset checks pass; all 15 pages build. All seven PNGs were inspected. No game, real save transfer or deployment occurred. Full game-free suite: 503 pass / 6 fail / 69 skip. All six failures reproduce on main b2911d33 and are named in the updated description. Main advanced to 546dc212 during this work: its 58 recorded menu inputs still match; those unrelated commits are not integrated. Browser host is unavailable, so rendered responsive/keyboard/theme review remains pending. The PR description and image links now point to these fresh captures.
mooki left a comment

Re-review of e4627be1ee against main 82886e89. I read the new replies (20632, 20810), the description, the changes since 31a18758e3 and the whole branch against its merge base. I ran the PR's own website and screenshot checks on this head, built the site from it and tried it in a real browser at nine widths in both themes. The hosted preview is stale (it predates this head's Linux step, captions and pictures, and shows the older hamburgers), so I used it only as a comparison.

Verdict: close to approve-quality. Two mechanical items must change before merge; the guides, captions, pictures and navigation held up in the browser.

Earlier points

  • Linux launch prerequisite: resolved. docs/getting-started.md:17-21 puts the permission step and the setup links before Build, and the built Install page has them in that order. The two README anchors it links to exist.
  • Example-state captions: resolved. Captions now sit under every picture (getting-started.md:33,44, graphics-and-controls.md:23, the transfer guide). In the browser they are 16 px, contrast 7.97:1 or better in both themes, aligned with the picture and never clipped.
  • Browser review: first rendered check is below. Request T-R2H9 still has no result, and no preview exists for this head.
  • Still in place: the statistics opt-out, the explicit NuGet configuration, the fixed example folder, the contributor link, the Frizti spelling and the FSR wording. All seven pictures were looked at again at full size: neutral example paths, no player data.

Must change

  1. The description check fails at this head (run). Running main's checker on the current description gives one error: the box "Rebased on current main" is not ticked. The text beside it names main 546dc212; main is now 82886e89. Merge main, update that sentence and tick the box.
  2. Merging current main breaks the screenshot guard and one website test. The merge is conflict-free, but in the merged tree the guard reports four recorded inputs changed since b2911d33: gpu/vk/vk_api.h, vk_menu.cpp, vk_menu.h and vk_recorder.h (manifest entries). The cause is main's new Threaded rendering row, which sits under "GPU and memory" after "GPU device", below the rows in the Graphics picture, so the picture very likely stays accurate (I read the diff; I did not re-render it). The guide workflow also runs on pushes to main (guide-screenshots.yml:7-8), so an unchanged merge turns main red. In the same tree the website tests are 75 of 76: graphics-settings.test.ts:96-97 lists the restart rows exactly and now also finds Threaded rendering. The importer, the build (15 pages) and the site check (804 links) pass on the merged tree. Please merge main, review and record the four inputs, and add the row to that list.

Should change (small)

  1. Captions name a nightly that the download links do not serve today. All captions say nightly-52-b1d9f7a9, while the Install page's download links redirected to v1.0.0-rc.3 when I checked (2026-11-14, 22:21 UTC). The Launcher repository has tagged v1.0.0-rc.4 on the pictured commit b1d9f7a9, but no release exists yet. The captions are honest and saves.md separates rc.3 from the pictured build (I checked its save-location and shared-save claims against the Launcher source at b1d9f7a9). When rc.4 ships, the captions in getting-started.md:33 and saves.md should say rc.4.
  2. Delete the stale review note docs/images/guide/source-review-cf605c85.md. It says to retain settings-graphics.png, which this head regenerated, and nothing in the tree refers to it.
  3. Keyboard order on the home page jumps right, then left. Header.astro:23-30 puts the <details> hamburger before the search and theme controls in the page source, but it is the right-most control on a phone. Tab order at 390 px: skip link, logo, hamburger, search, theme. Guide pages end with the toggle, as the eye does. Moving the <details> after .tools fixes it.
  4. docs/saves.md:22 has lost its instruction. "Pick your adventure." now asks for nothing. Main's step said to note the slot and roughly when you last played, since the launcher lists every save with its slots and times.
  5. The open home menu is see-through. The panel uses the header's 96 % opaque background without blur, so the hero text ghosts behind the four links (Header.astro:91-94). Links stay readable; it is cosmetic.

Not from this PR, but you will meet it

  • The home page scrolls sideways by 2 to 21 px at 390 (2), 412 (3), 768 (21), 1024 (7) and 1280 (5) px, in both themes. The cause is inset: 10% -5% 12% on the hero halo (LongshotHero.astro:76), a file this PR does not touch; the live site shows the same numbers. Your "Must be tested" line expects no overflow, which the home page does not meet, but the guides do. Clipping the hero's horizontal overflow would fix it, here or later.
  • With the guide sidebar open on a phone there are two theme selectors (the header's and the sidebar's own).

Question for maintainers

launcher-home.png contains the game's full name in the Launcher's own text ("turns your own copy of ... into a PC game"), while the site neutralises that name in prose (public-copy.ts). The earlier rc.3 picture had the same text. Is that acceptable inside a screenshot?

Browser results

Built from this head, Chromium 155, scripted. Heights 568, 740, 844, 915, 1024, 768, 800, 900 and 1080 for the widths in order. All 15 pages at all nine widths in both themes (270 combinations) were measured; the four pages below were also captured full page. Light and dark gave the same numbers at every width.

Width Home sideways overflow Install, Settings, Transfer Mobile navigation control (home / guides) Pictures load and fit
320 none none 1 / 1 (logo only below 352 px) yes
360 none none 1 / 1 yes
390 +2 px none 1 / 1 yes
412 +3 px none 1 / 1 yes
768 +21 px none 1 / 1 yes
1024 +7 px none 1 / 0 (sidebar is visible) yes
1280 +5 px none 0 / 0 (four header links) yes
1440 none none 0 / 0 yes
1920 none none 0 / 0 yes
  • One control, never two, on every page where one is needed; header items never overlap or clip. The home disclosure and the guide sidebar toggle are identical in size, position, colours, icons and open state, in both themes.
  • Keyboard: Enter and Space open and close both; Escape closes both and returns focus to the control; every one of 80 Tab stops through the transfer guide (40 at 1280 px, 40 at 390 px) shows a focus ring, and the hamburger's ring is clear in both themes. The home panel is not a focus trap and stays open when Tab leaves it; that seems fine.
  • Touch (emulated 360, 390, 412): tapping opens and closes both controls and opens the full-size picture. With JavaScript off, both controls still open.
  • Full-size links: all seven open their own PNG by mouse and by keyboard; the served bytes equal the repository files and the manifest hashes.
  • Theme: the choice survives reload and other pages; Auto follows the system.
  • Zoom: 200 % at 1280 px (640 CSS px), 400 % (320 CSS px) and scale 2 at 1280 px: no sideways scrolling on the guides, one control, pictures fit.
  • Search: the modal opens by Ctrl+K and by tap, takes focus and closes with Escape. The index answers the new text ("Allow executing file as program", "Custom output size", "Manage saves", "nightly-52"). I could not render the result list in this browser; it stays on "Searching" even on Starlight's own site, so I cannot say anything about it here.
  • Headings land below the fixed header after an anchor jump; no console errors, page errors or failed requests on 30 page loads.

Checks run on this head

All from the PR's own workflows: the seven image and source checks with the exact Launcher source b1d9f7a9 pass (and without it, as CI runs it, with six NOT CHECKED notices); 14 + 4 = 18 Python tests pass; website tests 76 of 76; build 15 pages; site check 803 links, assets and anchors; git diff --check clean. These match your description. Node 26.13.

Not tested

Firefox, Safari, real phones, a screen reader, print, Windows, the result list of the search box, the Graphics picture against current main (source read only), a hosted build of this head, the full game-free suite, the screenshot and Launcher capture programs, any game or real save transfer.

Once main is merged, the four inputs are recorded, the restart list is updated and the description check is green, I would approve. The small items above are optional.

Pictures (from this head's build, Chromium, 390 px wide)

The home-page disclosure and the guide sidebar toggle, closed and open, light and dark: the same shape, size and colours

The keyboard focus ring on both controls after Tab, in both themes

The save-transfer guide on a 390 px phone: one hamburger, the captioned picture, numbered steps (step 2 is the one that lost its instruction)

The stale hosted preview against this head's build: the header on the home and install pages

Re-review of `e4627be1ee` against main `82886e89`. I read the new replies ([20632](https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/264#issuecomment-20632), [20810](https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/264#issuecomment-20810)), the description, the changes since `31a18758e3` and the whole branch against its merge base. I ran the PR's own website and screenshot checks on this head, built the site from it and tried it in a real browser at nine widths in both themes. The hosted preview is stale (it predates this head's Linux step, captions and pictures, and shows the older hamburgers), so I used it only as a comparison. **Verdict: close to approve-quality. Two mechanical items must change before merge; the guides, captions, pictures and navigation held up in the browser.** ### Earlier points - **Linux launch prerequisite: resolved.** [`docs/getting-started.md:17-21`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/getting-started.md#L17) puts the permission step and the setup links before Build, and the built Install page has them in that order. The two README anchors it links to exist. - **Example-state captions: resolved.** Captions now sit under every picture ([`getting-started.md:33,44`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/getting-started.md#L33), [`graphics-and-controls.md:23`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/graphics-and-controls.md#L23), the transfer guide). In the browser they are 16 px, contrast 7.97:1 or better in both themes, aligned with the picture and never clipped. - **Browser review: first rendered check is below.** Request [T-R2H9](https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/264#issuecomment-16733) still has no result, and no preview exists for this head. - Still in place: the statistics opt-out, the explicit NuGet configuration, the fixed example folder, the contributor link, the Frizti spelling and the FSR wording. All seven pictures were looked at again at full size: neutral example paths, no player data. ### Must change 1. **The description check fails at this head** ([run](https://git.magicbean.dev/MagicBeanDev/Longshot/actions/runs/9369/jobs/0)). Running main's checker on the current description gives one error: the box "Rebased on current `main`" is not ticked. The text beside it names main `546dc212`; main is now `82886e89`. Merge main, update that sentence and tick the box. 2. **Merging current main breaks the screenshot guard and one website test.** The merge is conflict-free, but in the merged tree the guard reports four recorded inputs changed since `b2911d33`: `gpu/vk/vk_api.h`, `vk_menu.cpp`, `vk_menu.h` and `vk_recorder.h` ([manifest entries](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/images/guide/manifest.json#L855)). The cause is main's new **Threaded rendering** row, which sits under "GPU and memory" after "GPU device", below the rows in the Graphics picture, so the picture very likely stays accurate (I read the diff; I did not re-render it). The guide workflow also runs on pushes to main ([`guide-screenshots.yml:7-8`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/.forgejo/workflows/guide-screenshots.yml#L7)), so an unchanged merge turns main red. In the same tree the website tests are 75 of 76: [`graphics-settings.test.ts:96-97`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/website/tests/graphics-settings.test.ts#L96) lists the restart rows exactly and now also finds `Threaded rendering`. The importer, the build (15 pages) and the site check (804 links) pass on the merged tree. Please merge main, review and record the four inputs, and add the row to that list. ### Should change (small) 3. **Captions name a nightly that the download links do not serve today.** All captions say `nightly-52-b1d9f7a9`, while the Install page's download links redirected to `v1.0.0-rc.3` when I checked (2026-11-14, 22:21 UTC). The Launcher repository has tagged [`v1.0.0-rc.4`](https://git.magicbean.dev/MagicBeanDev/LongshotLauncher/src/tag/v1.0.0-rc.4) on the pictured commit [`b1d9f7a9`](https://git.magicbean.dev/MagicBeanDev/LongshotLauncher/commit/b1d9f7a9b19fa99b91ec3e8cd24455d4703d6d25), but no release exists yet. The captions are honest and `saves.md` separates rc.3 from the pictured build (I checked its save-location and shared-save claims against the Launcher source at `b1d9f7a9`). When rc.4 ships, the captions in [`getting-started.md:33`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/getting-started.md#L33) and `saves.md` should say rc.4. 4. **Delete the stale review note** [`docs/images/guide/source-review-cf605c85.md`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/images/guide/source-review-cf605c85.md). It says to retain `settings-graphics.png`, which this head regenerated, and nothing in the tree refers to it. 5. **Keyboard order on the home page jumps right, then left.** [`Header.astro:23-30`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/website/src/components/Header.astro#L23) puts the `<details>` hamburger before the search and theme controls in the page source, but it is the right-most control on a phone. Tab order at 390 px: skip link, logo, hamburger, search, theme. Guide pages end with the toggle, as the eye does. Moving the `<details>` after `.tools` fixes it. 6. **[`docs/saves.md:22`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/docs/saves.md#L22) has lost its instruction.** "Pick your adventure." now asks for nothing. Main's step said to note the slot and roughly when you last played, since the launcher lists every save with its slots and times. 7. **The open home menu is see-through.** The panel uses the header's 96 % opaque background without blur, so the hero text ghosts behind the four links ([`Header.astro:91-94`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/website/src/components/Header.astro#L91)). Links stay readable; it is cosmetic. ### Not from this PR, but you will meet it - **The home page scrolls sideways by 2 to 21 px** at 390 (2), 412 (3), 768 (21), 1024 (7) and 1280 (5) px, in both themes. The cause is `inset: 10% -5% 12%` on the hero halo ([`LongshotHero.astro:76`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/website/src/components/LongshotHero.astro#L76)), a file this PR does not touch; the live site shows the same numbers. Your "Must be tested" line expects no overflow, which the home page does not meet, but the guides do. Clipping the hero's horizontal overflow would fix it, here or later. - With the guide sidebar open on a phone there are two theme selectors (the header's and the sidebar's own). ### Question for maintainers `launcher-home.png` contains the game's full name in the Launcher's own text ("turns your own copy of ... into a PC game"), while the site neutralises that name in prose ([`public-copy.ts`](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/e4627be1ee5d418083478a65dc0b035ba7607720/website/src/lib/public-copy.ts)). The earlier rc.3 picture had the same text. Is that acceptable inside a screenshot? ### Browser results Built from this head, Chromium 155, scripted. Heights 568, 740, 844, 915, 1024, 768, 800, 900 and 1080 for the widths in order. All 15 pages at all nine widths in both themes (270 combinations) were measured; the four pages below were also captured full page. Light and dark gave the same numbers at every width. | Width | Home sideways overflow | Install, Settings, Transfer | Mobile navigation control (home / guides) | Pictures load and fit | |---|---|---|---|---| | 320 | none | none | 1 / 1 (logo only below 352 px) | yes | | 360 | none | none | 1 / 1 | yes | | 390 | +2 px | none | 1 / 1 | yes | | 412 | +3 px | none | 1 / 1 | yes | | 768 | +21 px | none | 1 / 1 | yes | | 1024 | +7 px | none | 1 / 0 (sidebar is visible) | yes | | 1280 | +5 px | none | 0 / 0 (four header links) | yes | | 1440 | none | none | 0 / 0 | yes | | 1920 | none | none | 0 / 0 | yes | - **One control, never two**, on every page where one is needed; header items never overlap or clip. The home disclosure and the guide sidebar toggle are identical in size, position, colours, icons and open state, in both themes. - **Keyboard:** Enter and Space open and close both; Escape closes both and returns focus to the control; every one of 80 Tab stops through the transfer guide (40 at 1280 px, 40 at 390 px) shows a focus ring, and the hamburger's ring is clear in both themes. The home panel is not a focus trap and stays open when Tab leaves it; that seems fine. - **Touch (emulated 360, 390, 412):** tapping opens and closes both controls and opens the full-size picture. With JavaScript off, both controls still open. - **Full-size links:** all seven open their own PNG by mouse and by keyboard; the served bytes equal the repository files and the manifest hashes. - **Theme:** the choice survives reload and other pages; Auto follows the system. - **Zoom:** 200 % at 1280 px (640 CSS px), 400 % (320 CSS px) and scale 2 at 1280 px: no sideways scrolling on the guides, one control, pictures fit. - **Search:** the modal opens by Ctrl+K and by tap, takes focus and closes with Escape. The index answers the new text ("Allow executing file as program", "Custom output size", "Manage saves", "nightly-52"). I could not render the result list in this browser; it stays on "Searching" even on Starlight's own site, so I cannot say anything about it here. - **Headings** land below the fixed header after an anchor jump; no console errors, page errors or failed requests on 30 page loads. ### Checks run on this head All from the PR's own workflows: the seven image and source checks with the exact Launcher source `b1d9f7a9` pass (and without it, as CI runs it, with six NOT CHECKED notices); 14 + 4 = 18 Python tests pass; website tests 76 of 76; build 15 pages; site check 803 links, assets and anchors; `git diff --check` clean. These match your description. Node 26.13. ### Not tested Firefox, Safari, real phones, a screen reader, print, Windows, the result list of the search box, the Graphics picture against current main (source read only), a hosted build of this head, the full game-free suite, the screenshot and Launcher capture programs, any game or real save transfer. Once main is merged, the four inputs are recorded, the restart list is updated and the description check is green, I would approve. The small items above are optional. ### Pictures (from this head's build, Chromium, 390 px wide) ![The home-page disclosure and the guide sidebar toggle, closed and open, light and dark: the same shape, size and colours](https://git.magicbean.dev/attachments/affa4de1-7819-4cf8-85d6-76a809df0783) ![The keyboard focus ring on both controls after Tab, in both themes](https://git.magicbean.dev/attachments/307bdf06-7bda-4daf-a01e-d22ebf51ef04) ![The save-transfer guide on a 390 px phone: one hamburger, the captioned picture, numbered steps (step 2 is the one that lost its instruction)](https://git.magicbean.dev/attachments/04142e61-1005-4373-a73a-57fba597f503) ![The stale hosted preview against this head's build: the header on the home and install pages](https://git.magicbean.dev/attachments/4d74e268-6867-4437-9ed9-5b942488a512)
Integrate main e9bed614. Record the Graphics source review and new threaded-rendering dependency while retaining original capture provenance. Update the restart-list regression and distinguish installed and portable Windows backup locations.

Assisted-by: GPT-6 Astra

Co-Authored-By: GPT-6 Astra <[email protected]>
docs(guides): integrate final main snapshot for review
All checks were successful
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 5s
CI / Workflow lint (actionlint) (pull_request) Successful in 10s
Guide screenshots / Guide images and local UI source review (pull_request) Successful in 12s
Third-party parts / As their notes say (pull_request) Successful in 14s
PR description / Description follows the template (pull_request_target) Successful in 6s
a0a93f11fe
Integrate main 2b1d38c6 and record that all 59 menu inputs and the capture helpers still match the reviewed sources. Keep original image provenance unchanged.

Assisted-by: GPT-6 Astra

Co-Authored-By: GPT-6 Astra <[email protected]>
Author
Member

@mooki — the two required follow-ups from your latest review are addressed in a0a93f11fe. Could you re-check this revision?

  • Integrated main through 2b1d38c6 and updated the description/checklist to name the tested baseline. The local description checker passes.
  • Reviewed the four changed Graphics inputs, recorded retention reasons in docs/images/guide/source-review-e9bed614.md, and added threaded_rendering.h to the dependency record. All 59 recorded menu inputs match that integrated baseline. The existing image retains its original capture provenance; the note explicitly acknowledges the changed scrollbar proportion and makes no pixel-equivalence claim.
  • Added Threaded rendering to the exact restart-list expectation without weakening the test.
  • Also corrected installed versus portable Windows backup paths, including the rc.3 portable exception, against the pinned Launcher sources.

Validation: all seven image/source checks, 18 Python screenshot/capture tests and 76 website tests pass. Full game-free suite: 499 passed, 12 failed, 69 skipped; all 12 failures reproduce on clean main at the integrated baseline and are named in the description. The site build currently fails with Astro's loadDevToolbarApps missing export, also reproduced on unchanged main with the same pinned dependencies. No fresh browser result or successful final site build is claimed.

Your optional UI/copy suggestions are not claimed resolved by this update. The older source-review note remains as history, with the new note explicitly superseding its retention decision. Please re-check the required source-review/restart-list/description fixes and the backup-path correction; a rendered check of the updated table remains pending when a working site build is available.

@mooki — the two required follow-ups from your [latest review](https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/264#issuecomment-20941) are addressed in **a0a93f11fe1edd80626de3538d8b638378e5ed6d**. Could you re-check this revision? - Integrated main through **2b1d38c6** and updated the description/checklist to name the tested baseline. The local description checker passes. - Reviewed the four changed Graphics inputs, recorded retention reasons in `docs/images/guide/source-review-e9bed614.md`, and added `threaded_rendering.h` to the dependency record. All 59 recorded menu inputs match that integrated baseline. The existing image retains its original capture provenance; the note explicitly acknowledges the changed scrollbar proportion and makes no pixel-equivalence claim. - Added **Threaded rendering** to the exact restart-list expectation without weakening the test. - Also corrected installed versus portable Windows backup paths, including the rc.3 portable exception, against the pinned Launcher sources. Validation: all seven image/source checks, 18 Python screenshot/capture tests and 76 website tests pass. Full game-free suite: **499 passed, 12 failed, 69 skipped**; all 12 failures reproduce on clean main at the integrated baseline and are named in the description. The site build currently fails with Astro's `loadDevToolbarApps` missing export, also reproduced on unchanged main with the same pinned dependencies. No fresh browser result or successful final site build is claimed. Your optional UI/copy suggestions are not claimed resolved by this update. The older source-review note remains as history, with the new note explicitly superseding its retention decision. Please re-check the required source-review/restart-list/description fixes and the backup-path correction; a rendered check of the updated table remains pending when a working site build is available.
futondestroyer left a comment

Reviewed a0a93f11fe, including the guide text, capture/check helpers, website integration, all seven PNGs and the previous review threads. The prior required fixes are present: Linux AppImage permission precedes Build, example captions remain visible, Threaded rendering is in the exact restart list, and the source-review note preserves the original capture provenance.

One merge blocker remains against current main d55e3bf74c: an isolated conflict-free merge fails the new screenshot guard on four tracked headers. Details are inline. This is new drift since the author's integrated baseline, not a failure of the earlier review work. Please review/record these changes before merge, then rerun the guard on the combined tree.

Independent Windows verification (Python 3.14.7, Node 24.22.0):

  • Seven image-integrity checks and recorded local menu/fixture source checks pass on the PR head. External Launcher sources remain NOT CHECKED here; I did not supply that separate checkout.
  • Both Python test drivers pass (14 screenshot cases and 4 capture-policy cases).
  • Pinned npm ci succeeds; all 76 website tests pass; npm run build succeeds, generating 15 pages. The author's Linux Astro missing-export error was not reproduced on this Windows/Node environment.
  • npm run check does NOT pass: the generated public activity feed contains two newly collected issue titles rejected by the existing wording guard (issue 615, issue 603). No missing-link/asset/anchor errors were reported. This is a separate data/wording issue: main's checker and wording transform have the same gap for bare "Zora"; this PR adds the unrelated instrument-name substitution. No publication check pass is claimed.
  • git diff --check passes.

Browser inspection of this exact build, in the in-app Chromium browser: Install, Settings and Transfer at 320/390/800/1120 CSS pixels, each in light and dark themes (24 combinations). All seven guide images load and stay within their content width, with no document horizontal overflow. The updated backup table scrolls internally on narrow widths, is keyboard focusable, and ArrowRight exposes the backup column. At 1120px both path columns are visible together. The emulator chooser/confirmation remain under steps 3/4, and replacement warnings and example captions remain text. I inspected the mobile guide menu opening by Enter and closing by Escape, retaining focus on Menu. Source images were also inspected at full size.

The previous small copy/navigation suggestions remain optional and are not repeated as blockers. This review does not include a fresh UI capture, live Launcher/save transfer, Linux execution, Firefox/Safari, real phones, screen readers, a new zoom sweep, the complete game-free suite, or browser testing of the temporary merged tree. No game was launched and no deployment was performed.

Reviewed a0a93f11fe1edd80626de3538d8b638378e5ed6d, including the guide text, capture/check helpers, website integration, all seven PNGs and the previous review threads. The prior required fixes are present: Linux AppImage permission precedes Build, example captions remain visible, Threaded rendering is in the exact restart list, and the source-review note preserves the original capture provenance. One merge blocker remains against current main d55e3bf74c28022df29d8a863d11ad6b13e80729: an isolated conflict-free merge fails the new screenshot guard on four tracked headers. Details are inline. This is new drift since the author's integrated baseline, not a failure of the earlier review work. Please review/record these changes before merge, then rerun the guard on the combined tree. Independent Windows verification (Python 3.14.7, Node 24.22.0): - Seven image-integrity checks and recorded local menu/fixture source checks pass on the PR head. External Launcher sources remain NOT CHECKED here; I did not supply that separate checkout. - Both Python test drivers pass (14 screenshot cases and 4 capture-policy cases). - Pinned npm ci succeeds; all 76 website tests pass; npm run build succeeds, generating 15 pages. The author's Linux Astro missing-export error was not reproduced on this Windows/Node environment. - npm run check does NOT pass: the generated public activity feed contains two newly collected issue titles rejected by the existing wording guard (issue 615, issue 603). No missing-link/asset/anchor errors were reported. This is a separate data/wording issue: main's checker and wording transform have the same gap for bare "Zora"; this PR adds the unrelated instrument-name substitution. No publication check pass is claimed. - git diff --check passes. Browser inspection of this exact build, in the in-app Chromium browser: Install, Settings and Transfer at 320/390/800/1120 CSS pixels, each in light and dark themes (24 combinations). All seven guide images load and stay within their content width, with no document horizontal overflow. The updated backup table scrolls internally on narrow widths, is keyboard focusable, and ArrowRight exposes the backup column. At 1120px both path columns are visible together. The emulator chooser/confirmation remain under steps 3/4, and replacement warnings and example captions remain text. I inspected the mobile guide menu opening by Enter and closing by Escape, retaining focus on Menu. Source images were also inspected at full size. The previous small copy/navigation suggestions remain optional and are not repeated as blockers. This review does not include a fresh UI capture, live Launcher/save transfer, Linux execution, Firefox/Safari, real phones, screen readers, a new zoom sweep, the complete game-free suite, or browser testing of the temporary merged tree. No game was launched and no deployment was performed.
@ -0,0 +903,4 @@
"gpu/vk/oot_cheat_items.h": "8500b50a9a779967d889741fe80e24dae1031ba7127aaed449207f9b8d43648c",
"gpu/vk/pipeline_share.h": "e14e2cf56f4164ae00f4b7e2b7a647b9d75131ccb69b349c22d5ab75ee6f8487",
"gpu/vk/threaded_rendering.h": "82c8f5a5b7cc463f980f6517814150698eb1394114d029116d44ee7b63108f8c",
"gpu/vk/upscaler_rows.h": "c4f3a8c7f80e03ede367aad2c71fc74bec0e4337d98d7a440d3ce314de34a1a8",
Member

[P2] Refresh the retained image review for the current merge target. An isolated merge of this head with main d55e3bf7 is conflict-free, but scripts/check_guide_screenshots.py --review-sources fails on upscaler_rows.h, vk_framegen.h, vk_fsr3fi.h and vk_temporal.h. Those tracked headers changed after the integrated 2b1d38c6 baseline (PsychoV35 admission/default policy and captured-present HDR metadata/signatures). Since this PR installs the guard on main pushes, merging unchanged makes that check red. Review the four diffs against the retained image/fixture and record the retention decision and reviewed hashes, preserving captured_source and PNG provenance; recapture only if that review finds a visible mismatch. Then rerun the guard on the combined tree.

[P2] Refresh the retained image review for the current merge target. An isolated merge of this head with main d55e3bf7 is conflict-free, but `scripts/check_guide_screenshots.py --review-sources` fails on upscaler_rows.h, vk_framegen.h, vk_fsr3fi.h and vk_temporal.h. Those tracked headers changed after the integrated 2b1d38c6 baseline (PsychoV35 admission/default policy and captured-present HDR metadata/signatures). Since this PR installs the guard on main pushes, merging unchanged makes that check red. Review the four diffs against the retained image/fixture and record the retention decision and reviewed hashes, preserving captured_source and PNG provenance; recapture only if that review finds a visible mismatch. Then rerun the guard on the combined tree.
HumanBean deleted branch docs/guide-screenshots 2026-11-15 03:24:30 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
MagicBeanDev/Longshot!264
No description provided.