HarperZ9/engine-revivalExplainer, built from commit e86d217All repository explainers

engine-revival

Triage lost game engines into evidence-backed revival records.

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.

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.

  1. 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.

    Source: targets/brender.json, src/engine_revival/records.py

  2. 02

    Validate the whole archive

    validate loads 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

  3. 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"

  4. 04

    The public-clean guard

    audit-public runs 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

  5. 05

    A priority index

    index ranks 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

  6. 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.

    Source: docs/REMASTER-LANE.md, docs/BRENDER-ARCHIVAL.md

Walkthrough

Install it, run it once, then use the main feature. Each command below is real, and so is its output.

  1. 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]"
  2. First run: validate the archive

    Check every record and reference. A clean archive prints nothing.

    $ engine-revival validate
    (no output)
  3. The public-clean guard

    Run the audit before publishing.

    $ engine-revival audit-public
    redistribution do-not-redistribute, access metadata-only
    (no output)
  4. 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

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.