MAN ENOUGH AI PLAY SOURCE - 1.2.1
COSOM preservation project, November 3, 2026, America/New_York.

The source tree contains the complete browser player and AI addition, exact
derived decision/font/scene data, and read-only extraction tools. Original game,
artwork, voices and disc files remain owned by their original creators. They are
separate from the GNU GPL source-format adaptations; see COPYING, the ScummVM
copyright list and notices in each extractor/recognizer.

RUNNING
Supply the unchanged preserved English DOS v1.10 project's vendor/ and data/
folders alongside site/dos/man-enough/play/. Runtime sources, audio patch and
notices are retained in the base project's source/ and vendor/ directories.
Serve the combined site over HTTP with correct WASM/JS types and ISO byte ranges.
Open play/index.html and choose AI Play. Original save helper/namespace retained.

REPRODUCING DATA
Node.js 20 or later, built-ins only:
  node tools/extract-ai-data.cjs --game-dir /path/to/dos/man-enough --output /new/ai-data-1.2.0.json
  node tools/extract-hotspots.cjs --data /new/ai-data-1.2.0.json --image-index /path/to/media/image-index.json --image-root /path/to/media --bundle /path/to/data/man-enough.jsdos --output /new/ai-hotspots-1.2.0.json
The retained indexed media PNGs and image index come from the base media release.
Both extractors validate original identities and open original inputs read-only.

  node tools/build-scene-references.cjs
This regenerates site/dos/man-enough/play/ai-scenes-1.2.0.json using the included
original-game frame fixtures. These PNGs contain only the DOS framebuffer, with
no browser/desktop UI, personal state, credentials or stored saves. Their hashes
are recorded in the generated data. Scene references are observations, not new
or replacement game content.

VERIFICATION
source-manifest.json lists exact source bytes/hashes. The release record and
dated development note distinguish resource coverage, native game acceptance,
controller/worker checks and browser UI acceptance. A complete campaign must not
be inferred from having extracted all conversation choices. Unknown screens,
focus changes and manual intervention stop autonomous input.
