publish: reproducible standalone mod repo via git-filter-repo

The mod is 63 files; the tree it lives in is 1838 files of a commercial game
and 296 MB of history. Publishing therefore means stripping, and stripping by
hand is exactly the sort of thing that quietly leaks a build of the game.

accessibility/publish/publish.sh rebuilds the standalone repository from this
tree with git-filter-repo, then asserts that no path outside accessibility/ and
the docs survived, and aborts rather than pushing if one did.

The publish-only files live in accessibility/publish/ rather than at the root
so that the game-file footprint check stays a clean "main.lua | 1 +", and the
filter renames them to the root where a visitor to the mod repo expects them.
The script then drops the publish machinery itself, which means nothing to
someone installing the mod.

README.md is the install guide: copy accessibility/ into an extracted game
folder and add the one line to main.lua, which install.patch also applies.

CLAUDE.md now states which of the two repos the reader is in, since half of it
(running the game, the footprint check) is meaningless without the game present.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Accessibility Mod
2026-08-02 01:21:16 +02:00
co-authored by Claude Opus 5
parent 18e6473dd3
commit 86c71fc001
3 changed files with 186 additions and 6 deletions
+15 -6
View File
@@ -2,13 +2,22 @@
## What this repository is
This is an extracted copy of the commercial game *Sulphur Memories: Alchemist*
0.4.2 (LÖVE 11.5, Lua/LuaJIT) — **and the work here is a blind-accessibility mod
for it, not game development.**
A blind-accessibility mod for the commercial game *Sulphur Memories: Alchemist*
0.4.2 (LÖVE 11.5, Lua/LuaJIT). **The work here is accessibility, not game
development.**
Everything outside `accessibility/` is the vanilla game. Treat it as read-only
reference material: you read it to find out how the game works, and you patch it
only in the rare case the docs sanction. All mod code lives in `accessibility/`.
This file ships in two places, so check which one you are in:
- **The development tree** — an extracted copy of the game with `main.lua` and
`states/` beside `accessibility/`. Everything outside `accessibility/` is the
vanilla game: treat it as read-only reference material. You read it to find
out how the game works, and you patch it only where the docs sanction.
- **The standalone mod repository** (`alchemist-accessibility`) — only
`accessibility/` and the docs; no game. You cannot run or test anything here.
See `README.md` for how the two relate. The sections below about running the
game and checking the game-file footprint apply to the development tree only.
All mod code lives in `accessibility/` either way.
If a request sounds like a game change ("make the journal readable", "the
inventory doesn't work"), it almost always means **"a screen reader user cannot