What it does for you
Old game engines, SDKs and renderers disappear behind dead links and unclear rights. engine-revival keeps one JSON record per lead with its sources, its rights posture and what has been shown so far, and checks the whole archive before anything is published. A project someone still maintains is linked, not forked. A lead with unresolved rights stays a dossier. It publishes metadata and evidence only: no proprietary SDKs, leaked source or game assets.
- One record per lead382 JSON records across 12 kinds, each id matching its filename.
- Rights before revivalEvery target states a posture: open, clean-room only, restricted, rights-holder needed and more.
- A public-clean guardaudit-public refuses restricted material marked publishable.
- Claims by rungEach rung names the claim it earns and nothing above it.
Source: README.md at e86d217 (version 0.2.0)
Watch
No concept film fits this tool closely yet. The walkthrough below covers it in text, with real commands and output.
Video walkthrough: coming with the next release.
How it works, one step at a time
Scroll, or use the step buttons. Every line is output from the engine-revival CLI at commit e86d217, run in a scratch checkout. The refusals came from editing one record at a time in that checkout and putting it back.
- 01
A lead becomes a record
Each target is one JSON file whose id matches its filename. The BRender record names its platforms, a priority of 89, an open rights posture, and its revival lane: a critical edition backed by imported release evidence.
Across the archive, 85 sources are cited, 68 rated high confidence, 16 moderate and 1 low.
- 02
Validate the whole archive
validateloads every record, checks it against its schema, and resolves every reference from one record to another. A clean archive prints nothing and exits 0. Pick an edit in the panel: renaming BRender's id breaks its filename match and orphans every record that points at it.Source: src/engine_revival/validate.py
- 03
Rights decide the posture
Before anything is rebuilt, each target states who holds the rights. Of 29 targets in 19 categories, 8 are open and 8 are public reference only. The rest are unresolved, need the rights holder, allow clean-room work only, or are restricted, and those stay dossiers.
Source: targets; README.md, "How a lead is triaged"
- 04
The public-clean guard
audit-publicruns before publishing. It refuses an artifact marked do-not-redistribute or restricted whose access level is publishable, and flags wording such as leaked source. Pick a state in the panel: the LithTech Jupiter archive item is metadata only, and marking it public fails the audit.Source: src/engine_revival/audit.py
- 05
A priority index
indexranks the targets by priority with their rights, revival lane, and counts of artifacts, accessions, tasks and milestones. BRender leads at 89, followed by the PS1 Programmer's Tool at 84, which is clean-room only.Source: src/engine_revival/indexer.py
- 06
Claims by rung
The ladder has eight rungs, the first a dossier and the last a recovered title, and each names only the claim it earns. Twenty-eight of the 29 targets sit at the first rung. BRender carries evidence imported from the pinned BRender Archival v0.1.1 release: 21 of 21 CTest targets passing under Visual Studio Win32 Debug. That build was not rerun for this page.
Nothing here claims a remaster pass or a recovered title.
Walkthrough
Install it, run it once, then use the main feature. Each command below is real, and so is its output.
Install
Install from a checkout. Python 3.11 or newer.
$ git clone https://github.com/HarperZ9/engine-revival && cd engine-revival $ python -m pip install -e ".[test]"First run: validate the archive
Check every record and reference. A clean archive prints nothing.
$ engine-revival validate (no output)The public-clean guard
Run the audit before publishing.
$ engine-revival audit-public redistribution do-not-redistribute, access metadata-only (no output)A record that breaks validation
Rename one id and validation names every record it orphans.
$ engine-revival validate targets\brender.json: target id must match filename stem: brender-x != brender artifacts\brender-v132-source.json: unknown target_id: brender tasks\brender-triage.json: unknown target_id: brender ...
Output from the CLI at e86d217 with Python 3.12 on Windows; pytest reported 133 tests passing. Counts were read from the committed records.
What it does not do
- The repository publishes metadata, schemas and evidence. It holds no proprietary SDKs, leaked source, game assets or upstream source snapshots.
- The BRender packet does not claim textured output, x64 readiness, production readiness, adoption or endorsement.
- The local portable materializer produces scaffold metadata; it is not the 21-target release, which lives in BRender Archival.
- A source's confidence rating is a judgment recorded with it. The validator checks structure and references, not historical truth.
Source: README.md at e86d217, "Current Public Boundary" and "Non-Claims"
Check what stuck
Answer each one in your head before you open it.
What happens to a lead whose rights are unresolved?
It stays a dossier; nothing buildable is claimed.
Someone marks a do-not-redistribute artifact as public. Which command stops it?
engine-revival audit-public, which reports restricted material cannot be publishable.
How many of the 29 targets claim more than the first rung?
One, BRender, through imported evidence from a pinned external release.