Add reconnect + graceful-disconnect tasks to the roadmap

Split the roadmap into Current tasks and Future work.

Current tasks (new, this session):
- Graceful disconnect asks the DLL to disable all subsystems (game runs vanilla,
  DLL stays injected/dormant), on an explicit Disconnect and on graceful exit.
- Reconnect to an already-injected DLL, including across a tool restart/crash,
  by detecting the live DLL via its IPC heartbeat and re-attaching to the same
  per-pid section without re-injecting. DLL self-cleanup on host crash is out of
  scope by design.

Future work: the pre-existing open directions (per-game profiles, multi-guest
pad mapping, raw-mouse movement forwarding, native-D3D12 capture path), moved
under their own subsection so they read as deferred rather than active.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 13:31:08 +02:00
parent 0b017428b5
commit 39558171e9

View File

@@ -108,7 +108,21 @@ default** and covers anything the hooked path doesn't.
## Roadmap
Open tasks (completed work lives in **Lessons learned** + the test suite, not here):
Completed work lives in **Lessons learned** + the test suite, not here.
### Current tasks
- **Graceful disconnect unhooks everything.** On an explicit *Disconnect* and on a graceful tool
exit, ask the injected DLL to disable *all* subsystems so the game runs exactly as if it was never
hooked (every hook's original bytes restored). The DLL stays injected but dormant — ready for a
later reconnect. Today neither path tells the DLL anything, so the hooks are left active/frozen.
- **Reconnect to an already-injected DLL.** Support disconnect → reconnect reusing the DLL that's
already in the game, *including across a tool restart or crash*: the host detects the live DLL
(via its advancing IPC heartbeat on the per-pid section), re-attaches to the same shared section,
and resumes control without re-injecting. (DLL self-cleanup on host *crash* is explicitly **not**
required — relaunch, reconnect, then disconnect gracefully to clean up.)
### Future work
- **Per-game profiles** — persist each game's subsystem / capture-mode / audio choices and re-apply
them on attach.