mirror of
https://github.com/morluto/rea
synced 2026-10-25 22:08:11 -04:00
docs(website): outline the Touhou reconstruction workflow
This commit is contained in:
@@ -14,6 +14,9 @@ for asset notes and the source of case-study claims.
|
||||
case study focused on one question, with further examples in native details.
|
||||
- Show what REA returns and how the agent uses it. Preserve source attribution,
|
||||
target identity and verification scope.
|
||||
- Blog articles teach methods, decisions and workflows through concrete cases.
|
||||
Keep the thesis and overview figure clear, and use engine details only when
|
||||
they explain a decision. Label working outlines and mark them `noindex`.
|
||||
- Keep personal paths, account data, credentials and raw captures outside the
|
||||
public assets. Use generic inputs and label shortened display paths.
|
||||
- Follow the same clear writing standard in search titles and descriptions.
|
||||
|
||||
@@ -42,6 +42,8 @@ HTML files. No URL list needs to be maintained.
|
||||
- `public/examples/dino-lab/index.html`: adjustable-speed mini-game, recovered rule, original-game check and browser analysis steps.
|
||||
- `public/first-investigation/index.html`: a guided Notes export investigation, from setup to a checked CSV prediction.
|
||||
- `public/showcase/index.html`: the case-study index.
|
||||
- `public/blog/index.html`: articles about reconstruction methods, ports, mods and reverse engineering.
|
||||
- `public/blog/touhou-reconstruction/index.html`: the working English outline for a Touhou reconstruction article, with TH08, TH095 and TH04 timelines.
|
||||
- `public/showcase/aegis/index.html`: Aegis's Android login-code calculation, with an adjustable clock and reference checks.
|
||||
- `public/showcase/dx-ball/index.html`: sound-pan investigation and project status.
|
||||
- `public/showcase/notion/index.html`: Notion's Electron clipboard bridge and rich clipboard format.
|
||||
@@ -121,6 +123,15 @@ and Cloudflare's [managed robots behavior](https://developers.cloudflare.com/bot
|
||||
|
||||
## Content
|
||||
|
||||
Blog articles explain methods and decisions across a project. Use a clear thesis,
|
||||
an overview figure, a practical workflow and a few cases that test the method.
|
||||
Case studies remain focused on one inspected behavior. Keep engine details in
|
||||
supporting references unless they explain a decision the reader needs to make.
|
||||
|
||||
The Touhou article is currently a working outline, marked `noindex`. Replace it
|
||||
with the finished article before removing that directive. Its timeline provenance
|
||||
and counting rules are in [evidence/touhou-reconstruction-method.md](evidence/touhou-reconstruction-method.md).
|
||||
|
||||
Keep the copy direct and specific. Explain the task and the result before listing
|
||||
tool names. Setup commands and runtime requirements should match the released
|
||||
package. Keep the core learning path inside the site. Source, issue and evidence
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
# Touhou reconstruction method: evidence notes
|
||||
|
||||
Checked on 10 October 2026. This document supports the working article outline
|
||||
at `public/blog/touhou-reconstruction/index.html`.
|
||||
|
||||
## Method sources
|
||||
|
||||
The Factory checkpoint is
|
||||
[`038b6bed`](https://github.com/N0zoM1z0/touhou-reconstruction-factory/tree/038b6bed51d273c8b3680553b6f43e1b97d19bd1).
|
||||
Read its [agent autonomy](https://github.com/N0zoM1z0/touhou-reconstruction-factory/blob/038b6bed51d273c8b3680553b6f43e1b97d19bd1/docs/agent-autonomy.md),
|
||||
[semantic workflow](https://github.com/N0zoM1z0/touhou-reconstruction-factory/blob/038b6bed51d273c8b3680553b6f43e1b97d19bd1/docs/semantic-reconstruction.md),
|
||||
and [cross-game knowledge](https://github.com/N0zoM1z0/touhou-reconstruction-factory/blob/038b6bed51d273c8b3680553b6f43e1b97d19bd1/docs/knowledge-base.md)
|
||||
documents for the underlying method: autonomous investigation, bounded changes,
|
||||
empirical feedback, durable checkpoints and reusable lessons.
|
||||
|
||||
The proposed industrial-age analogy explains that method. The Factory's
|
||||
software architecture also uses the Abstract Factory pattern; the article's
|
||||
analogy should focus on the working process rather than that implementation.
|
||||
|
||||
REA supplies analysis evidence to an agent. The historical projects also used
|
||||
project-specific analysis bridges and tooling. The article should attribute
|
||||
historical work to those projects and explain where REA fits in the general
|
||||
workflow, without relabeling every historical tool result as REA output.
|
||||
|
||||
## Collection and counting
|
||||
|
||||
Public history was retrieved with `gh api`, including all pages of each
|
||||
repository's default-branch commits, repository metadata and release records.
|
||||
Pinned progress documents were read from the corresponding Git objects in the
|
||||
local project checkouts. Every milestone SHA below appears in the public
|
||||
GitHub history. No local-only revision or uncommitted change supplies a claim.
|
||||
|
||||
Elapsed days are the difference between public commit **committer timestamps**,
|
||||
in UTC, divided by 86,400 and rounded to two decimal places. The article uses
|
||||
rounded calendar intervals. They measure recorded milestone spacing, not
|
||||
compute time, person-hours or a controlled speedup benchmark.
|
||||
|
||||
TH08's start is the independent continuation at `001bf3e`, not its inherited
|
||||
2025 initial commit or its hosting creation date. Its imported GensokyoClub
|
||||
history ends at `7ad3792`; preserve that attribution and license. TH095 starts
|
||||
with zero confirmed authored functions, while using methods and infrastructure
|
||||
from earlier projects. TH04 uses ReC98 as a credited source of existing work.
|
||||
|
||||
The denominators change as candidates are classified and boundaries reviewed.
|
||||
Read each pinned progress document's definitions. Avoid a cross-game function
|
||||
rate or an executable-wide completion percentage.
|
||||
|
||||
## Public history snapshot
|
||||
|
||||
| Project | Default-branch commits | Commits whose subject begins `gpt-web:` | Public head |
|
||||
| ------- | ---------------------: | --------------------------------------: | ------------------------------------------ |
|
||||
| TH08 | 1,117 | 400 | `d2a00f4acb4a13916e07a00bd13f714961714628` |
|
||||
| TH095 | 713 | 450 | `6084b36cfa90ac1720f0cba36caec3ee56fc5e1f` |
|
||||
| TH04 | 957 | 623 | `33b80522f03565022dbfe4d5c8a88bdc57f566ae` |
|
||||
|
||||
TH08 has 696 reachable continuation commits after the imported boundary;
|
||||
its total includes the upstream history. Subject prefixes identify a recorded
|
||||
workflow convention, not the number of sessions, experiments or verified
|
||||
functions. Commit counts remain supporting research rather than article
|
||||
headlines.
|
||||
|
||||
## Milestone records
|
||||
|
||||
### TH08
|
||||
|
||||
Start: [001bf3e9](https://github.com/N0zoM1z0/th08/commit/001bf3e9c91cc35b79c7a0e36b3565b86f494362) at 2026-08-13T02:23:48Z.
|
||||
|
||||
| Checkpoint | UTC timestamp | Elapsed days | Recorded milestone |
|
||||
| -------------------------------------------------------------------------------------------- | -------------------- | -----------: | ---------------------------------------------------------------- |
|
||||
| [15caba73](https://github.com/N0zoM1z0/th08/commit/15caba73df6735fc44eac4783bc61b8d098ea830) | 2026-08-19T12:19:33Z | 6.41 | Restore clean authored build baseline |
|
||||
| [da07b21c](https://github.com/N0zoM1z0/th08/commit/da07b21c8cb63230142b0a66228d6aac66555f3f) | 2026-08-24T10:43:33Z | 11.35 | Add playable Linux reconstruction port |
|
||||
| [529eb1a3](https://github.com/N0zoM1z0/th08/commit/529eb1a3afa05ae36467731eaccb12e3e50e132f) | 2026-08-26T05:12:23Z | 13.12 | Link the playable TH08 Web edition |
|
||||
| [5d314e21](https://github.com/N0zoM1z0/th08/commit/5d314e21ec725a0de7a38b7c735f683ad358e79f) | 2026-08-30T10:30:16Z | 17.34 | docs: publish native Linux 64-bit release |
|
||||
| [bd1bae44](https://github.com/N0zoM1z0/th08/commit/bd1bae444803adfa1fc865bfe64415e9951945e6) | 2026-08-26T15:59:04Z | 13.57 | semantic: recover GameManager state and exact title registration |
|
||||
|
||||
### TH095
|
||||
|
||||
Start: [8c31e6f8](https://github.com/N0zoM1z0/th095/commit/8c31e6f892d945423b7f7b439747a2bd915f82d8) at 2026-08-29T07:49:20Z.
|
||||
|
||||
| Checkpoint | UTC timestamp | Elapsed days | Recorded milestone |
|
||||
| --------------------------------------------------------------------------------------------- | -------------------- | -----------: | ---------------------------------------- |
|
||||
| [0fa857fb](https://github.com/N0zoM1z0/th095/commit/0fa857fb2b2ec6237732e4d6be8d0a28069c9330) | 2026-09-07T05:23:52Z | 8.90 | gpt-web: match enemy movement exactly |
|
||||
| [74baddfc](https://github.com/N0zoM1z0/th095/commit/74baddfccb712d1311a4d6e7487a63cd1100452e) | 2026-09-08T09:19:45Z | 10.06 | Match final ANM x87 draw functions |
|
||||
| [33d46a0e](https://github.com/N0zoM1z0/th095/commit/33d46a0ee48f37060d973125a1a7632a40f8d998) | 2026-09-09T11:15:00Z | 11.14 | build: complete whole-program linkage |
|
||||
| [3442dcf2](https://github.com/N0zoM1z0/th095/commit/3442dcf29d9e0b5bef384a49bd0c9ad32a711826) | 2026-09-10T07:07:28Z | 11.97 | Mark the Windows reconstruction playable |
|
||||
|
||||
### TH04
|
||||
|
||||
Start: [f402cb30](https://github.com/N0zoM1z0/th04/commit/f402cb30b7e795ea4328b6de794e9eefc52c97b3) at 2026-09-06T09:54:05Z.
|
||||
|
||||
| Checkpoint | UTC timestamp | Elapsed days | Recorded milestone |
|
||||
| -------------------------------------------------------------------------------------------- | -------------------- | -----------: | --------------------------------------------------------------- |
|
||||
| [1cd1a257](https://github.com/N0zoM1z0/th04/commit/1cd1a2577a3dbf4c17ac7a939faed5eeb81a6ebf) | 2026-09-26T21:16:40Z | 20.47 | gpt-web: accept MAIN SND_LOAD |
|
||||
| [4b6a57f8](https://github.com/N0zoM1z0/th04/commit/4b6a57f8c0625da07c38258b78f5f205aae92805) | 2026-10-02T07:44:53Z | 25.91 | gpt-6.1-sol: build four native products and restore DOS handoff |
|
||||
|
||||
## What the milestones establish
|
||||
|
||||
- **TH08:** the 19 August progress ledger records 1,107 / 1,107 authored
|
||||
functions with source. The 24 August change introduces a playable Linux
|
||||
reconstruction port; the 30 August GitHub release publishes the 64-bit Linux
|
||||
product. The 26 August exact ledger records 1,106 / 1,107 accepted functions.
|
||||
- **TH095:** the initial ledger records zero confirmed/source-present authored
|
||||
functions. The 7 September ledger records 697 source-present mappings;
|
||||
8 September records 696 exact functions out of 697 confirmed authored
|
||||
functions. The 10 September checkpoint marks the Windows i386 reconstruction
|
||||
playable and documents the exercised startup, gameplay and transition paths.
|
||||
The remaining `Controller::GetInput` comparison is separate from playability.
|
||||
- **TH04:** the 26 September ledger records 661 exact functions out of 663
|
||||
reviewed authored candidates across OP, MAIN, MAINE and ZUN. MAIN's byte
|
||||
denominator covers its reviewed authored extents; other artifacts use decoded
|
||||
comparisons. The 2 October checkpoint builds four standalone DOS products.
|
||||
Runtime work and a modern x64 product have their own milestones; a four-product
|
||||
build is not a whole-game runtime result.
|
||||
|
||||
TH08's playable ports preceded later historical-platform runtime audits. The
|
||||
Factory's current recommended order reflects lessons learned across those
|
||||
projects; do not present that later recommendation as a process applied
|
||||
perfectly from the beginning.
|
||||
|
||||
## Editorial scope
|
||||
|
||||
The working article teaches goals, task design, feedback loops, project memory,
|
||||
handoffs and cross-game reuse. Engine APIs, compiler flags, addresses and ledger
|
||||
schemas belong in linked supporting documentation. Planned port/mod examples
|
||||
must be backed by their own source and checks before becoming finished claims.
|
||||
The outline is labeled and `noindex`; the shared sitemap therefore excludes it.
|
||||
@@ -94,6 +94,15 @@ APK's selected Java and an explanatory summary.
|
||||
APK, methods, source attribution and reconstruction checks. Keep the block
|
||||
formula, default settings, slider outputs and reference cases consistent.
|
||||
|
||||
## Touhou reconstruction article outline
|
||||
|
||||
The proposed opening figure is a semantic HTML flow using the shared components:
|
||||
inspect/reconstruct → compile/compare/run → code/evidence/next task. Its caption
|
||||
names the human, agent, analysis and verification roles. A failed check returns
|
||||
the batch to investigation; recorded lessons feed later work. The project
|
||||
timelines use HTML dates and pinned public milestones, documented in
|
||||
[evidence/touhou-reconstruction-method.md](evidence/touhou-reconstruction-method.md).
|
||||
|
||||
## Original image generation prompts
|
||||
|
||||
## Prompt 1
|
||||
|
||||
@@ -163,10 +163,12 @@ section[id] {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.navigation a:hover,
|
||||
.navigation a[aria-current="page"] {
|
||||
.navigation a[aria-current="page"],
|
||||
.navigation a[aria-current="true"] {
|
||||
color: var(--ink);
|
||||
}
|
||||
.navigation a[aria-current="page"] {
|
||||
.navigation a[aria-current="page"],
|
||||
.navigation a[aria-current="true"] {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.navigation .nav-start {
|
||||
@@ -678,6 +680,29 @@ pre code {
|
||||
.article .stats dd {
|
||||
color: var(--muted);
|
||||
}
|
||||
.blog-thesis {
|
||||
max-width: 730px;
|
||||
padding-left: 1rem;
|
||||
border-left: 2px solid var(--accent);
|
||||
color: var(--accent);
|
||||
}
|
||||
.blog-timeline {
|
||||
padding: 0;
|
||||
margin-block: 1.5rem;
|
||||
list-style: none;
|
||||
}
|
||||
.blog-timeline li {
|
||||
display: grid;
|
||||
grid-template-columns: 4.5rem minmax(0, 1fr);
|
||||
gap: 1rem;
|
||||
padding-block: 0.65rem;
|
||||
border-bottom: 1px solid var(--line);
|
||||
}
|
||||
.blog-timeline time {
|
||||
color: var(--accent);
|
||||
font-weight: 600;
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
.caption {
|
||||
font-size: 0.875rem;
|
||||
color: var(--muted);
|
||||
|
||||
@@ -130,7 +130,10 @@
|
||||
on existing work, carry lessons into a new game, and adapt the
|
||||
method to an older platform.
|
||||
</p>
|
||||
<p class="page-meta">By N0zoM1z0 · Outline in progress</p>
|
||||
<a class="text-link" href="touhou-reconstruction/"
|
||||
>Read the article outline</a
|
||||
>
|
||||
<p class="page-meta">By N0zoM1z0 · Working outline</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,598 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Reconstructing Touhou with AI Agents — REA</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="An article outline about repeatable game reconstruction: project memory, small verified changes and lessons from TH08, TH095 and PC-98 TH04."
|
||||
/>
|
||||
<link
|
||||
rel="canonical"
|
||||
href="https://rea.tools/blog/touhou-reconstruction/"
|
||||
/>
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:site_name" content="REA" />
|
||||
<meta
|
||||
property="og:title"
|
||||
content="Reconstructing Touhou with AI Agents — REA"
|
||||
/>
|
||||
<meta
|
||||
property="og:description"
|
||||
content="An article outline about repeatable game reconstruction: project memory, small verified changes and lessons from TH08, TH095 and PC-98 TH04."
|
||||
/>
|
||||
<meta
|
||||
property="og:url"
|
||||
content="https://rea.tools/blog/touhou-reconstruction/"
|
||||
/>
|
||||
<meta
|
||||
property="og:image"
|
||||
content="https://rea.tools/assets/social-card.png"
|
||||
/>
|
||||
<meta property="og:image:type" content="image/png" />
|
||||
<meta property="og:image:width" content="1200" />
|
||||
<meta property="og:image:height" content="630" />
|
||||
<meta
|
||||
property="og:image:alt"
|
||||
content="REA — Find out how software works. Reverse engineering with your coding agent."
|
||||
/>
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta
|
||||
name="twitter:title"
|
||||
content="Reconstructing Touhou with AI Agents — REA"
|
||||
/>
|
||||
<meta
|
||||
name="twitter:description"
|
||||
content="An article outline about repeatable game reconstruction: project memory, small verified changes and lessons from TH08, TH095 and PC-98 TH04."
|
||||
/>
|
||||
<meta
|
||||
name="twitter:image"
|
||||
content="https://rea.tools/assets/social-card.png"
|
||||
/>
|
||||
<meta
|
||||
name="twitter:image:alt"
|
||||
content="REA — Find out how software works. Reverse engineering with your coding agent."
|
||||
/>
|
||||
<meta name="robots" content="noindex" />
|
||||
<meta name="theme-color" content="#ffffff" />
|
||||
<link rel="icon" href="../../assets/favicon.svg" type="image/svg+xml" />
|
||||
<link rel="stylesheet" href="../../assets/styles.css" />
|
||||
<script src="../../assets/main.js" defer></script>
|
||||
</head>
|
||||
<body id="top" class="blog-article">
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="site-header">
|
||||
<div class="container header-inner">
|
||||
<a class="brand" href="../../" aria-label="REA home"
|
||||
><span class="brand-name">REA</span
|
||||
><span class="brand-caption">Reverse Engineer Anything</span></a
|
||||
>
|
||||
<nav class="navigation" aria-label="Main navigation">
|
||||
<a href="../../showcase/">Showcases</a>
|
||||
<a href="../" aria-current="true">Blog</a>
|
||||
<a class="nav-start" href="../../get-started/">Get started</a>
|
||||
<a href="../../guides/">Guides</a>
|
||||
<a href="../../faq/">FAQ</a>
|
||||
</nav>
|
||||
<div class="header-social">
|
||||
<a
|
||||
class="nav-github"
|
||||
href="https://github.com/morluto/rea"
|
||||
aria-label="REA on GitHub"
|
||||
title="REA on GitHub"
|
||||
>
|
||||
<svg
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 16 16"
|
||||
aria-hidden="true"
|
||||
focusable="false"
|
||||
>
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82a7.65 7.65 0 0 1 2-.27c.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z"
|
||||
/>
|
||||
</svg>
|
||||
<span class="nav-github-count" hidden aria-hidden="true"></span>
|
||||
</a>
|
||||
<a
|
||||
class="nav-discord"
|
||||
href="https://discord.gg/GkcryMnJDM"
|
||||
aria-label="Join REA on Discord"
|
||||
title="Join REA on Discord"
|
||||
>
|
||||
<svg
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 24 24"
|
||||
aria-hidden="true"
|
||||
focusable="false"
|
||||
>
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M20.317 4.3698a19.7913 19.7913 0 0 0-4.8851-1.5152.0741.0741 0 0 0-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 0 0-.0785-.037 19.7363 19.7363 0 0 0-4.8852 1.515.0699.0699 0 0 0-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 0 0 .0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 0 0 .0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 0 0-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 0 1-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 0 1 .0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 0 1 .0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 0 1-.0066.1276 12.2986 12.2986 0 0 1-1.873.8914.0766.0766 0 0 0-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 0 0 .0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 0 0 .0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 0 0-.0312-.0286ZM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189Zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"
|
||||
/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<main id="main" class="container">
|
||||
<div class="page-heading">
|
||||
<p class="breadcrumb">
|
||||
<a href="../../">Home</a> / <a href="../">Blog</a> / Touhou
|
||||
reconstruction
|
||||
</p>
|
||||
<p class="eyebrow">Game reconstruction · Article outline</p>
|
||||
<h1>Reconstructing Touhou with AI agents.</h1>
|
||||
<p class="lede">
|
||||
From individual expertise to a repeatable workflow. Lessons from
|
||||
continuing TH08, starting TH095, and rebuilding TH04 for PC-98.
|
||||
</p>
|
||||
<p class="page-meta">By N0zoM1z0 · Working outline · 10 October 2026</p>
|
||||
<p class="blog-thesis">
|
||||
<strong
|
||||
>The unit of progress is a checked change that the next agent can
|
||||
build on.</strong
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
<figure class="workflow-figure">
|
||||
<p class="figure-title">
|
||||
The factory idea, in one reconstruction batch
|
||||
</p>
|
||||
<ol class="flow-steps">
|
||||
<li>
|
||||
<span class="flow-label">01 · One question</span
|
||||
><strong class="flow-node">Inspect → reconstruct</strong
|
||||
><span class="flow-note"
|
||||
>The agent uses analysis tools such as REA to collect evidence,
|
||||
then writes source for one behavior or subsystem.</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="flow-label">02 · A tested change</span
|
||||
><strong class="flow-node">Compile → compare → run</strong
|
||||
><span class="flow-note"
|
||||
>Project checks test the change against the original code and the
|
||||
reconstructed program.</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="flow-label">03 · A saved checkpoint</span
|
||||
><strong class="flow-node">Code + evidence + next task</strong
|
||||
><span class="flow-note"
|
||||
>The repository keeps the result and the lesson. A fresh agent can
|
||||
continue from this state.</span
|
||||
>
|
||||
</li>
|
||||
</ol>
|
||||
<p class="flow-result">
|
||||
A failed check sends the batch back to investigation. A useful lesson
|
||||
improves the next batch—and the next game.
|
||||
</p>
|
||||
<figcaption>
|
||||
The human sets the goal, priorities and release decisions. The
|
||||
investigation remains flexible; the checks and handoff are repeatable.
|
||||
This is the proposed opening figure for the article.
|
||||
</figcaption>
|
||||
</figure>
|
||||
<div class="article-layout">
|
||||
<nav class="contents" aria-label="On this page">
|
||||
<p>Article outline</p>
|
||||
<ul>
|
||||
<li><a href="#goal">1. Choose the goal</a></li>
|
||||
<li><a href="#industrial-shift">2. The industrial shift</a></li>
|
||||
<li><a href="#th08">3. Continue TH08</a></li>
|
||||
<li><a href="#th095">4. Start TH095</a></li>
|
||||
<li><a href="#th04">5. Adapt to PC-98</a></li>
|
||||
<li><a href="#workflow">6. The working loop</a></li>
|
||||
<li><a href="#ports-and-mods">7. Ports and mods</a></li>
|
||||
<li><a href="#start">8. Your first batch</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<article
|
||||
class="article"
|
||||
aria-label="Touhou reconstruction article outline"
|
||||
>
|
||||
<section class="article-section" id="goal">
|
||||
<h2>1. Decide what you want to build</h2>
|
||||
<p>
|
||||
Open with a practical question: do you want to understand a game,
|
||||
rebuild it, move it to another platform, or change how it plays?
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Reconstruction:</strong> recover source and check it
|
||||
against the original program.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Port:</strong> make that source work with a new
|
||||
platform’s rendering, input, audio and files.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Mod:</strong> understand a behavior, change it
|
||||
deliberately, then test the result.
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption">
|
||||
Planned figure: one recovered codebase branches into a faithful
|
||||
build, a port and a mod. Each branch names its own success check.
|
||||
</p>
|
||||
</section>
|
||||
<section class="article-section" id="industrial-shift">
|
||||
<h2>2. Turn expertise into a repeatable process</h2>
|
||||
<p>
|
||||
The industrial-age analogy: agents do the work, tools let them
|
||||
inspect the program, checks test the result, and the repository
|
||||
preserves what they learned.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Make the task small enough to check.</strong> One
|
||||
behavior or connected subsystem has a clear input, output and
|
||||
test.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Make feedback fast.</strong> A compile error, mismatch
|
||||
or runtime failure tells the agent what to investigate next.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Make experience reusable.</strong> A lesson becomes a
|
||||
script, test, evidence note or handoff that survives the
|
||||
conversation.
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
<strong
|
||||
>Standardize the checks and the handoff; leave the investigation
|
||||
flexible.</strong
|
||||
>
|
||||
REA fits at the inspection step: it gives the agent code,
|
||||
references and observations. Source reconstruction and project
|
||||
validation complete the loop.
|
||||
</p>
|
||||
</section>
|
||||
<section class="article-section" id="th08">
|
||||
<h2>3. TH08: continue the work people already did</h2>
|
||||
<p>
|
||||
Start with the public GensokyoClub reconstruction: its code,
|
||||
names, build knowledge and contribution history. Show how a
|
||||
continuation turns that foundation into an explicit baseline and a
|
||||
sequence of checked tasks.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Preserve credit and inspect what the inherited source actually
|
||||
establishes.
|
||||
</li>
|
||||
<li>
|
||||
Record the target, existing checks, missing source and next
|
||||
useful work.
|
||||
</li>
|
||||
<li>
|
||||
Use the path to Linux and Web to introduce the value of
|
||||
readable, maintained source.
|
||||
</li>
|
||||
</ul>
|
||||
<ol class="blog-timeline">
|
||||
<li>
|
||||
<time datetime="2026-08-13">13 Aug</time
|
||||
><span>Independent continuation begins.</span>
|
||||
</li>
|
||||
<li>
|
||||
<time datetime="2026-08-19">19 Aug</time
|
||||
><span
|
||||
>Source recorded for all 1,107 identified game
|
||||
functions.</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<time datetime="2026-08-24">24 Aug</time
|
||||
><span
|
||||
>Playable Linux port committed, about 11 days after the
|
||||
continuation began.</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<time datetime="2026-08-30">30 Aug</time
|
||||
><span>Native Linux 64-bit release published.</span>
|
||||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
<strong>Lesson:</strong> a good workflow makes existing expertise
|
||||
easier to extend. The starting foundation remains part of the
|
||||
result.
|
||||
</p>
|
||||
<p class="caption">
|
||||
<a href="https://github.com/N0zoM1z0/th08">TH08 repository</a> ·
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th08/blob/d2a00f4acb4a13916e07a00bd13f714961714628/README.md#credits-and-provenance"
|
||||
>History and credits</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
<section class="article-section" id="th095">
|
||||
<h2>4. TH095: start a new game with an established method</h2>
|
||||
<p>
|
||||
The new repository starts with zero confirmed authored functions.
|
||||
It already has experience from earlier reconstructions: target
|
||||
checks, task boundaries, comparison tooling and a way to retain
|
||||
evidence.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Bring up the build and comparison loop early, then work through
|
||||
bounded tasks.
|
||||
</li>
|
||||
<li>
|
||||
Use the timeline to show what “fast” means for source recovery,
|
||||
exact comparisons and a playable build.
|
||||
</li>
|
||||
<li>
|
||||
Explain one integration failure in plain language: individually
|
||||
correct functions can still use the wrong shared state when
|
||||
assembled into a program.
|
||||
</li>
|
||||
</ul>
|
||||
<ol class="blog-timeline">
|
||||
<li>
|
||||
<time datetime="2026-08-29">29 Aug</time
|
||||
><span
|
||||
>Repository initialized; authored source count starts at
|
||||
zero.</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<time datetime="2026-09-07">7 Sep</time
|
||||
><span
|
||||
>697 / 697 identified game functions have source, about 9 days
|
||||
later.</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<time datetime="2026-09-08">8 Sep</time
|
||||
><span
|
||||
>696 / 697 identified game functions accepted as exact.</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<time datetime="2026-09-10">10 Sep</time
|
||||
><span
|
||||
>Windows i386 reconstruction marked playable, about 12 days
|
||||
after initialization.</span
|
||||
>
|
||||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
<strong>Lesson:</strong> the next game starts with more than a
|
||||
prompt. It starts with a working process and the previous game’s
|
||||
lessons.
|
||||
</p>
|
||||
<p class="caption">
|
||||
<a href="https://github.com/N0zoM1z0/th095">TH095 repository</a> ·
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th095/blob/3442dcf29d9e0b5bef384a49bd0c9ad32a711826/docs/WHOLE_BUILD_TODO.md"
|
||||
>Build and runtime checkpoint</a
|
||||
>
|
||||
</p>
|
||||
</section>
|
||||
<section class="article-section" id="th04">
|
||||
<h2>5. TH04: keep the method, rethink the assumptions</h2>
|
||||
<p>
|
||||
PC-98 changes the practical problem. The game spans four DOS
|
||||
programs and depends on older hardware behavior. Existing ReC98
|
||||
work supplies valuable knowledge; the new reconstruction still
|
||||
needs its own checks.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Map the whole product: startup, menus, gameplay, endings and the
|
||||
resident component.
|
||||
</li>
|
||||
<li>
|
||||
Show why one excellent function percentage can leave important
|
||||
parts of the game untested.
|
||||
</li>
|
||||
<li>
|
||||
Adapt the comparison and runtime checks to the platform. Feed
|
||||
discoveries back into reusable tests.
|
||||
</li>
|
||||
</ul>
|
||||
<ol class="blog-timeline">
|
||||
<li>
|
||||
<time datetime="2026-09-06">6 Sep</time
|
||||
><span>Reconstruction repository bootstrapped.</span>
|
||||
</li>
|
||||
<li>
|
||||
<time datetime="2026-09-26">26 Sep</time
|
||||
><span
|
||||
>661 / 663 reviewed game functions accepted across four
|
||||
programs.</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<time datetime="2026-10-02">2 Oct</time
|
||||
><span
|
||||
>Four standalone DOS products built, about 26 days after
|
||||
bootstrap.</span
|
||||
>
|
||||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
<strong>Lesson:</strong> reuse the process, then verify the
|
||||
assumptions that the new platform changes.
|
||||
</p>
|
||||
<p class="caption">
|
||||
<a href="https://github.com/N0zoM1z0/th04">TH04 repository</a> ·
|
||||
<a href="../../showcase/th04/">A smaller TH04 investigation</a>
|
||||
</p>
|
||||
</section>
|
||||
<section class="article-section" id="workflow">
|
||||
<h2>6. Run small experiments and keep useful checkpoints</h2>
|
||||
<p>
|
||||
Bring the three stories together into a working loop a reader can
|
||||
use.
|
||||
</p>
|
||||
<ol>
|
||||
<li>
|
||||
<strong>Establish a baseline.</strong> Identify the exact target
|
||||
and rerun the checks that matter to this task.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Pick one question.</strong> Choose a behavior or
|
||||
subsystem with a result you can inspect.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Gather evidence.</strong> Follow the code that reads or
|
||||
changes a value, and the functions that call it; name what is
|
||||
known and what still needs testing.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Reconstruct and check.</strong> Compare the affected
|
||||
code, build the program, and exercise relevant behavior.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Commit and hand off.</strong> Keep source, evidence,
|
||||
failed hypotheses and the next task in the repository.
|
||||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
Explain how this loop continues across fresh agent sessions. Turn
|
||||
a recurring failure into a test so the next game benefits from it.
|
||||
</p>
|
||||
<p class="caption">
|
||||
Planned figure: a failing experiment returns to investigation; an
|
||||
accepted batch feeds both the next task and the shared knowledge
|
||||
base.
|
||||
</p>
|
||||
</section>
|
||||
<section class="article-section" id="ports-and-mods">
|
||||
<h2>7. Use the recovered source for ports and mods</h2>
|
||||
<p>
|
||||
Explain the payoff: source with meaningful names, clear ownership
|
||||
and reproducible checks is something you can change with
|
||||
confidence.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Use TH08’s Linux and Web products to illustrate replacing
|
||||
platform services while preserving game logic.
|
||||
</li>
|
||||
<li>
|
||||
Show how a small mod begins with one recovered rule and a
|
||||
controlled change.
|
||||
</li>
|
||||
<li>
|
||||
Connect the desired outcome to its checks: faithful behavior, a
|
||||
working new platform, or an intentional gameplay difference.
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption">
|
||||
Planned figure: checked reconstruction → readable source →
|
||||
portable backend or a deliberate gameplay change.
|
||||
</p>
|
||||
</section>
|
||||
<section class="article-section" id="start">
|
||||
<h2>8. Start with one behavior you can verify</h2>
|
||||
<p>
|
||||
Close with a small first task, an example agent prompt, and what
|
||||
the reader should keep: recovered source, a reproducible check and
|
||||
a clear next question.
|
||||
</p>
|
||||
<p>
|
||||
The article’s final prompt will walk through one bounded
|
||||
reconstruction batch. The
|
||||
<a href="../../guides/native/">native analysis guide</a> and
|
||||
<a href="../../get-started/">setup guide</a> cover the tools
|
||||
needed to begin.
|
||||
</p>
|
||||
<details class="native-details">
|
||||
<summary>Sources and timeline counting</summary>
|
||||
<p>
|
||||
Dates above come from public GitHub commits and releases,
|
||||
checked on 10 October 2026. Elapsed days are calendar time
|
||||
between recorded checkpoints. Each row names its milestone:
|
||||
source presence, function comparison, build or runtime.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/touhou-reconstruction-factory/tree/038b6bed51d273c8b3680553b6f43e1b97d19bd1"
|
||||
>Touhou Reconstruction Factory</a
|
||||
>: project memory, bounded work, empirical feedback and
|
||||
cross-game lessons.
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th08/commit/001bf3e9c91cc35b79c7a0e36b3565b86f494362"
|
||||
>TH08 continuation start</a
|
||||
>,
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th08/blob/15caba73df6735fc44eac4783bc61b8d098ea830/docs/PROGRESS.md"
|
||||
>source checkpoint</a
|
||||
>,
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th08/commit/da07b21c8cb63230142b0a66228d6aac66555f3f"
|
||||
>Linux port</a
|
||||
>
|
||||
and
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th08/releases/tag/v0.2.0-linux-64bit"
|
||||
>64-bit release</a
|
||||
>.
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th095/blob/8c31e6f892d945423b7f7b439747a2bd915f82d8/docs/PROGRESS.md"
|
||||
>TH095 initial ledger</a
|
||||
>,
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th095/blob/0fa857fb2b2ec6237732e4d6be8d0a28069c9330/docs/PROGRESS.md"
|
||||
>source checkpoint</a
|
||||
>
|
||||
and
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th095/blob/74baddfccb712d1311a4d6e7487a63cd1100452e/docs/PROGRESS.md"
|
||||
>exact comparison checkpoint</a
|
||||
>.
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th04/commit/f402cb30b7e795ea4328b6de794e9eefc52c97b3"
|
||||
>TH04 bootstrap</a
|
||||
>,
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th04/blob/1cd1a2577a3dbf4c17ac7a939faed5eeb81a6ebf/docs/PROGRESS.md"
|
||||
>four-artifact ledger</a
|
||||
>
|
||||
and
|
||||
<a
|
||||
href="https://github.com/N0zoM1z0/th04/commit/4b6a57f8c0625da07c38258b78f5f205aae92805"
|
||||
>four-product build checkpoint</a
|
||||
>.
|
||||
</li>
|
||||
</ul>
|
||||
</details>
|
||||
</section>
|
||||
</article>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="site-footer">
|
||||
<div class="container footer-inner">
|
||||
<p>REA · Reverse Engineer Anything</p>
|
||||
<div class="footer-links">
|
||||
<a href="https://github.com/morluto/rea">Source</a
|
||||
><a href="https://github.com/morluto/rea/blob/main/LICENSE"
|
||||
>MIT license</a
|
||||
><a href="https://discord.gg/GkcryMnJDM">Community</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<p class="sr-only" id="copy-status" role="status" aria-live="polite"></p>
|
||||
<a class="back-to-top" href="#top" aria-label="Back to top"
|
||||
><span aria-hidden="true">↑</span> Top</a
|
||||
>
|
||||
</body>
|
||||
</html>
|
||||
@@ -144,6 +144,27 @@ Keep the explanation on the website. Repository links provide source,
|
||||
reproduction instructions and further evidence. Use specific links for those
|
||||
purposes, and immutable commit links for checkpoint-dependent facts.
|
||||
|
||||
### Method articles in the Blog
|
||||
|
||||
Use longer articles to explain how to approach a problem, choose a workflow and
|
||||
learn from project outcomes. Open with the reader's goal and one clear thesis.
|
||||
Use an overview figure to show the method before expanding its steps.
|
||||
|
||||
Choose cases that teach different decisions. For example, TH08 illustrates
|
||||
continuing existing work, TH095 illustrates reusing an established method in a
|
||||
new project, and TH04 illustrates adapting checks to an older platform. Close
|
||||
each case with the lesson the reader can apply. Put dates and progress figures
|
||||
beside the milestone they measure, with pinned evidence links in supporting
|
||||
details. Calendar time, source presence, exact comparison, build success and
|
||||
runtime checks each describe a different result.
|
||||
|
||||
Make an analogy concrete and use it briefly. The industrial analogy can connect
|
||||
agent execution, tools, quality checks and durable knowledge; the actual workflow
|
||||
should remain clear without the metaphor. Explain necessary terms in plain
|
||||
language and leave engine inventories in references. Finish with a bounded first
|
||||
task the reader can try. Working outlines should be visibly labeled and marked
|
||||
`noindex` until they become finished articles.
|
||||
|
||||
## Make figures explain a relationship
|
||||
|
||||
Each figure should answer a question that a reader can name. Choose the visual
|
||||
|
||||
Reference in New Issue
Block a user